Content-Type: multipart/related; start=; boundary=----------JFqt76YmHOLgVAMFnlTSwA Content-Location: http://community.livejournal.com/ua_travels/908089.html Subject: =?utf-8?Q?ua=5Ftravels:=20=D0=94=D0=BD=D1=96=D1=81=D1=82=D0=B5=D1=80,=20=D0=9A=D0=B0=D0=BC'=D1=8F=D0=BD=D0=B5=D1=87=D1=87=D0=B8=D0=BD=D0=B0,=20=D0=91=D1=83=D0=BA=D0=BE=D0=B2=D0=B8=D0=BD=D0=B0=20=D1=96=20"=D0=91=D1=83=D0=BA=D0=BE=D0=B2=D0=B8=D0=BD=D0=B0"?= MIME-Version: 1.0 ------------JFqt76YmHOLgVAMFnlTSwA Content-Disposition: inline; filename=908089.html Content-Type: text/html; charset=utf-8; name=908089.html Content-ID: Content-Location: http://community.livejournal.com/ua_travels/908089.html Content-Transfer-Encoding: Quoted-Printable ua_travels: Дністер, Кам'янеччина, Буко= вина і "Буковина" =

LiveJournal.com

=
=
=

= = = = = = =
= =

3D''Blacky (3D'[info]'= kamienczanka= ) пишет в 3D'[info]'ua_travels
@ 2009-04-16 19:32:00

3D"Предыдущая  3D"В &n= bsp;3D"Расска=  = 3D"Следующая
<= td>Хмельницька область, = Чернівецька обл., ріки України
Метки данной записи:

Дністер, Кам'= янеччина, Буковина і "Буковина"<= br />
Плюс хороша погода і година часу. Р= езультат - перевершує всі сподівання.

Між = Кам'янеччиною і Буковиною, виявляєть= я - замки з скель і скелі, які хороші й б= з замків. Все це можна було побачити з к= атеру "Буковина" 4 квітня 2009 р.
Я й не = ідозрювала, що в нас аж ТАК гарно. НПП "П= одільські Товтри" не даремно в списку п= иродних чудес України. Вау, що тут ще ск= ажеш.

Ще б не смітили люди по бере= гах...

Фо= то-звіт про квітневу мандрівку Дністро=



Реклама
<= /div>

(Добавить комментарий)

=
3D=
3D'[info]'hat= inka
2009-04-16 05:54 pm UTC (ссылка)
Фото вражаючі!
А цей катер орг= анізували разово, для журналістів, чи в= н постійнодіючий. А чи можна його замов= ляти, не підкажете?
Дякую=3D)

(Ответить= ) (Ветвь дискуссии)

=
3D''
3D'[info]'kamienczanka
2009-04-16 06:46 pm UTC (ссылка)
ну це було для журналістів, але к= атер замовити можна. тільки ж це недеше= о. База "Дністровська Рів'єра" має два к= тери, якщо треба, десь з понеділка можу = дати їх контакти.

(Ответить) (Уровень выше)

=
3D''
3D'[info]'hatinka
2009-04-16 07:01 pm UTC (ссылка)
Буду вдячна за контакти. Плануєм= о на травневі в ті краї)))

(Ответить) <= /p>


=
3D"" 3D"" =
= = = ------------JFqt76YmHOLgVAMFnlTSwA Content-Disposition: inline; filename=default.js Content-Type: application/x-javascript; name=default.js Content-Location: http://l-stat.livejournal.com/js/??core.js,dom.js,httpreq.js,livejournal.js,common/AdEngine.js,esn.js,ippu.js,lj_ippu.js,hourglass.js,contextualhover.js,snapshots.js,thread_expander.js,commentmanage.js,livejournal-local.js?v=1246452193 Content-Transfer-Encoding: Base64 LyoKQ29yZSBKYXZhU2NyaXB0IExpYnJhcnkKJElkOiBjb3JlLmpzIDI3MyAyMDA5 LTA2LTA1IDAzOjEwOjU0WiB2YWQgJAoKQ29weXJpZ2h0IChjKSAyMDA1LCBTaXgg QXBhcnQsIEx0ZC4KQWxsIHJpZ2h0cyByZXNlcnZlZC4KClJlZGlzdHJpYnV0aW9u IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0 aG91dAptb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0 aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCm1ldDoKCiAgICAqIFJlZGlzdHJp YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w eXJpZ2h0Cm5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm b2xsb3dpbmcgZGlzY2xhaW1lci4KCiAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKY29weXJpZ2h0IG5v dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg ZGlzY2xhaW1lcgppbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0 ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCmRpc3RyaWJ1dGlvbi4KCiAgICAqIE5l aXRoZXIgdGhlIG5hbWUgb2YgIlNpeCBBcGFydCIgbm9yIHRoZSBuYW1lcyBvZiBp dHMKY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90 ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KClRISVMgU09GVFdBUkUg SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC VVRPUlMKIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKTElNSVRFRCBUTywgVEhFIElNUExJRUQg V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCkEg UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT SEFMTCBUSEUgQ09QWVJJR0hUCk9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLApTUEVDSUFM LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H LCBCVVQgTk9UCkxJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLApEQVRBLCBPUiBQUk9GSVRT OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP TiBBTlkKVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAooSU5DTFVESU5HIE5FR0xJR0VOQ0Ug T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ TElUWSBPRiBTVUNIIERBTUFHRS4KCiovCgovKiBzdHVicyAqLwoKbG9nID0gZnVu Y3Rpb24oKSB7fTsKbG9nLmVycm9yID0gbG9nLndhcm4gPSBsb2cuZGVidWcgPSBs b2c7CgoKLyogdXRpbGl0eSBmdW5jdGlvbnMgKi8KCmRlZmluZWQgPSBmdW5jdGlv biggeCApIHsKICAgIHJldHVybiB4ID09PSB1bmRlZmluZWQgPyBmYWxzZSA6IHRy dWU7Cn0KCgovKioKICogVXRpbGl0eSBtZXRob2QuCiAqIEBwYXJhbSB4IDxjb2Rl PmFueTwvY29kZT4gQW55IEphdmFTY3JpcHQgdmFsdWUsIGluY2x1ZGluZyA8Y29k ZT51bmRlZmluZWQ8L2NvZGU+LgogKiBAcmV0dXJuIGJvb2xlYW4gPGNvZGU+dHJ1 ZTwvY29kZT4gaWYgdGhlIHZhbHVlIGlzIG5vdCA8Y29kZT5udWxsPC9jb2RlPiBh bmQgaXMgbm90IDxjb2RlPnVuZGVmaW5lZDwvY29kZT4uCiAqLwpleGlzdHMgPSBm dW5jdGlvbiggeCApIHsKICAgcmV0dXJuICh4ID09PSB1bmRlZmluZWQgfHwgeCA9 PT0gbnVsbCkgPyBmYWxzZSA6IHRydWU7Cn0KCgpmaW5pdGUgPSBmdW5jdGlvbigg eCApIHsKICAgIHJldHVybiBpc0Zpbml0ZSggeCApID8geCA6IDA7Cn0KCgpmaW5p dGVJbnQgPSBmdW5jdGlvbiggeCwgYmFzZSApIHsKICAgIHJldHVybiBmaW5pdGUo IHBhcnNlSW50KCB4LCBiYXNlICkgKTsKfQoKCmZpbml0ZUZsb2F0ID0gZnVuY3Rp b24oIHggKSB7CiAgICByZXR1cm4gZmluaXRlKCBwYXJzZUZsb2F0KCB4ICkgKTsK fQoKCm1heCA9IGZ1bmN0aW9uKCkgewogICAgdmFyIGEgPSBhcmd1bWVudHM7CiAg ICB2YXIgbiA9IGFbIDAgXTsKICAgIGZvciggdmFyIGkgPSAxOyBpIDwgYS5sZW5n dGg7IGkrKyApCiAgICAgICAgaWYoIGFbIGkgXSA+IG4gKQogICAgICAgICAgICBu ID0gYVsgaSBdOwogICAgcmV0dXJuIG47Cn0KCgptaW4gPSBmdW5jdGlvbigpIHsK ICAgIHZhciBhID0gYXJndW1lbnRzOwogICAgdmFyIG4gPSBhWyAwIF07CiAgICBm b3IoIHZhciBpID0gMTsgaSA8IGEubGVuZ3RoOyBpKysgKQogICAgICAgIGlmKCBh WyBpIF0gPCBuICkKICAgICAgICAgICAgbiA9IGFbIGkgXTsKICAgIHJldHVybiBu Owp9CgoKLyogdHJ5IGJsb2NrICovICAKIApUcnkgPSB7CiAgICB0aGVzZTogZnVu Y3Rpb24oKSB7CiAgICAgICAgZm9yKCB2YXIgaSA9IDA7IGkgPCBhcmd1bWVudHMu bGVuZ3RoOyBpKysgKSB7CiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAg ICByZXR1cm4gYXJndW1lbnRzWyBpIF0oKTsKICAgICAgICAgICAgfSBjYXRjaCgg ZSApIHt9CiAgICAgICAgfQogICAgICAgIHJldHVybiB1bmRlZmluZWQ7CiAgICB9 Cn0KCgovKiB1bmlxdWUgaWQgZ2VuZXJhdG9yICovCgpVbmlxdWUgPSB7CiAgICBs ZW5ndGg6IDAsCiAgICAKICAgIGlkOiBmdW5jdGlvbigpIHsKICAgICAgICByZXR1 cm4gKyt0aGlzLmxlbmd0aDsKICAgIH0KfQoKCi8qIGV2ZW50IG1ldGhvZHMgKi8K CmlmKCAhZGVmaW5lZCggd2luZG93LkV2ZW50ICkgKQogICAgRXZlbnQgPSB7fTsK CgpFdmVudC5zdG9wID0gZnVuY3Rpb24oIGUgKSB7CiAgICBlID0gZSB8fCB3aW5k b3cuZXZlbnQ7CiAgICB0aGlzLnN0b3BQcm9wYWdhdGlvbiggZSApOwogICAgdGhp cy5wcmV2ZW50RGVmYXVsdCggZSApOwogICAgcmV0dXJuIGZhbHNlOwp9CgoKRXZl bnQuc3RvcFByb3BhZ2F0aW9uID0gZnVuY3Rpb24oIGUgKSB7CiAgICBpZiAoIGUg JiYgZS5zdG9wUHJvcGFnYXRpb24gKQogICAgICAgIGUuc3RvcFByb3BhZ2F0aW9u KCk7CiAgICBlbHNlCiAgICAgICAgd2luZG93LmV2ZW50LmNhbmNlbEJ1YmJsZSA9 IHRydWU7Cn0KCgpFdmVudC5wcmV2ZW50RGVmYXVsdCA9IGZ1bmN0aW9uKCBlICkg ewogICAgZSA9IGUgfHwgd2luZG93LmV2ZW50OwogICAgaWYgKCBlLnByZXZlbnRE ZWZhdWx0ICkKICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICBlLnJldHVy blZhbHVlID0gZmFsc2U7Cn0KCgpFdmVudC5wcmVwID0gZnVuY3Rpb24oIGV2ZW50 ICkgewogICAgZXZlbnQgPSBldmVudCB8fCB3aW5kb3cuZXZlbnQ7CiAgICBpZigg IWRlZmluZWQoIGV2ZW50LnN0b3AgKSApCiAgICAgICAgZXZlbnQuc3RvcCA9IHRo aXMuc3RvcDsKICAgIGlmKCAhZGVmaW5lZCggZXZlbnQudGFyZ2V0ICkgKQogICAg ICAgIGV2ZW50LnRhcmdldCA9IGV2ZW50LnNyY0VsZW1lbnQ7CiAgICBpZiggIWRl ZmluZWQoIGV2ZW50LnJlbGF0ZWRUYXJnZXQgKSApIAogICAgICAgIGV2ZW50LnJl bGF0ZWRUYXJnZXQgPSBldmVudC50b0VsZW1lbnQ7CiAgICByZXR1cm4gZXZlbnQ7 Cn0KCgovKiBvYmplY3QgZXh0ZW5zaW9ucyAqLwoKRnVuY3Rpb24uc3R1YiA9IGZ1 bmN0aW9uKCkge307CgppZiAoIU9iamVjdC5leHRlbmQpCglPYmplY3QuZXh0ZW5k ID0gZnVuY3Rpb24gKGQsIHMpIHsgaWYgKGQpIGZvciAodmFyIHAgaW4gcykgaWYg KCFkW3BdKSBkW3BdID0gc1twXTsgcmV0dXJuIGQgfQoKaWYgKCFPYmplY3Qub3Zl cnJpZGUpCglPYmplY3Qub3ZlcnJpZGUgPSBmdW5jdGlvbiAoZCwgcykgeyBpZiAo ZCkgZm9yICh2YXIgcCBpbiBzKSBkW3BdID0gc1twXTsgcmV0dXJuIGQgfQoKLyog ZnVuY3Rpb24gZXh0ZW5zaW9ucyAqLwoKT2JqZWN0LmV4dGVuZChGdW5jdGlvbi5w cm90b3R5cGUsIHsKICAgIGJpbmQ6IGZ1bmN0aW9uKCBvYmplY3QgKSB7CiAgICAg ICAgdmFyIG1ldGhvZCA9IHRoaXM7CiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkg ewogICAgICAgICAgICByZXR1cm4gbWV0aG9kLmFwcGx5KCBvYmplY3QsIGFyZ3Vt ZW50cyApOwogICAgICAgIH07CiAgICB9LAogICAgCiAgICAKICAgIGJpbmRFdmVu dExpc3RlbmVyOiBmdW5jdGlvbiggb2JqZWN0ICkgewogICAgICAgIHZhciBtZXRo b2QgPSB0aGlzOyAvLyBVc2UgZG91YmxlIGNsb3N1cmUgdG8gd29yayBhcm91bmQg SUUgNiBtZW1vcnkgbGVhay4KICAgICAgICByZXR1cm4gZnVuY3Rpb24oIGV2ZW50 ICkgewogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgZXZlbnQgPSBF dmVudC5wcmVwKCBldmVudCApOwogICAgICAgICAgICB9IGNhdGNoKCBlICkge30K ICAgICAgICAgICAgcmV0dXJuIG1ldGhvZC5jYWxsKCBvYmplY3QsIGV2ZW50ICk7 CiAgICAgICAgfTsKICAgIH0KfSApOwoKCi8qIGNsYXNzIGhlbHBlcnMgKi8KCmlu ZGlyZWN0T2JqZWN0cyA9IFtdOwoKCkNsYXNzID0gZnVuY3Rpb24oIHN1cGVyQ2xh c3MgKSB7CgogICAgLy8gU2V0IHRoZSBjb25zdHJ1Y3RvcjoKICAgIHZhciBjb25z dHJ1Y3RvciA9IGZ1bmN0aW9uKCkgewogICAgICAgIGlmKCBhcmd1bWVudHMubGVu Z3RoICkKICAgICAgICAgICAgdGhpcy5pbml0LmFwcGx5KCB0aGlzLCBhcmd1bWVu dHMgKTsKICAgIH07ICAgIAogICAgLy8gICAtLSBBY2NvbXBsaXNoIHN0YXRpYy1p bmhlcml0YW5jZToKICAgIE9iamVjdC5vdmVycmlkZShjb25zdHJ1Y3RvciwgQ2xh c3MpOyAgLy8gaW5oZXJpdCBzdGF0aWMgbWV0aG9kcyBmcm9tIENsYXNzCiAgICAK ICAgIHN1cGVyQ2xhc3MgPSBzdXBlckNsYXNzIHx8IGZ1bmN0aW9uKCl7fTsKICAg IHN1cGVyQ2xhc3NGdW5jID0gZnVuY3Rpb24oKXt9CiAgICBPYmplY3QuZXh0ZW5k KHN1cGVyQ2xhc3NGdW5jLnByb3RvdHlwZSwgc3VwZXJDbGFzcy5wcm90b3R5cGUp CiAgICBPYmplY3QuZXh0ZW5kKHN1cGVyQ2xhc3NGdW5jLnByb3RvdHlwZSwgewog ICAgICAgIGluaXQ6IGZ1bmN0aW9uKCl7fSwKICAgICAgICBkZXN0cm95OiBmdW5j dGlvbigpe30KICAgIH0pCiAgICBPYmplY3Qub3ZlcnJpZGUoY29uc3RydWN0b3Is IHN1cGVyQ2xhc3MpOyAvLyBpbmhlcml0IHN0YXRpYyBtZXRob2RzIGZyb20gdGhl IHN1cGVyQ2xhc3MKICAgIGNvbnN0cnVjdG9yLnN1cGVyQ2xhc3MgPSBzdXBlckNs YXNzRnVuYy5wcm90b3R5cGU7CiAgICAKICAgIC8vIFNldCB0aGUgY29uc3RydWN0 b3IncyBwcm90b3R5cGUgKGFjY29tcGxpc2ggb2JqZWN0LWluaGVyaXRhbmNlKToK ICAgIGNvbnN0cnVjdG9yLnByb3RvdHlwZSA9IG5ldyBzdXBlckNsYXNzKCk7CiAg ICBjb25zdHJ1Y3Rvci5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBjb25zdHJ1Y3Rv cjsgLy8gcmV2LiAwLjcgICAgCiAgICAvLyAgIC0tIGV4dGVuZCBwcm90b3R5cGUg d2l0aCBDbGFzcyBpbnN0YW5jZSBtZXRob2RzCiAgICBPYmplY3QuZXh0ZW5kKGNv bnN0cnVjdG9yLnByb3RvdHlwZSwgQ2xhc3MucHJvdG90eXBlKTsKICAgIC8vICAg LS0gb3ZlcnJpZGUgcHJvdG90eXBlIHdpdGggaW50ZXJmYWNlIG1ldGhvZHMKICAg IGZvciggdmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrICkKICAg ICAgICBPYmplY3Qub3ZlcnJpZGUoY29uc3RydWN0b3IucHJvdG90eXBlLCBhcmd1 bWVudHNbaV0pOwogICAgCiAgICByZXR1cm4gY29uc3RydWN0b3I7Cn0KCgpPYmpl Y3QuZXh0ZW5kKENsYXNzLCB7CiAgICBpbml0U2luZ2xldG9uOiBmdW5jdGlvbigp IHsKICAgICAgICBpZiggdGhpcy5zaW5nbGV0b24gKQogICAgICAgICAgICByZXR1 cm4gdGhpcy5zaW5nbGV0b247CiAgICAgICAgdGhpcy5zaW5nbGV0b24gPSB0aGlz LnNpbmdsZXRvbkNvbnN0cnVjdG9yCiAgICAgICAgICAgID8gbmV3IHRoaXMuc2lu Z2xldG9uQ29uc3RydWN0b3IoKQogICAgICAgICAgICA6IG5ldyB0aGlzKCk7CiAg ICAgICAgdGhpcy5zaW5nbGV0b24uaW5pdC5hcHBseSggdGhpcy5zaW5nbGV0b24s IGFyZ3VtZW50cyApOwogICAgICAgIHJldHVybiB0aGlzLnNpbmdsZXRvbjsKICAg IH0KfSApOwoKCkNsYXNzLnByb3RvdHlwZSA9IHsKICAgIGRlc3Ryb3k6IGZ1bmN0 aW9uKCkgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgIGlmKCB0aGlzLmluZGly ZWN0SW5kZXggKQogICAgICAgICAgICAgICAgaW5kaXJlY3RPYmplY3RzWyB0aGlz LmluZGlyZWN0SW5kZXggXSA9IHVuZGVmaW5lZDsKICAgICAgICAgICAgZGVsZXRl IHRoaXMuaW5kaXJlY3RJbmRleDsKICAgICAgICB9IGNhdGNoKCBlICkge30KICAg ICAgICAKICAgICAgICBmb3IoIHZhciBwcm9wZXJ0eSBpbiB0aGlzICkgewogICAg ICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgZGVsZXRlIHRoaXNbIHByb3Bl cnR5IF07CiAgICAgICAgICAgIH0gY2F0Y2goIGUgKSB7fQogICAgICAgIH0KICAg IH0sCiAgICAKICAgIAogICAgZ2V0Qm91bmRNZXRob2Q6IGZ1bmN0aW9uKCBtZXRo b2ROYW1lICkgewogICAgICAgIHJldHVybiB0aGlzWyBuYW1lIF0uYmluZCggdGhp cyApOwogICAgfSwKICAgIAogICAgCiAgICBnZXRFdmVudExpc3RlbmVyOiBmdW5j dGlvbiggbWV0aG9kTmFtZSApIHsKICAgICAgICByZXR1cm4gdGhpc1sgbWV0aG9k TmFtZSBdLmJpbmRFdmVudExpc3RlbmVyKCB0aGlzICk7CiAgICB9LAogICAgCiAg ICAKICAgIGdldEluZGlyZWN0SW5kZXg6IGZ1bmN0aW9uKCkgewogICAgICAgIGlm KCAhZGVmaW5lZCggdGhpcy5pbmRpcmVjdEluZGV4ICkgKSB7CiAgICAgICAgICAg IHRoaXMuaW5kaXJlY3RJbmRleCA9IGluZGlyZWN0T2JqZWN0cy5sZW5ndGg7CiAg ICAgICAgICAgIGluZGlyZWN0T2JqZWN0cy5wdXNoKCB0aGlzICk7CiAgICAgICAg fQogICAgICAgIHJldHVybiB0aGlzLmluZGlyZWN0SW5kZXg7CiAgICB9LAogICAg CiAgICAKICAgIGdldEluZGlyZWN0TWV0aG9kOiBmdW5jdGlvbiggbWV0aG9kTmFt ZSApIHsKICAgICAgICBpZiggIXRoaXMuaW5kaXJlY3RNZXRob2RzICkKICAgICAg ICAgICAgdGhpcy5pbmRpcmVjdE1ldGhvZHMgPSB7fTsKICAgICAgICB2YXIgbWV0 aG9kID0gdGhpc1sgbWV0aG9kTmFtZSBdOwogICAgICAgIGlmKCB0eXBlb2YgbWV0 aG9kICE9ICJmdW5jdGlvbiIgKQogICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVk OwogICAgICAgIHZhciBpbmRpcmVjdEluZGV4ID0gdGhpcy5nZXRJbmRpcmVjdElu ZGV4KCk7CiAgICAgICAgaWYoICF0aGlzLmluZGlyZWN0TWV0aG9kc1sgbWV0aG9k TmFtZSBdICkgewogICAgICAgICAgICB0aGlzLmluZGlyZWN0TWV0aG9kc1sgbWV0 aG9kTmFtZSBdID0gbmV3IEZ1bmN0aW9uKAogICAgICAgICAgICAgICAgInZhciBv ID0gaW5kaXJlY3RPYmplY3RzWyIgKyBpbmRpcmVjdEluZGV4ICsgIl07IiArCiAg ICAgICAgICAgICAgICAicmV0dXJuIG8uIiArIG1ldGhvZE5hbWUgKyAiLmFwcGx5 KCBvLCBhcmd1bWVudHMgKTsiCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAg ICAgIHJldHVybiB0aGlzLmluZGlyZWN0TWV0aG9kc1sgbWV0aG9kTmFtZSBdOwog ICAgfSwKICAgIAogICAgCiAgICBnZXRJbmRpcmVjdEV2ZW50TGlzdGVuZXI6IGZ1 bmN0aW9uKCBtZXRob2ROYW1lICkgewogICAgICAgIGlmKCAhdGhpcy5pbmRpcmVj dEV2ZW50TGlzdGVuZXJzICkKICAgICAgICAgICAgdGhpcy5pbmRpcmVjdEV2ZW50 TGlzdGVuZXJzID0ge307CiAgICAgICAgdmFyIG1ldGhvZCA9IHRoaXNbIG1ldGhv ZE5hbWUgXTsKICAgICAgICBpZiggdHlwZW9mIG1ldGhvZCAhPSAiZnVuY3Rpb24i ICkKICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDsKICAgICAgICB2YXIgaW5k aXJlY3RJbmRleCA9IHRoaXMuZ2V0SW5kaXJlY3RJbmRleCgpOwogICAgICAgIGlm KCAhdGhpcy5pbmRpcmVjdEV2ZW50TGlzdGVuZXJzWyBtZXRob2ROYW1lIF0gKSB7 CiAgICAgICAgICAgIHRoaXMuaW5kaXJlY3RFdmVudExpc3RlbmVyc1sgbWV0aG9k TmFtZSBdID0gbmV3IEZ1bmN0aW9uKCAiZXZlbnQiLAogICAgICAgICAgICAgICAg InRyeSB7IGV2ZW50ID0gRXZlbnQucHJlcCggZXZlbnQgKTsgfSBjYXRjaCggZSAp IHt9IiArCiAgICAgICAgICAgICAgICAidmFyIG8gPSBpbmRpcmVjdE9iamVjdHNb IiArIGluZGlyZWN0SW5kZXggKyAiXTsiICsKICAgICAgICAgICAgICAgICJyZXR1 cm4gby4iICsgbWV0aG9kTmFtZSArICIuY2FsbCggbywgZXZlbnQgKTsiCiAgICAg ICAgICAgICk7CiAgICAgICAgfQogICAgICAgIHJldHVybiB0aGlzLmluZGlyZWN0 RXZlbnRMaXN0ZW5lcnNbIG1ldGhvZE5hbWUgXTsKICAgIH0KfQoKCi8qIHN0cmlu ZyBleHRlbnNpb25zICovCgpPYmplY3QuZXh0ZW5kKFN0cmluZywgewogICAgZXNj YXBlSlNDaGFyOiBmdW5jdGlvbiggYyApIHsKICAgICAgICAvLyB0cnkgc2ltcGxl IGVzY2FwaW5nCiAgICAgICAgc3dpdGNoKCBjICkgewogICAgICAgICAgICBjYXNl ICJcXCI6IHJldHVybiAiXFxcXCI7CiAgICAgICAgICAgIGNhc2UgIlwiIjogcmV0 dXJuICJcXFwiIjsKICAgICAgICAgICAgY2FzZSAiJyI6ICByZXR1cm4gIlxcJyI7 CiAgICAgICAgICAgIGNhc2UgIlxiIjogcmV0dXJuICJcXGIiOwogICAgICAgICAg ICBjYXNlICJcZiI6IHJldHVybiAiXFxmIjsKICAgICAgICAgICAgY2FzZSAiXG4i OiByZXR1cm4gIlxcbiI7CiAgICAgICAgICAgIGNhc2UgIlxyIjogcmV0dXJuICJc XHIiOwogICAgICAgICAgICBjYXNlICJcdCI6IHJldHVybiAiXFx0IjsKICAgICAg ICB9CiAgICAgICAgCiAgICAgICAgLy8gcmV0dXJuIHJhdyBieXRlcyBub3cgLi4u IHNob3VsZCBiZSBVVEYtOAogICAgICAgIGlmKCBjID49ICIgIiApCiAgICAgICAg ICAgIHJldHVybiBjOwogICAgICAgIAogICAgICAgIC8vIHRyeSBcdVhYWFggZXNj YXBpbmcsIGJ1dCBzaG91bGRuJ3QgbWFrZSBpdCBmb3IgY2FzZSAxLCAyCiAgICAg ICAgYyA9IGMuY2hhckNvZGVBdCggMCApLnRvU3RyaW5nKCAxNiApOwogICAgICAg IHN3aXRjaCggYy5sZW5ndGggKSB7CiAgICAgICAgICAgIGNhc2UgMTogcmV0dXJu ICJcXHUwMDAiICsgYzsKICAgICAgICAgICAgY2FzZSAyOiByZXR1cm4gIlxcdTAw IiArIGM7CiAgICAgICAgICAgIGNhc2UgMzogcmV0dXJuICJcXHUwIiArIGM7CiAg ICAgICAgICAgIGNhc2UgNDogcmV0dXJuICJcXHUiICsgYzsKICAgICAgICB9CiAg ICAgICAgCiAgICAgICAgLy8gc2hvdWxkIG5ldmVyIG1ha2UgaXQgaGVyZQogICAg ICAgIHJldHVybiAiIjsKICAgIH0sCiAgICAKICAgIAogICAgZW5jb2RlRW50aXR5 OiBmdW5jdGlvbiggYyApIHsKICAgICAgICBzd2l0Y2goIGMgKSB7CiAgICAgICAg ICAgIGNhc2UgIjwiOiByZXR1cm4gIiZsdDsiOwogICAgICAgICAgICBjYXNlICI+ IjogcmV0dXJuICImZ3Q7IjsKICAgICAgICAgICAgY2FzZSAiJiI6IHJldHVybiAi JmFtcDsiOwogICAgICAgICAgICBjYXNlICciJzogcmV0dXJuICImcXVvdDsiOwog ICAgICAgICAgICBjYXNlICInIjogcmV0dXJuICImYXBvczsiOwogICAgICAgIH0K ICAgICAgICByZXR1cm4gYzsKICAgIH0sCgoKICAgIGRlY29kZUVudGl0eTogZnVu Y3Rpb24oIGMgKSB7CiAgICAgICAgc3dpdGNoKCBjICkgewogICAgICAgICAgICBj YXNlICJhbXAiOiByZXR1cm4gIiYiOwogICAgICAgICAgICBjYXNlICJxdW90Ijog cmV0dXJuICciJzsKICAgICAgICAgICAgY2FzZSAiZ3QiOiByZXR1cm4gIj4iOwog ICAgICAgICAgICBjYXNlICJsdCI6IHJldHVybiAiPCI7CiAgICAgICAgfQogICAg ICAgIHZhciBtID0gYy5tYXRjaCggL14jKFxkKykkLyApOwogICAgICAgIGlmKCBt ICYmIGRlZmluZWQoIG1bIDEgXSApICkKICAgICAgICAgICAgcmV0dXJuIFN0cmlu Zy5mcm9tQ2hhckNvZGUoIG1bIDEgXSApOwogICAgICAgIG0gPSBjLm1hdGNoKCAv XiN4KFswLTlhLWZdKykkL2kgKTsKICAgICAgICBpZiggIG0gJiYgZGVmaW5lZCgg bVsgMSBdICkgKQogICAgICAgICAgICByZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29k ZSggcGFyc2VJbnQoIGhleCwgbVsgMSBdICkgKTsKICAgICAgICByZXR1cm4gYzsK ICAgIH0KfSApOwoKCk9iamVjdC5leHRlbmQoU3RyaW5nLnByb3RvdHlwZSwgewog ICAgZXNjYXBlSlM6IGZ1bmN0aW9uKCkgewogICAgICAgIHJldHVybiB0aGlzLnJl cGxhY2UoIC8oW14gLSEjLVxbXF0tfl0pL2csIGZ1bmN0aW9uKCBtLCBjICkgeyBy ZXR1cm4gU3RyaW5nLmVzY2FwZUpTQ2hhciggYyApOyB9ICkKICAgIH0sCiAgICAK ICAgIAogICAgZXNjYXBlSlMyOiBmdW5jdGlvbigpIHsKICAgICAgICByZXR1cm4g dGhpcy5yZXBsYWNlKCAvKFtcdTAwMDAtXHUwMDMxJyJcXF0pL2csIGZ1bmN0aW9u KCBtLCBjICkgeyByZXR1cm4gU3RyaW5nLmVzY2FwZUpTQ2hhciggYyApOyB9ICkK ICAgIH0sCiAgICAKICAgIAogICAgZXNjYXBlSlMzOiBmdW5jdGlvbigpIHsKICAg ICAgICByZXR1cm4gdGhpcy5yZXBsYWNlKCAvW1x1MDAwMC1cdTAwMzEnIlxcXS9n LCBmdW5jdGlvbiggbSApIHsgcmV0dXJuIFN0cmluZy5lc2NhcGVKU0NoYXIoIG0g KTsgfSApCiAgICB9LAogICAgCiAgICAKICAgIGVzY2FwZUpTNDogZnVuY3Rpb24o KSB7CiAgICAgICAgcmV0dXJuIHRoaXMucmVwbGFjZSggLy4vZywgZnVuY3Rpb24o IG0gKSB7IHJldHVybiBTdHJpbmcuZXNjYXBlSlNDaGFyKCBtICk7IH0gKQogICAg fSwKICAgIAogICAgCiAgICBlbmNvZGVIVE1MOiBmdW5jdGlvbigpIHsKICAgICAg ICByZXR1cm4gdGhpcy5yZXBsYWNlKCAvKFs8PiYiXSkvZywgZnVuY3Rpb24oIG0s IGMgKSB7IHJldHVybiBTdHJpbmcuZW5jb2RlRW50aXR5KCBjICkgfSApOwogICAg fSwKCgogICAgZGVjb2RlSFRNTDogZnVuY3Rpb24oKSB7CiAgICAgICAgcmV0dXJu IHRoaXMucmVwbGFjZSggLyYoLio/KTsvZywgZnVuY3Rpb24oIG0sIGMgKSB7IHJl dHVybiBTdHJpbmcuZGVjb2RlRW50aXR5KCBjICkgfSApOwogICAgfSwKICAgIAog ICAgCiAgICBjc3NUb0pTOiBmdW5jdGlvbigpIHsKICAgICAgICByZXR1cm4gdGhp cy5yZXBsYWNlKCAvLShbYS16XSkvZywgZnVuY3Rpb24oIG0sIGMgKSB7IHJldHVy biBjLnRvVXBwZXJDYXNlKCkgfSApOwogICAgfSwKICAgIAogICAgCiAgICBqc1Rv Q1NTOiBmdW5jdGlvbigpIHsKICAgICAgICByZXR1cm4gdGhpcy5yZXBsYWNlKCAv KFtBLVpdKS9nLCBmdW5jdGlvbiggbSwgYyApIHsgcmV0dXJuICItIiArIGMudG9M b3dlckNhc2UoKSB9ICk7CiAgICB9LAogICAgCiAgICAKICAgIGZpcnN0VG9Mb3dl ckNhc2U6IGZ1bmN0aW9uKCkgewogICAgICAgIHJldHVybiB0aGlzLnJlcGxhY2Uo IC9eKC4pLywgZnVuY3Rpb24oIG0sIGMgKSB7IHJldHVybiBjLnRvTG93ZXJDYXNl KCkgfSApOwogICAgfSwKICAgIAogICAgICAgIAogICAgcmdiVG9IZXg6IGZ1bmN0 aW9uKCkgewogICAgICAgIHZhciBjID0gdGhpcy5tYXRjaCggLyhcZCspXEQrKFxk KylcRCsoXGQrKS8gKTsKICAgICAgICBpZiggIWMgKQogICAgICAgICAgICByZXR1 cm4gdW5kZWZpbmVkOwogICAgICAgIHJldHVybiAiIyIgKwogICAgICAgICAgICBm aW5pdGVJbnQoIGNbIDEgXSApLnRvU3RyaW5nKCAxNiApLnBhZCggMiwgIjAiICkg KwogICAgICAgICAgICBmaW5pdGVJbnQoIGNbIDIgXSApLnRvU3RyaW5nKCAxNiAp LnBhZCggMiwgIjAiICkgKwogICAgICAgICAgICBmaW5pdGVJbnQoIGNbIDMgXSAp LnRvU3RyaW5nKCAxNiApLnBhZCggMiwgIjAiICk7CiAgICB9LAogICAgCiAgICAK ICAgIHBhZDogZnVuY3Rpb24oIGxlbmd0aCwgcGFkQ2hhciApIHsKICAgICAgICB2 YXIgcGFkZGluZyA9IGxlbmd0aCAtIHRoaXMubGVuZ3RoOwogICAgICAgIGlmKCBw YWRkaW5nIDw9IDAgKQogICAgICAgICAgICByZXR1cm4gdGhpczsKICAgICAgICBp ZiggIWRlZmluZWQoIHBhZENoYXIgKSApCiAgICAgICAgICAgIHBhZENoYXIgPSAi ICI7CiAgICAgICAgdmFyIG91dCA9IFtdOwogICAgICAgIGZvciggdmFyIGkgPSAw OyBpIDwgcGFkZGluZzsgaSsrICkKICAgICAgICAgICAgb3V0LnB1c2goIHBhZENo YXIgKTsKICAgICAgICBvdXQucHVzaCggdGhpcyApOwogICAgICAgIHJldHVybiBv dXQuam9pbiggIiIgKTsKICAgIH0sCgoKICAgIHRyaW06IGZ1bmN0aW9uKCkgewog ICAgICAgIHJldHVybiB0aGlzLnJlcGxhY2UoIC9eXHMrfFxzKyQvZywgIiIgKTsK ICAgIH0KCn0gKTsKCgovKiBleHRlbmQgYXJyYXkgb2JqZWN0ICovCgpPYmplY3Qu ZXh0ZW5kKEFycmF5LCB7IAogICAgZnJvbVBzZXVkbzogZnVuY3Rpb24gKCBhcmdz ICkgewogICAgICAgIHZhciBvdXQgPSBbXTsKICAgICAgICBmb3IgKCB2YXIgaSA9 IDA7IGkgPCBhcmdzLmxlbmd0aDsgaSsrICkKICAgICAgICAgICAgb3V0LnB1c2go IGFyZ3NbIGkgXSApOwogICAgICAgIHJldHVybiBvdXQ7CiAgICB9Cn0pOwoKCi8q IGV4dGVuZCBhcnJheSBvYmplY3QgKi8KCk9iamVjdC5leHRlbmQoQXJyYXkucHJv dG90eXBlLCB7CiAgICBjb3B5OiBmdW5jdGlvbigpIHsKICAgICAgICB2YXIgb3V0 ID0gW107CiAgICAgICAgZm9yKCB2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsg aSsrICkKICAgICAgICAgICAgb3V0WyBpIF0gPSB0aGlzWyBpIF07CiAgICAgICAg cmV0dXJuIG91dDsKICAgIH0sCgoKICAgIGZpcnN0OiBmdW5jdGlvbiggY2FsbGJh Y2ssIG9iamVjdCApIHsKICAgICAgICB2YXIgbGVuZ3RoID0gdGhpcy5sZW5ndGg7 CiAgICAgICAgZm9yKCB2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKyApIHsKICAg ICAgICAgICAgdmFyIHJlc3VsdCA9IG9iamVjdAogICAgICAgICAgICAgICAgPyBj YWxsYmFjay5jYWxsKCBvYmplY3QsIHRoaXNbIGkgXSwgaSwgdGhpcyApCiAgICAg ICAgICAgICAgICA6IGNhbGxiYWNrKCB0aGlzWyBpIF0sIGksIHRoaXMgKTsKICAg ICAgICAgICAgaWYoIHJlc3VsdCApCiAgICAgICAgICAgICAgICByZXR1cm4gdGhp c1sgaSBdOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0sCgoK ICAgIGZpdEluZGV4OiBmdW5jdGlvbiggZnJvbUluZGV4LCBkZWZhdWx0SW5kZXgg KSB7CiAgICAgICAgaWYoICFkZWZpbmVkKCBmcm9tSW5kZXggKSB8fCBmcm9tSW5k ZXggPT0gbnVsbCApCiAgICAgICAgICAgIGZyb21JbmRleCA9IGRlZmF1bHRJbmRl eDsKICAgICAgICBlbHNlIGlmKCBmcm9tSW5kZXggPCAwICkgewogICAgICAgICAg ICBmcm9tSW5kZXggPSB0aGlzLmxlbmd0aCArIGZyb21JbmRleDsKICAgICAgICAg ICAgaWYoIGZyb21JbmRleCA8IDAgKQogICAgICAgICAgICAgICAgZnJvbUluZGV4 ID0gMDsKICAgICAgICB9IGVsc2UgaWYoIGZyb21JbmRleCA+PSB0aGlzLmxlbmd0 aCApCiAgICAgICAgICAgIGZyb21JbmRleCA9IHRoaXMubGVuZ3RoIC0gMTsKICAg ICAgICByZXR1cm4gZnJvbUluZGV4OwogICAgfSwKCgogICAgc2NyYW1ibGU6IGZ1 bmN0aW9uKCkgewogICAgICAgIGZvciggdmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5n dGg7IGkrKyApIHsKICAgICAgICAgICAgdmFyIGogPSBNYXRoLmZsb29yKCBNYXRo LnJhbmRvbSgpICogdGhpcy5sZW5ndGggKTsKICAgICAgICAgICAgdmFyIHRlbXAg PSB0aGlzWyBpIF07CiAgICAgICAgICAgIHRoaXNbIGkgXSA9IHRoaXNbIGogXTsK ICAgICAgICAgICAgdGhpc1sgaiBdID0gdGVtcDsKICAgICAgICB9CiAgICB9LAog ICAgCiAgICAKICAgIGFkZDogZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIGEgPSBh cmd1bWVudHM7CiAgICAgICAgZm9yKCB2YXIgaSA9IDA7IGkgPCBhLmxlbmd0aDsg aSsrICkgewogICAgICAgICAgICB2YXIgaW5kZXggPSB0aGlzLmluZGV4T2YoIGFb IGkgXSApOwogICAgICAgICAgICBpZiggaW5kZXggPCAwICkgCiAgICAgICAgICAg ICAgICB0aGlzLnB1c2goIGFyZ3VtZW50c1sgaSBdICk7CiAgICAgICAgfQogICAg ICAgIHJldHVybiB0aGlzLmxlbmd0aDsKICAgIH0sCiAgICAgICAgCiAgICAKICAg IHJlbW92ZTogZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIGEgPSBhcmd1bWVudHM7 CiAgICAgICAgZm9yKCB2YXIgaSA9IDA7IGkgPCBhLmxlbmd0aDsgaSsrICkgewog ICAgICAgICAgICB2YXIgaiA9IHRoaXMuaW5kZXhPZiggYVsgaSBdICk7CiAgICAg ICAgICAgIGlmKCBqID49IDAgKQogICAgICAgICAgICAgICAgdGhpcy5zcGxpY2Uo IGosIDEgKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRoaXMubGVuZ3RoOwog ICAgfSwKCgogICAgLyogamF2YXNjcmlwdCAxLjUgYXJyYXkgbWV0aG9kcyAqLwog ICAgLyogaHR0cDovL2RldmVsb3Blci10ZXN0Lm1vemlsbGEub3JnL2VuL2RvY3Mv Q29yZV9KYXZhU2NyaXB0XzEuNV9SZWZlcmVuY2U6T2JqZWN0czpBcnJheSNNZXRo b2RzICovCgogICAgZXZlcnk6IGZ1bmN0aW9uKCBjYWxsYmFjaywgb2JqZWN0ICkg ewogICAgICAgIHZhciBsZW5ndGggPSB0aGlzLmxlbmd0aDsKICAgICAgICBmb3Io IHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsrICkgewogICAgICAgICAgICB2YXIg cmVzdWx0ID0gb2JqZWN0CiAgICAgICAgICAgICAgICA/IGNhbGxiYWNrLmNhbGwo IG9iamVjdCwgdGhpc1sgaSBdLCBpLCB0aGlzICkKICAgICAgICAgICAgICAgIDog Y2FsbGJhY2soIHRoaXNbIGkgXSwgaSwgdGhpcyApOwogICAgICAgICAgICBpZigg IXJlc3VsdCApCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAg fQogICAgICAgIHJldHVybiB0cnVlOwogICAgfSwKCgogICAgZmlsdGVyOiBmdW5j dGlvbiggY2FsbGJhY2ssIG9iamVjdCApIHsKICAgICAgICB2YXIgb3V0ID0gW107 CiAgICAgICAgdmFyIGxlbmd0aCA9IHRoaXMubGVuZ3RoOwogICAgICAgIGZvcigg dmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKysgKSB7CiAgICAgICAgICAgIHZhciBy ZXN1bHQgPSBvYmplY3QKICAgICAgICAgICAgICAgID8gY2FsbGJhY2suY2FsbCgg b2JqZWN0LCB0aGlzWyBpIF0sIGksIHRoaXMgKQogICAgICAgICAgICAgICAgOiBj YWxsYmFjayggdGhpc1sgaSBdLCBpLCB0aGlzICk7CiAgICAgICAgICAgIGlmKCBy ZXN1bHQgKQogICAgICAgICAgICAgICAgb3V0LnB1c2goIHRoaXNbIGkgXSApOwog ICAgICAgIH0KICAgICAgICByZXR1cm4gb3V0OwogICAgfSwKICAgIAogICAgCiAg ICBmb3JFYWNoOiBmdW5jdGlvbiggY2FsbGJhY2ssIG9iamVjdCApIHsKICAgICAg ICB2YXIgbGVuZ3RoID0gdGhpcy5sZW5ndGg7CiAgICAgICAgZm9yKCB2YXIgaSA9 IDA7IGkgPCBsZW5ndGg7IGkrKyApIHsKICAgICAgICAgICAgb2JqZWN0CiAgICAg ICAgICAgICAgICA/IGNhbGxiYWNrLmNhbGwoIG9iamVjdCwgdGhpc1sgaSBdLCBp LCB0aGlzICkKICAgICAgICAgICAgICAgIDogY2FsbGJhY2soIHRoaXNbIGkgXSwg aSwgdGhpcyApOwogICAgICAgIH0KICAgIH0sCiAgICAKICAgIAogICAgaW5kZXhP ZjogZnVuY3Rpb24oIHZhbHVlLCBmcm9tSW5kZXggKSB7CiAgICAgICAgZnJvbUlu ZGV4ID0gdGhpcy5maXRJbmRleCggZnJvbUluZGV4LCAwICk7CiAgICAgICAgZm9y KCB2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrICkgewogICAgICAgICAg ICBpZiggdGhpc1sgaSBdID09PSB2YWx1ZSApCiAgICAgICAgICAgICAgICByZXR1 cm4gaTsgCiAgICAgICAgfQogICAgICAgIHJldHVybiAtMTsKICAgIH0sCgoKICAg IGxhc3RJbmRleE9mOiBmdW5jdGlvbiggdmFsdWUsIGZyb21JbmRleCApIHsKICAg ICAgICBmcm9tSW5kZXggPSB0aGlzLmZpdEluZGV4KCBmcm9tSW5kZXgsIHRoaXMu bGVuZ3RoIC0gMSApOwogICAgICAgIGZvciggdmFyIGkgPSBmcm9tSW5kZXg7IGkg Pj0gMDsgaS0tICkgewogICAgICAgICAgICBpZiggdGhpc1sgaSBdID09IHZhbHVl ICkKICAgICAgICAgICAgICAgIHJldHVybiBpOwogICAgICAgIH0KICAgICAgICBy ZXR1cm4gLTE7CiAgICB9LAoKCiAgICBzb21lOiBmdW5jdGlvbiggY2FsbGJhY2ss IG9iamVjdCApIHsKICAgICAgICB2YXIgbGVuZ3RoID0gdGhpcy5sZW5ndGg7CiAg ICAgICAgZm9yKCB2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKyApIHsKICAgICAg ICAgICAgdmFyIHJlc3VsdCA9IG9iamVjdAogICAgICAgICAgICAgICAgPyBjYWxs YmFjay5jYWxsKCBvYmplY3QsIHRoaXNbIGkgXSwgaSwgdGhpcyApCiAgICAgICAg ICAgICAgICA6IGNhbGxiYWNrKCB0aGlzWyBpIF0sIGksIHRoaXMgKTsKICAgICAg ICAgICAgaWYoIHJlc3VsdCApCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK ICAgICAgICB9CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSwKCgogICAgLyog amF2YXNjcmlwdCAxLjIgYXJyYXkgbWV0aG9kcyAqLwoKICAgIGNvbmNhdDogZnVu Y3Rpb24oKSB7CiAgICAgICAgdmFyIGEgPSBhcmd1bWVudHM7CiAgICAgICAgdmFy IG91dCA9IHRoaXMuY29weSgpOwogICAgICAgIGZvciggaSA9IDA7IGkgPCBhLmxl bmd0aDsgaSsrICkgewogICAgICAgICAgICB2YXIgYiA9IGFbIGkgXTsKICAgICAg ICAgICAgZm9yKCBqID0gMDsgaiA8IGIubGVuZ3RoOyBqKysgKQogICAgICAgICAg ICAgICAgb3V0LnB1c2goIGJbIGogXSApOwogICAgICAgIH0KICAgICAgICByZXR1 cm4gb3V0OwogICAgfSwKICAgIAoKICAgIHB1c2g6IGZ1bmN0aW9uKCkgewogICAg ICAgIHZhciBhID0gYXJndW1lbnRzOwogICAgICAgIGZvciggdmFyIGkgPSAwOyBp IDwgYS5sZW5ndGg7IGkrKyApCiAgICAgICAgICAgIHRoaXNbIHRoaXMubGVuZ3Ro IF0gPSBhWyBpIF07CiAgICAgICAgcmV0dXJuIHRoaXMubGVuZ3RoOyAgICAgCiAg ICB9LAoKCiAgICBwb3A6IGZ1bmN0aW9uKCkgewogICAgICAgIGlmKCB0aGlzLmxl bmd0aCA9PSAwICkKICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDsKICAgICAg ICB2YXIgb3V0ID0gdGhpc1sgdGhpcy5sZW5ndGggLSAxIF07CiAgICAgICAgdGhp cy5sZW5ndGgtLTsKICAgICAgICByZXR1cm4gb3V0OwogICAgfSwKICAgIAogICAg CiAgICB1bnNoaWZ0OiBmdW5jdGlvbigpIHsKICAgICAgICB2YXIgYSA9IGFyZ3Vt ZW50czsKICAgICAgICBmb3IoIHZhciBpID0gMDsgaSA8IGEubGVuZ3RoOyBpKysg KSB7CiAgICAgICAgICAgIHRoaXNbIGkgKyBhLmxlbmd0aCBdID0gdGhpc1sgaSBd OwogICAgICAgICAgICB0aGlzWyBpIF0gPSBhWyBpIF07CiAgICAgICAgfQogICAg ICAgIHJldHVybiB0aGlzLmxlbmd0aDsgICAgIAogICAgfSwKICAgIAogICAgCiAg ICBzaGlmdDogZnVuY3Rpb24oKSB7CiAgICAgICAgaWYoIHRoaXMubGVuZ3RoID09 IDAgKQogICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkOwogICAgICAgIHZhciBv dXQgPSB0aGlzWyAwIF07CiAgICAgICAgZm9yKCB2YXIgaSA9IDE7IGkgPCB0aGlz Lmxlbmd0aDsgaSsrICkKICAgICAgICAgICAgdGhpc1sgaSAtIDEgXSA9IHRoaXNb IGkgXTsKICAgICAgICB0aGlzLmxlbmd0aC0tOwogICAgICAgIHJldHVybiBvdXQ7 CiAgICB9Cn0gKTsKCgovKiBkYXRlIGV4dGVuc2lvbnMgKi8KCk9iamVjdC5leHRl bmQoRGF0ZSwgewogICAgLyogIGlzbyA4NjAxIGRhdGUgZm9ybWF0IHBhcnNlcgog ICAgICAgIHRoaXMgd2FzIGZ1biB0byB3cml0ZS4uLgogICAgICAgIHRoYW5rcyB0 bzogaHR0cDovL3d3dy5jbC5jYW0uYWMudWsvfm1nazI1L2lzby10aW1lLmh0bWwg Ki8KCiAgICBtYXRjaElTT1N0cmluZzogbmV3IFJlZ0V4cCgKICAgICAgICAiXihb MC05XXs0fSkiICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC8vIHllYXIKICAgICAgICAiKD86LSg/PTBbMS05XXwx WzAtMl0pfCQpKC4uKT8iICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC8vIG1vbnRoCiAgICAgICAgIig/Oi0oPz0wWzEtOV18WzEyXVswLTldfDNb MDFdKXwkKShbMC05XXsyfSk/IiArICAgICAgICAgICAgICAgICAgICAvLyBkYXkg b2YgdGhlIG1vbnRoCiAgICAgICAgIig/OlQoPz1bMDFdWzAtOV18MlswLTRdKXwk KVQ/KFswLTldezJ9KT8iICsgICAgICAgICAgICAgICAgICAgICAgICAvLyBob3Vy cwogICAgICAgICIoPzo6KD89WzAtNV1bMC05XSl8XFwrfC18WnwkKShbMC05XXsy fSk/IiArICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWludXRlcwogICAgICAg ICIoPzo6KD89WzAtNV1bMC05XXw2MCR8NjBbK3wtfFpdfDYwLjArKXxcXCt8LXxa fCQpOj8oWzAtOV17Mn0pPyIgKyAgLy8gc2Vjb25kcwogICAgICAgICIoXC5bMC05 XSspPyIgKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLy8gZnJhY3Rpb25hbCBzZWNvbmRzCiAgICAgICAgIihafFxc K1swMV1bMC05XXxcXCsyWzAtNF18LVswMV1bMC05XXwtMlswLTRdKT8iICsgICAg ICAgICAgICAgICAgICAvLyB0aW1lem9uZSBob3VycwogICAgICAgICI6PyhbMC01 XVswLTldfDYwKT8kIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLy8gdGltZXpvbmUgbWludXRlcwogICAgKSwKICAgIAogICAg CiAgICBmcm9tSVNPU3RyaW5nOiBmdW5jdGlvbiggc3RyaW5nICkgewogICAgICAg IHZhciB0ID0gdGhpcy5tYXRjaElTT1N0cmluZy5leGVjKCBzdHJpbmcgKTsKICAg ICAgICBpZiggIXQgKQogICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkOwoKICAg ICAgICB2YXIgeWVhciA9IGZpbml0ZUludCggdFsgMSBdLCAxMCApOwogICAgICAg IHZhciBtb250aCA9IGZpbml0ZUludCggdFsgMiBdLCAxMCApIC0gMTsKICAgICAg ICB2YXIgZGF5ID0gZmluaXRlSW50KCB0WyAzIF0sIDEwICk7CiAgICAgICAgdmFy IGhvdXJzID0gZmluaXRlSW50KCB0WyA0IF0sIDEwICk7CiAgICAgICAgdmFyIG1p bnV0ZXMgPSBmaW5pdGVJbnQoIHRbIDUgXSwgMTAgKTsKICAgICAgICB2YXIgc2Vj b25kcyA9IGZpbml0ZUludCggdFsgNiBdLCAxMCApOwogICAgICAgIHZhciBtaWxs aXNlY29uZHMgPSBmaW5pdGVJbnQoIE1hdGgucm91bmQoIHBhcnNlRmxvYXQoIHRb IDcgXSApICogMTAwMCApICk7CiAgICAgICAgdmFyIHR6SG91cnMgPSBmaW5pdGVJ bnQoIHRbIDggXSwgMTAgKTsKICAgICAgICB2YXIgdHpNaW51dGVzID0gZmluaXRl SW50KCB0WyA5IF0sIDEwICk7CgogICAgICAgIHZhciBkYXRlID0gbmV3IHRoaXMo IDAgKTsKICAgICAgICBpZiggZGVmaW5lZCggdFsgOCBdICkgKSB7CiAgICAgICAg ICAgIGRhdGUuc2V0VVRDRnVsbFllYXIoIHllYXIsIG1vbnRoLCBkYXkgKTsKICAg ICAgICAgICAgZGF0ZS5zZXRVVENIb3VycyggaG91cnMsIG1pbnV0ZXMsIHNlY29u ZHMsIG1pbGxpc2Vjb25kcyApOwogICAgICAgICAgICB2YXIgb2Zmc2V0ID0gKHR6 SG91cnMgKiA2MCArIHR6TWludXRlcykgKiA2MDAwMDsKICAgICAgICAgICAgaWYo IG9mZnNldCApCiAgICAgICAgICAgICAgICBkYXRlID0gbmV3IHRoaXMoIGRhdGUg LSBvZmZzZXQgKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBkYXRlLnNl dEZ1bGxZZWFyKCB5ZWFyLCBtb250aCwgZGF5ICk7CiAgICAgICAgICAgIGRhdGUu c2V0SG91cnMoIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtaWxsaXNlY29uZHMg KTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBkYXRlOwogICAgfQp9ICk7CgoK T2JqZWN0LmV4dGVuZChEYXRlLnByb3RvdHlwZSwgewogICAgZ2V0SVNPVGltZXpv bmVPZmZzZXQ6IGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBvZmZzZXQgPSAtdGhp cy5nZXRUaW1lem9uZU9mZnNldCgpOwogICAgICAgIHZhciBuZWdhdGl2ZSA9IGZh bHNlOwogICAgICAgIGlmKCBvZmZzZXQgPCAwICkgewogICAgICAgICAgICBuZWdh dGl2ZSA9IHRydWU7CiAgICAgICAgICAgIG9mZnNldCAqPSAtMTsKICAgICAgICB9 CiAgICAgICAgdmFyIG9mZnNldEhvdXJzID0gTWF0aC5mbG9vciggb2Zmc2V0IC8g NjAgKS50b1N0cmluZygpLnBhZCggMiwgIjAiICk7CiAgICAgICAgdmFyIG9mZnNl dE1pbnV0ZXMgPSBNYXRoLmZsb29yKCBvZmZzZXQgJSA2MCApLnRvU3RyaW5nKCku cGFkKCAyLCAiMCIgKTsKICAgICAgICByZXR1cm4gKG5lZ2F0aXZlID8gIi0iIDog IisiKSArIG9mZnNldEhvdXJzICsgIjoiICsgb2Zmc2V0TWludXRlczsKICAgIH0s CgoKICAgIHRvSVNPRGF0ZVN0cmluZzogZnVuY3Rpb24oKSB7CiAgICAgICAgdmFy IHllYXIgPSB0aGlzLmdldEZ1bGxZZWFyKCk7CiAgICAgICAgdmFyIG1vbnRoID0g KHRoaXMuZ2V0TW9udGgoKSArIDEpLnRvU3RyaW5nKCkucGFkKCAyLCAiMCIgKTsK ICAgICAgICB2YXIgZGF5ID0gdGhpcy5nZXREYXRlKCkudG9TdHJpbmcoKS5wYWQo IDIsICIwIiApOwogICAgICAgIHJldHVybiB5ZWFyICsgIi0iICsgbW9udGggKyAi LSIgKyBkYXk7CiAgICB9LAoKCiAgICB0b1VUQ0lTT0RhdGVTdHJpbmc6IGZ1bmN0 aW9uKCkgewogICAgICAgIHZhciB5ZWFyID0gdGhpcy5nZXRVVENGdWxsWWVhcigp OwogICAgICAgIHZhciBtb250aCA9ICh0aGlzLmdldFVUQ01vbnRoKCkgKyAxKS50 b1N0cmluZygpLnBhZCggMiwgIjAiICk7CiAgICAgICAgdmFyIGRheSA9IHRoaXMu Z2V0VVRDRGF0ZSgpLnRvU3RyaW5nKCkucGFkKCAyLCAiMCIgKTsKICAgICAgICBy ZXR1cm4geWVhciArICItIiArIG1vbnRoICsgIi0iICsgZGF5OwogICAgfSwKCgog ICAgdG9JU09UaW1lU3RyaW5nOiBmdW5jdGlvbigpIHsKICAgICAgICB2YXIgaG91 cnMgPSB0aGlzLmdldEhvdXJzKCkudG9TdHJpbmcoKS5wYWQoIDIsICIwIiApOwog ICAgICAgIHZhciBtaW51dGVzID0gdGhpcy5nZXRNaW51dGVzKCkudG9TdHJpbmco KS5wYWQoIDIsICIwIiApOwogICAgICAgIHZhciBzZWNvbmRzID0gdGhpcy5nZXRT ZWNvbmRzKCkudG9TdHJpbmcoKS5wYWQoIDIsICIwIiApOwogICAgICAgIHZhciBt aWxsaXNlY29uZHMgPSB0aGlzLmdldE1pbGxpc2Vjb25kcygpLnRvU3RyaW5nKCku cGFkKCAzLCAiMCIgKTsKICAgICAgICB2YXIgdGltZXpvbmUgPSB0aGlzLmdldElT T1RpbWV6b25lT2Zmc2V0KCk7CiAgICAgICAgcmV0dXJuIGhvdXJzICsgIjoiICsg bWludXRlcyArICI6IiArIHNlY29uZHMgKyAiLiIgKyBtaWxsaXNlY29uZHMgKyB0 aW1lem9uZTsKICAgIH0sCgoKICAgIHRvVVRDSVNPVGltZVN0cmluZzogZnVuY3Rp b24oKSB7CiAgICAgICAgdmFyIGhvdXJzID0gdGhpcy5nZXRVVENIb3VycygpLnRv U3RyaW5nKCkucGFkKCAyLCAiMCIgKTsKICAgICAgICB2YXIgbWludXRlcyA9IHRo aXMuZ2V0VVRDTWludXRlcygpLnRvU3RyaW5nKCkucGFkKCAyLCAiMCIgKTsKICAg ICAgICB2YXIgc2Vjb25kcyA9IHRoaXMuZ2V0VVRDU2Vjb25kcygpLnRvU3RyaW5n KCkucGFkKCAyLCAiMCIgKTsKICAgICAgICB2YXIgbWlsbGlzZWNvbmRzID0gdGhp cy5nZXRVVENNaWxsaXNlY29uZHMoKS50b1N0cmluZygpLnBhZCggMywgIjAiICk7 CiAgICAgICAgcmV0dXJuIGhvdXJzICsgIjoiICsgbWludXRlcyArICI6IiArIHNl Y29uZHMgKyAiLiIgKyBtaWxsaXNlY29uZHMgKyAiWiI7CiAgICB9LAoKCiAgICB0 b0lTT1N0cmluZzogZnVuY3Rpb24oKSB7CiAgICAgICAgcmV0dXJuIHRoaXMudG9J U09EYXRlU3RyaW5nKCkgKyAiVCIgKyB0aGlzLnRvSVNPVGltZVN0cmluZygpOwog ICAgfSwKCgogICAgdG9VVENJU09TdHJpbmc6IGZ1bmN0aW9uKCkgewogICAgICAg IHJldHVybiB0aGlzLnRvVVRDSVNPRGF0ZVN0cmluZygpICsgIlQiICsgdGhpcy50 b1VUQ0lTT1RpbWVTdHJpbmcoKTsKICAgIH0KfSApOwoKCi8qIGFqYXggKi8KCmlm KCAhZGVmaW5lZCggd2luZG93LlhNTEh0dHBSZXF1ZXN0ICkgKSB7CiAgICB3aW5k b3cuWE1MSHR0cFJlcXVlc3QgPSBmdW5jdGlvbigpIHsKICAgICAgICB2YXIgdHlw ZXMgPSBbCiAgICAgICAgICAgICJNaWNyb3NvZnQuWE1MSFRUUCIsCiAgICAgICAg ICAgICJNU1hNTDIuWE1MSFRUUC41LjAiLAogICAgICAgICAgICAiTVNYTUwyLlhN TEhUVFAuNC4wIiwKICAgICAgICAgICAgIk1TWE1MMi5YTUxIVFRQLjMuMCIsCiAg ICAgICAgICAgICJNU1hNTDIuWE1MSFRUUCIKICAgICAgICBdOwogICAgICAgIAog ICAgICAgIGZvciggdmFyIGkgPSAwOyBpIDwgdHlwZXMubGVuZ3RoOyBpKysgKSB7 CiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEFj dGl2ZVhPYmplY3QoIHR5cGVzWyBpIF0gKTsKICAgICAgICAgICAgfSBjYXRjaCgg ZSApIHt9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIHJldHVybiB1bmRlZmlu ZWQ7CiAgICB9Cn0KLyoKRE9NIExpYnJhcnkgLSBDb3B5cmlnaHQgMjAwNSBTaXgg QXBhcnQKJElkOiBkb20uanMgMjcxIDIwMDktMDMtMjMgMTI6MDU6MTdaIHBrb3Ju aWxvdiAkCgpDb3B5cmlnaHQgKGMpIDIwMDUsIFNpeCBBcGFydCwgTHRkLgpBbGwg cmlnaHRzIHJlc2VydmVkLgoKUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cm1vZGlmaWNhdGlv biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u ZGl0aW9ucyBhcmUKbWV0OgoKICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKbm90aWNlLCB0 aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp bWVyLgoKICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg cmVwcm9kdWNlIHRoZSBhYm92ZQpjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCmluIHRo ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg d2l0aCB0aGUKZGlzdHJpYnV0aW9uLgoKICAgICogTmVpdGhlciB0aGUgbmFtZSBv ZiAiU2l4IEFwYXJ0IiBub3IgdGhlIG5hbWVzIG9mIGl0cwpjb250cmlidXRvcnMg bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2 ZWQgZnJvbQp0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp dHRlbiBwZXJtaXNzaW9uLgoKVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwoiQVMgSVMiIEFO RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg QlVUIE5PVApMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKQSBQQVJUSUNVTEFSIFBVUlBP U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH SFQKT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsClNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKTElNSVRF RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF UzsgTE9TUyBPRiBVU0UsCkRBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQpUSEVPUlkgT0Yg TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ LCBPUiBUT1JUCihJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQpPRiBUSElTIFNPRlRXQVJF LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN QUdFLgoKKi8KCgovKiBOb2RlIGNsYXNzICovCgppZighd2luZG93Lk5vZGUpCiAg ICBOb2RlID0ge307Cgp0cnkgewogICAgT2JqZWN0LmV4dGVuZChOb2RlLCB7CiAg ICAgICAgRUxFTUVOVF9OT0RFOiAxLAogICAgICAgIEFUVFJJQlVURV9OT0RFOiAy LAogICAgICAgIFRFWFRfTk9ERTogMywKICAgICAgICBDREFUQV9TRUNUSU9OX05P REU6IDQsCiAgICAgICAgQ09NTUVOVF9OT0RFOiA4LAogICAgICAgIERPQ1VNRU5U X05PREU6IDksCiAgICAgICAgRE9DVU1FTlRfRlJBR01FTlRfTk9ERTogMTEKICAg IH0gKTsKfSBjYXRjaCggZSApIHt9CgoKLyogRE9NIGNsYXNzICovCgppZighd2lu ZG93LkRPTSkKICAgIERPTSA9IHt9OwoKCk9iamVjdC5leHRlbmQoRE9NLCB7CiAg ICBnZXRFbGVtZW50OiBmdW5jdGlvbiggZSApIHsKICAgICAgICByZXR1cm4gKHR5 cGVvZiBlID09ICJzdHJpbmciIHx8IHR5cGVvZiBlID09ICJudW1iZXIiKSA/IGRv Y3VtZW50LmdldEVsZW1lbnRCeUlkKCBlICkgOiBlOwogICAgfSwKCgogICAgYWRk RXZlbnRMaXN0ZW5lcjogZnVuY3Rpb24oIGUsIGV2ZW50TmFtZSwgZnVuYywgdXNl Q2FwdHVyZSApIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBpZiggZS5hZGRF dmVudExpc3RlbmVyICkKICAgICAgICAgICAgICAgIGUuYWRkRXZlbnRMaXN0ZW5l ciggZXZlbnROYW1lLCBmdW5jLCB1c2VDYXB0dXJlICk7CiAgICAgICAgICAgIGVs c2UgaWYoIGUuYXR0YWNoRXZlbnQgKQogICAgICAgICAgICAgICAgZS5hdHRhY2hF dmVudCggIm9uIiArIGV2ZW50TmFtZSwgZnVuYyApOwogICAgICAgICAgICBlbHNl CiAgICAgICAgICAgICAgICBlWyAib24iICsgZXZlbnROYW1lIF0gPSBmdW5jOwog ICAgICAgIH0gY2F0Y2goIGUgKSB7fQogICAgfSwKCgogICAgcmVtb3ZlRXZlbnRM aXN0ZW5lcjogZnVuY3Rpb24oIGUsIGV2ZW50TmFtZSwgZnVuYywgdXNlQ2FwdHVy ZSApIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBpZiggZS5yZW1vdmVFdmVu dExpc3RlbmVyICkKICAgICAgICAgICAgICAgIGUucmVtb3ZlRXZlbnRMaXN0ZW5l ciggZXZlbnROYW1lLCBmdW5jLCB1c2VDYXB0dXJlICk7CiAgICAgICAgICAgIGVs c2UgaWYoIGUuZGV0YWNoRXZlbnQgKQogICAgICAgICAgICAgICAgZS5kZXRhY2hF dmVudCggIm9uIiArIGV2ZW50TmFtZSwgZnVuYyApOwogICAgICAgICAgICBlbHNl CiAgICAgICAgICAgICAgICBlWyAib24iICsgZXZlbnROYW1lIF0gPSB1bmRlZmlu ZWQ7CiAgICAgICAgfSBjYXRjaCggZSApIHt9CiAgICB9LAoKCiAgICByZWFkeTog ZnVuY3Rpb24oZiwgZnJhbWUpIHsKICAgICAgICBpZiAoZnJhbWUpIHsKICAgICAg ICAgICAgd2luID0gZnJhbWUuY29udGVudFdpbmRvdzsKICAgICAgICB9IGVsc2Ug ewogICAgICAgICAgICB3aW4gPSB3aW5kb3c7CiAgICAgICAgfQogICAgICAgIGlm ICgvKD8hLio/Y29tcGF0aWJsZXwuKj93ZWJraXQpXm1vemlsbGF8b3BlcmEvaS50 ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpICYmICFmcmFtZSkgewogICAgICAgICAg ICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywg ZiwgZmFsc2UpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHZhciBnbyA9 IGZ1bmN0aW9uKCkgeyB3aW4uZG9jdW1lbnQuYm9keSA/IGYoKSA6IHdpbi5zZXRU aW1lb3V0KGdvLCAxKTsgfQogICAgICAgICAgICBnbygpOwogICAgICAgIH0KICAg IH0sCgoKICAgIGZvY3VzOiBmdW5jdGlvbiggZSApIHsKICAgICAgICB0cnkgewog ICAgICAgICAgICBlID0gRE9NLmdldEVsZW1lbnQoIGUgKTsKICAgICAgICAgICAg ZS5mb2N1cygpOwogICAgICAgIH0gY2F0Y2goIGUgKSB7fQogICAgfSwKCgogICAg Ymx1cjogZnVuY3Rpb24oIGUgKSB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAg ZSA9IERPTS5nZXRFbGVtZW50KCBlICk7CiAgICAgICAgICAgIGUuYmx1cigpOwog ICAgICAgIH0gY2F0Y2goIGUgKSB7fQogICAgfSwKICAgIAoKICAgIC8qIHN0eWxl ICovCiAgICAKICAgIGdldENvbXB1dGVkU3R5bGU6IGZ1bmN0aW9uKCBlICkgewog ICAgICAgIGlmKCBlLmN1cnJlbnRTdHlsZSApCiAgICAgICAgICAgIHJldHVybiBl LmN1cnJlbnRTdHlsZTsKICAgICAgICB2YXIgc3R5bGUgPSB7fTsKICAgICAgICB2 YXIgb3duZXIgPSBET00uZ2V0T3duZXJEb2N1bWVudCggZSApOwogICAgICAgIGlm KCBvd25lciAmJiBvd25lci5kZWZhdWx0VmlldyAmJiBvd25lci5kZWZhdWx0Vmll dy5nZXRDb21wdXRlZFN0eWxlICkgeyAgICAgICAgICAgIAogICAgICAgICAgICB0 cnkgewogICAgICAgICAgICAgICAgc3R5bGUgPSBvd25lci5kZWZhdWx0Vmlldy5n ZXRDb21wdXRlZFN0eWxlKCBlLCBudWxsICk7CiAgICAgICAgICAgIH0gY2F0Y2go IGUgKSB7fQogICAgICAgIH0KICAgICAgICByZXR1cm4gc3R5bGU7CiAgICB9LAoK CiAgICBnZXRTdHlsZTogZnVuY3Rpb24oIGUsIHAgKSB7CiAgICAgICAgdmFyIHMg PSBET00uZ2V0Q29tcHV0ZWRTdHlsZSggZSApOwogICAgICAgIHJldHVybiBzWyBw IF07CiAgICB9LAoKCiAgICAvLyBnaXZlbiBhIHdpbmRvdyAob3IgZGVmYXVsdGlu ZyB0byBjdXJyZW50IHdpbmRvdyksIHJldHVybnMKICAgIC8vIG9iamVjdCB3aXRo IC54IGFuZCAueSBvZiBjbGllbnQncyB1c2FibGUgYXJlYQogICAgZ2V0Q2xpZW50 RGltZW5zaW9uczogZnVuY3Rpb24oIHcgKSB7CiAgICAgICAgaWYoICF3ICkKICAg ICAgICAgICAgdyA9IHdpbmRvdzsKCiAgICAgICAgdmFyIGQgPSB7fTsKCiAgICAg ICAgLy8gbW9zdCBicm93c2VycwogICAgICAgIGlmKCB3LmlubmVySGVpZ2h0ICkg ewogICAgICAgICAgICBkLnggPSB3LmlubmVyV2lkdGg7CiAgICAgICAgICAgIGQu eSA9IHcuaW5uZXJIZWlnaHQ7CiAgICAgICAgICAgIHJldHVybiBkOwogICAgICAg IH0KCiAgICAgICAgLy8gSUU2LCBzdHJpY3QKICAgICAgICB2YXIgZGUgPSB3LmRv Y3VtZW50LmRvY3VtZW50RWxlbWVudDsKICAgICAgICBpZiggZGUgJiYgZGUuY2xp ZW50SGVpZ2h0ICkgewogICAgICAgICAgICBkLnggPSBkZS5jbGllbnRXaWR0aDsK ICAgICAgICAgICAgZC55ID0gZGUuY2xpZW50SGVpZ2h0OwogICAgICAgICAgICBy ZXR1cm4gZDsKICAgICAgICB9CgogICAgICAgIC8vIElFLCBtaXNjCiAgICAgICAg aWYoIGRvY3VtZW50LmJvZHkgKSB7CiAgICAgICAgICAgIGQueCA9IGRvY3VtZW50 LmJvZHkuY2xpZW50V2lkdGg7CiAgICAgICAgICAgIGQueSA9IGRvY3VtZW50LmJv ZHkuY2xpZW50SGVpZ2h0OwogICAgICAgICAgICByZXR1cm4gZDsKICAgICAgICB9 CiAgICAgICAgCiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDsKICAgIH0sCgoKICAg IGdldERpbWVuc2lvbnM6IGZ1bmN0aW9uKCBlICkgewogICAgICAgIGlmKCAhZSAp CiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7CgogICAgICAgIHZhciBzdHls ZSA9IERPTS5nZXRDb21wdXRlZFN0eWxlKCBlICk7CgogICAgICAgIHJldHVybiB7 CiAgICAgICAgICAgIG9mZnNldExlZnQ6IGUub2Zmc2V0TGVmdCwKICAgICAgICAg ICAgb2Zmc2V0VG9wOiBlLm9mZnNldFRvcCwKICAgICAgICAgICAgb2Zmc2V0V2lk dGg6IGUub2Zmc2V0V2lkdGgsCiAgICAgICAgICAgIG9mZnNldEhlaWdodDogZS5v ZmZzZXRIZWlnaHQsCiAgICAgICAgICAgIGNsaWVudFdpZHRoOiBlLmNsaWVudFdp ZHRoLAogICAgICAgICAgICBjbGllbnRIZWlnaHQ6IGUuY2xpZW50SGVpZ2h0LAog ICAgICAgICAgICAKICAgICAgICAgICAgb2Zmc2V0UmlnaHQ6IGUub2Zmc2V0TGVm dCArIGUub2Zmc2V0V2lkdGgsCiAgICAgICAgICAgIG9mZnNldEJvdHRvbTogZS5v ZmZzZXRUb3AgKyBlLm9mZnNldEhlaWdodCwKICAgICAgICAgICAgY2xpZW50TGVm dDogZmluaXRlSW50KCBzdHlsZS5ib3JkZXJMZWZ0V2lkdGggKSArIGZpbml0ZUlu dCggc3R5bGUucGFkZGluZ0xlZnQgKSwKICAgICAgICAgICAgY2xpZW50VG9wOiBm aW5pdGVJbnQoIHN0eWxlLmJvcmRlclRvcFdpZHRoICkgKyBmaW5pdGVJbnQoIHN0 eWxlLnBhZGRpbmdUb3AgKSwKICAgICAgICAgICAgY2xpZW50UmlnaHQ6IGUuY2xp ZW50TGVmdCArIGUuY2xpZW50V2lkdGgsCiAgICAgICAgICAgIGNsaWVudEJvdHRv bTogZS5jbGllbnRUb3AgKyBlLmNsaWVudEhlaWdodAogICAgICAgIH07CiAgICB9 LAoKCiAgICBnZXRBYnNvbHV0ZURpbWVuc2lvbnM6IGZ1bmN0aW9uKCBlICkgewog ICAgICAgIHZhciBkID0gRE9NLmdldERpbWVuc2lvbnMoIGUgKTsKICAgICAgICBp ZiggIWQgKQogICAgICAgICAgICByZXR1cm4gZDsKICAgICAgICBkLmFic29sdXRl TGVmdCA9IGQub2Zmc2V0TGVmdDsKICAgICAgICBkLmFic29sdXRlVG9wID0gZC5v ZmZzZXRUb3A7CiAgICAgICAgZC5hYnNvbHV0ZVJpZ2h0ID0gZC5vZmZzZXRSaWdo dDsKICAgICAgICBkLmFic29sdXRlQm90dG9tID0gZC5vZmZzZXRCb3R0b207CiAg ICAgICAgdmFyIGJvcmsgPSAwOwogICAgICAgIHdoaWxlKCBlICkgewogICAgICAg ICAgICB0cnkgeyAvLyBJRSA2IHNvbWV0aW1lcyBnaXZlcyBhbiB1bndhcnJhbnRl ZCBlcnJvciAoImh0bWxmaWxlOiBVbnNwZWNpZmllZCBlcnJvciIpLgogICAgICAg ICAgICAgICAgZSA9IGUub2Zmc2V0UGFyZW50OwogICAgICAgICAgICB9IGNhdGNo ICggZXJyICkgewogICAgICAgICAgICAgICAgbG9nKCAiSW4gRE9NLmdldEFic29s dXRlRGltZW5zaW9uczogIiArIGVyci5tZXNzYWdlICk7IAogICAgICAgICAgICAg ICAgaWYgKCArK2JvcmsgPiAyNSApCiAgICAgICAgICAgICAgICAgICAgcmV0dXJu IG51bGw7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYoICFlICkKICAgICAg ICAgICAgICAgIHJldHVybiBkOwogICAgICAgICAgICBkLmFic29sdXRlTGVmdCAr PSBlLm9mZnNldExlZnQ7CiAgICAgICAgICAgIGQuYWJzb2x1dGVUb3AgKz0gZS5v ZmZzZXRUb3A7CiAgICAgICAgICAgIGQuYWJzb2x1dGVSaWdodCArPSBlLm9mZnNl dExlZnQ7CiAgICAgICAgICAgIGQuYWJzb2x1dGVCb3R0b20gKz0gZS5vZmZzZXRU b3A7CiAgICAgICAgfQogICAgICAgIHJldHVybiBkOwogICAgfSwKICAgIAogICAg CiAgICBnZXRJZnJhbWVBYnNvbHV0ZURpbWVuc2lvbnM6IGZ1bmN0aW9uKCBlICkg ewogICAgICAgIHZhciBkID0gRE9NLmdldEFic29sdXRlRGltZW5zaW9ucyggZSAp OwogICAgICAgIGlmKCAhZCApCiAgICAgICAgICAgIHJldHVybiBkOwogICAgICAg IHZhciBpZnJhbWUgPSBET00uZ2V0T3duZXJJZnJhbWUoIGUgKTsKICAgICAgICBp ZiggIWRlZmluZWQoIGlmcmFtZSApICkKICAgICAgICAgICAgcmV0dXJuIGQ7CiAg ICAgICAgCiAgICAgICAgdmFyIGQyID0gRE9NLmdldElmcmFtZUFic29sdXRlRGlt ZW5zaW9ucyggaWZyYW1lICk7CiAgICAgICAgdmFyIHNjcm9sbCA9IERPTS5nZXRX aW5kb3dTY3JvbGwoIGlmcmFtZS5jb250ZW50V2luZG93ICk7CiAgICAgICAgdmFy IGxlZnQgPSBkMi5hYnNvbHV0ZUxlZnQgLSBzY3JvbGwubGVmdDsKICAgICAgICB2 YXIgdG9wID0gZDIuYWJzb2x1dGVUb3AgLSBzY3JvbGwudG9wOwogICAgICAgIAog ICAgICAgIGQuYWJzb2x1dGVMZWZ0ICs9IGxlZnQ7CiAgICAgICAgZC5hYnNvbHV0 ZVRvcCArPSB0b3A7CiAgICAgICAgZC5hYnNvbHV0ZVJpZ2h0ICs9IGxlZnQ7CiAg ICAgICAgZC5hYnNvbHV0ZUJvdHRvbSArPSB0b3A7CiAgICAgICAgCiAgICAgICAg cmV0dXJuIGQ7CiAgICB9LAogICAgCiAgICAKICAgIHNldExlZnQ6IGZ1bmN0aW9u KCBlLCB2ICkgeyBlLnN0eWxlLmxlZnQgPSBmaW5pdGVJbnQoIHYgKSArICJweCI7 IH0sCiAgICBzZXRUb3A6IGZ1bmN0aW9uKCBlLCB2ICkgeyBlLnN0eWxlLnRvcCA9 IGZpbml0ZUludCggdiApICsgInB4IjsgfSwKICAgIHNldFJpZ2h0OiBmdW5jdGlv biggZSwgdiApIHsgZS5zdHlsZS5yaWdodCA9IGZpbml0ZUludCggdiApICsgInB4 IjsgfSwKICAgIHNldEJvdHRvbTogZnVuY3Rpb24oIGUsIHYgKSB7IGUuc3R5bGUu Ym90dG9tID0gZmluaXRlSW50KCB2ICkgKyAicHgiOyB9LAogICAgc2V0V2lkdGg6 IGZ1bmN0aW9uKCBlLCB2ICkgeyBlLnN0eWxlLndpZHRoID0gbWF4KCAwLCBmaW5p dGVJbnQoIHYgKSApICsgInB4IjsgfSwKICAgIHNldEhlaWdodDogZnVuY3Rpb24o IGUsIHYgKSB7IGUuc3R5bGUuaGVpZ2h0ID0gbWF4KCAwLCBmaW5pdGVJbnQoIHYg KSApICsgInB4IjsgfSwKICAgIHNldFpJbmRleDogZnVuY3Rpb24oIGUsIHYgKSB7 IGUuc3R5bGUuekluZGV4ID0gZmluaXRlSW50KCB2ICk7IH0sCgoKICAgIGdldFdp bmRvd1Njcm9sbDogZnVuY3Rpb24oIHcgKSB7CiAgICAgICAgdmFyIHMgPSB7CiAg ICAgICAgICAgIGxlZnQ6IDAsCiAgICAgICAgICAgIHRvcDogMAogICAgICAgIH07 CgogICAgICAgIGlmICghdykgdyA9IHdpbmRvdzsKICAgICAgICB2YXIgZCA9IHcu ZG9jdW1lbnQ7CiAgICAgICAgdmFyIGRlID0gZC5kb2N1bWVudEVsZW1lbnQ7Cgog ICAgICAgIC8vIG1vc3QgYnJvd3NlcnMKICAgICAgICBpZiAoIGRlZmluZWQoIHcu cGFnZVhPZmZzZXQgKSApIHsKICAgICAgICAgICAgcy5sZWZ0ID0gdy5wYWdlWE9m ZnNldDsKICAgICAgICAgICAgcy50b3AgPSB3LnBhZ2VZT2Zmc2V0OwogICAgICAg IH0KCiAgICAgICAgLy8gaWUKICAgICAgICBlbHNlIGlmKCBkZSAmJiBkZWZpbmVk KCBkZS5zY3JvbGxMZWZ0ICkgKSB7CiAgICAgICAgICAgIHMubGVmdCA9IGRlLnNj cm9sbExlZnQ7CiAgICAgICAgICAgIHMudG9wID0gZGUuc2Nyb2xsVG9wOwogICAg ICAgIH0KCiAgICAgICAgLy8gc2FmYXJpCiAgICAgICAgZWxzZSBpZiggZGVmaW5l ZCggdy5zY3JvbGxYICkgKSB7CiAgICAgICAgICAgIHMubGVmdCA9IHcuc2Nyb2xs WDsKICAgICAgICAgICAgcy50b3AgPSB3LnNjcm9sbFk7CiAgICAgICAgfQoKICAg ICAgICAvLyBvcGVyYQogICAgICAgIGVsc2UgaWYoIGQuYm9keSAmJiBkZWZpbmVk KCBkLmJvZHkuc2Nyb2xsTGVmdCApICkgewogICAgICAgICAgICBzLmxlZnQgPSBk LmJvZHkuc2Nyb2xsTGVmdDsKICAgICAgICAgICAgcy50b3AgPSBkLmJvZHkuc2Ny b2xsVG9wOwogICAgICAgIH0KCgogICAgICAgIHJldHVybiBzOwogICAgfSwKCgog ICAgZ2V0QWJzb2x1dGVDdXJzb3JQb3NpdGlvbjogZnVuY3Rpb24oIGV2ZW50ICkg ewogICAgICAgIGV2ZW50ID0gZXZlbnQgfHwgd2luZG93LmV2ZW50OwogICAgICAg IHZhciBzID0gRE9NLmdldFdpbmRvd1Njcm9sbCggd2luZG93ICk7CiAgICAgICAg cmV0dXJuIHsKICAgICAgICAgICAgeDogcy5sZWZ0ICsgZXZlbnQuY2xpZW50WCwK ICAgICAgICAgICAgeTogcy50b3AgKyBldmVudC5jbGllbnRZCiAgICAgICAgfTsK ICAgIH0sCiAgICAKICAgIAogICAgaW52aXNpYmxlU3R5bGU6IHsKICAgICAgICBk aXNwbGF5OiAiYmxvY2siLAogICAgICAgIHBvc2l0aW9uOiAiYWJzb2x1dGUiLAog ICAgICAgIGxlZnQ6IDAsCiAgICAgICAgdG9wOiAwLAogICAgICAgIHdpZHRoOiAw LAogICAgICAgIGhlaWdodDogMCwKICAgICAgICBtYXJnaW46IDAsCiAgICAgICAg Ym9yZGVyOiAwLAogICAgICAgIHBhZGRpbmc6IDAsCiAgICAgICAgZm9udFNpemU6 ICIwLjFweCIsCiAgICAgICAgbGluZUhlaWdodDogMCwKICAgICAgICBvcGFjaXR5 OiAwLAogICAgICAgIE1vek9wYWNpdHk6IDAsCiAgICAgICAgZmlsdGVyOiAiYWxw aGEob3BhY2l0eT0wKSIKICAgIH0sCiAgICAKICAgIAogICAgbWFrZUludmlzaWJs ZTogZnVuY3Rpb24oIGUgKSB7CiAgICAgICAgZm9yKCB2YXIgcCBpbiB0aGlzLmlu dmlzaWJsZVN0eWxlICkgewogICAgICAgICAgICBlLnN0eWxlWyBwIF0gPSB0aGlz LmludmlzaWJsZVN0eWxlWyBwIF07CiAgICAgICAgfQogICAgfSwKCgogICAgLyog dGV4dCBhbmQgc2VsZWN0aW9uIHJlbGF0ZWQgbWV0aG9kcyAqLwoKICAgIG1lcmdl VGV4dE5vZGVzOiBmdW5jdGlvbiggbiApIHsKICAgICAgICB2YXIgYyA9IDA7CiAg ICAgICAgd2hpbGUoIG4gKSB7CiAgICAgICAgICAgIGlmKCBuLm5vZGVUeXBlID09 IE5vZGUuVEVYVF9OT0RFICYmIG4ubmV4dFNpYmxpbmcgJiYgbi5uZXh0U2libGlu Zy5ub2RlVHlwZSA9PSBOb2RlLlRFWFRfTk9ERSApIHsKICAgICAgICAgICAgICAg IG4ubm9kZVZhbHVlICs9IG4ubmV4dFNpYmxpbmcubm9kZVZhbHVlOwogICAgICAg ICAgICAgICAgbi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKCBuLm5leHRTaWJsaW5n ICk7CiAgICAgICAgICAgICAgICBjKys7CiAgICAgICAgICAgIH0gZWxzZSB7CiAg ICAgICAgICAgICAgICBpZiggbi5maXJzdENoaWxkICkKICAgICAgICAgICAgICAg ICAgICBjICs9IERPTS5tZXJnZVRleHROb2Rlcyggbi5maXJzdENoaWxkICk7CiAg ICAgICAgICAgICAgICBuID0gbi5uZXh0U2libGluZzsKICAgICAgICAgICAgfQog ICAgICAgIH0KICAgICAgICByZXR1cm4gYzsKICAgIH0sCiAgICAKICAgIAogICAg c2VsZWN0RWxlbWVudDogZnVuY3Rpb24oIGUgKSB7ICAKICAgICAgICB2YXIgZCA9 IGUub3duZXJEb2N1bWVudDsgIAogICAgICAgIAogICAgICAgIC8vIGludGVybmV0 IGV4cGxvcmVyICAKICAgICAgICBpZiggZC5ib2R5LmNyZWF0ZUNvbnRyb2xSYW5n ZSApIHsgIAogICAgICAgICAgICB2YXIgciA9IGQuYm9keS5jcmVhdGVDb250cm9s UmFuZ2UoKTsgIAogICAgICAgICAgICByLmFkZEVsZW1lbnQoIGUgKTsgIAogICAg ICAgICAgICByLnNlbGVjdCgpOyAgCiAgICAgICAgfSAgCiAgICB9LCAKICAgIAog ICAgCiAgICAvKiBkb20gbWV0aG9kcyAqLwogICAgCiAgICBpc0ltbXV0YWJsZTog ZnVuY3Rpb24oIG4gKSB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgaWYoIG4u Z2V0QXR0cmlidXRlKCAiY29udGVudGVkaXRhYmxlIiApID09ICJmYWxzZSIgKQog ICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfSBjYXRjaCggZSAp IHt9CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSwKICAgIAogICAgCiAgICBn ZXRJbW11dGFibGU6IGZ1bmN0aW9uKCBuICkgewogICAgICAgIHZhciBpbW11dGFi bGUgPSBudWxsOwogICAgICAgIHdoaWxlKCBuICkgewogICAgICAgICAgICBpZigg RE9NLmlzSW1tdXRhYmxlKCBuICkgKQogICAgICAgICAgICAgICAgaW1tdXRhYmxl ID0gbjsKICAgICAgICAgICAgbiA9IG4ucGFyZW50Tm9kZTsKICAgICAgICB9CiAg ICAgICAgcmV0dXJuIGltbXV0YWJsZTsKICAgIH0sCgoKICAgIGdldE93bmVyRG9j dW1lbnQ6IGZ1bmN0aW9uKCBuICkgewogICAgICAgIGlmKCAhbiApCiAgICAgICAg ICAgIHJldHVybiBkb2N1bWVudDsKICAgICAgICBpZiggbi5vd25lckRvY3VtZW50 ICkKICAgICAgICAgICAgcmV0dXJuIG4ub3duZXJEb2N1bWVudDsKICAgICAgICBp Ziggbi5nZXRFbGVtZW50QnlJZCApCiAgICAgICAgICAgIHJldHVybiBuOwogICAg ICAgIHJldHVybiBkb2N1bWVudDsKICAgIH0sCgoKICAgIGdldE93bmVyV2luZG93 OiBmdW5jdGlvbiggbiApIHsKICAgICAgICBpZiggIW4gKQogICAgICAgICAgICBy ZXR1cm4gd2luZG93OwogICAgICAgIGlmKCBuLnBhcmVudFdpbmRvdyApCiAgICAg ICAgICAgIHJldHVybiBuLnBhcmVudFdpbmRvdzsKICAgICAgICB2YXIgZG9jID0g RE9NLmdldE93bmVyRG9jdW1lbnQoIG4gKTsKICAgICAgICBpZiggZG9jICYmIGRv Yy5kZWZhdWx0VmlldyApCiAgICAgICAgICAgIHJldHVybiBkb2MuZGVmYXVsdFZp ZXc7CiAgICAgICAgcmV0dXJuIHdpbmRvdzsKICAgIH0sCiAgICAKICAgIAogICAg Z2V0T3duZXJJZnJhbWU6IGZ1bmN0aW9uKCBuICkgewogICAgICAgIGlmKCAhbiAp CiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7CiAgICAgICAgdmFyIG53ID0g RE9NLmdldE93bmVyV2luZG93KCBuICk7CiAgICAgICAgdmFyIG5kID0gRE9NLmdl dE93bmVyRG9jdW1lbnQoIG4gKTsKICAgICAgICB2YXIgcHcgPSBudy5wYXJlbnQg fHwgbncucGFyZW50V2luZG93OwogICAgICAgIGlmKCAhcHcgKQogICAgICAgICAg ICByZXR1cm4gdW5kZWZpbmVkOwogICAgICAgIHZhciBwYXJlbnREb2N1bWVudCA9 IHB3LmRvY3VtZW50OwogICAgICAgIHZhciBlcyA9IHBhcmVudERvY3VtZW50Lmdl dEVsZW1lbnRzQnlUYWdOYW1lKCAiaWZyYW1lIiApOwogICAgICAgIGZvciggdmFy IGkgPSAwOyBpIDwgZXMubGVuZ3RoOyBpKysgKSB7CiAgICAgICAgICAgIHZhciBl ID0gZXNbIGkgXTsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIHZh ciBkID0gZS5jb250ZW50RG9jdW1lbnQgfHwgZS5jb250ZW50V2luZG93LmRvY3Vt ZW50OwogICAgICAgICAgICAgICAgaWYoIGQgPT09IG5kICkKICAgICAgICAgICAg ICAgICAgICByZXR1cm4gZTsKICAgICAgICAgICAgfWNhdGNoKGVycikge307CiAg ICAgICAgfQogICAgICAgIHJldHVybiB1bmRlZmluZWQ7CiAgICB9LAoKCiAgICBm aWx0ZXJFbGVtZW50c0J5Q2xhc3NOYW1lOiBmdW5jdGlvbiggZXMsIGNsYXNzTmFt ZSApIHsKICAgICAgICB2YXIgZmlsdGVyZWQgPSBbXTsKICAgICAgICBmb3IoIHZh ciBpID0gMDsgaSA8IGVzLmxlbmd0aDsgaSsrICkgewogICAgICAgICAgICB2YXIg ZSA9IGVzWyBpIF07CiAgICAgICAgICAgIGlmKCBET00uaGFzQ2xhc3NOYW1lKCBl LCBjbGFzc05hbWUgKSApCiAgICAgICAgICAgICAgICBmaWx0ZXJlZFsgZmlsdGVy ZWQubGVuZ3RoIF0gPSBlOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZmlsdGVy ZWQ7CiAgICB9LAogICAgCiAgICAKICAgIGZpbHRlckVsZW1lbnRzQnlBdHRyaWJ1 dGU6IGZ1bmN0aW9uKCBlcywgYXR0ciApIHsKICAgICAgICBpZiggIWVzICkKICAg ICAgICAgICAgcmV0dXJuIFtdOwogICAgICAgIGlmKCAhZGVmaW5lZCggYXR0ciAp IHx8IGF0dHIgPT0gbnVsbCB8fCBhdHRyID09ICIiICkKICAgICAgICAgICAgcmV0 dXJuIGVzOwogICAgICAgIHZhciBmaWx0ZXJlZCA9IFtdOwogICAgICAgIGZvcigg dmFyIGkgPSAwOyBpIDwgZXMubGVuZ3RoOyBpKysgKSB7CiAgICAgICAgICAgIHZh ciBlbGVtZW50ID0gZXNbIGkgXTsKICAgICAgICAgICAgaWYoICFlbGVtZW50ICkK ICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICBpZiggZWxlbWVu dC5nZXRBdHRyaWJ1dGUgJiYgKCBlbGVtZW50LmdldEF0dHJpYnV0ZSggYXR0ciAp ICkgKQogICAgICAgICAgICAgICAgZmlsdGVyZWRbIGZpbHRlcmVkLmxlbmd0aCBd ID0gZWxlbWVudDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGZpbHRlcmVkOwog ICAgfSwKCgogICAgZmlsdGVyRWxlbWVudHNCeVRhZ05hbWU6IGZ1bmN0aW9uKCBl cywgdGFnTmFtZSApIHsKICAgICAgICBpZiggdGFnTmFtZSA9PSAiKiIgKQogICAg ICAgICAgICByZXR1cm4gZXM7CiAgICAgICAgdmFyIGZpbHRlcmVkID0gW107CiAg ICAgICAgdGFnTmFtZSA9IHRhZ05hbWUudG9Mb3dlckNhc2UoKTsKICAgICAgICBm b3IoIHZhciBpID0gMDsgaSA8IGVzLmxlbmd0aDsgaSsrICkgewogICAgICAgICAg ICB2YXIgZSA9IGVzWyBpIF07CiAgICAgICAgICAgIGlmKCBlLnRhZ05hbWUgJiYg ZS50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT0gdGFnTmFtZSApCiAgICAgICAgICAg ICAgICBmaWx0ZXJlZFsgZmlsdGVyZWQubGVuZ3RoIF0gPSBlOwogICAgICAgIH0K ICAgICAgICByZXR1cm4gZmlsdGVyZWQ7CiAgICB9LAoKCiAgICBnZXRFbGVtZW50 c0J5VGFnQW5kQXR0cmlidXRlOiBmdW5jdGlvbiggcm9vdCwgdGFnTmFtZSwgYXR0 ciApIHsKICAgICAgICBpZiggIXJvb3QgKQogICAgICAgICAgICByb290ID0gZG9j dW1lbnQ7CiAgICAgICAgdmFyIGVzID0gcm9vdC5nZXRFbGVtZW50c0J5VGFnTmFt ZSggdGFnTmFtZSApOwogICAgICAgIHJldHVybiBET00uZmlsdGVyRWxlbWVudHNC eUF0dHJpYnV0ZSggZXMsIGF0dHIgKTsKICAgIH0sCiAgICAKICAgIAogICAgZ2V0 RWxlbWVudHNCeUF0dHJpYnV0ZTogZnVuY3Rpb24oIHJvb3QsIGF0dHIgKSB7CiAg ICAgICAgcmV0dXJuIERPTS5nZXRFbGVtZW50c0J5VGFnQW5kQXR0cmlidXRlKCBy b290LCAiKiIsIGF0dHIgKTsKICAgIH0sCgoKICAgIGdldEVsZW1lbnRzQnlBdHRy aWJ1dGVBbmRWYWx1ZTogZnVuY3Rpb24oIHJvb3QsIGF0dHIsIHZhbHVlICkgewog ICAgICAgIHZhciBlcyA9IERPTS5nZXRFbGVtZW50c0J5VGFnQW5kQXR0cmlidXRl KCByb290LCAiKiIsIGF0dHIgKTsKICAgICAgICB2YXIgZmlsdGVyZWQgPSBbXTsK ICAgICAgICBmb3IgKCB2YXIgaSA9IDA7IGkgPCBlcy5sZW5ndGg7IGkrKyApCiAg ICAgICAgICAgIGlmICggZXNbIGkgXS5nZXRBdHRyaWJ1dGUoIGF0dHIgKSA9PSB2 YWx1ZSApCiAgICAgICAgICAgICAgICBmaWx0ZXJlZC5wdXNoKCBlc1sgaSBdICk7 CiAgICAgICAgcmV0dXJuIGZpbHRlcmVkOwogICAgfSwKICAgIAoKICAgIGdldEVs ZW1lbnRzQnlUYWdBbmRDbGFzc05hbWU6IGZ1bmN0aW9uKCByb290LCB0YWdOYW1l LCBjbGFzc05hbWUgKSB7CiAgICAgICAgaWYoICFyb290ICkKICAgICAgICAgICAg cm9vdCA9IGRvY3VtZW50OwogICAgICAgIHZhciBlbGVtZW50cyA9IHJvb3QuZ2V0 RWxlbWVudHNCeVRhZ05hbWUoIHRhZ05hbWUgKTsKICAgICAgICByZXR1cm4gRE9N LmZpbHRlckVsZW1lbnRzQnlDbGFzc05hbWUoIGVsZW1lbnRzLCBjbGFzc05hbWUg KTsKICAgIH0sCgoKICAgIGdldEVsZW1lbnRzQnlDbGFzc05hbWU6IGZ1bmN0aW9u KCByb290LCBjbGFzc05hbWUgKSB7CiAgICAgICAgcmV0dXJuIERPTS5nZXRFbGVt ZW50c0J5VGFnQW5kQ2xhc3NOYW1lKCByb290LCAiKiIsIGNsYXNzTmFtZSApOwog ICAgfSwKCgogICAgZ2V0QW5jZXN0b3JzOiBmdW5jdGlvbiggbiwgaW5jbHVkZVNl bGYgKSB7CiAgICAgICAgaWYoICFuICkKICAgICAgICAgICAgcmV0dXJuIFtdOwog ICAgICAgIHZhciBhcyA9IGluY2x1ZGVTZWxmID8gWyBuIF0gOiBbXTsKICAgICAg ICBuID0gbi5wYXJlbnROb2RlOwogICAgICAgIHdoaWxlKCBuICkgewogICAgICAg ICAgICBhcy5wdXNoKCBuICk7CiAgICAgICAgICAgIG4gPSBuLnBhcmVudE5vZGU7 CiAgICAgICAgfQogICAgICAgIHJldHVybiBhczsKICAgIH0sCiAgICAKICAgIAog ICAgZ2V0QW5jZXN0b3JzQnlUYWdOYW1lOiBmdW5jdGlvbiggbiwgdGFnTmFtZSwg aW5jbHVkZVNlbGYgKSB7CiAgICAgICAgdmFyIGVzID0gRE9NLmdldEFuY2VzdG9y cyggbiwgaW5jbHVkZVNlbGYgKTsKICAgICAgICByZXR1cm4gRE9NLmZpbHRlckVs ZW1lbnRzQnlUYWdOYW1lKCBlcywgdGFnTmFtZSApOwogICAgfSwKICAgIAogICAg CiAgICBnZXRGaXJzdEFuY2VzdG9yQnlUYWdOYW1lOiBmdW5jdGlvbiggbiwgdGFn TmFtZSwgaW5jbHVkZVNlbGYgKSB7CiAgICAgICAgcmV0dXJuIERPTS5nZXRBbmNl c3RvcnNCeVRhZ05hbWUoIG4sIHRhZ05hbWUsIGluY2x1ZGVTZWxmIClbIDAgXTsK ICAgIH0sCgoKICAgIGdldEFuY2VzdG9yc0J5Q2xhc3NOYW1lOiBmdW5jdGlvbigg biwgY2xhc3NOYW1lLCBpbmNsdWRlU2VsZiApIHsKICAgICAgICB2YXIgZXMgPSBE T00uZ2V0QW5jZXN0b3JzKCBuLCBpbmNsdWRlU2VsZiApOwogICAgICAgIHJldHVy biBET00uZmlsdGVyRWxlbWVudHNCeUNsYXNzTmFtZSggZXMsIGNsYXNzTmFtZSAp OwogICAgfSwKCgogICAgZ2V0Rmlyc3RBbmNlc3RvckJ5Q2xhc3NOYW1lOiBmdW5j dGlvbiggbiwgY2xhc3NOYW1lLCBpbmNsdWRlU2VsZiApIHsKICAgICAgICByZXR1 cm4gRE9NLmdldEFuY2VzdG9yc0J5Q2xhc3NOYW1lKCBuLCBjbGFzc05hbWUsIGlu Y2x1ZGVTZWxmIClbIDAgXTsKICAgIH0sCgoKICAgIGdldEFuY2VzdG9yc0J5VGFn QW5kQ2xhc3NOYW1lOiBmdW5jdGlvbiggbiwgdGFnTmFtZSwgY2xhc3NOYW1lLCBp bmNsdWRlU2VsZiApIHsKICAgICAgICB2YXIgZXMgPSBET00uZ2V0QW5jZXN0b3Jz QnlUYWdOYW1lKCBuLCB0YWdOYW1lLCBpbmNsdWRlU2VsZiApOwogICAgICAgIHJl dHVybiBET00uZmlsdGVyRWxlbWVudHNCeUNsYXNzTmFtZSggZXMsIGNsYXNzTmFt ZSApOwogICAgfSwKCgogICAgZ2V0Rmlyc3RBbmNlc3RvckJ5VGFnQW5kQ2xhc3NO YW1lOiBmdW5jdGlvbiggbiwgdGFnTmFtZSwgY2xhc3NOYW1lLCBpbmNsdWRlU2Vs ZiApIHsKICAgICAgICByZXR1cm4gRE9NLmdldEFuY2VzdG9yc0J5VGFnQW5kQ2xh c3NOYW1lKCBuLCB0YWdOYW1lLCBjbGFzc05hbWUsIGluY2x1ZGVTZWxmIClbIDAg XTsKICAgIH0sCgoKICAgIGdldFByZXZpb3VzRWxlbWVudDogZnVuY3Rpb24oIG4g KSB7CiAgICAgICAgbiA9IG4ucHJldmlvdXNTaWJsaW5nOwogICAgICAgIHdoaWxl KCBuICkgewogICAgICAgICAgICBpZiggbi5ub2RlVHlwZSA9PSBOb2RlLkVMRU1F TlRfTk9ERSApCiAgICAgICAgICAgICAgICByZXR1cm4gbjsKICAgICAgICAgICAg biA9IG4ucHJldmlvdXNTaWJsaW5nOwogICAgICAgIH0KICAgICAgICByZXR1cm4g bnVsbDsKICAgIH0sCgoKICAgIGdldE5leHRFbGVtZW50OiBmdW5jdGlvbiggbiAp IHsKICAgICAgICBuID0gbi5uZXh0U2libGluZzsKICAgICAgICB3aGlsZSggbiAp IHsKICAgICAgICAgICAgaWYoIG4ubm9kZVR5cGUgPT0gTm9kZS5FTEVNRU5UX05P REUgKQogICAgICAgICAgICAgICAgcmV0dXJuIG47CiAgICAgICAgICAgIG4gPSBu Lm5leHRTaWJsaW5nOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbnVsbDsKICAg IH0sCgoKICAgIGlzSW5saW5lTm9kZTogZnVuY3Rpb24oIG4gKSB7CiAgICAgICAg Ly8gdGV4dCBub2RlcyBhcmUgaW5saW5lCiAgICAgICAgaWYoIG4ubm9kZVR5cGUg PT0gTm9kZS5URVhUX05PREUgKQogICAgICAgICAgICByZXR1cm4gbjsKCiAgICAg ICAgLy8gZG9jdW1lbnQgbm9kZXMgYXJlIG5vbi1pbmxpbmUKICAgICAgICBpZigg bi5ub2RlVHlwZSA9PSBOb2RlLkRPQ1VNRU5UX05PREUgKQogICAgICAgICAgICBy ZXR1cm4gZmFsc2U7CgogICAgICAgIC8vIGFsbCBub25lbGVtZW50IG5vZGVzIGFy ZSBpbmxpbmUKICAgICAgICBpZiggbi5ub2RlVHlwZSAhPSBOb2RlLkVMRU1FTlRf Tk9ERSApCiAgICAgICAgICAgIHJldHVybiBuOwoKICAgICAgICAvLyBiciBlbGVt ZW50cyBhcmUgbm90IGlubGluZQogICAgICAgIGlmKCBuLnRhZ05hbWUgJiYgbi50 YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT0gImJyIiApCiAgICAgICAgICAgIHJldHVy biBmYWxzZTsKCiAgICAgICAgLy8gZXhhbWluZSB0aGUgc3R5bGUgcHJvcGVydHkg b2YgdGhlIGlubGluZSBuCiAgICAgICAgdmFyIGRpc3BsYXkgPSBET00uZ2V0U3R5 bGUoIG4sICJkaXNwbGF5IiApOyAKICAgICAgICBpZiggZGlzcGxheSAmJiBkaXNw bGF5LmluZGV4T2YoICJpbmxpbmUiICkgPj0gMCApIAogICAgICAgICAgICByZXR1 cm4gbjsKICAgIH0sCiAgICAKICAgIAogICAgaXNUZXh0Tm9kZTogZnVuY3Rpb24o IG4gKSB7CiAgICAgICAgaWYoIG4ubm9kZVR5cGUgPT0gTm9kZS5URVhUX05PREUg KQogICAgICAgICAgICByZXR1cm4gbjsKICAgIH0sCiAgICAKICAgIAogICAgaXNJ bmxpbmVUZXh0Tm9kZTogZnVuY3Rpb24oIG4gKSB7CiAgICAgICAgaWYoIG4ubm9k ZVR5cGUgPT0gTm9kZS5URVhUX05PREUgKQogICAgICAgICAgICByZXR1cm4gbjsK ICAgICAgICBpZiggIURPTS5pc0lubGluZU5vZGUoIG4gKSApCiAgICAgICAgICAg IHJldHVybiBudWxsOwogICAgfSwKCgogICAgLyogdGhpcyBhbmQgdGhlIGZvbGxv d2luZyBjbGFzc25hbWUgZnVuY3Rpb25zIGhvbm9yIHczYyBjYXNlLXNlbnNpdGl2 ZSBjbGFzc25hbWVzICovCgogICAgZ2V0Q2xhc3NOYW1lczogZnVuY3Rpb24oIGUg KSB7CiAgICAgICAgaWYoICFlIHx8ICFlLmNsYXNzTmFtZSApCiAgICAgICAgICAg IHJldHVybiBbXTsKICAgICAgICByZXR1cm4gZS5jbGFzc05hbWUuc3BsaXQoIC9c cysvZyApOwogICAgfSwKCgogICAgaGFzQ2xhc3NOYW1lOiBmdW5jdGlvbiggZSwg Y2xhc3NOYW1lICkgewogICAgICAgIGlmKCAhZSB8fCAhZS5jbGFzc05hbWUgKQog ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgdmFyIGNzID0gRE9NLmdl dENsYXNzTmFtZXMoIGUgKTsKICAgICAgICBmb3IoIHZhciBpID0gMDsgaSA8IGNz Lmxlbmd0aDsgaSsrICkgewogICAgICAgICAgICBpZiggY3NbIGkgXSA9PSBjbGFz c05hbWUgKQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQog ICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0sCgoKICAgIGFkZENsYXNzTmFtZTog ZnVuY3Rpb24oIGUsIGNsYXNzTmFtZSApIHsKICAgICAgICBpZiggIWUgfHwgIWNs YXNzTmFtZSApCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB2YXIg Y3MgPSBET00uZ2V0Q2xhc3NOYW1lcyggZSApOwogICAgICAgIGZvciggdmFyIGkg PSAwOyBpIDwgY3MubGVuZ3RoOyBpKysgKSB7CiAgICAgICAgICAgIGlmKCBjc1sg aSBdID09IGNsYXNzTmFtZSApCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK ICAgICAgICB9CiAgICAgICAgY3MucHVzaCggY2xhc3NOYW1lICk7CiAgICAgICAg ZS5jbGFzc05hbWUgPSBjcy5qb2luKCAiICIgKTsKICAgICAgICByZXR1cm4gZmFs c2U7CiAgICB9LAoKCiAgICByZW1vdmVDbGFzc05hbWU6IGZ1bmN0aW9uKCBlLCBj bGFzc05hbWUgKSB7CiAgICAgICAgdmFyIHIgPSBmYWxzZTsKICAgICAgICBpZigg IWUgfHwgIWUuY2xhc3NOYW1lIHx8ICFjbGFzc05hbWUgKQogICAgICAgICAgICBy ZXR1cm4gcjsKICAgICAgICB2YXIgY3MgPSAoZS5jbGFzc05hbWUgJiYgZS5jbGFz c05hbWUubGVuZ3RoKQogICAgICAgICAgICA/IGUuY2xhc3NOYW1lLnNwbGl0KCAv XHMrL2cgKQogICAgICAgICAgICA6IFtdOwogICAgICAgIHZhciBuY3MgPSBbXTsK ICAgICAgICBmb3IoIHZhciBpID0gMDsgaSA8IGNzLmxlbmd0aDsgaSsrICkgewog ICAgICAgICAgICBpZiggY3NbIGkgXSA9PSBjbGFzc05hbWUgKSB7CiAgICAgICAg ICAgICAgICByID0gdHJ1ZTsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAg ICAgICAgICB9CiAgICAgICAgICAgIG5jcy5wdXNoKCBjc1sgaSBdICk7CiAgICAg ICAgfQogICAgICAgIGlmKCByICkKICAgICAgICAgICAgZS5jbGFzc05hbWUgPSBu Y3Muam9pbiggIiAiICk7CiAgICAgICAgcmV0dXJuIHI7CiAgICB9LAogICAgCiAg ICAKICAgIC8qIHRyZWUgbWFuaXB1bGF0aW9uIG1ldGhvZHMgKi8KICAgIAogICAg cmVwbGFjZVdpdGhDaGlsZE5vZGVzOiBmdW5jdGlvbiggbiApIHsKICAgICAgICB2 YXIgZmlyc3RDaGlsZCA9IG4uZmlyc3RDaGlsZDsKICAgICAgICB2YXIgcGFyZW50 Tm9kZSA9IG4ucGFyZW50Tm9kZTsKICAgICAgICB3aGlsZSggbi5maXJzdENoaWxk ICkKICAgICAgICAgICAgcGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoIG4ucmVtb3Zl Q2hpbGQoIG4uZmlyc3RDaGlsZCApLCBuICk7CiAgICAgICAgcGFyZW50Tm9kZS5y ZW1vdmVDaGlsZCggbiApOwogICAgICAgIHJldHVybiBmaXJzdENoaWxkOwogICAg fSwKICAgIAogICAgCiAgICAvKiBmYWN0b3J5IG1ldGhvZHMgKi8KICAgIAogICAg Y3JlYXRlSW52aXNpYmxlSW5wdXQ6IGZ1bmN0aW9uKCBkICkgewogICAgICAgIGlm KCAhZCApCiAgICAgICAgICAgIGQgPSB3aW5kb3cuZG9jdW1lbnQ7CiAgICAgICAg dmFyIGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAiaW5wdXQiICk7CiAgICAg ICAgZS5zZXRBdHRyaWJ1dGUoICJhdXRvY29tcGxldGUiLCAib2ZmIiApOwogICAg ICAgIGUuYXV0b2NvbXBsZXRlID0gIm9mZiI7CiAgICAgICAgRE9NLm1ha2VJbnZp c2libGUoIGUgKTsKICAgICAgICByZXR1cm4gZTsKICAgIH0sCgoKICAgIGdldE1v dXNlRXZlbnRBdHRyaWJ1dGU6IGZ1bmN0aW9uKCBldmVudCwgYSApIHsKICAgICAg ICBpZiggIWEgKQogICAgICAgICAgICByZXR1cm47CiAgICAgICAgdmFyIGVzID0g RE9NLmdldEFuY2VzdG9ycyggZXZlbnQudGFyZ2V0LCB0cnVlICk7CiAgICAgICAg Zm9yKCB2YXIgaSA9IDA7IGkgPCBlcy5sZW5ndGg7IGkrKyApIHsKICAgICAgICAg ICAgdHJ5IHsKICAgICAgICAgICAgICAgIHZhciBlID0gZXNbIGkgXQogICAgICAg ICAgICAgICAgdmFyIHYgPSBlLmdldEF0dHJpYnV0ZSA/IGUuZ2V0QXR0cmlidXRl KCBhICkgOiBudWxsOwogICAgICAgICAgICAgICAgaWYoIHYgKSB7CiAgICAgICAg ICAgICAgICAgICAgZXZlbnQuYXR0cmlidXRlRWxlbWVudCA9IGU7CiAgICAgICAg ICAgICAgICAgICAgZXZlbnQuYXR0cmlidXRlID0gdjsKICAgICAgICAgICAgICAg ICAgICByZXR1cm4gdjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBj YXRjaCggZSApIHt9CiAgICAgICAgfQogICAgfSwKICAgIAoKICAgIHNldEVsZW1l bnRBdHRyaWJ1dGU6IGZ1bmN0aW9uKCBlLCBhLCB2ICkgewogICAgICAgIC8qIHNh ZmFyaSB3b3JrYXJvdW5kCiAgICAgICAgICogc2FmYXJpJ3Mgc2V0QXR0cmlidXRl IGFzc3VtZXMgeW91IHdhbnQgdG8gdXNlIGEgbmFtZXNwYWNlCiAgICAgICAgICog d2hlbiB5b3UgaGF2ZSBhIGNvbG9uIGluIHlvdXIgYXR0cmlidXRlCiAgICAgICAg ICovCiAgICAgICAgaWYgKCBuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNl KCkubWF0Y2goL3dlYmtpdC8pICkgewogICAgICAgICAgICB2YXIgYXQgPSBlLmF0 dHJpYnV0ZXM7CiAgICAgICAgICAgIGZvciAoIHZhciBpID0gMDsgaSA8IGF0Lmxl bmd0aDsgaSsrICkKICAgICAgICAgICAgICAgIGlmICggYXRbIGkgXS5uYW1lID09 IGEgKQogICAgICAgICAgICAgICAgICAgIHJldHVybiBhdFsgaSBdLm5vZGVWYWx1 ZSA9IHY7CiAgICAgICAgfSBlbHNlCiAgICAgICAgICAgIGUuc2V0QXR0cmlidXRl KCBhLCB2ICk7CiAgICB9LAoKCiAgICBzd2FwQXR0cmlidXRlczogZnVuY3Rpb24o IGUsIHRnLCBhdCApIHsKICAgICAgICB2YXIgYXIgPSBlLmdldEF0dHJpYnV0ZSgg dGcgKTsKICAgICAgICBpZiggIWFyICkKICAgICAgICAgICAgcmV0dXJuIGZhbHNl OwogICAgICAgIAogICAgICAgIC8qIGNsb25lIHRoZSBub2RlIHdpdGggYWxsIGNo aWxkcmVuICovCiAgICAgICAgaWYgKCBlLnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9 PSAnc2NyaXB0JyApIHsKICAgICAgICAgICAgLyogb25seSBjbG9uZSBhbmQgcmVw bGFjZSBzY3JpcHQgdGFncyAqLwogICAgICAgICAgICB2YXIgY2wgPSBlLmNsb25l Tm9kZSggdHJ1ZSApOwogICAgICAgICAgICBpZiAoICFjbCApCiAgICAgICAgICAg ICAgICByZXR1cm4gZmFsc2U7CgogICAgICAgICAgICBET00uc2V0RWxlbWVudEF0 dHJpYnV0ZSggY2wsIGF0LCBhciApOwogICAgICAgICAgICBjbC5yZW1vdmVBdHRy aWJ1dGUoIHRnICk7CiAgICAgICAgCiAgICAgICAgICAgIC8qIHJlcGxhY2UgbmV3 LCBvbGQgKi8KICAgICAgICAgICAgcmV0dXJuIGUucGFyZW50Tm9kZS5yZXBsYWNl Q2hpbGQoIGNsLCBlICk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgRE9N LnNldEVsZW1lbnRBdHRyaWJ1dGUoIGUsIGF0LCBhciApOwogICAgICAgICAgICBl LnJlbW92ZUF0dHJpYnV0ZSggdGcgKTsKICAgICAgICB9CiAgICB9LAoKCiAgICBm aW5kUG9zWDogZnVuY3Rpb24oIGUgKSB7CiAgICAgICAgdmFyIGN1cmxlZnQgPSAw OwoKICAgICAgICBpZiAoZS5vZmZzZXRQYXJlbnQpIHsKICAgICAgICAgICAgd2hp bGUgKDEpIHsKICAgICAgICAgICAgICAgIGN1cmxlZnQgKz0gZS5vZmZzZXRMZWZ0 OwogICAgICAgICAgICAgICAgaWYgKCFlLm9mZnNldFBhcmVudCkgewogICAgICAg ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgZSA9IGUub2Zmc2V0UGFyZW50OwogICAgICAgICAgICB9CiAgICAgICAg fSBlbHNlIGlmIChlLngpIHsKICAgICAgICAgICAgY3VybGVmdCArPSBlLng7CiAg ICAgICAgfQoKICAgICAgICByZXR1cm4gY3VybGVmdDsKICAgIH0sCgoKICAgIGZp bmRQb3NZOiBmdW5jdGlvbiggZSApIHsKICAgICAgICB2YXIgY3VydG9wID0gMDsK CiAgICAgICAgaWYgKGUub2Zmc2V0UGFyZW50KSB7CiAgICAgICAgICAgIHdoaWxl ICgxKSB7CiAgICAgICAgICAgICAgICBjdXJ0b3AgKz0gZS5vZmZzZXRUb3A7CiAg ICAgICAgICAgICAgICBpZiAoIWUub2Zmc2V0UGFyZW50KSB7CiAgICAgICAgICAg ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICBlID0gZS5vZmZzZXRQYXJlbnQ7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVs c2UgaWYgKGUueSkgewogICAgICAgICAgICBjdXJ0b3AgKz0gZS55OwogICAgICAg IH0KCiAgICAgICAgcmV0dXJuIGN1cnRvcDsKICAgIH0KICAgIAogICAgCn0gKTsK CgokID0gRE9NLmdldEVsZW1lbnQ7CnZhciBIVFRQUmVxID0gbmV3IE9iamVjdDsK CkhUVFBSZXEuY3JlYXRlID0gZnVuY3Rpb24gKCkgewogICAgdmFyIHh0cjsKICAg IHZhciBleDsKCiAgICBpZiAodHlwZW9mKFhNTEh0dHBSZXF1ZXN0KSAhPSAidW5k ZWZpbmVkIikgewogICAgICAgIHh0ciA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwog ICAgfSBlbHNlIHsKICAgICAgICB0cnkgewogICAgICAgICAgICB4dHIgPSBuZXcg QWN0aXZlWE9iamVjdCgiTXN4bWwyLlhNTEhUVFAuNC4wIik7CiAgICAgICAgfSBj YXRjaCAoZXgpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIHh0 ciA9IG5ldyBBY3RpdmVYT2JqZWN0KCJNc3htbDIuWE1MSFRUUCIpOwogICAgICAg ICAgICB9IGNhdGNoIChleCkgewogICAgICAgICAgICB9CiAgICAgICAgfQogICAg fQoKICAgIC8vIGxldCBtZSBleHBsYWluIHRoaXMuICBPcGVyYSA4IGRvZXMgWE1M SHR0cFJlcXVlc3QsIGJ1dCBub3Qgc2V0UmVxdWVzdEhlYWRlci4KICAgIC8vIG5v IHByb2JsZW0sIHdlIHRob3VnaHQ6ICB3ZSdsbCB0ZXN0IGZvciBzZXRSZXF1ZXN0 SGVhZGVyIGFuZCBpZiBpdCdzIG5vdCBwcmVzZW50CiAgICAvLyB0aGVuIGZhbGwg YmFjayB0byB0aGUgb2xkIGJlaGF2aW9yICh0cmVhdCBpdCBhcyBub3Qgd29ya2lu ZykuICBCVVQgLS0tIElFNiB3b24ndAogICAgLy8gbGV0IHlvdSBldmVuIHRlc3Qg Zm9yIHNldFJlcXVlc3RIZWFkZXIgd2l0aG91dCB0aHJvd2luZyBhbiBleGNlcHRp b24gKHlvdSBuZWVkCiAgICAvLyB0byBjYWxsIC5vcGVuIG9uIHRoZSAueHRyIGZp cnN0IG9yIHNvbWV0aGluZykKICAgIHRyeSB7CiAgICAgICAgaWYgKHh0ciAmJiAh IHh0ci5zZXRSZXF1ZXN0SGVhZGVyKQogICAgICAgICAgICB4dHIgPSBudWxsOwog ICAgfSBjYXRjaCAoZXgpIHsgfQoKICAgIHJldHVybiB4dHI7Cn07CgovLyBvcHRz OgovLyB1cmwsIG9uRXJyb3IsIG9uRGF0YSwgbWV0aG9kIChHRVQgb3IgUE9TVCks IGRhdGEKLy8gdXJsOiB3aGVyZSB0byBnZXQvcG9zdCB0bwovLyBvbkVycm9yOiBj YWxsYmFjayBvbiBlcnJvcgovLyBvbkRhdGE6IGNhbGxiYWNrIG9uIGRhdGEgcmVj ZWl2ZWQKLy8gbWV0aG9kOiBIVFRQIG1ldGhvZCwgR0VUIGJ5IGRlZmF1bHQKLy8g ZGF0YTogd2hhdCB0byBzZW5kIHRvIHRoZSBzZXJ2ZXIgKHVybGVuY29kZWQpCkhU VFBSZXEuZ2V0SlNPTiA9IGZ1bmN0aW9uIChvcHRzKSB7CiAgICB2YXIgcmVxID0g SFRUUFJlcS5jcmVhdGUoKTsKICAgIGlmICghIHJlcSkgewogICAgICAgIGlmIChv cHRzLm9uRXJyb3IpIG9wdHMub25FcnJvcigibm94bWxodHRwcmVxdWVzdCIpOwog ICAgICAgIHJldHVybjsKICAgIH0KCiAgICB2YXIgc3RhdGVfY2FsbGJhY2sgPSBm dW5jdGlvbiAoKSB7CiAgICAgICAgaWYgKHJlcS5yZWFkeVN0YXRlICE9IDQpIHJl dHVybjsKCiAgICAgICAgaWYgKHJlcS5zdGF0dXMgIT0gMjAwKSB7CiAgICAgICAg ICAgIGlmIChvcHRzLm9uRXJyb3IpIG9wdHMub25FcnJvcihyZXEuc3RhdHVzID8g InN0YXR1czogIiArIHJlcS5zdGF0dXMgOiAibm8gZGF0YSIpOwogICAgICAgICAg ICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICB2YXIgcmVzT2JqOwogICAgICAg IHZhciBlOwogICAgICAgIHRyeSB7CiAgICAgICAgICAgIGV2YWwoInJlc09iaiA9 ICIgKyByZXEucmVzcG9uc2VUZXh0ICsgIjsiKTsKICAgICAgICB9IGNhdGNoIChl KSB7CiAgICAgICAgfQoKICAgICAgICBpZiAoZSB8fCAhIHJlc09iaikgewogICAg ICAgICAgICBpZiAob3B0cy5vbkVycm9yKQogICAgICAgICAgICAgICAgb3B0cy5v bkVycm9yKCJFcnJvciBwYXJzaW5nIHJlc3BvbnNlOiBcIiIgKyByZXEucmVzcG9u c2VUZXh0ICsgIlwiIik7CgogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoK ICAgICAgICBpZiAob3B0cy5vbkRhdGEpCiAgICAgICAgICAgIG9wdHMub25EYXRh KHJlc09iaik7CiAgICB9OwoKICAgIHJlcS5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBz dGF0ZV9jYWxsYmFjazsKCiAgICB2YXIgbWV0aG9kID0gb3B0cy5tZXRob2QgfHwg IkdFVCI7CiAgICB2YXIgZGF0YSA9IG9wdHMuZGF0YSB8fCBudWxsOwoKICAgIHZh ciB1cmwgPSBvcHRzLnVybDsKICAgIGlmIChvcHRzLm1ldGhvZCA9PSAiR0VUIiAm JiBvcHRzLmRhdGEpIHsKICAgICAgICB1cmwgKz0gdXJsLm1hdGNoKC9cPy8pID8g IiYiIDogIj8iOwogICAgICAgIHVybCArPSBvcHRzLmRhdGEKICAgIH0KCiAgICB1 cmwgKz0gdXJsLm1hdGNoKC9cPy8pID8gIiYiIDogIj8iOwogICAgdXJsICs9ICJf cmFuZD0iICsgTWF0aC5yYW5kb20oKTsKCiAgICByZXEub3BlbihtZXRob2QsIHVy bCwgdHJ1ZSk7CgogICAgLy8gd2Ugc2hvdWxkIHNlbmQgbnVsbCB1bmxlc3Mgd2Un cmUgaW4gYSBQT1NUCiAgICB2YXIgdG9fc2VuZCA9IG51bGw7CgogICAgaWYgKG1l dGhvZC50b1VwcGVyQ2FzZSgpID09ICJQT1NUIikgewogICAgICAgIHJlcS5zZXRS ZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLCAiYXBwbGljYXRpb24veC13d3ct Zm9ybS11cmxlbmNvZGVkIik7CiAgICAgICAgdG9fc2VuZCA9IGRhdGE7CiAgICB9 CgogICAgcmVxLnNlbmQodG9fc2VuZCk7Cn07CgpIVFRQUmVxLmZvcm1FbmNvZGVk ID0gZnVuY3Rpb24gKHZhcnMpIHsKICAgIHZhciBlbmMgPSBbXTsKICAgIHZhciBl OwogICAgZm9yICh2YXIga2V5IGluIHZhcnMpIHsKCSAgICBlbmMucHVzaChlbmNv ZGVVUklDb21wb25lbnQoa2V5KSArICI9IiArIGVuY29kZVVSSUNvbXBvbmVudCh2 YXJzW2tleV0pKTsKICAgIH0KICAgIHJldHVybiBlbmMuam9pbigiJiIpOwp9OwoK Ly8gVGhpcyBmaWxlIGNvbnRhaW5zIGdlbmVyYWwtcHVycG9zZSBMSiBjb2RlCgp2 YXIgTGl2ZUpvdXJuYWwgPSBuZXcgT2JqZWN0OwoKLy8gVGhlIGhvb2sgbWFwcGlu Z3MKTGl2ZUpvdXJuYWwuaG9va3MgPSB7fTsKCkxpdmVKb3VybmFsLnJlZ2lzdGVy X2hvb2sgPSBmdW5jdGlvbiAoaG9vaywgZnVuYykgewogICAgaWYgKCEgTGl2ZUpv dXJuYWwuaG9va3NbaG9va10pCiAgICAgICAgTGl2ZUpvdXJuYWwuaG9va3NbaG9v a10gPSBbXTsKCiAgICBMaXZlSm91cm5hbC5ob29rc1tob29rXS5wdXNoKGZ1bmMp Owp9OwoKLy8gYXJnczogaG9vaywgcGFyYW1zIHRvIHBhc3MgdG8gaG9vawpMaXZl Sm91cm5hbC5ydW5faG9vayA9IGZ1bmN0aW9uICgpIHsKICAgIHZhciBhID0gYXJn dW1lbnRzOwoKICAgIHZhciBob29rZnVuY3MgPSBMaXZlSm91cm5hbC5ob29rc1th WzBdXTsKICAgIGlmICghaG9va2Z1bmNzIHx8ICFob29rZnVuY3MubGVuZ3RoKSBy ZXR1cm47CgogICAgdmFyIGhvb2thcmdzID0gW107CgogICAgZm9yICh2YXIgaSA9 IDE7IGkgPCBhLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgaG9va2FyZ3MucHVzaChh W2ldKTsKICAgIH0KCiAgICB2YXIgcnYgPSBudWxsOwoKICAgIGhvb2tmdW5jcy5m b3JFYWNoKGZ1bmN0aW9uIChob29rZnVuYykgewogICAgICAgIHJ2ID0gaG9va2Z1 bmMuYXBwbHkobnVsbCwgaG9va2FyZ3MpOwogICAgfSk7CgogICAgcmV0dXJuIHJ2 Owp9OwoKTGl2ZUpvdXJuYWwucGFnZUxvYWRlZCA9IGZhbHNlOwoKTGl2ZUpvdXJu YWwuaW5pdFBhZ2UgPSBmdW5jdGlvbiAoKSB7CiAgICAvLyBvbmx5IHJ1biBvbmNl CiAgICBpZiAoTGl2ZUpvdXJuYWwucGFnZUxvYWRlZCkKICAgICAgICByZXR1cm47 CiAgICBMaXZlSm91cm5hbC5wYWdlTG9hZGVkID0gMTsKCiAgICAvLyBzZXQgdXAg dmFyaW91cyBoYW5kbGVycyBmb3IgZXZlcnkgcGFnZQogICAgTGl2ZUpvdXJuYWwu aW5pdFBsYWNlaG9sZGVycygpOwogICAgTGl2ZUpvdXJuYWwuaW5pdExhYmVscygp OwogICAgTGl2ZUpvdXJuYWwuaW5pdEluYm94VXBkYXRlKCk7CiAgICBMaXZlSm91 cm5hbC5pbml0QWRzKCk7CiAgICBMaXZlSm91cm5hbC5pbml0UG9sbHMoKTsKCiAg ICAvLyBydW4gb3RoZXIgaG9va3MKICAgIExpdmVKb3VybmFsLnJ1bl9ob29rKCJw YWdlX2xvYWQiKTsKfTsKCi8vIFNldCB1cCB0d28gZGlmZmVyZW50IHdheXMgdG8g dGVzdCBpZiB0aGUgcGFnZSBpcyBsb2FkZWQgeWV0LgovLyBUaGUgcHJvcGVyIHdh eSBpcyB1c2luZyBET01Db250ZW50TG9hZGVkLCBidXQgb25seSBNb3ppbGxhIHN1 cHBvcnRzIGl0Lgp7CiAgICAvLyBPdGhlcnMKICAgIERPTS5hZGRFdmVudExpc3Rl bmVyKHdpbmRvdywgImxvYWQiLCBMaXZlSm91cm5hbC5pbml0UGFnZSk7CgogICAg Ly8gTW96aWxsYQogICAgRE9NLmFkZEV2ZW50TGlzdGVuZXIod2luZG93LCAiRE9N Q29udGVudExvYWRlZCIsIExpdmVKb3VybmFsLmluaXRQYWdlKTsKfQoKLy8gU2V0 IHVwIGEgdGltZXIgdG8ga2VlcCB0aGUgaW5ib3ggY291bnQgdXBkYXRlZApMaXZl Sm91cm5hbC5pbml0SW5ib3hVcGRhdGUgPSBmdW5jdGlvbiAoKSB7CiAgICAvLyBE b24ndCBydW4gaWYgbm90IGxvZ2dlZCBpbiBvciB0aGlzIGlzIGRpc2FibGVkCiAg ICBpZiAoISBTaXRlIHx8ICEgU2l0ZS5oYXNfcmVtb3RlIHx8ICEgU2l0ZS5pbmJv eF91cGRhdGVfcG9sbCkgcmV0dXJuOwoKICAgIC8vIERvbid0IHJ1biBpZiBubyBp bmJveCBjb3VudAogICAgdmFyIHVucmVhZCA9ICQoIkxKX0luYm94X1VucmVhZF9D b3VudCIpOwogICAgaWYgKCEgdW5yZWFkKSByZXR1cm47CgogICAgLy8gVXBkYXRl IGV2ZXJ5IGZpdmUgbWludXRlcwogICAgd2luZG93LnNldEludGVydmFsKExpdmVK b3VybmFsLnVwZGF0ZUluYm94LCAxMDAwICogNjAgKiA1KTsKfTsKCi8vIERvIEFK QVggcmVxdWVzdCB0byBmaW5kIHRoZSBudW1iZXIgb2YgdW5yZWFkIGl0ZW1zIGlu IHRoZSBpbmJveApMaXZlSm91cm5hbC51cGRhdGVJbmJveCA9IGZ1bmN0aW9uICgp IHsKICAgIHZhciBwb3N0RGF0YSA9IHsKICAgICAgICAiYWN0aW9uIjogImdldF91 bnJlYWRfaXRlbXMiCiAgICB9OwoKICAgIHZhciBvcHRzID0gewogICAgICAgICJk YXRhIjogSFRUUFJlcS5mb3JtRW5jb2RlZChwb3N0RGF0YSksCiAgICAgICAgIm1l dGhvZCI6ICJQT1NUIiwKICAgICAgICAib25EYXRhIjogTGl2ZUpvdXJuYWwuZ290 SW5ib3hVcGRhdGUKICAgIH07CgogICAgb3B0cy51cmwgPSBTaXRlLmN1cnJlbnRK b3VybmFsID8gIi8iICsgU2l0ZS5jdXJyZW50Sm91cm5hbCArICIvX19ycGNfZXNu X2luYm94IiA6ICIvX19ycGNfZXNuX2luYm94IjsKCiAgICBIVFRQUmVxLmdldEpT T04ob3B0cyk7Cn07CgovLyBXZSByZWNlaXZlZCB0aGUgbnVtYmVyIG9mIHVucmVh ZCBpbmJveCBpdGVtcyBmcm9tIHRoZSBzZXJ2ZXIKTGl2ZUpvdXJuYWwuZ290SW5i b3hVcGRhdGUgPSBmdW5jdGlvbiAocmVzcCkgewogICAgaWYgKCEgcmVzcCB8fCBy ZXNwLmVycm9yKSByZXR1cm47CgogICAgdmFyIHVucmVhZCA9ICQoIkxKX0luYm94 X1VucmVhZF9Db3VudCIpOwogICAgaWYgKCEgdW5yZWFkKSByZXR1cm47CgogICAg dW5yZWFkLmlubmVySFRNTCA9IHJlc3AudW5yZWFkX2NvdW50ID8gIiAgKCIgKyBy ZXNwLnVucmVhZF9jb3VudCArICIpIiA6ICIiOwp9OwoKLy8gU2VhcmNoIGZvciBw bGFjZWhvbGRlcnMgYW5kIGluaXRpYWxpemUgdGhlbQpMaXZlSm91cm5hbC5pbml0 UGxhY2Vob2xkZXJzID0gZnVuY3Rpb24gKCkgewogICAgdmFyIHBsYWNlaG9sZGVy cyA9IERPTS5nZXRFbGVtZW50c0J5VGFnQW5kQ2xhc3NOYW1lKGRvY3VtZW50LCAi aW1nIiwgIkxKX1BsYWNlaG9sZGVyIikgfHwgW107CgogICAgQXJyYXkucHJvdG90 eXBlLmZvckVhY2guY2FsbChwbGFjZWhvbGRlcnMsIGZ1bmN0aW9uIChwbGFjZWhv bGRlcikgewogICAgICAgIHZhciBwYXJlbnQgPSBET00uZ2V0Rmlyc3RBbmNlc3Rv ckJ5Q2xhc3NOYW1lKHBsYWNlaG9sZGVyLCAiTEpfUGxhY2Vob2xkZXJfQ29udGFp bmVyIiwgZmFsc2UpOwogICAgICAgIGlmICghcGFyZW50KSByZXR1cm47CgogICAg ICAgIHZhciBjb250YWluZXIgPSBET00uZmlsdGVyRWxlbWVudHNCeUNsYXNzTmFt ZShwYXJlbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImRpdiIpLCAiTEpfQ29udGFp bmVyIilbMF07CiAgICAgICAgaWYgKCFjb250YWluZXIpIHJldHVybjsKCiAgICAg ICAgdmFyIGh0bWwgPSBET00uZmlsdGVyRWxlbWVudHNCeUNsYXNzTmFtZShwYXJl bnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImRpdiIpLCAiTEpfUGxhY2Vob2xkZXJf SFRNTCIpWzBdOwogICAgICAgIGlmICghaHRtbCkgcmV0dXJuOwoKICAgICAgICB2 YXIgcGxhY2Vob2xkZXJfaHRtbCA9IHVuZXNjYXBlKGh0bWwuaW5uZXJIVE1MKTsK CiAgICAgICAgdmFyIHBsYWNlaG9sZGVyQ2xpY2tIYW5kbGVyID0gZnVuY3Rpb24g KGUpIHsKICAgICAgICAgICAgRXZlbnQuc3RvcChlKTsKICAgICAgICAgICAgLy8g aGF2ZSB0byB3cmFwIHBsYWNlaG9sZGVyX2h0bWwgaW4gYW5vdGhlciBibG9jaywg SUUgaXMgd2VpcmQKICAgICAgICAgICAgY29udGFpbmVyLmlubmVySFRNTCA9ICI8 c3Bhbj4iICsgcGxhY2Vob2xkZXJfaHRtbCArICI8L3NwYW4+IjsKICAgICAgICAg ICAgRE9NLm1ha2VJbnZpc2libGUocGxhY2Vob2xkZXIpOwogICAgICAgIH07Cgog ICAgICAgIERPTS5hZGRFdmVudExpc3RlbmVyKHBsYWNlaG9sZGVyLCAiY2xpY2si LCBwbGFjZWhvbGRlckNsaWNrSGFuZGxlcik7CgogICAgICAgIHJldHVybiBmYWxz ZTsKICAgIH0pOwp9OwoKLy8gc2V0IHVwIGxhYmVscyBmb3IgU2FmYXJpCkxpdmVK b3VybmFsLmluaXRMYWJlbHMgPSBmdW5jdGlvbiAoKSB7CiAgICAvLyBkaXNhYmxl ZCBiZWNhdXNlIG5ldyB3ZWJraXQgaGFzIGxhYmVscyB0aGF0IHdvcmsKICAgIHJl dHVybjsKCiAgICAvLyBzYWZhcmkgZG9lc24ndCBrbm93IHdoYXQgPGxhYmVsPiB0 YWdzIGFyZSwgbGV0cyBmaXggdGhlbQogICAgaWYgKG5hdmlnYXRvci51c2VyQWdl bnQuaW5kZXhPZignU2FmYXJpJykgPT0gLTEpIHJldHVybjsKCiAgICAvLyBnZXQg YWxsIGxhYmVscwogICAgdmFyIGxhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRz QnlUYWdOYW1lKCJsYWJlbCIpOwoKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGFi ZWxzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgRE9NLmFkZEV2ZW50TGlzdGVuZXIo bGFiZWxzW2ldLCAiY2xpY2siLCBMaXZlSm91cm5hbC5sYWJlbENsaWNrSGFuZGxl cik7CiAgICB9Cn07CgpMaXZlSm91cm5hbC5sYWJlbENsaWNrSGFuZGxlciA9IGZ1 bmN0aW9uIChldnQpIHsKICAgIEV2ZW50LnByZXAoZXZ0KTsKCiAgICB2YXIgbGFi ZWwgPSBET00uZ2V0QW5jZXN0b3JzQnlUYWdOYW1lKGV2dC50YXJnZXQsICJsYWJl bCIsIHRydWUpWzBdOwogICAgaWYgKCEgbGFiZWwpIHJldHVybjsKCiAgICB2YXIg dGFyZ2V0SWQgPSBsYWJlbC5nZXRBdHRyaWJ1dGUoImZvciIpOwogICAgaWYgKCEg dGFyZ2V0SWQpIHJldHVybjsKCiAgICB2YXIgdGFyZ2V0ID0gJCh0YXJnZXRJZCk7 CiAgICBpZiAoISB0YXJnZXQpIHJldHVybjsKCiAgICB0YXJnZXQuY2xpY2soKTsK CiAgICByZXR1cm4gZmFsc2U7Cn07CgovLyBjaGFuZ2UgZHJzYyB0byBzcmMgZm9y IGFkcwpMaXZlSm91cm5hbC5pbml0QWRzID0gZnVuY3Rpb24gKCkgewogICAgQWRF bmdpbmUuaW5pdCgpOwp9OwoKLy8gaGFuZHkgdXRpbGl0aWVzIHRvIGNyZWF0ZSBl bGVtZW50cyB3aXRoIGp1c3QgdGV4dCBpbiB0aGVtCmZ1bmN0aW9uIF90ZXh0U3Bh biAoKSB7IHJldHVybiBfdGV4dEVsZW1lbnRzKCJzcGFuIiwgYXJndW1lbnRzKTsg fQpmdW5jdGlvbiBfdGV4dERpdiAgKCkgeyByZXR1cm4gX3RleHRFbGVtZW50cygi ZGl2IiwgYXJndW1lbnRzKTsgIH0KCmZ1bmN0aW9uIF90ZXh0RWxlbWVudHMgKGVs ZVR5cGUsIHR4dHMpIHsKICAgIHZhciBlbGUgPSBbXTsKICAgIGZvciAodmFyIGkg PSAwOyBpIDwgdHh0cy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciBub2RlID0g ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChlbGVUeXBlKTsKICAgICAgICBub2RlLmlu bmVySFRNTCA9IHR4dHNbaV07CiAgICAgICAgZWxlLnB1c2gobm9kZSk7CiAgICB9 CgogICAgcmV0dXJuIGVsZS5sZW5ndGggPT0gMSA/IGVsZVswXSA6IGVsZTsKfTsK CnZhciBQb2xsUGFnZXMgPSB7CiAgICAiaG91cmdsYXNzIjogbnVsbAp9OwoKTGl2 ZUpvdXJuYWwuaW5pdFBvbGxzID0gZnVuY3Rpb24gKCkgewogICAgdmFyIHBvbGxM aW5rcyA9IERPTS5nZXRFbGVtZW50c0J5VGFnQW5kQ2xhc3NOYW1lKGRvY3VtZW50 LCAnYScsICJMSl9Qb2xsQW5zd2VyTGluayIpIHx8IFtdOyAgCgogICAgLy8gYXR0 YWNoIGNsaWNrIGhhbmRsZXJzIHRvIGVhY2ggYW5zd2VyIGxpbmsKICAgIEFycmF5 LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwocG9sbExpbmtzLCBmdW5jdGlvbiAocG9s bExpbmspIHsKICAgICAgICBET00uYWRkRXZlbnRMaXN0ZW5lcihwb2xsTGluaywg ImNsaWNrIiwgTGl2ZUpvdXJuYWwucG9sbEFuc3dlckxpbmtDbGlja2VkLmJpbmRF dmVudExpc3RlbmVyKHBvbGxMaW5rKSk7CiAgICB9KTsKfTsKCi8vIGludm9jYW50 IGlzIHRoZSBwb2xsTGluayBmcm9tIGFib3ZlCkxpdmVKb3VybmFsLnBvbGxBbnN3 ZXJMaW5rQ2xpY2tlZCA9IGZ1bmN0aW9uIChlKSB7CiAgICBFdmVudC5zdG9wKGUp OwoKICAgIGlmICghIHRoaXMgfHwgISB0aGlzLnRhZ05hbWUgfHwgdGhpcy50YWdO YW1lLnRvTG93ZXJDYXNlKCkgIT0gImEiKQogICAgcmV0dXJuIHRydWU7CgogICAg dmFyIHBvbGxpZCA9IHRoaXMuZ2V0QXR0cmlidXRlKCJsal9wb2xsaWQiKTsKICAg IGlmICghIHBvbGxpZCkgcmV0dXJuIHRydWU7CgogICAgdmFyIHBvbGxxaWQgPSB0 aGlzLmdldEF0dHJpYnV0ZSgibGpfcWlkIik7CiAgICBpZiAoISBwb2xscWlkKSBy ZXR1cm4gdHJ1ZTsKCiAgICB2YXIgcGFnZSAgICAgPSB0aGlzLmdldEF0dHJpYnV0 ZSgibGpfcGFnZSIpOwogICAgdmFyIHBhZ2VzaXplID0gdGhpcy5nZXRBdHRyaWJ1 dGUoImxqX3BhZ2VzaXplIik7CgogICAgdmFyIGFjdGlvbiA9ICJnZXRfYW5zd2Vy cyI7CgogICAgLy8gRG8gYWpheCByZXF1ZXN0IHRvIHJlcGxhY2UgdGhlIGxpbmsg d2l0aCB0aGUgYW5zd2VycwogICAgdmFyIHBhcmFtcyA9IHsKICAgICAgICAicG9s bGlkIiAgIDogcG9sbGlkLAogICAgICAgICJwb2xscWlkIiAgOiBwb2xscWlkLAog ICAgICAgICJwYWdlIiAgICAgOiBwYWdlLAogICAgICAgICJwYWdlc2l6ZSIgOiBw YWdlc2l6ZSwKICAgICAgICAiYWN0aW9uIiAgIDogYWN0aW9uCiAgICB9OwoKICAg IHZhciBvcHRzID0gewogICAgICAgICJ1cmwiICAgIDogTGl2ZUpvdXJuYWwuZ2V0 QWpheFVybCgicG9sbCIpLAogICAgICAgICJtZXRob2QiIDogIlBPU1QiLAogICAg ICAgICJkYXRhIiAgIDogSFRUUFJlcS5mb3JtRW5jb2RlZChwYXJhbXMpLAogICAg ICAgICJvbkRhdGEiIDogTGl2ZUpvdXJuYWwucG9sbEFuc3dlcnNSZWNlaXZlZCwK ICAgICAgICAib25FcnJvciI6IExpdmVKb3VybmFsLmFqYXhFcnJvcgogICAgfTsK CiAgICBIVFRQUmVxLmdldEpTT04ob3B0cyk7CgogICAgaWYgKCFQb2xsUGFnZXMu aG91cmdsYXNzKSB7CiAgICAgICAgdmFyIGNvb3JkcyA9IERPTS5nZXRBYnNvbHV0 ZUN1cnNvclBvc2l0aW9uKGUpOwogICAgICAgIFBvbGxQYWdlcy5ob3VyZ2xhc3Mg PSBuZXcgSG91cmdsYXNzKCk7CiAgICAgICAgUG9sbFBhZ2VzLmhvdXJnbGFzcy5p bml0KCk7CiAgICAgICAgUG9sbFBhZ2VzLmhvdXJnbGFzcy5ob3VyZ2xhc3NfYXQo Y29vcmRzLngsIGNvb3Jkcy55KTsKICAgICAgICBQb2xsUGFnZXMuZSA9IGU7CiAg ICB9CgogICAgcmV0dXJuIGZhbHNlOwp9OwoKTGl2ZUpvdXJuYWwucG9sbEFuc3dl cnNSZWNlaXZlZCA9IGZ1bmN0aW9uIChhbnN3ZXJzKSB7CiAgICBpZiAoISBhbnN3 ZXJzKSByZXR1cm4gZmFsc2U7CgogICAgaWYgKFBvbGxQYWdlcy5ob3VyZ2xhc3Mp IHsKICAgICAgICBQb2xsUGFnZXMuaG91cmdsYXNzLmhpZGUoKTsKICAgICAgICBQ b2xsUGFnZXMuaG91cmdsYXNzID0gbnVsbDsKICAgIH0KCiAgICBpZiAoYW5zd2Vy cy5lcnJvcikgcmV0dXJuIExpdmVKb3VybmFsLmFqYXhFcnJvcihhbnN3ZXJzLmVy cm9yKTsKCiAgICB2YXIgcG9sbGlkID0gYW5zd2Vycy5wb2xsaWQ7CiAgICB2YXIg cG9sbHFpZCA9IGFuc3dlcnMucG9sbHFpZDsKICAgIGlmICghIHBvbGxpZCB8fCAh IHBvbGxxaWQpIHJldHVybiBmYWxzZTsKICAgIHZhciBwYWdlICAgICA9IGFuc3dl cnMucGFnZTsKCiAgICB2YXIgYW5zd2VyUGFnRWxlOwogICAgdmFyIGFuc3dlckVs ZTsKICAgIGlmIChwYWdlKSB7CiAgICAgICAgYW5zd2VyUGFnRWxlID0gRE9NLmdl dEVsZW1lbnRzQnlUYWdBbmRDbGFzc05hbWUoZG9jdW1lbnQsICdkaXYnLCAibGpf cG9sbGFuc3dlcl9wYWdpbmciKVswXTsKICAgICAgICBhbnN3ZXJFbGUgICAgPSBE T00uZ2V0RWxlbWVudHNCeVRhZ0FuZENsYXNzTmFtZShkb2N1bWVudCwgJ2Rpdics ICJsal9wb2xsYW5zd2VyIilbMF07CiAgICB9IGVsc2UgewogICAgICAgIHZhciBs aW5rRWxlID0gJCgiTEpfUG9sbEFuc3dlckxpbmtfIiArIHBvbGxpZCArICJfIiAr IHBvbGxxaWQpOwogICAgICAgIGlmICghIGxpbmtFbGUpIHJldHVybiBmYWxzZTsK CiAgICAgICAgYW5zd2VyUGFnRWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi ZGl2Iik7CiAgICAgICAgRE9NLmFkZENsYXNzTmFtZShhbnN3ZXJQYWdFbGUsICJs al9wb2xsYW5zd2VyX3BhZ2luZyIpOwoKICAgICAgICBhbnN3ZXJFbGUgPSBkb2N1 bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICAgICBET00uYWRkQ2xhc3NO YW1lKGFuc3dlckVsZSwgImxqX3BvbGxhbnN3ZXIiKTsKCiAgICAgICAgbGlua0Vs ZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhbnN3ZXJFbGUsICAgIGxpbmtFbGUp OwogICAgICAgIGxpbmtFbGUucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYW5zd2Vy UGFnRWxlLCBsaW5rRWxlKTsKCiAgICAgICAgbGlua0VsZS5wYXJlbnROb2RlLnJl bW92ZUNoaWxkKGxpbmtFbGUpOwogICAgfQoKICAgIGFuc3dlclBhZ0VsZS5pbm5l ckhUTUwgID0gYW5zd2Vycy5wYWdpbmdfaHRtbCA/IGFuc3dlcnMucGFnaW5nX2h0 bWwgOiAiIjsKICAgIGFuc3dlckVsZS5pbm5lckhUTUwgICAgID0gYW5zd2Vycy5h bnN3ZXJfaHRtbCA/IGFuc3dlcnMuYW5zd2VyX2h0bWwgOiAiKE5vIGFuc3dlcnMp IjsKCiAgICBMaXZlSm91cm5hbC5pbml0UG9sbHMoKTsKfTsKCi8vIGdldHMgYSB1 cmwgZm9yIGRvaW5nIGFqYXggcmVxdWVzdHMKTGl2ZUpvdXJuYWwuZ2V0QWpheFVy bCA9IGZ1bmN0aW9uIChhY3Rpb24pIHsKICAgIC8vIGlmIHdlIGFyZSBvbiBhIGpv dXJuYWwgc3ViZG9tYWluIHRoZW4gb3VyIHVybCB3aWxsIGJlCiAgICAvLyAvam91 cm5hbG5hbWUvX19ycGNfYWN0aW9uIGluc3RlYWQgb2YgL19fcnBjX2FjdGlvbgog ICAgcmV0dXJuIFNpdGUuY3VycmVudEpvdXJuYWwKICAgICAgICA/ICIvIiArIFNp dGUuY3VycmVudEpvdXJuYWwgKyAiL19fcnBjXyIgKyBhY3Rpb24KICAgICAgICA6 ICIvX19ycGNfIiArIGFjdGlvbjsKfTsKCi8vIGdlbmVyaWMgaGFuZGxlciBmb3Ig YWpheCBlcnJvcnMKTGl2ZUpvdXJuYWwuYWpheEVycm9yID0gZnVuY3Rpb24gKGVy cikgewogICAgaWYgKExKX0lQUFUpIHsKICAgICAgICBMSl9JUFBVLnNob3dOb3Rl KCJFcnJvcjogIiArIGVycik7CiAgICB9IGVsc2UgewogICAgICAgIGFsZXJ0KCJF cnJvcjogIiArIGVycik7CiAgICB9Cn07CgovLyB1dGlsaXR5IG1ldGhvZCB0byBn ZXQgYWxsIGl0ZW1zIG9uIHRoZSBwYWdlIHdpdGggYSBjZXJ0YWluIGNsYXNzIG5h bWUKTGl2ZUpvdXJuYWwuZ2V0RG9jdW1lbnRFbGVtZW50c0J5Q2xhc3NOYW1lID0g ZnVuY3Rpb24gKGNsYXNzTmFtZSkgewogIHZhciBkb21PYmplY3RzID0gZG9jdW1l bnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKTsKICB2YXIgaXRlbXMgPSBET00u ZmlsdGVyRWxlbWVudHNCeUNsYXNzTmFtZShkb21PYmplY3RzLCBjbGFzc05hbWUp IHx8IFtdOwoKICByZXR1cm4gaXRlbXM7Cn07CgovLyB1dGlsaXR5IG1ldGhvZCB0 byBhZGQgYW4gb25jbGljayBjYWxsYmFjayBvbiBhbGwgaXRlbXMgd2l0aCBhIGNs YXNzbmFtZQpMaXZlSm91cm5hbC5hZGRDbGlja0hhbmRsZXJUb0VsZW1lbnRzV2l0 aENsYXNzTmFtZSA9IGZ1bmN0aW9uIChjYWxsYmFjaywgY2xhc3NOYW1lKSB7CiAg dmFyIGl0ZW1zID0gTGl2ZUpvdXJuYWwuZ2V0RG9jdW1lbnRFbGVtZW50c0J5Q2xh c3NOYW1lKGNsYXNzTmFtZSk7CgogIGl0ZW1zLmZvckVhY2goZnVuY3Rpb24gKGl0 ZW0pIHsKICAgIERPTS5hZGRFdmVudExpc3RlbmVyKGl0ZW0sICJjbGljayIsIGNh bGxiYWNrKTsKICB9KQp9OwoKTGl2ZUpvdXJuYWwuaW5zZXJ0QWRzTXVsdGkgPSBm dW5jdGlvbiAocGFyYW1zKSB7CiAgdmFyIGkgPSAwOwogIHZhciBjb250YWluZXJz ID0gW107CgogIGZvciAoaSA9IDA7IGkgPCBwYXJhbXMubGVuZ3RoOyBpKyspIHsK ICAgIGlmICghIHBhcmFtc1tpXS5odG1sIHx8IHBhcmFtc1tpXS5odG1sID09ICI8 dWw+XG48L3VsPiIpIGNvbnRpbnVlOwogICAgQWRFbmdpbmUuaW5zZXJ0QWRSZXNw b25zZSggcGFyYW1zW2ldICk7CiAgICBjb250YWluZXJzLnB1c2goZG9jdW1lbnQu Z2V0RWxlbWVudEJ5SWQocGFyYW1zW2ldLmlkKSk7CiAgfQoKICAgIC8vIGFkZCB0 aGUgYWQgYm94IHN0eWxlIHRvIHRoZSBjb250YWluZXJzCiAgICBjb250YWluZXJz LmZvckVhY2goZnVuY3Rpb24gKGNvbnRhaW5lcikgewogICAgICBpZiAoISBjb250 YWluZXIpIHJldHVybjsKCiAgICAgIERPTS5hZGRDbGFzc05hbWUoY29udGFpbmVy LnBhcmVudE5vZGUsICJsal9jb250ZW50X2FkIik7CiAgICAgIERPTS5yZW1vdmVD bGFzc05hbWUoY29udGFpbmVyLnBhcmVudE5vZGUsICJsal9pbmFjdGl2ZV9hZCIp OwogICAgfSk7Cn07CgovLyBnaXZlbiBhIFVSTCwgcGFyc2Ugb3V0IHRoZSBHRVQg YXJncyBhbmQgcmV0dXJuIHRoZW0gaW4gYSBoYXNoCkxpdmVKb3VybmFsLnBhcnNl R2V0QXJncyA9IGZ1bmN0aW9uICh1cmwpIHsKICAgIHZhciBnZXRBcmdzSGFzaCA9 IHt9OwoKICAgIHZhciB1cmxQYXJ0cyA9IHVybC5zcGxpdCgiPyIpOwogICAgaWYg KCF1cmxQYXJ0c1sxXSkgcmV0dXJuIGdldEFyZ3NIYXNoOwogICAgdmFyIGdldEFy Z3MgPSB1cmxQYXJ0c1sxXS5zcGxpdCgiJiIpOwogICAgCiAgICBmb3IodmFyIGFy Zz0wO2FyZzxnZXRBcmdzLmxlbmd0aDthcmcrKyl7CiAgICAJdmFyIHBhaXIgPSBn ZXRBcmdzW2FyZ10uc3BsaXQoIj0iKTsKICAgICAgICBnZXRBcmdzSGFzaFtwYWly WzBdXSA9IHBhaXJbMV07CgogICAgfQkgICAgCgogICAgcmV0dXJuIGdldEFyZ3NI YXNoOwp9OwovKiAKQWRFbmdpbmUKJElkOiBBZEVuZ2luZS5qcyAyMjYgMjAwNy0w OS0xOCAxODoyMDo1N1ogamFuaW5lICQKCkNvcHlyaWdodCAoYykgMjAwNiwgU2l4 IEFwYXJ0LCBMdGQuCkFsbCByaWdodHMgcmVzZXJ2ZWQuCgpSZWRpc3RyaWJ1dGlv biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp dGhvdXQKbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQptZXQ6CgogICAgKiBSZWRpc3Ry aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv cHlyaWdodApub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg Zm9sbG93aW5nIGRpc2NsYWltZXIuCgogICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCmNvcHlyaWdodCBu b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n IGRpc2NsYWltZXIKaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQpkaXN0cmlidXRpb24uCgogICAgKiBO ZWl0aGVyIHRoZSBuYW1lIG9mICJTaXggQXBhcnQiIG5vciB0aGUgbmFtZXMgb2Yg aXRzCmNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCnRoaXMgc29mdHdhcmUgd2l0aG91dCBz cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCgpUSElTIFNPRlRXQVJF IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ QlVUT1JTCiJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCkxJTUlURUQgVE8sIFRIRSBJTVBMSUVE IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgpB IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg U0hBTEwgVEhFIENPUFlSSUdIVApPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKU1BFQ0lB TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO RywgQlVUIE5PVApMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKREFUQSwgT1IgUFJPRklU UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg T04gQU5ZClRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKElOQ0xVRElORyBORUdMSUdFTkNF IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF Ck9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC SUxJVFkgT0YgU1VDSCBEQU1BR0UuCiovCgpBZEVuZ2luZSA9IHsKCiAgICAvKiBj YWxsZWQgZnJvbSB3aW5kb3cub25sb2FkIE9OTFkgb24gdGhlIGxvZ2dlZCBvdXQg YmxvZyBzaWRlICh2aWV3KSAqLwogICAgaW5pdDogZnVuY3Rpb24oKSB7CiAgICAg ICAgdmFyIGVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoICJzY3Jp cHQiICk7CiAgICAgICAgZm9yICggdmFyIGkgPSAwOyBpIDwgZXMubGVuZ3RoOyBp KysgKSB7CiAgICAgICAgICAgIHZhciBhciA9IGVzWyBpIF0uZ2V0QXR0cmlidXRl KCAiZGVmZXJzcmMiICk7CiAgICAgICAgICAgIGlmKCAhYXIgKQogICAgICAgICAg ICAgICAgY29udGludWU7CiAgICAgICAgCiAgICAgICAgICAgIHZhciBjbCA9IGVz WyBpIF0uY2xvbmVOb2RlKCB0cnVlICk7CiAgICAgICAgICAgIGlmICggIWNsICkK ICAgICAgICAgICAgICAgIGNvbnRpbnVlOwoKICAgICAgICAgICAgY2wuc2V0QXR0 cmlidXRlKCAic3JjIiwgYXIgKTsKICAgICAgICAgICAgY2wucmVtb3ZlQXR0cmli dXRlKCAiZGVmZXJzcmMiICk7CiAgICAgICAgCiAgICAgICAgICAgIC8qIHJlcGxh Y2UgbmV3LCBvbGQgKi8KICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAg IGVzWyBpIF0ucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQoIGNsLCBlc1sgaSBdICk7 CiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9CiAgICAgICAgfQogICAgfSwKICAg IAogICAgCiAgICBpbnNlcnRBZFJlc3BvbnNlOiBmdW5jdGlvbiggcGFyYW1zICkg ewogICAgICAgIHZhciBlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIHBhcmFt cy5pZCApOwogICAgICAgIGlmKCAhZSApCiAgICAgICAgICAgIHJldHVybjsKICAg ICAgICBpZiggcGFyYW1zLmh0bWwgKSB7CiAgICAgICAgICAgIHZhciBlMiA9IGRv Y3VtZW50LmNyZWF0ZUVsZW1lbnQoICJkaXYiICk7CiAgICAgICAgICAgIGUyLmlu bmVySFRNTCA9IHBhcmFtcy5odG1sOwogICAgICAgICAgICBlLmlubmVySFRNTCA9 ICIiOyAvLyBjbGVhciBvbGQgY29udGVudAogICAgICAgICAgICBlLmFwcGVuZENo aWxkKCBlMiApOwogICAgICAgIH0KICAgICAgICBpZiggcGFyYW1zLmpzICkKICAg ICAgICAgICAgcmV0dXJuIGV2YWwoICIoIiArIHBhcmFtcy5qcyArICIpIiApOwog ICAgfSwKCiAgICBpbnNlcnRBZHNNdWx0aTogZnVuY3Rpb24oIHBhcmFtcyApIHsK ICAgICAgICB2YXIgaSA9IDA7CiAgICAgICAgZm9yIChpID0gMDsgaSA8IHBhcmFt cy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICBBZEVuZ2luZS5pbnNlcnRBZFJl c3BvbnNlKCBwYXJhbXNbaV0gKTsKICAgICAgICB9CiAgICB9Cgp9Owp2YXIgRVNO ID0gbmV3IE9iamVjdCgpOwoKTGl2ZUpvdXJuYWwucmVnaXN0ZXJfaG9vaygicGFn ZV9sb2FkIiwgZnVuY3Rpb24gKCkgewogIEVTTi5pbml0Q2hlY2tBbGxCdG5zKCk7 CiAgRVNOLmluaXRFdmVudENoZWNrQnRucygpOwogIEVTTi5pbml0VHJhY2tCdG5z KCk7Cn0pOwoKLy8gV2hlbiBwYWdlIGxvYWRzLCBzZXQgdXAgImNoZWNrIGFsbCIg Y2hlY2tib3hlcwpFU04uaW5pdENoZWNrQWxsQnRucyA9IGZ1bmN0aW9uICgpIHsK ICB2YXIgbnRpZHMgID0gJCgibnR5cGVpZHMiKTsKICB2YXIgY2F0aWRzID0gJCgi Y2F0aWRzIik7CgogIGlmICghbnRpZHMgfHwgIWNhdGlkcykKICAgIHJldHVybjsK CiAgbnRpZExpc3QgID0gbnRpZHMudmFsdWU7CiAgY2F0aWRMaXN0ID0gY2F0aWRz LnZhbHVlOwoKICBpZiAoIW50aWRMaXN0IHx8ICFjYXRpZExpc3QpCiAgICByZXR1 cm47CgogIG50aWRzICA9IG50aWRMaXN0LnNwbGl0KCIsIik7CiAgY2F0aWRzID0g Y2F0aWRMaXN0LnNwbGl0KCIsIik7CgogIGNhdGlkcy5mb3JFYWNoKCBmdW5jdGlv biAoY2F0aWQpIHsKICAgIG50aWRzLmZvckVhY2goIGZ1bmN0aW9uIChudHlwZWlk KSB7CiAgICAgIHZhciBjbGFzc05hbWUgPSAiU3Vic2NyaWJlQ2hlY2tib3gtIiAr IGNhdGlkICsgIi0iICsgbnR5cGVpZDsKCiAgICAgIHZhciBjYWIgPSBuZXcgQ2hl Y2thbGxCdXR0b24oKTsKICAgICAgY2FiLmluaXQoewogICAgICAgICJjbGFzcyI6 IGNsYXNzTmFtZSwKICAgICAgICAgICJidXR0b24iOiAkKCJDaGVja0FsbC0iICsg Y2F0aWQgKyAiLSIgKyBudHlwZWlkKSwKICAgICAgICAgICJwYXJlbnQiOiAkKCJD YXRlZ29yeVJvdy0iICsgY2F0aWQpCiAgICAgICAgICB9KTsKICAgIH0pOwogIH0p Owp9CgovLyBzZXQgdXAgYXV0byBzaG93L2hpZGluZyBvZiBub3RpZmljYXRpb24g bWV0aG9kcwpFU04uaW5pdEV2ZW50Q2hlY2tCdG5zID0gZnVuY3Rpb24gKCkgewog IHZhciB2aWV3T2JqZWN0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1l KCIqIik7CiAgdmFyIGJveGVzID0gRE9NLmZpbHRlckVsZW1lbnRzQnlDbGFzc05h bWUodmlld09iamVjdHMsICJTdWJzY3JpcHRpb25JbmJveENoZWNrIikgfHwgW107 CgogIGJveGVzLmZvckVhY2goIGZ1bmN0aW9uIChib3gpIHsKICAgIERPTS5hZGRF dmVudExpc3RlbmVyKGJveCwgImNsaWNrIiwgRVNOLmV2ZW50Q2hlY2tlZC5iaW5k RXZlbnRMaXN0ZW5lcigpKTsKICB9KTsKfQoKRVNOLmV2ZW50Q2hlY2tlZCA9IGZ1 bmN0aW9uIChldnQpIHsKICB2YXIgdGFyZ2V0ID0gZXZ0LnRhcmdldDsKICBpZiAo IXRhcmdldCkKICAgIHJldHVybjsKCiAgdmFyIHBhcmVudFJvdyA9IERPTS5nZXRG aXJzdEFuY2VzdG9yQnlUYWdOYW1lKHRhcmdldCwgInRyIiwgZmFsc2UpOwoKICB2 YXIgdmlld09iamVjdHMgPSBwYXJlbnRSb3cuZ2V0RWxlbWVudHNCeVRhZ05hbWUo IioiKTsKICB2YXIgYm94ZXMgPSBET00uZmlsdGVyRWxlbWVudHNCeUNsYXNzTmFt ZSh2aWV3T2JqZWN0cywgIk5vdGlmaWNhdGlvbk9wdGlvbnMiKSB8fCBbXTsKCiAg Ym94ZXMuZm9yRWFjaCggZnVuY3Rpb24gKGJveCkgewogICAgYm94LnN0eWxlLnZp c2liaWxpdHkgPSB0YXJnZXQuY2hlY2tlZCA/ICJ2aXNpYmxlIiA6ICJoaWRkZW4i OwogIH0pOwp9CgovLyBhdHRhY2ggZXZlbnQgaGFuZGxlcnMgdG8gYWxsIHRyYWNr IGJ1dHRvbnMKRVNOLmluaXRUcmFja0J0bnMgPSBmdW5jdGlvbiAobm9kZSkgewog ICAgLy8gZG9uJ3QgZG8gYW55dGhpbmcgaWYgbm8gcmVtb3RlCiAgICBpZiAoIVNp dGUuaGFzX3JlbW90ZSkgcmV0dXJuOwoKICAgIG5vZGUgPSBub2RlIHx8IGRvY3Vt ZW50OwogICAgdmFyIHRyYWNrQnRucyA9IERPTS5nZXRFbGVtZW50c0J5VGFnQW5k Q2xhc3NOYW1lKG5vZGUsICdpbWcnLCAnVHJhY2tCdXR0b24nKTsKCiAgICB0cmFj a0J0bnMuZm9yRWFjaChmdW5jdGlvbiAodHJhY2tCdG4pIHsKICAgICAgICBpZiAo IXRyYWNrQnRuIHx8ICF0cmFja0J0bi5nZXRBdHRyaWJ1dGUpIHJldHVybjsKCiAg ICAgICAgaWYgKCF0cmFja0J0bi5nZXRBdHRyaWJ1dGUoImxqX3N1YmlkIikgJiYg IXRyYWNrQnRuLmdldEF0dHJpYnV0ZSgibGpfam91cm5hbGlkIikpIHJldHVybjsK CiAgICAgICAgRE9NLmFkZEV2ZW50TGlzdGVuZXIodHJhY2tCdG4sICdjbGljaycs IEVTTi50cmFja0J0bkNsaWNrSGFuZGxlci5iaW5kRXZlbnRMaXN0ZW5lcih0cmFj a0J0bikpOwogICAgfSk7Cn07CgpFU04udHJhY2tCdG5DbGlja0hhbmRsZXIgPSBm dW5jdGlvbiAoZXZ0KSB7CiAgICB2YXIgdHJhY2tCdG4gPSBldnQudGFyZ2V0Owog ICAgaWYgKCEgdHJhY2tCdG4gfHwgdHJhY2tCdG4udGFnTmFtZS50b0xvd2VyQ2Fz ZSgpICE9ICJpbWciKSByZXR1cm4gdHJ1ZTsKCiAgICBFdmVudC5zdG9wKGV2dCk7 CgogICAgdmFyIGJ0bkluZm8gPSB7fTsKCiAgICBbJ2FyZzEnLCAnYXJnMicsICdl dHlwZWlkJywgJ25ld2VudHJ5X2V0eXBlaWQnLCAnbmV3ZW50cnlfdG9rZW4nLCAn bmV3ZW50cnlfc3ViaWQnLAogICAgICdqb3VybmFsaWQnLCAnc3ViaWQnLCAnYXV0 aF90b2tlbiddLmZvckVhY2goZnVuY3Rpb24gKGFyZykgewogICAgICAgIGJ0bklu Zm9bYXJnXSA9IHRyYWNrQnRuLmdldEF0dHJpYnV0ZSgibGpfIiArIGFyZyk7CiAg ICB9KTsKCiAgICAvLyBwb3AgdXAgbGl0dGxlIGRpYWxvZyB0byBlaXRoZXIgdHJh Y2sgYnkgaW5ib3gvZW1haWwgb3IgZ28gdG8gbW9yZSBvcHRpb25zCiAgICB2YXIg ZGxnID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICB2YXIgdGl0 bGUgPSBfdGV4dERpdigiRW1haWwgbWUgd2hlbiIpOwogICAgRE9NLmFkZENsYXNz TmFtZSh0aXRsZSwgInRyYWNrX3RpdGxlIik7CiAgICBkbGcuYXBwZW5kQ2hpbGQo dGl0bGUpOwoKICAgIHZhciBUcmFja0NoZWNrYm94ID0gZnVuY3Rpb24gKHRpdGxl LCBjaGVja2VkKSB7CiAgICAgICAgdmFyIGNoZWNrQ29udGFpbmVyID0gZG9jdW1l bnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CgogICAgICAgIHZhciBuZXdDaGVja2Jv eCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7CiAgICAgICAgbmV3 Q2hlY2tib3gudHlwZSA9ICJjaGVja2JveCI7CiAgICAgICAgbmV3Q2hlY2tib3gu aWQgPSAibmV3ZW50cnl0cmFjayIgKyBVbmlxdWUuaWQoKTsKICAgICAgICB2YXIg bmV3Q2hlY2tib3hMYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxhYmVs Iik7CiAgICAgICAgbmV3Q2hlY2tib3hMYWJlbC5zZXRBdHRyaWJ1dGUoImZvciIs IG5ld0NoZWNrYm94LmlkKTsKICAgICAgICBuZXdDaGVja2JveExhYmVsLmlubmVy SFRNTCA9IHRpdGxlOwoKICAgICAgICBjaGVja0NvbnRhaW5lci5hcHBlbmRDaGls ZChuZXdDaGVja2JveCk7CiAgICAgICAgY2hlY2tDb250YWluZXIuYXBwZW5kQ2hp bGQobmV3Q2hlY2tib3hMYWJlbCk7CiAgICAgICAgZGxnLmFwcGVuZENoaWxkKGNo ZWNrQ29udGFpbmVyKTsKCiAgICAgICAgbmV3Q2hlY2tib3guY2hlY2tlZCA9IGNo ZWNrZWQgPyB0cnVlIDogZmFsc2U7CgogICAgICAgIHJldHVybiBuZXdDaGVja2Jv eDsKICAgIH07CgogICAgLy8gZ2xvYmFsIHRyYWNrUG9wdXAgc28gd2UgY2FuIG9u bHkgaGF2ZSBvbmUKICAgIGlmIChFU04udHJhY2tQb3B1cCkgewogICAgICAgIEVT Ti50cmFja1BvcHVwLmhpZGUoKTsKICAgICAgICBFU04udHJhY2tQb3B1cCA9IG51 bGw7CiAgICB9CgogICAgdmFyIHNhdmVDaGFuZ2VzQnRuID0gZG9jdW1lbnQuY3Jl YXRlRWxlbWVudCgiaW5wdXQiKTsKICAgIHNhdmVDaGFuZ2VzQnRuLnR5cGUgPSAi YnV0dG9uIjsKICAgIHNhdmVDaGFuZ2VzQnRuLnZhbHVlID0gIlNhdmUgQ2hhbmdl cyI7CiAgICBET00uYWRkQ2xhc3NOYW1lKHNhdmVDaGFuZ2VzQnRuLCAidHJhY2tf c2F2ZWNoYW5nZXMiKTsKCiAgICB2YXIgdHJhY2tpbmdOZXdFbnRyaWVzICA9IE51 bWJlcihidG5JbmZvWyduZXdlbnRyeV9zdWJpZCddKSA/IDEgOiAwOwogICAgdmFy IHRyYWNraW5nTmV3Q29tbWVudHMgPSBOdW1iZXIoYnRuSW5mb1snc3ViaWQnXSkg PyAxIDogMDsKCiAgICB2YXIgbmV3RW50cnlUcmFja0J0bjsKICAgIHZhciBjb21t ZW50c1RyYWNrQnRuOwoKICAgIGlmIChOdW1iZXIodHJhY2tCdG4uZ2V0QXR0cmli dXRlKCJsal9kdGFsa2lkIikpKSB7CiAgICAgICAgLy8gdGhpcyBpcyBhIHRocmVh ZCB0cmFja2luZyBidXR0b24KICAgICAgICAvLyBhbHdheXMgY2hlY2tlZDogZWl0 aGVyIGJlY2F1c2UgdGhleSdyZSBzdWJzY3JpYmVkLCBvciBiZWNhdXNlCiAgICAg ICAgLy8gdGhleSdyZSBnb2luZyB0byBzdWJzY3JpYmUuCiAgICAgICAgY29tbWVu dHNUcmFja0J0biA9IFRyYWNrQ2hlY2tib3goInNvbWVvbmUgcmVwbGllcyBpbiB0 aGlzIGNvbW1lbnQgdGhyZWFkIiwgMSk7CiAgICB9IGVsc2UgewogICAgICAgIC8v IGVudHJ5IHRyYWNraW5nIGJ1dHRvbgogICAgICAgIG5ld0VudHJ5VHJhY2tCdG4g PSBUcmFja0NoZWNrYm94KExKX2NtdGluZm9bImpvdXJuYWwiXSArICIgcG9zdHMg YSBuZXcgZW50cnkiLCB0cmFja2luZ05ld0VudHJpZXMpOwogICAgICAgIGNvbW1l bnRzVHJhY2tCdG4gPSBUcmFja0NoZWNrYm94KCJzb21lb25lIGNvbW1lbnRzIG9u IHRoaXMgcG9zdCIsIHRyYWNraW5nTmV3Q29tbWVudHMpOwogICAgfQoKICAgIERP TS5hZGRFdmVudExpc3RlbmVyKHNhdmVDaGFuZ2VzQnRuLCAiY2xpY2siLCBmdW5j dGlvbiAoKSB7CiAgICAgICAgRVNOLnRvZ2dsZVN1YnNjcmlwdGlvbnMoYnRuSW5m bywgZXZ0LCB0cmFja0J0biwgewogICAgICAgICAgICBuZXdFbnRyeTogbmV3RW50 cnlUcmFja0J0biA/IG5ld0VudHJ5VHJhY2tCdG4uY2hlY2tlZCA6IGZhbHNlLAog ICAgICAgICAgICBuZXdDb21tZW50czogY29tbWVudHNUcmFja0J0bi5jaGVja2Vk CiAgICAgICAgfSk7CiAgICAgICAgaWYgKEVTTi50cmFja1BvcHVwKSBFU04udHJh Y2tQb3B1cC5oaWRlKCk7CiAgICB9KTsKCiAgICB2YXIgYnRuc0NvbnRhaW5lciA9 IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgRE9NLmFkZENsYXNz TmFtZShidG5zQ29udGFpbmVyLCAidHJhY2tfYnRuY29udGFpbmVyIik7CiAgICBk bGcuYXBwZW5kQ2hpbGQoYnRuc0NvbnRhaW5lcik7CgogICAgYnRuc0NvbnRhaW5l ci5hcHBlbmRDaGlsZChzYXZlQ2hhbmdlc0J0bik7CgogICAgdmFyIGN1c3RUcmFj a0xpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7CiAgICBjdXN0VHJh Y2tMaW5rLmhyZWYgPSB0cmFja0J0bi5wYXJlbnROb2RlLmhyZWY7CiAgICBidG5z Q29udGFpbmVyLmFwcGVuZENoaWxkKGN1c3RUcmFja0xpbmspOwogICAgY3VzdFRy YWNrTGluay5pbm5lckhUTUwgPSAiTW9yZSBPcHRpb25zIjsKICAgIERPTS5hZGRD bGFzc05hbWUoY3VzdFRyYWNrTGluaywgInRyYWNrX21vcmVvcHRzIik7CgogICAg RVNOLnRyYWNrUG9wdXAgPSBuZXcgTEpfSVBQVS5zaG93Tm90ZUVsZW1lbnQoZGxn LCB0cmFja0J0biwgMCk7CgogICAgRE9NLmFkZEV2ZW50TGlzdGVuZXIoY3VzdFRy YWNrTGluaywgImNsaWNrIiwgZnVuY3Rpb24gKGV2dCkgewogICAgICAgIEV2ZW50 LnN0b3AoZXZ0KTsKICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5ocmVmID0gdHJh Y2tCdG4ucGFyZW50Tm9kZS5ocmVmOwogICAgICAgIGlmIChFU04udHJhY2tQb3B1 cCkgRVNOLnRyYWNrUG9wdXAuaGlkZSgpOwogICAgICAgIHJldHVybiBmYWxzZTsK ICAgIH0pOwoKICAgIHJldHVybiBmYWxzZTsKfQoKLy8gdG9nZ2xlcyBzdWJzY3Jp cHRpb25zCkVTTi50b2dnbGVTdWJzY3JpcHRpb25zID0gZnVuY3Rpb24gKHN1Yklu Zm8sIGV2dCwgYnRuLCBzdWJzKSB7CiAgICBzdWJJbmZvWyJzdWJpZCJdID0gTnVt YmVyKHN1YkluZm9bInN1YmlkIl0pOwogICAgaWYgKChzdWJJbmZvWyJzdWJpZCJd ICYmICEgc3Vic1sibmV3Q29tbWVudHMiXSkKICAgICAgICB8fCAoISBzdWJJbmZv WyJzdWJpZCJdICYmIHN1YnNbIm5ld0NvbW1lbnRzIl0pKSB7CiAgICAgICAgRVNO LnRvZ2dsZVN1YnNjcmlwdGlvbihzdWJJbmZvLCBldnQsIGJ0biwgIm5ld0NvbW1l bnRzIik7CiAgICB9CgogICAgc3ViSW5mb1sibmV3ZW50cnlfc3ViaWQiXSA9IE51 bWJlcihzdWJJbmZvWyJuZXdlbnRyeV9zdWJpZCJdKTsKICAgIGlmICgoc3ViSW5m b1sibmV3ZW50cnlfc3ViaWQiXSAmJiAhIHN1YnNbIm5ld0VudHJ5Il0pCiAgICAg ICAgfHwgKCEgc3ViSW5mb1sibmV3ZW50cnlfc3ViaWQiXSAmJiBzdWJzWyJuZXdF bnRyeSJdKSkgewogICAgICAgICAgICB2YXIgbmV3ZW50cnlTdWJJbmZvID0gbmV3 IE9iamVjdChzdWJJbmZvKTsKICAgICAgICAgICAgbmV3ZW50cnlTdWJJbmZvWyJz dWJpZCJdID0gTnVtYmVyKGJ0bi5nZXRBdHRyaWJ1dGUoImxqX25ld2VudHJ5X3N1 YmlkIikpOwogICAgICAgICAgICBFU04udG9nZ2xlU3Vic2NyaXB0aW9uKG5ld2Vu dHJ5U3ViSW5mbywgZXZ0LCBidG4sICJuZXdFbnRyeSIpOwogICAgfQp9OwoKLy8g KFVuKXN1YnNjcmliZXMgdG8gYW4gZXZlbnQKRVNOLnRvZ2dsZVN1YnNjcmlwdGlv biA9IGZ1bmN0aW9uIChzdWJJbmZvLCBldnQsIGJ0biwgc3ViKSB7CiAgICB2YXIg YWN0aW9uID0gIiI7CiAgICB2YXIgcGFyYW1zID0gewogICAgICAgIGF1dGhfdG9r ZW46IHN1YiA9PSAibmV3RW50cnkiID8gc3ViSW5mby5uZXdlbnRyeV90b2tlbiA6 IHN1YkluZm8uYXV0aF90b2tlbgogICAgfTsKCiAgICBpZiAoTnVtYmVyKHN1Yklu Zm8uc3ViaWQpKSB7CiAgICAgICAgLy8gc3Vic2NyaXB0aW9uIGV4aXN0cwogICAg ICAgIGFjdGlvbiA9ICJkZWxzdWIiOwogICAgICAgIHBhcmFtcy5zdWJpZCA9IHN1 YkluZm8uc3ViaWQ7CiAgICB9IGVsc2UgewogICAgICAgIC8vIGNyZWF0ZSBhIG5l dyBzdWJzY3JpcHRpb24KICAgICAgICBhY3Rpb24gPSAiYWRkc3ViIjsKCiAgICAg ICAgdmFyIHBhcmFtX2tleXM7CiAgICAgICAgaWYgKHN1YiA9PSAibmV3RW50cnki KSB7CiAgICAgICAgICAgIHBhcmFtcy5ldHlwZWlkID0gc3ViSW5mby5uZXdlbnRy eV9ldHlwZWlkOwogICAgICAgICAgICBwYXJhbV9rZXlzID0gWyJqb3VybmFsaWQi XTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwYXJhbV9rZXlzID0gWyJq b3VybmFsaWQiLCAiYXJnMSIsICJhcmcyIiwgImV0eXBlaWQiXTsKICAgICAgICB9 CgogICAgICAgIHBhcmFtX2tleXMuZm9yRWFjaChmdW5jdGlvbiAocGFyYW0pIHsK ICAgICAgICAgICAgaWYgKE51bWJlcihzdWJJbmZvW3BhcmFtXSkpCiAgICAgICAg ICAgICAgICBwYXJhbXNbcGFyYW1dID0gcGFyc2VJbnQoc3ViSW5mb1twYXJhbV0p OwogICAgICAgIH0pOwogICAgfQoKICAgIHBhcmFtcy5hY3Rpb24gPSBhY3Rpb247 CgogICAgdmFyIHJlcUluZm8gPSB7CiAgICAgICAgIm1ldGhvZCI6ICJQT1NUIiwK ICAgICAgICAidXJsIjogICAgTGl2ZUpvdXJuYWwuZ2V0QWpheFVybCgnZXNuX3N1 YnMnKSwKICAgICAgICAiZGF0YSI6ICAgSFRUUFJlcS5mb3JtRW5jb2RlZChwYXJh bXMpCiAgICB9OwoKICAgIHZhciBnb3RJbmZvQ2FsbGJhY2sgPSBmdW5jdGlvbiAo aW5mbykgewogICAgICAgIGlmICghIGluZm8pIHJldHVybiBMSl9JUFBVLnNob3dO b3RlKCJFcnJvciBjaGFuZ2luZyBzdWJzY3JpcHRpb24iLCBidG4pOwoKICAgICAg ICBpZiAoaW5mby5lcnJvcikgcmV0dXJuIExKX0lQUFUuc2hvd05vdGUoaW5mby5l cnJvciwgYnRuKTsKCiAgICAgICAgaWYgKGluZm8uc3VjY2VzcykgewogICAgICAg ICAgICBpZiAoaW5mby5tc2cpCiAgICAgICAgICAgICAgICBMSl9JUFBVLnNob3dO b3RlKGluZm8ubXNnLCBidG4pOwoKICAgICAgICAgICAgaWYgKGluZm8uc3Vic2Ny aWJlZCkgewogICAgICAgICAgICAgICAgaWYgKGluZm8uc3ViaWQpCiAgICAgICAg ICAgICAgICAgICAgRE9NLnNldEVsZW1lbnRBdHRyaWJ1dGUoYnRuLCAibGpfc3Vi aWQiLCBpbmZvLnN1YmlkKTsKICAgICAgICAgICAgICAgIGlmIChpbmZvLm5ld2Vu dHJ5X3N1YmlkKQogICAgICAgICAgICAgICAgICAgIERPTS5zZXRFbGVtZW50QXR0 cmlidXRlKGJ0biwgImxqX25ld2VudHJ5X3N1YmlkIiwgaW5mby5uZXdlbnRyeV9z dWJpZCk7CgoKICAgICAgICAgICAgICAgIERPTS5zZXRFbGVtZW50QXR0cmlidXRl KGJ0biwgInRpdGxlIiwgJ1VudHJhY2sgVGhpcycpOwoKICAgICAgICAgICAgICAg IC8vIHVwZGF0ZSBzdWJ0aHJlYWQgdHJhY2tpbmcgaWNvbnMKICAgICAgICAgICAg ICAgIHZhciBkdGFsa2lkID0gYnRuLmdldEF0dHJpYnV0ZSgibGpfZHRhbGtpZCIp OwogICAgICAgICAgICAgICAgaWYgKGR0YWxraWQpCiAgICAgICAgICAgICAgICAg ICAgRVNOLnVwZGF0ZVRocmVhZEljb25zKGR0YWxraWQsICJvbiIpOwogICAgICAg ICAgICAgICAgZWxzZSAvLyBub3QgdGhyZWFkIHRyYWNraW5nIGJ1dHRvbgogICAg ICAgICAgICAgICAgICAgIGJ0bi5zcmMgPSBTaXRlLmltZ3ByZWZpeCArICIvYnRu X3RyYWNraW5nLmdpZiI7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAg ICAgICBpZiAoaW5mb1siZXZlbnRfY2xhc3MiXSA9PSAiTEo6OkV2ZW50OjpKb3Vy bmFsTmV3Q29tbWVudCIpCiAgICAgICAgICAgICAgICAgICAgRE9NLnNldEVsZW1l bnRBdHRyaWJ1dGUoYnRuLCAibGpfc3ViaWQiLCAwKTsKICAgICAgICAgICAgICAg IGVsc2UgaWYgKGluZm9bImV2ZW50X2NsYXNzIl0gPT0gIkxKOjpFdmVudDo6Sm91 cm5hbE5ld0VudHJ5IikKICAgICAgICAgICAgICAgICAgICBET00uc2V0RWxlbWVu dEF0dHJpYnV0ZShidG4sICJsal9uZXdlbnRyeV9zdWJpZCIsIDApOwoKICAgICAg ICAgICAgICAgIERPTS5zZXRFbGVtZW50QXR0cmlidXRlKGJ0biwgInRpdGxlIiwg J1RyYWNrIFRoaXMnKTsKCiAgICAgICAgICAgICAgICAvLyB1cGRhdGUgc3VidGhy ZWFkIHRyYWNraW5nIGljb25zCiAgICAgICAgICAgICAgICB2YXIgZHRhbGtpZCA9 IGJ0bi5nZXRBdHRyaWJ1dGUoImxqX2R0YWxraWQiKTsKICAgICAgICAgICAgICAg IGlmIChkdGFsa2lkKSB7CiAgICAgICAgICAgICAgICAgICAgLy8gc2V0IHN0YXRl IHRvICJvZmYiIGlmIG5vIHBhcmVudHMgdHJhY2tpbmcgdGhpcywKICAgICAgICAg ICAgICAgICAgICAvLyBvdGhlcndpc2Ugc2V0IHN0YXRlIHRvICJwYXJlbnQiCiAg ICAgICAgICAgICAgICAgICAgdmFyIHN0YXRlID0gIm9mZiI7CiAgICAgICAgICAg ICAgICAgICAgdmFyIHBhcmVudEJ0bjsKICAgICAgICAgICAgICAgICAgICB2YXIg cGFyZW50X2R0YWxraWQgPSBkdGFsa2lkOwogICAgICAgICAgICAgICAgICAgIHdo aWxlIChwYXJlbnRCdG4gPSBFU04uZ2V0VGhyZWFkUGFyZW50QnRuKHBhcmVudF9k dGFsa2lkKSkgewogICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRfZHRhbGtp ZCA9IHBhcmVudEJ0bi5nZXRBdHRyaWJ1dGUoImxqX2R0YWxraWQiKTsKICAgICAg ICAgICAgICAgICAgICAgICAgaWYgKCEgcGFyZW50X2R0YWxraWQpIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGxvZygiY291bGQgbm90IGZpbmQgcGFyZW50 X2R0YWxraWQiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwog ICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAg ICBpZiAoISBOdW1iZXIocGFyZW50QnRuLmdldEF0dHJpYnV0ZSgibGpfc3ViaWQi KSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAg ICAgICAgICAgICAgICAgICAgc3RhdGUgPSAicGFyZW50IjsKICAgICAgICAgICAg ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICBFU04udXBkYXRlVGhyZWFkSWNvbnMoZHRhbGtpZCwgc3Rh dGUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAg ICAvLyBub3QgdGhyZWFkIHRyYWNraW5nIGJ1dHRvbgogICAgICAgICAgICAgICAg ICAgIGJ0bi5zcmMgPSBTaXRlLmltZ3ByZWZpeCArICIvYnRuX3RyYWNrLmdpZiI7 CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlm IChpbmZvLmF1dGhfdG9rZW4pCiAgICAgICAgICAgICAgICBET00uc2V0RWxlbWVu dEF0dHJpYnV0ZShidG4sICJsal9hdXRoX3Rva2VuIiwgaW5mby5hdXRoX3Rva2Vu KTsKICAgICAgICAgICAgaWYgKGluZm8ubmV3ZW50cnlfdG9rZW4pCiAgICAgICAg ICAgICAgICBET00uc2V0RWxlbWVudEF0dHJpYnV0ZShidG4sICJsal9uZXdlbnRy eV90b2tlbiIsIGluZm8ubmV3ZW50cnlfdG9rZW4pOwogICAgICAgIH0KICAgIH07 CgogICAgcmVxSW5mby5vbkRhdGEgPSBnb3RJbmZvQ2FsbGJhY2s7CiAgICByZXFJ bmZvLm9uRXJyb3IgPSBmdW5jdGlvbiAoZXJyKSB7IExKX0lQUFUuc2hvd05vdGUo IkVycm9yOiAiICsgZXJyKSB9OwoKICAgIEhUVFBSZXEuZ2V0SlNPTihyZXFJbmZv KTsKfTsKCi8vIGdpdmVuIGEgZHRhbGtpZCwgZmluZCB0aGUgdHJhY2sgYnV0dG9u IGZvciBpdHMgcGFyZW50IGNvbW1lbnQgKGlmIGFueSkKRVNOLmdldFRocmVhZFBh cmVudEJ0biA9IGZ1bmN0aW9uIChkdGFsa2lkKSB7CiAgICB2YXIgY210SW5mbyA9 IExKX2NtdGluZm9bZHRhbGtpZCArICIiXTsKICAgIGlmICghIGNtdEluZm8pIHsK ICAgICAgICBsb2coIm5vIGNvbW1lbnQgaW5mbyIpOwogICAgICAgIHJldHVybiBu dWxsOwogICAgfQoKICAgIHZhciBwYXJlbnRfZHRhbGtpZCA9IGNtdEluZm8ucGFy ZW50OwogICAgaWYgKCEgcGFyZW50X2R0YWxraWQpCiAgICAgICAgcmV0dXJuIG51 bGw7CgogICAgcmV0dXJuICQoImxqX3RyYWNrX2J0bl8iICsgcGFyZW50X2R0YWxr aWQpOwp9OwoKLy8gdXBkYXRlIGFsbCB0aGUgdHJhY2tpbmcgaWNvbnMgdW5kZXIg YSBwYXJlbnQgY29tbWVudApFU04udXBkYXRlVGhyZWFkSWNvbnMgPSBmdW5jdGlv biAoZHRhbGtpZCwgdHJhY2tpbmcpIHsKICAgIHZhciBidG4gPSAkKCJsal90cmFj a19idG5fIiArIGR0YWxraWQpOwogICAgaWYgKCEgYnRuKSB7CiAgICAgICAgbG9n KCJubyBidXR0b24iKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgdmFyIGNt dEluZm8gPSBMSl9jbXRpbmZvW2R0YWxraWQgKyAiIl07CiAgICBpZiAoISBjbXRJ bmZvKSB7CiAgICAgICAgbG9nKCJubyBjb21tZW50IGluZm8iKTsKICAgICAgICBy ZXR1cm47CiAgICB9CgogICAgaWYgKE51bWJlcihidG4uZ2V0QXR0cmlidXRlKCJs al9zdWJpZCIpKSAmJiB0cmFja2luZyAhPSAib24iKSB7CiAgICAgICAgLy8gc3Vi c2NyaXB0aW9uIGFscmVhZHkgZXhpc3RzIG9uIHRoaXMgYnV0dG9uLCBkb24ndCBt ZXNzIHdpdGggaXQKICAgICAgICByZXR1cm47CiAgICB9CgogICAgaWYgKGNtdElu Zm8ucmMgJiYgY210SW5mby5yYy5sZW5ndGgpIHsKICAgICAgICAvLyB1cGRhdGUg Y2hpbGRyZW4KICAgICAgICBjbXRJbmZvLnJjLmZvckVhY2goZnVuY3Rpb24gKGNo aWxkX2R0YWxraWQpIHsKICAgICAgICAgICAgd2luZG93LnNldFRpbWVvdXQoZnVu Y3Rpb24gKCkgewogICAgICAgICAgICAgICAgdmFyIHN0YXRlOwogICAgICAgICAg ICAgICAgc3dpdGNoICh0cmFja2luZykgewogICAgICAgICAgICAgICAgY2FzZSAi b24iOgogICAgICAgICAgICAgICAgICAgIHN0YXRlID0gInBhcmVudCI7CiAgICAg ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlICJvZmYi OgogICAgICAgICAgICAgICAgICAgIHN0YXRlID0gIm9mZiI7CiAgICAgICAgICAg ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlICJwYXJlbnQiOgog ICAgICAgICAgICAgICAgICAgIHN0YXRlID0gInBhcmVudCI7CiAgICAgICAgICAg ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAg ICAgICAgICAgICAgIGFsZXJ0KCJVbmtub3duIHRyYWNraW5nIHN0YXRlICIgKyB0 cmFja2luZyk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICBFU04udXBkYXRlVGhyZWFkSWNvbnMoY2hp bGRfZHRhbGtpZCwgc3RhdGUpOwogICAgICAgICAgICB9LCAzMDApOwogICAgICAg IH0pOwogICAgfQoKICAgIC8vIHVwZGF0ZSBpY29uCiAgICB2YXIgdXJpOwogICAg c3dpdGNoICh0cmFja2luZykgewogICAgICAgIGNhc2UgIm9uIjoKICAgICAgICAg ICAgdXJpID0gIi9idG5fdHJhY2tpbmcuZ2lmIjsKICAgICAgICAgICAgYnJlYWs7 CiAgICAgICAgY2FzZSAib2ZmIjoKICAgICAgICAgICAgdXJpID0gIi9idG5fdHJh Y2suZ2lmIjsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAicGFyZW50 IjoKICAgICAgICAgICAgdXJpID0gIi9idG5fdHJhY2tpbmdfdGhyZWFkLmdpZiI7 CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAg IGFsZXJ0KCJVbmtub3duIHRyYWNraW5nIHN0YXRlICIgKyB0cmFja2luZyk7CiAg ICAgICAgICAgIGJyZWFrOwogICAgfQoKICAgIGJ0bi5zcmMgPSBTaXRlLmltZ3By ZWZpeCArIHVyaTsKfTsKLyoKICBJUFBVIG1ldGhvZHM6CiAgICAgaW5pdChbaW5u ZXJIVE1MXSkgLS0gdGFrZXMgaW5uZXJIVE1MIGFzIG9wdGlvbmFsIGFyZ3VtZW50 CiAgICAgc2hvdygpIC0tIHNob3dzIHRoZSBwb3B1cAogICAgIGhpZGUoKSAtLSBo aWRlcyBwb3B1cAogICAgIGNhbmNlbCgpIC0tIGhpZGVzIGFuZCBjYWxscyBjYW5j ZWwgY2FsbGJhY2sKCiAgQ29udGVudCBzZXR0ZXJzOgogICAgIHNldENvbnRlbnQo aW5uZXJIVE1MKSAtLSBzZXQgaW5uZXJIVE1MCiAgICAgc2V0Q29udGVudEVsZW1l bnQoZWxlbWVudCkgLS0gYWRkcyBlbGVtZW50IGFzIGEgY2hpbGQgb2YgdGhlIHBv cHVwCgogICBBY2Nlc3NvcnM6CiAgICAgZ2V0RWxlbWVudCgpIC0tIHJldHVybnMg cG9wdXAgRElWIGVsZW1lbnQKICAgICB2aXNpYmxlKCkgLS0gcmV0dXJucyB3aGV0 aGVyIHRoZSBwb3B1cCBpcyB2aXNpYmxlIG9yIG5vdAoKICAgVGl0bGViYXI6CiAg ICAgc2V0VGl0bGViYXIoc2hvdykgLS0gdHJ1ZTogc2hvdyB0aXRsZWJhciAvIGZh bHNlOiBubyB0aXRsZWJhcgogICAgIHNldFRpdGxlKHRpdGxlKSAtLSBzZXRzIHRo ZSB0aXRsZWJhciB0ZXh0CiAgICAgZ2V0VGl0bGViYXJFbGVtZW50KCkgLS0gcmV0 dXJucyB0aGUgdGl0bGViYXIgZWxlbWVudAogICAgIHNldFRpdGxlYmFyQ2xhc3Mo Y2xhc3NOYW1lKSAtLSBzZXQgdGhlIGNsYXNzIG9mIHRoZSB0aXRsZWJhcgoKICAg U3R5bGluZzoKICAgICBzZXRPdmVyZmxvdyhvdmVyZmxvdykgLS0gc2V0cyBlbGUu c3R5bGUub3ZlcmZsb3cgdG8gb3ZlcmZsb3cKICAgICBhZGRDbGFzcyhjbGFzc05h bWUpIC0tIGFkZHMgY2xhc3MgdG8gcG9wdXAKICAgICByZW1vdmVDbGFzcyhjbGFz c05hbWUpIC0tIHJlbW92ZXMgY2xhc3MgdG8gcG9wdXAKCiAgIEJyb3dzZXIgSGFj a3M6CiAgICAgc2V0QXV0b0hpZGVTZWxlY3RzKGF1dG9oaWRlKSAtLSB3aGVuIHRo ZSBwb3B1cCBpcyBzaG93biBzaG91bGQgaXQgZmluZCBhbGwgdGhlIHNlbGVjdHMK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbiB0aGUgcGFnZSBhbmQg aGlkZSB0aGVtIChhbmQgc2hvdyB0aGVtIGFnYWluKSAoZm9yIElFKQoKICAgUG9z aXRpb25pbmcvU2l6aW5nOgogICAgIHNldExvY2F0aW9uKGxlZnQsIHRvcCkgLS0g c2V0IHBvcHVwIGxvY2F0aW9uOiB3aWxsIGJlIHBpeGVscyBpZiB1bml0cyBub3Qg c3BlY2lmaWVkCiAgICAgc2V0TGVmdChsZWZ0KSAtLSBzZXQgbGVmdCBsb2NhdGlv bgogICAgIHNldFRvcCh0b3ApICAgLS0gc2V0IHRvcCBsb2NhdGlvbgogICAgIHNl dERpbWVuc2lvbnMod2lkdGgsIGhlaWdodCkgLS0gc2V0IHBvcHVwIGRpbWVuc2lv bnM6IHdpbGwgYmUgcGl4ZWxzIGlmIHVuaXRzIG5vdCBzcGVjaWZpZWQKICAgICBz ZXRBdXRvQ2VudGVyKHgsIHkpIC0tIHdoYXQgZGltZW5zaW9ucyB0byBhdXRvLWNl bnRlcgogICAgIGNlbnRlcigpIC0tIGNlbnRlcnMgcG9wdXAgb24gc2NyZWVuCiAg ICAgY2VudGVyWCgpIC0tIGNlbnRlcnMgcG9wdXAgaG9yaXpvbnRhbGx5CiAgICAg Y2VudGVyWSgpIC0tIGNlbnRlcnMgcG9wdXAgdmVydGljYWxseQogICAgIHNldEZp eGVkUG9zaXRpb24oZml4ZWQpIC0tIHNob3VsZCB0aGUgcG9wdXAgc3RheSBmaXhl ZCBvbiB0aGUgcGFnZSB3aGVuIGl0IHNjcm9sbHM/CiAgICAgY2VudGVyT25XaWRn ZXQod2lkZ2V0KSAtLSBjZW50ZXIgcG9wdXAgb24gdGhpcyB3aWRnZXQKICAgICBz ZXRBdXRvQ2VudGVyQ2FsbGJhY2soY2FsbGJhY2spIC0tIGNhbGxzIGNhbGxiYWNr IHdpdGggdGhpcyBJUFBVIGluc3RhbmNlIGFzIGEgcGFyYW1ldGVyCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgYXV0by1jZW50ZXJp bmcuIFNvbWUgY29tbW9uIGJ1aWx0LWluIGNsYXNzIG1ldGhvZHMKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHlvdSBjYW4gdXNlIGFzIGNh bGxiYWNrcyBhcmU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJUFBVLmNlbnRlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgSVBQVS5jZW50ZXJYCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJUFBVLmNlbnRlclkKCiAgICAgbW92ZUZvcndhcmQoYW1v dW50KSAtLSBpbmNyZWFzZXMgdGhlIHpJbmRleCBieSBvbmUgb3IgYW1vdW50IGlm IHNwZWNpZmllZAogICAgIG1vdmVCYWNrd2FyZChhbW91bnQpIC0tIGRlY3JlYXNl cyB0aGUgekluZGV4IGJ5IG9uZSBvciBhbW91bnQgaWYgc3BlY2lmaWVkCgogICBN b2RhbGl0eToKICAgICBzZXRDbGlja1RvQ2xvc2UoY2xpY2tUb0Nsb3NlKSAtLSBp ZiBjbGlja1RvQ2xvc2UgaXMgdHJ1ZSwgY2xpY2tpbmcgb3V0c2lkZSBvZiB0aGUg cG9wdXAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWxs IGNsb3NlIGl0CiAgICAgc2V0TW9kYWwobW9kYWxpdHkpIC0tIElmIG1vZGFsaXR5 IGlzIHRydWUsIHRoZW4gcG9wdXAgd2lsbCBjYXB0dXJlIGFsbCBtb3VzZSBldmVu dHMKICAgICAgICAgICAgICAgICAgICAgYW5kIG9wdGlvbmFsbHkgZ3JheSBvdXQg dGhlIHJlc3Qgb2YgdGhlIHBhZ2UuIChvdmVycmlkZXMgY2xpY2tUb0Nsb3NlKQog ICAgIHNldE92ZXJsYXlWaXNpYmxlKHZpc2libGUpIC0tIElmIHZpc2libGUgaXMg dHJ1ZSwgd2hlbiB0aGlzIHBvcHVwIGlzIG9uIHRoZSBwYWdlIGl0CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lsbCBncmF5IG91dCB0aGUgcmVz dCBvZiB0aGUgcGFnZSBpZiB0aGlzIGlzIG1vZGFsCgogICBDYWxsYmFja3M6CiAg ICAgc2V0Q2FuY2VsbGVkQ2FsbGJhY2soY2FsbGJhY2spIC0tIGNhbGwgdGhpcyB3 aGVuIHRoZSBkaWFsb2cgaXMgY2xvc2VkIHRocm91Z2ggY2xpY2tpbmcKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0c2lkZSwgdGl0bGVi YXIgY2xvc2UgYnV0dG9uLCBldGMuLi4KICAgICBzZXRIaWRkZW5DYWxsYmFjayhj YWxsYmFjaykgLS0gY2FsbGVkIHdoZW4gdGhlIGRpYWxvZyBpcyBjbG9zZWQgaW4g YW55IGZhc2hpb24KCiAgIEZhZGluZzoKICAgICBzZXRGYWRlSW4oZmFkZUluKSAt LSBzZXQgd2hldGhlciBvciBub3QgdG8gYXV0b21hdGljYWxseSBmYWRlIHRoZSBp cHB1IGluCiAgICAgc2V0RmFkZU91dChmYWRlT3V0KSAtLSBzZXQgd2hldGhlciBv ciBub3QgdG8gYXV0b21hdGljYWxseSBmYWRlIHRoZSBpcHB1IG91dAogICAgIHNl dEZhZGVTcGVlZChzZWNzKSAtLSBzZXRzIGZhZGUgc3BlZWQKCiAgQ2xhc3MgTWV0 aG9kczoKICAgSGFuZHkgY2FsbGJhY2tzOgogICAgIElQUFUuY2VudGVyCiAgICAg SVBQVS5jZW50ZXJYCiAgICAgSVBQVS5jZW50ZXJZCiAgIEJyb3dzZXIgdGVzdGlu ZzoKICAgICBJUFBVLmlzSUUoKSAtLSBpcyB0aGUgYnJvd3NlciBpbnRlcm5ldCBl eHBsb2Rlcj8KICAgICBJUFBVLmllU2FmYXJpKCkgLS0gaXMgdGhpcyBzYWZhcmk/ CgovLy8vLy8vLy8vLy8vLy8vLy8vLwoKCmlwcHUuc2V0TW9kYWxEZW5pYWxDYWxs YmFjayhJUFBVLmNzc0JvcmRlckZsYXNoKTsKCgogICBwcml2YXRlOgogICAgUHJv cGVydGllczoKICAgICBlbGUgLS0gRE9NIG5vZGUgb2YgZGl2CiAgICAgc2hvd24g LS0gYm9vbGVhbjsgaWYgZWxlbWVudCBpcyBpbiBET00KICAgICBhdXRvQ2VudGVy WCAtLSBib29sZWFuOyBhdXRvLWNlbnRlciBob3JpegogICAgIGF1dG9DZW50ZXJZ IC0tIGJvb2xlYW47IGF1dG8tY2VudGVyIHZlcnRpY2FsCiAgICAgZml4ZWRQb3Np dGlvbiAtLSBib29sZWFuOyBzdGF5IGluIGZpeGVkIHBvc2l0aW9uIHdoZW4gYnJv d3NlciBzY3JvbGxzPwogICAgIHRpdGxlYmFyIC0tIHRpdGxlYmFyIGVsZW1lbnQK ICAgICB0aXRsZSAtLSBzdHJpbmc7IHRleHQgdG8gZ28gaW4gdGl0bGViYXIKICAg ICBzaG93VGl0bGViYXIgLS0gYm9vbGVhbjsgd2hldGhlciBvciBub3QgdG8gc2hv dyB0aXRsZWJhcgogICAgIGNvbnRlbnQgLS0gRElWIGNvbnRhaW5pbmcgdXNlcidz IHNwZWNpZmllZCBjb250ZW50CiAgICAgY2xpY2tUb0Nsb3NlIC0tIGJvb2xlYW47 IGNsaWNraW5nIG91dHNpZGUgcG9wdXAgd2lsbCBjbG9zZSBpdAogICAgIGNsaWNr SGFuZGxlclNldHVwIC0tIGJvb2xlYW47IGhhdmUgd2Ugc2V0IHVwIHRoZSBjbGlj ayBoYW5kbGVycz8KICAgICBkb2NPdmVybGF5IC0tIERJViB0aGF0IG92ZXJsYXlz IHRoZSBkb2N1bWVudCBmb3IgY2FwdHVyaW5nIGNsaWNrcwogICAgIG1vZGFsIC0t IGJvb2xlYW47IGNhcHR1cmUgYWxsIGV2ZW50cyBhbmQgcHJldmVudCB1c2VyIGZy b20gZG9pbmcgYW55dGhpbmcKICAgICAgICAgICAgICAgICAgICAgICB1bnRpbCBk aWFsb2cgaXMgZGlzbWlzc2VkCiAgICAgdmlzaWJsZU92ZXJsYXkgLS0gYm9vbGVh bjsgbWFrZSBvdmVybGF5IHNsaWdodGx5IG9wYXF1ZQogICAgIGNsaWNrSGFuZGxl ckZ1bmMgLS0gZnVuY3Rpb247IGZ1bmN0aW9uIHRvIGhhbmRsZSBkb2N1bWVudCBj bGlja3MKICAgICByZXNpemVIYW5kbGVyRnVuYyAtLSBmdW5jdGlvbjsgZnVuY3Rp b24gdG8gaGFuZGxlIGRvY3VtZW50IHJlc2l6aW5nCiAgICAgYXV0b0NlbnRlckNh bGxiYWNrIC0tIGZ1bmN0aW9uOyB3aGF0IGNhbGxiYWNrIHRvIGNhbGwgZm9yIGF1 dG8tY2VudGVyaW5nCiAgICAgY2FuY2VsbGVkQ2FsbGJhY2sgLS0gZnVuY3Rpb247 IGNhbGxlZCB3aGVuIGRpYWxvZyBpcyBjYW5jZWxsZWQKICAgICBzZXRBdXRvSGlk ZVNlbGVjdHMgLS0gYm9vbGVhbjsgYXV0b2hpZGUgYWxsIFNFTEVDVCBlbGVtZW50 cyBvbiB0aGUgcGFnZSB3aGVuIHBvcHVwIGlzIHZpc2libGUKICAgICBoaWRkZW5T ZWxlY3RzIC0tIGFycmF5OyBTRUxFQ1QgZWxlbWVudHMgdGhhdCBoYXZlIGJlZW4g aGlkZGVuCiAgICAgaGlkZGVuQ2FsbGJhY2sgLS0gZnVuY2l0b247IGNhbGxlZCB3 aGVuIGRpYWxvZyBpcyBoaWRkZW4KICAgICBmYWRlSW4sIGZhZGVPdXQsIGZhZGVT cGVlZCAtLSBmYWRpbmcgc2V0dGluZ3MKICAgICBmYWRlTW9kZSAtLSBjdXJyZW50 IGZhZGluZyBtb2RlIChpbiwgb3V0KSBpZiB0aGVyZSBpcyBmYWRpbmcgZ29pbmcg b24KCiAgICBNZXRob2RzOgogICAgIHVwZGF0ZVRpdGxlYmFyKCkgLS0gY3JlYXRl IHRpdGxlYmFyIGlmIGl0IGRvZXNuJ3QgZXhpc3QsCiAgICAgICAgICAgICAgICAg ICAgICAgICBoaWRlIGl0IGlmIHRpdGxlYmFyID09IGZhbHNlLAogICAgICAgICAg ICAgICAgICAgICAgICAgdXBkYXRlIHRpdGxlYmFyIHRleHQKICAgICB1cGRhdGVD b250ZW50KCkgLS0gbWFrZXMgc3VyZSBhbGwgY3VycmVudGx5IHNwZWNpZmllZCBw cm9wZXJ0aWVzIGFyZSBhcHBsaWVkCiAgICAgc2V0dXBDbGlja0NhcHR1cmUoKSAt LSBpZiBtb2RhbCwgY3JlYXRlIGRvY3VtZW50LXNpemVkIGRpdiBvdmVybGF5IHRv IGNhcHR1cmUgY2xpY2sgZXZlbnRzCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBvdGhlcndpc2UgaW5zdGFsbCBkb2N1bWVudCBvbmNsaWNrIGhhbmRsZXIKICAg ICByZW1vdmVDbGlja0hhbmRsZXJzKCkgLS0gcmVtb3ZlIG92ZXJsYXksIGV2ZW50 IGhhbmRsZXJzCiAgICAgY2xpY2tIYW5kbGVyKCkgLS0gZXZlbnQgaGFuZGxlciBm b3IgY2xpY2tzCiAgICAgdXBkYXRlT3ZlcmxheSgpIC0tIGlmIHdlIGhhdmUgYW4g b3ZlcmxheSwgbWFrZSBzdXJlIGl0J3Mgd2hlcmUgaXQgc2hvdWxkIGJlIGFuZCAo aW4pdmlzaWJsZQogICAgICAgICAgICAgICAgICAgICAgICBpZiBpdCBzaG91bGQg YmUKICAgICBhdXRvQ2VudGVyKCkgLS0gY2VudGVycyBwb3B1cCBvbiBzY3JlZW4g YWNjb3JkaW5nIHRvIGF1dG9DZW50ZXJYIGFuZCBhdXRvQ2VudGVyWQogICAgIGhp ZGVTZWxlY3RzKCkgLS0gaGlkZSBhbGwgc2VsZWN0IGVsZW1lbnQgb24gcGFnZQog ICAgIHNob3dTZWxlY3RzKCkgLS0gc2hvdyBhbGwgc2VsZWN0cwogICAgIF9oaWRl ICgpIC0tIGFjdHVhbGx5IGhpZGVzIGV2ZXJ5dGhpbmcsIGNhbGxlZCBieSBoaWRl KCksIHdoaWNoIGRvZXMgZmFkaW5nIGlmIG5lY2Vzc2FyeQoqLwoKLy8gdGhpcyBi ZWxvbmdzIHNvbWV3aGVyZSBlbHNlOgpmdW5jdGlvbiBjaGFuZ2VPcGFjKGlkLCBv cGFjaXR5KSB7CiAgICB2YXIgZSA9ICAkKGlkKTsKICAgIGlmIChlICYmIGUuc3R5 bGUpIHsKICAgICAgICB2YXIgb2JqZWN0ID0gZS5zdHlsZTsKICAgICAgICBpZiAo b2JqZWN0KSB7CiAgICAgICAgICAgIC8vcmVkdWNlIGZsaWNrZXIKICAgICAgICAg ICAgaWYgKElQUFUuaXNTYWZhcmkoKSAmJiBvcGFjaXR5ID49IDEwMCkKICAgICAg ICAgICAgICAgIG9wYWNpdHkgPSA5OS45OTsKCiAgICAgICAgICAgIC8vIElFCiAg ICAgICAgICAgIGlmIChvYmplY3QuZmlsdGVycykKICAgICAgICAgICAgICAgIG9i amVjdC5maWx0ZXJzLmFscGhhLm9wYWNpdHkgPSBvcGFjaXR5ICogMTAwOwoKICAg ICAgICAgICAgb2JqZWN0Lm9wYWNpdHkgPSBvcGFjaXR5OwogICAgICAgIH0KICAg IH0KfQoKSVBQVSA9IG5ldyBDbGFzcyggT2JqZWN0LCB7CiAgc2V0Rml4ZWRQb3Np dGlvbjogZnVuY3Rpb24gKGZpeGVkKSB7CiAgICAvLyBubyBmaXhlZCBwb3NpdGlv biBmb3IgSUUKICAgIGlmIChJUFBVLmlzSUUoKSkKICAgICAgcmV0dXJuOwoKICAg IHRoaXMuZml4ZWRQb3NpdGlvbiA9IGZpeGVkOwogICAgdGhpcy51cGRhdGVDb250 ZW50KCk7CiAgfSwKCiAgY2xpY2tIYW5kbGVyIDogZnVuY3Rpb24gKGV2dCkgewog ICAgaWYgKCF0aGlzLmNsaWNrVG9DbG9zZSkgcmV0dXJuOwogICAgaWYgKCF0aGlz LnZpc2libGUoKSkgcmV0dXJuOwoKICAgIGV2dCA9IEV2ZW50LnByZXAoZXZ0KTsK ICAgIHZhciB0YXJnZXQgPSBldnQudGFyZ2V0OwogICAgLy8gZG9uJ3QgZG8gYW55 dGhpbmcgaWYgaW5zaWRlIHRoZSBwb3B1cAogICAgaWYgKERPTS5nZXRBbmNlc3Rv cnNCeUNsYXNzTmFtZSh0YXJnZXQsICJpcHB1IiwgdHJ1ZSkubGVuZ3RoID4gMCkg cmV0dXJuOwogICAgdGhpcy5jYW5jZWwoKTsKICB9LAoKICBzZXRDYW5jZWxsZWRD YWxsYmFjayA6IGZ1bmN0aW9uIChjYWxsYmFjaykgewogICAgdGhpcy5jYW5jZWxs ZWRDYWxsYmFjayA9IGNhbGxiYWNrOwogIH0sCgogIGNhbmNlbCA6IGZ1bmN0aW9u ICgpIHsKICAgIGlmICh0aGlzLmNhbmNlbGxlZENhbGxiYWNrKQogICAgICB0aGlz LmNhbmNlbGxlZENhbGxiYWNrKCk7CiAgICB0aGlzLmhpZGUoKTsKICB9LAoKICBz ZXRIaWRkZW5DYWxsYmFjazogZnVuY3Rpb24gKGNhbGxiYWNrKSB7CiAgICB0aGlz LmhpZGRlbkNhbGxiYWNrID0gY2FsbGJhY2s7CiAgfSwKCiAgc2V0dXBDbGlja0Nh cHR1cmUgOiBmdW5jdGlvbiAoKSB7CiAgICBpZiAoIXRoaXMudmlzaWJsZSgpIHx8 IHRoaXMuY2xpY2tIYW5kbGVyU2V0dXApe3JldHVybjt9CiAgICBpZiAoIXRoaXMu Y2xpY2tUb0Nsb3NlICYmICF0aGlzLm1vZGFsKSB7cmV0dXJuO30KCiAgICB0aGlz LmNsaWNrSGFuZGxlckZ1bmMgPSB0aGlzLmNsaWNrSGFuZGxlci5iaW5kRXZlbnRM aXN0ZW5lcih0aGlzKTsKCiAgICBpZiAodGhpcy5tb2RhbCkgewogICAgICAvLyBj cmVhdGUgZG9jdW1lbnQtc2l6ZWQgZGl2IHRvIGNhcHR1cmUgZXZlbnRzCiAgICAg IGlmICh0aGlzLm92ZXJsYXkpIHJldHVybjsgLy8gd3RmPyBzaG91bGRuJ3QgZXhp c3QgeWV0CiAgICAgIHRoaXMub3ZlcmxheSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l bnQoImRpdiIpOwogICAgICB0aGlzLm92ZXJsYXkuc3R5bGUubGVmdCA9ICIwcHgi OwogICAgICB0aGlzLm92ZXJsYXkuc3R5bGUudG9wID0gIjBweCI7CiAgICAgIHRo aXMub3ZlcmxheS5zdHlsZS5tYXJnaW4gPSAiMHB4IjsKICAgICAgdGhpcy5vdmVy bGF5LnN0eWxlLnBhZGRpbmcgPSAiMHB4IjsKICAgICAgCiAgICAgIHRoaXMub3Zl cmxheS5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAiIzAwMDAwMCI7CiAgICAgIHRo aXMub3ZlcmxheS5zdHlsZS56SW5kZXg9IjkwMCI7CiAgICAgIGlmIChJUFBVLmlz SUUoKSl7CiAgICAgIAkJdGhpcy5vdmVybGF5LnN0eWxlLmZpbHRlcj0icHJvZ2lk OkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKG9wYWNpdHk9NTApIjsK CQl0aGlzLm92ZXJsYXkuc3R5bGUucG9zaXRpb249ImFic29sdXRlIjsKCQl0aGlz Lm92ZXJsYXkuc3R5bGUud2lkdGg9ZG9jdW1lbnQuYm9keS5zY3JvbGxXaWR0aDsK CQl0aGlzLm92ZXJsYXkuc3R5bGUuaGVpZ2h0PWRvY3VtZW50LmJvZHkuc2Nyb2xs SGVpZ2h0OwogICAgICB9CiAgICAgIGVsc2V7CiAgICAgIAl0aGlzLm92ZXJsYXku c3R5bGUucG9zaXRpb24gPSAiZml4ZWQiOwogICAgICB9CgogICAgICB0aGlzLmVs ZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLm92ZXJsYXksIHRoaXMuZWxl KTsKICAgICAgdGhpcy51cGRhdGVPdmVybGF5KCk7CgogICAgICBET00uYWRkRXZl bnRMaXN0ZW5lcih0aGlzLm92ZXJsYXksICJjbGljayIsIHRoaXMuY2xpY2tIYW5k bGVyRnVuYyk7CiAgICB9IGVsc2UgewogICAgICAvLyBzaW1wbGUgZG9jdW1lbnQg b25jbGljayBoYW5kbGVyCiAgICAgIERPTS5hZGRFdmVudExpc3RlbmVyKGRvY3Vt ZW50LCAiY2xpY2siLCB0aGlzLmNsaWNrSGFuZGxlckZ1bmMpOwogICAgfQoKICAg IHRoaXMuY2xpY2tIYW5kbGVyU2V0dXAgPSB0cnVlOwogIH0sCgogIHVwZGF0ZU92 ZXJsYXkgOiBmdW5jdGlvbiAoKSB7CiAgICBpZiAodGhpcy5vdmVybGF5KSB7CiAg ICAgIHZhciBjZCA9IERPTS5nZXRDbGllbnREaW1lbnNpb25zKCk7CiAgICAgIHRo aXMub3ZlcmxheS5zdHlsZS53aWR0aCA9IChjZC54IC0gMSkgKyAicHgiOwogICAg ICBpZighSVBQVS5pc0lFKCkpewogICAgICAJdGhpcy5vdmVybGF5LnN0eWxlLmhl aWdodCA9IChjZC55IC0gMSkgKyAicHgiOwogICAgICB9CQogICAgICBpZiAodGhp cy52aXNpYmxlT3ZlcmxheSkgewogICAgICAgIHRoaXMub3ZlcmxheS5iYWNrZ3Jv dW5kQ29sb3IgPSAiIzAwMDAwMCI7CiAgICAgICAgY2hhbmdlT3BhYyh0aGlzLm92 ZXJsYXksIDAuNTApOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMub3Zlcmxh eS5iYWNrZ3JvdW5kQ29sb3IgPSAiI0ZGRkZGRiI7CiAgICAgICAgY2hhbmdlT3Bh Yyh0aGlzLm92ZXJsYXksIDAuMCk7CiAgICAgIH0KICAgIH0KICB9LAoKICByZXNp emVIYW5kbGVyIDogZnVuY3Rpb24gKGV2dCkgewogICAgdGhpcy51cGRhdGVDb250 ZW50KCk7CiAgfSwKCiAgcmVtb3ZlQ2xpY2tIYW5kbGVycyA6IGZ1bmN0aW9uICgp IHsKICAgIGlmICghdGhpcy5jbGlja0hhbmRsZXJTZXR1cCkgcmV0dXJuOwoKICAg IHZhciBteXNlbGYgPSB0aGlzOwogICAgdmFyIGhhbmRsZXJGdW5jID0gZnVuY3Rp b24gKGV2dCkgewogICAgICBteXNlbGYuY2xpY2tIYW5kbGVyKGV2dCk7CiAgICB9 OwoKICAgIERPTS5yZW1vdmVFdmVudExpc3RlbmVyKGRvY3VtZW50LCAiY2xpY2si LCB0aGlzLmNsaWNrSGFuZGxlckZ1bmMsIGZhbHNlKTsKCiAgICBpZiAodGhpcy5v dmVybGF5KSB7CiAgICAgIERPTS5yZW1vdmVFdmVudExpc3RlbmVyKHRoaXMub3Zl cmxheSwgImNsaWNrIiwgdGhpcy5jbGlja0hhbmRsZXJGdW5jLCB0cnVlKTsKICAg ICAgdGhpcy5vdmVybGF5LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5vdmVy bGF5KTsKICAgICAgdGhpcy5vdmVybGF5ID0gdW5kZWZpbmVkOwogICAgfQoKICAg IHRoaXMuY2xpY2tIYW5kbGVyRnVuYyA9IHVuZGVmaW5lZDsKICAgIHRoaXMuY2xp Y2tIYW5kbGVyU2V0dXAgPSBmYWxzZTsKICB9LAoKICBzZXRDbGlja1RvQ2xvc2Ug OiBmdW5jdGlvbiAoY2xpY2tUb0Nsb3NlKSB7CiAgICB0aGlzLmNsaWNrVG9DbG9z ZSA9IGNsaWNrVG9DbG9zZTsKCiAgICBpZiAoIXRoaXMuY2xpY2tIYW5kbGVyU2V0 dXAgJiYgY2xpY2tUb0Nsb3NlICYmIHRoaXMudmlzaWJsZSgpKSB7CiAgICAgIC8v IHBvcHVwIGlzIGFscmVhZHkgdmlzaWJsZSwgbmVlZCB0byBzZXQgdXAgY2xpY2sg aGFuZGxlcgogICAgICB2YXIgc2V0dXBDbGlja0NhcHR1cmVDYWxsYmFjayA9IHRo aXMuc2V0dXBDbGlja0NhcHR1cmUuYmluZCh0aGlzKTsKICAgICAgd2luZG93LnNl dFRpbWVvdXQoc2V0dXBDbGlja0NhcHR1cmVDYWxsYmFjaywgMTAwKTsKICAgIH0g ZWxzZSBpZiAoIWNsaWNrVG9DbG9zZSAmJiB0aGlzLmNsaWNrSGFuZGxlclNldHVw KSB7CiAgICAgIHRoaXMucmVtb3ZlQ2xpY2tIYW5kbGVycygpOwogICAgfQoKICAg IHRoaXMudXBkYXRlQ29udGVudCgpOwogIH0sCgogIHNldE1vZGFsIDogZnVuY3Rp b24gKG1vZGFsKSB7CiAgICB2YXIgY2hhbmdlZCA9ICh0aGlzLm1vZGFsID09IG1v ZGFsKTsKCiAgICAvLyBpZiBpdCdzIG1vZGFsLCB3ZSBkb24ndCB3YW50IGNsaWNr LXRvLWNsb3NlCiAgICBpZiAobW9kYWwpCiAgICAgIHRoaXMuc2V0Q2xpY2tUb0Ns b3NlKGZhbHNlKTsKCiAgICB0aGlzLm1vZGFsID0gbW9kYWw7CiAgICBpZiAoY2hh bmdlZCkgewogICAgICB0aGlzLnJlbW92ZUNsaWNrSGFuZGxlcnMoKTsKICAgICAg dGhpcy51cGRhdGVDb250ZW50KCk7CiAgICB9CiAgfSwKCiAgc2V0T3ZlcmxheVZp c2libGUgOiBmdW5jdGlvbiAodmlzKSB7CiAgICB0aGlzLnZpc2libGVPdmVybGF5 ID0gdmlzOwogICAgdGhpcy51cGRhdGVDb250ZW50KCk7CiAgfSwKCiAgdXBkYXRl Q29udGVudCA6IGZ1bmN0aW9uICgpIHsKICAgIHRoaXMuYXV0b0NlbnRlcigpOwog ICAgdGhpcy51cGRhdGVUaXRsZWJhcigpOwogICAgdGhpcy51cGRhdGVPdmVybGF5 KCk7CiAgICBpZiAodGhpcy50aXRsZWJhcikKICAgICAgdGhpcy5zZXRUaXRsZWJh ckNsYXNzKHRoaXMudGl0bGViYXIuY2xhc3NOYW1lKTsKCiAgICB2YXIgc2V0dXBD bGlja0NhcHR1cmVDYWxsYmFjayA9IHRoaXMuc2V0dXBDbGlja0NhcHR1cmUuYmlu ZCh0aGlzKTsKICAgIHdpbmRvdy5zZXRUaW1lb3V0KHNldHVwQ2xpY2tDYXB0dXJl Q2FsbGJhY2ssIDEwMCk7CgogICAgaWYgKHRoaXMuZml4ZWRQb3NpdGlvbiAmJiB0 aGlzLmVsZS5zdHlsZS5wb3NpdGlvbiAhPSAiZml4ZWQiKQogICAgICB0aGlzLmVs ZS5zdHlsZS5wb3NpdGlvbiA9ICJmaXhlZCI7CiAgICBlbHNlIGlmICghdGhpcy5m aXhlZFBvc2l0aW9uICYmIHRoaXMuZWxlLnN0eWxlLnBvc2l0aW9uID09ICJmaXhl ZCIpCiAgICAgIHRoaXMuZWxlLnN0eWxlLnBvc2l0aW9uID0gImFic29sdXRlIjsK ICB9LAoKICBnZXRUaXRsZWJhckVsZW1lbnQgOiBmdW5jdGlvbiAoKSB7CiAgICBy ZXR1cm4gdGhpcy50aXRsZWJhcjsKICB9LAoKICBzZXRUaXRsZWJhckNsYXNzIDog ZnVuY3Rpb24gKGNsYXNzTmFtZSkgewogICAgaWYgKHRoaXMudGl0bGViYXIpCiAg ICAgIHRoaXMudGl0bGViYXIuY2xhc3NOYW1lID0gY2xhc3NOYW1lOwogIH0sCgog IHNldE92ZXJmbG93IDogZnVuY3Rpb24gKG92ZXJmbG93KSB7CiAgICBpZiAodGhp cy5lbGUpCiAgICAgIHRoaXMuZWxlLnN0eWxlLm92ZXJmbG93ID0gb3ZlcmZsb3c7 CiAgfSwKCiAgdmlzaWJsZSA6IGZ1bmN0aW9uICgpIHsKICAgIHJldHVybiB0aGlz LnNob3duOwogIH0sCgogIHNldFRpdGxlYmFyIDogZnVuY3Rpb24gKHNob3cpIHsK ICAgIHRoaXMuc2hvd1RpdGxlYmFyID0gc2hvdzsKCiAgICBpZiAoc2hvdykgewog ICAgICBpZiAoIXRoaXMudGl0bGViYXIpIHsKICAgICAgICAvLyB0aXRsZWJhciBo YXNuJ3QgYmVlbiBjcmVhdGVkLiBDcmVhdGUgaXQuCiAgICAgICAgdmFyIHRiYXIg PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICAgICBpZiAoIXRi YXIpIHJldHVybjsKICAgICAgICB0YmFyLnN0eWxlLndpZHRoID0gIjEwMCUiOwoK ICAgICAgICBpZiAodGhpcy50aXRsZSkgdGJhci5pbm5lckhUTUwgPSB0aGlzLnRp dGxlOwogICAgICAgIHRoaXMuZWxlLmluc2VydEJlZm9yZSh0YmFyLCB0aGlzLmNv bnRlbnQpOwogICAgICAgIHRoaXMudGl0bGViYXIgPSB0YmFyOwoKICAgICAgfQog ICAgfSBlbHNlIGlmICh0aGlzLnRpdGxlYmFyKSB7CiAgICAgIHRoaXMuZWxlLnJl bW92ZUNoaWxkKHRoaXMudGl0bGViYXIpOwogICAgICB0aGlzLnRpdGxlYmFyID0g ZmFsc2U7CiAgICB9CiAgfSwKCiAgc2V0VGl0bGUgOiBmdW5jdGlvbiAodGl0bGUp IHsKICAgIHRoaXMudGl0bGUgPSB0aXRsZTsKICAgIHRoaXMudXBkYXRlVGl0bGVi YXIoKTsKICB9LAoKICB1cGRhdGVUaXRsZWJhciA6IGZ1bmN0aW9uKCkgewogICAg aWYgKHRoaXMuc2hvd1RpdGxlYmFyICYmIHRoaXMudGl0bGViYXIgJiYgdGhpcy50 aXRsZSAhPSB0aGlzLnRpdGxlYmFyLmlubmVySFRNTCkgewogICAgICB0aGlzLnRp dGxlYmFyLmlubmVySFRNTCA9IHRoaXMudGl0bGU7CiAgICB9CiAgfSwKCiAgYWRk Q2xhc3MgOiBmdW5jdGlvbiAoY2xhc3NOYW1lKSB7CiAgICBET00uYWRkQ2xhc3NO YW1lKHRoaXMuZWxlLCBjbGFzc05hbWUpOwogIH0sCgogIHJlbW92ZUNsYXNzIDog ZnVuY3Rpb24gKGNsYXNzTmFtZSkgewogICAgRE9NLnJlbW92ZUNsYXNzTmFtZSh0 aGlzLmVsZSwgY2xhc3NOYW1lKTsKICB9LAoKICBzZXRBdXRvQ2VudGVyQ2FsbGJh Y2sgOiBmdW5jdGlvbiAoY2FsbGJhY2spIHsKICAgIHRoaXMuYXV0b0NlbnRlckNh bGxiYWNrID0gY2FsbGJhY2s7CiAgfSwKCiAgYXV0b0NlbnRlciA6IGZ1bmN0aW9u ICgpIHsKICAgIGlmICghdGhpcy52aXNpYmxlIHx8ICF0aGlzLnZpc2libGUoKSkg cmV0dXJuOwoKICAgIGlmICh0aGlzLmF1dG9DZW50ZXJDYWxsYmFjaykgewogICAg ICB0aGlzLmF1dG9DZW50ZXJDYWxsYmFjayh0aGlzKTsKICAgICAgcmV0dXJuOwog ICAgfQoKICAgIGlmICh0aGlzLmF1dG9DZW50ZXJYKQogICAgICB0aGlzLmNlbnRl clgoKTsKCiAgICBpZiAodGhpcy5hdXRvQ2VudGVyWSkKICAgICAgdGhpcy5jZW50 ZXJZKCk7CiAgfSwKCiAgY2VudGVyIDogZnVuY3Rpb24gKCkgewogICAgdGhpcy5j ZW50ZXJYKCk7CiAgICB0aGlzLmNlbnRlclkoKTsKICB9LAoKICBjZW50ZXJPbldp ZGdldCA6IGZ1bmN0aW9uICh3aWRnZXQsIG9mZnNldFRvcCwgb2Zmc2V0TGVmdCkg ewogICAgICAgIG9mZnNldFRvcCA9IG9mZnNldFRvcCB8fCAwOwogICAgICAgIG9m ZnNldExlZnQgPSBvZmZzZXRMZWZ0IHx8IDA7CiAgICAgICAgdGhpcy5zZXRBdXRv Q2VudGVyKGZhbHNlLCBmYWxzZSk7CiAgICAgICAgdGhpcy5zZXRBdXRvQ2VudGVy Q2FsbGJhY2sobnVsbCk7CiAgdmFyIHdkID0gRE9NLmdldEFic29sdXRlRGltZW5z aW9ucyh3aWRnZXQpOwogICAgdmFyIGVkID0gRE9NLmdldEFic29sdXRlRGltZW5z aW9ucyh0aGlzLmVsZSk7CiAgICB2YXIgbmV3bGVmdCA9ICh3ZC5hYnNvbHV0ZVJp Z2h0IC0gd2Qub2Zmc2V0V2lkdGggLyAyIC0gZWQub2Zmc2V0V2lkdGggLyAyKSAr IG9mZnNldExlZnQ7CiAgICB2YXIgbmV3dG9wID0gKHdkLmFic29sdXRlQm90dG9t IC0gd2Qub2Zmc2V0SGVpZ2h0IC8gMiAtIGVkLm9mZnNldEhlaWdodCAvIDIpICsg b2Zmc2V0VG9wOwoKICAgICAgICBuZXdsZWZ0ID0gbmV3bGVmdCA8IDAgPyAwIDog bmV3bGVmdDsKICAgICAgICBuZXd0b3AgID0gbmV3dG9wICA8IDAgPyAwIDogbmV3 dG9wOwogICAgRE9NLnNldExlZnQodGhpcy5lbGUsIG5ld2xlZnQpOwogICAgRE9N LnNldFRvcCh0aGlzLmVsZSwgbmV3dG9wKTsKICB9LAoKICBjZW50ZXJYIDogZnVu Y3Rpb24gKCkgewogICAgaWYgKCF0aGlzLnZpc2libGUgfHwgIXRoaXMudmlzaWJs ZSgpKSByZXR1cm47CgogICAgdmFyIGNkID0gRE9NLmdldENsaWVudERpbWVuc2lv bnMoKTsKICAgIHZhciBuZXdsZWZ0ID0gY2QueCAvIDIgLSBET00uZ2V0RGltZW5z aW9ucyh0aGlzLmVsZSkub2Zmc2V0V2lkdGggLyAyOwoKICAgIC8vIElmIG5vdCBm aXhlZCBwb3NpdGlvbiwgY2VudGVyIHJlbGF0aXZlIHRvIHRoZSBsZWZ0IG9mIHRo ZSBwYWdlCiAgICBpZiAoIXRoaXMuZml4ZWRQb3NpdGlvbikgewogICAgICAgIHZh ciB3ZCA9IERPTS5nZXRXaW5kb3dTY3JvbGwoKTsKICAgICAgICBuZXdsZWZ0ICs9 IHdkLmxlZnQ7CiAgICB9CgogICBET00uc2V0TGVmdCh0aGlzLmVsZSwgbmV3bGVm dCk7CiAgfSwKCiAgY2VudGVyWSA6IGZ1bmN0aW9uICgpIHsKICAgIGlmICghdGhp cy52aXNpYmxlIHx8ICF0aGlzLnZpc2libGUoKSkgcmV0dXJuOwoKICAgIHZhciBj ZCA9IERPTS5nZXRDbGllbnREaW1lbnNpb25zKCk7CiAgICB2YXIgbmV3dG9wID0g Y2QueSAvIDIgLSBET00uZ2V0RGltZW5zaW9ucyh0aGlzLmVsZSkub2Zmc2V0SGVp Z2h0IC8gMjsKCiAgICAvLyBJZiBub3QgZml4ZWQgcG9zaXRpb24sIGNlbnRlciBy ZWxhdGl2ZSB0byB0aGUgdG9wIG9mIHRoZSBwYWdlCiAgICBpZiAoIXRoaXMuZml4 ZWRQb3NpdGlvbikgewogICAgICAgIHZhciB3ZCA9IERPTS5nZXRXaW5kb3dTY3Jv bGwoKTsKICAgICAgICBuZXd0b3AgKz0gd2QudG9wOwogICAgfQoKICAgIERPTS5z ZXRUb3AodGhpcy5lbGUsIG5ld3RvcCk7CiAgfSwKCiAgc2V0QXV0b0NlbnRlciA6 IGZ1bmN0aW9uIChhdXRvQ2VudGVyWCwgYXV0b0NlbnRlclkpIHsKICAgIHRoaXMu YXV0b0NlbnRlclggPSBhdXRvQ2VudGVyWCB8fCBmYWxzZTsKICAgIHRoaXMuYXV0 b0NlbnRlclkgPSBhdXRvQ2VudGVyWSB8fCBmYWxzZTsKCiAgICBpZiAoIWF1dG9D ZW50ZXJYICYmICFhdXRvQ2VudGVyWSkgewogICAgICAgIHRoaXMuc2V0QXV0b0Nl bnRlckNhbGxiYWNrKG51bGwpOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICB0 aGlzLmF1dG9DZW50ZXIoKTsKICB9LAoKICBzZXREaW1lbnNpb25zIDogZnVuY3Rp b24gKHdpZHRoLCBoZWlnaHQpIHsKICAgIHdpZHRoID0gd2lkdGggKyAiIjsKICAg IGhlaWdodCA9IGhlaWdodCArICIiOwogICAgaWYgKHdpZHRoLm1hdGNoKC9eXGQr JC8pKSB3aWR0aCArPSAicHgiOwogICAgaWYgKGhlaWdodC5tYXRjaCgvXlxkKyQv KSkgaGVpZ2h0ICs9ICJweCI7CgogICAgdGhpcy5lbGUuc3R5bGUud2lkdGggID0g d2lkdGg7CiAgICB0aGlzLmVsZS5zdHlsZS5oZWlnaHQgPSBoZWlnaHQ7CiAgfSwK CiAgbW92ZUZvcndhcmQgOiBmdW5jdGlvbiAoaG93TXVjaCkgewogICAgICBpZiAo IWhvd011Y2gpIGhvd011Y2ggPSAxOwogICAgICBpZiAoISB0aGlzLmVsZSkgcmV0 dXJuOwoKICAgICAgdGhpcy5lbGUuc3R5bGUuekluZGV4ICs9IGhvd011Y2g7CiAg fSwKCiAgbW92ZUJhY2t3YXJkIDogZnVuY3Rpb24gKGhvd011Y2gpIHsKICAgICAg aWYgKCFob3dNdWNoKSBob3dNdWNoID0gMTsKICAgICAgaWYgKCEgdGhpcy5lbGUp IHJldHVybjsKCiAgICAgIHRoaXMuZWxlLnN0eWxlLnpJbmRleCAtPSBob3dNdWNo OwogIH0sCgogIHNldExvY2F0aW9uIDogZnVuY3Rpb24gKGxlZnQsIHRvcCkgewog ICAgICB0aGlzLnNldExlZnQobGVmdCk7CiAgICAgIHRoaXMuc2V0VG9wKHRvcCk7 CiAgfSwKCiAgc2V0VG9wIDogZnVuY3Rpb24gKHRvcCkgewogICAgdG9wID0gdG9w ICsgIiI7CiAgICBpZiAodG9wLm1hdGNoKC9eXGQrJC8pKSB0b3AgKz0gInB4IjsK ICAgIHRoaXMuZWxlLnN0eWxlLnRvcCA9IHRvcDsKICB9LAoKICBzZXRMZWZ0IDog ZnVuY3Rpb24gKGxlZnQpIHsKICAgIGxlZnQgPSBsZWZ0ICsgIiI7CiAgICBpZiAo bGVmdC5tYXRjaCgvXlxkKyQvKSkgbGVmdCArPSAicHgiOwogICAgdGhpcy5lbGUu c3R5bGUubGVmdCA9IGxlZnQ7CiAgfSwKCiAgZ2V0RWxlbWVudCA6IGZ1bmN0aW9u ICgpIHsKICAgIHJldHVybiB0aGlzLmVsZTsKICB9LAoKICBzZXRDb250ZW50IDog ZnVuY3Rpb24gKGh0bWwpIHsKICAgIHRoaXMuY29udGVudC5pbm5lckhUTUwgPSBo dG1sOwogIH0sCgogIHNldENvbnRlbnRFbGVtZW50IDogZnVuY3Rpb24gKGVsZW1l bnQpIHsKICAgICAgLy8gcmVtb3ZlIGNoaWxkIG5vZGVzCiAgICAgIHdoaWxlICh0 aGlzLmNvbnRlbnQuZmlyc3RDaGlsZCkgewogICAgICAgICAgdGhpcy5jb250ZW50 LnJlbW92ZUNoaWxkKHRoaXMuY29udGVudC5maXJzdENoaWxkKTsKICAgICAgfTsK CiAgICB0aGlzLmNvbnRlbnQuYXBwZW5kQ2hpbGQoZWxlbWVudCk7CiAgfSwKCiAg c2V0RmFkZUluIDogZnVuY3Rpb24gKGZhZGVJbikgewogICAgICB0aGlzLmZhZGVJ biA9IGZhZGVJbjsKICB9LAoKICBzZXRGYWRlT3V0IDogZnVuY3Rpb24gKGZhZGVP dXQpIHsKICAgICAgdGhpcy5mYWRlT3V0ID0gZmFkZU91dDsKICB9LAoKICBzZXRG YWRlU3BlZWQgOiBmdW5jdGlvbiAoZmFkZVNwZWVkKSB7CiAgICAgIHRoaXMuZmFk ZVNwZWVkID0gZmFkZVNwZWVkOwogIH0sCgogIHNob3cgOiBmdW5jdGlvbiAoKSB7 CiAgICB0aGlzLnNob3duID0gdHJ1ZTsKCiAgICBpZiAodGhpcy5mYWRlSW4pIHsK ICAgICAgICB2YXIgb3BwID0gMC4wMTsKCiAgICAgICAgY2hhbmdlT3BhYyh0aGlz LmVsZSwgb3BwKTsKICAgIH0KCiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk KHRoaXMuZWxlKTsKICAgIHRoaXMuZWxlLnN0eWxlLnBvc2l0aW9uID0gImFic29s dXRlIjsKICAgIGlmICh0aGlzLmF1dG9DZW50ZXJYIHx8IHRoaXMuYXV0b0NlbnRl clkpIHRoaXMuY2VudGVyKCk7CgogICAgdGhpcy51cGRhdGVDb250ZW50KCk7Cgog ICAgaWYgKCF0aGlzLnJlc2l6ZUhhbmRsZXJGdW5jKSB7CiAgICAgIHRoaXMucmVz aXplSGFuZGxlckZ1bmMgPSB0aGlzLnJlc2l6ZUhhbmRsZXIuYmluZEV2ZW50TGlz dGVuZXIodGhpcyk7CiAgICAgIERPTS5hZGRFdmVudExpc3RlbmVyKHdpbmRvdywg InJlc2l6ZSIsIHRoaXMucmVzaXplSGFuZGxlckZ1bmMsIGZhbHNlKTsKICAgIH0K CiAgICBpZiAodGhpcy5mYWRlSW4pCiAgICAgICAgdGhpcy5mYWRlKCJpbiIpOwoK ICAgIHRoaXMuaGlkZVNlbGVjdHMoKTsKICB9LAoKICBmYWRlIDogZnVuY3Rpb24g KG1vZGUsIGNhbGxiYWNrKSB7CiAgICAgIHZhciBvcHA7CiAgICAgIHZhciBkZWx0 YTsKCiAgICAgIHZhciBzdGVwcyA9IDEwLjA7CgogICAgICBpZiAobW9kZSA9PSAi aW4iKSB7CiAgICAgICAgICBkZWx0YSA9IDEgLyBzdGVwczsKICAgICAgICAgIG9w cCA9IDAuMTsKICAgICAgfSBlbHNlIHsKICAgICAgICAgIGlmICh0aGlzLmVsZS5z dHlsZS5vcGFjaXR5KQogICAgICAgICAgb3BwID0gZmluaXRlRmxvYXQodGhpcy5l bGUuc3R5bGUub3BhY2l0eSk7CiAgICAgICAgICBlbHNlCiAgICAgICAgICBvcHAg PSAwLjk5OwoKICAgICAgICAgIGRlbHRhID0gLTEgLyBzdGVwczsKICAgICAgfQoK ICAgICAgdmFyIGZhZGVTcGVlZCA9IHRoaXMuZmFkZVNwZWVkOwogICAgICBpZiAo IWZhZGVTcGVlZCkgZmFkZVNwZWVkID0gMTsKCiAgICAgIHZhciBmYWRlSW50ZXJ2 YWwgPSBzdGVwcyAvIGZhZGVTcGVlZCAqIDU7CgogICAgICB0aGlzLmZhZGVNb2Rl ID0gbW9kZTsKCiAgICAgIHZhciBzZWxmID0gdGhpczsKICAgICAgdmFyIGZhZGUg PSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICBvcHAgKz0gZGVsdGE7CgogICAgICAg ICAgLy8gZGlkIHNvbWVvbmUgc3RhcnQgYSBmYWRlIGluIHRoZSBvdGhlciBkaXJl Y3Rpb24/IGlmIHNvLAogICAgICAgICAgLy8gY2FuY2VsIHRoaXMgZmFkZQogICAg ICAgICAgaWYgKHNlbGYuZmFkZU1vZGUgJiYgc2VsZi5mYWRlTW9kZSAhPSBtb2Rl KSB7CiAgICAgICAgICAgICAgaWYgKGNhbGxiYWNrKQogICAgICAgICAgICAgICAg ICBjYWxsYmFjay5jYWxsKHNlbGYsIFtdKTsKCiAgICAgICAgICAgICAgcmV0dXJu OwogICAgICAgICAgfQoKICAgICAgICAgIGlmIChvcHAgPD0gMC4xKSB7CiAgICAg ICAgICAgICAgaWYgKGNhbGxiYWNrKQogICAgICAgICAgICAgICAgICBjYWxsYmFj ay5jYWxsKHNlbGYsIFtdKTsKCiAgICAgICAgICAgICAgc2VsZi5mYWRlTW9kZSA9 IG51bGw7CgogICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgIH0gZWxzZSBp ZiAob3BwID49IDEuMCkgewogICAgICAgICAgICAgIGlmIChjYWxsYmFjaykKICAg ICAgICAgICAgICAgICAgY2FsbGJhY2suY2FsbChzZWxmLCBbXSk7CgogICAgICAg ICAgICAgIHNlbGYuZmFkZU1vZGUgPSBudWxsOwoKICAgICAgICAgICAgICByZXR1 cm47CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIGNoYW5nZU9wYWMo c2VsZi5lbGUsIG9wcCk7CiAgICAgICAgICAgICAgd2luZG93LnNldFRpbWVvdXQo ZmFkZSwgZmFkZUludGVydmFsKTsKICAgICAgICAgIH0KICAgICAgfTsKCiAgICAg IGZhZGUoKTsKICB9LAoKICBoaWRlIDogZnVuY3Rpb24gKCkgewogICAgaWYgKCEg dGhpcy52aXNpYmxlKCkpIHJldHVybjsKCiAgICBpZiAodGhpcy5mYWRlT3V0ICYm IHRoaXMuZWxlKSB7CiAgICAgICAgdGhpcy5mYWRlKCJvdXQiLCB0aGlzLl9oaWRl LmJpbmQodGhpcykpOwogICAgfSBlbHNlIHsKICAgICAgICB0aGlzLl9oaWRlKCk7 CiAgICB9CiAgfSwKCiAgX2hpZGUgOiBmdW5jdGlvbiAoKSB7CiAgICBpZiAodGhp cy5oaWRkZW5DYWxsYmFjaykKICAgICAgdGhpcy5oaWRkZW5DYWxsYmFjaygpOwoK ICAgIHRoaXMuc2hvd24gPSBmYWxzZTsKICAgIHRoaXMucmVtb3ZlQ2xpY2tIYW5k bGVycygpOwoKICAgIGlmICh0aGlzLmVsZSkKICAgIGRvY3VtZW50LmJvZHkucmVt b3ZlQ2hpbGQodGhpcy5lbGUpOwoKICAgIGlmICh0aGlzLnJlc2l6ZUhhbmRsZXJG dW5jKQogICAgICBET00ucmVtb3ZlRXZlbnRMaXN0ZW5lcih3aW5kb3csICJyZXNp emUiLCB0aGlzLnJlc2l6ZUhhbmRsZXJGdW5jKTsKCiAgICB0aGlzLnNob3dTZWxl Y3RzKCk7CiAgfSwKCiAgLy8geW91IHByb2JhYmx5IHdhbnQgdGhpcyBmb3IgSUUg YmVpbmcgZHVtYgogIC8vIChJRSB0aGlua3Mgc2VsZWN0IGVsZW1lbnRzIGFyZSBj b29sIGFuZCBwdXRzIHRoZW0gaW4gZnJvbnQgb2YgZXZlcnkgZWxlbWVudCBvbiB0 aGUgcGFnZSkKICBzZXRBdXRvSGlkZVNlbGVjdHMgOiBmdW5jdGlvbiAoYXV0b2hp ZGUpIHsKICAgIHRoaXMuYXV0b0hpZGVTZWxlY3RzID0gYXV0b2hpZGU7CiAgICB0 aGlzLnVwZGF0ZUNvbnRlbnQoKTsKICB9LAoKICBoaWRlU2VsZWN0cyA6IGZ1bmN0 aW9uICgpIHsKICAgIGlmICghdGhpcy5hdXRvSGlkZVNlbGVjdHMgfHwgIUlQUFUu aXNJRSgpKSByZXR1cm47CiAgICB2YXIgc2VscyA9IGRvY3VtZW50LmdldEVsZW1l bnRzQnlUYWdOYW1lKCJzZWxlY3QiKTsKICAgIHZhciBlbGU7CiAgICBmb3IgKHZh ciBpID0gMDsgaSA8IHNlbHMubGVuZ3RoOyBpKyspIHsKICAgICAgZWxlID0gc2Vs c1tpXTsKICAgICAgaWYgKCFlbGUpIGNvbnRpbnVlOwoKICAgICAgLy8gaWYgdGhp cyBlbGVtZW50IGlzIGluc2lkZSB0aGUgaXBwdSwgc2tpcCBpdAogICAgICBpZiAo RE9NLmdldEFuY2VzdG9yc0J5Q2xhc3NOYW1lKGVsZSwgImlwcHUiLCB0cnVlKS5s ZW5ndGggPiAwKSBjb250aW51ZTsKCiAgICAgIGlmIChlbGUuc3R5bGUudmlzaWJp bGl0eSAhPSAnaGlkZGVuJykgewogICAgICAgIGVsZS5zdHlsZS52aXNpYmlsaXR5 ID0gJ2hpZGRlbic7CiAgICAgICAgdGhpcy5oaWRkZW5TZWxlY3RzLnB1c2goZWxl KTsKICAgICAgfQogICAgfQogIH0sCgogIHNob3dTZWxlY3RzIDogZnVuY3Rpb24g KCkgewogICAgaWYgKCEgdGhpcy5hdXRvSGlkZVNlbGVjdHMpIHJldHVybjsKICAg IHZhciBlbGU7CiAgICB3aGlsZSAoZWxlID0gdGhpcy5oaWRkZW5TZWxlY3RzLnBv cCgpKQogICAgICBlbGUuc3R5bGUudmlzaWJpbGl0eSA9ICcnOwogIH0sCgogIGlu aXQ6IGZ1bmN0aW9uIChodG1sKSB7CiAgICB2YXIgZWxlID0gZG9jdW1lbnQuY3Jl YXRlRWxlbWVudCgiZGl2Iik7CiAgICB0aGlzLmVsZSA9IGVsZTsKICAgIHRoaXMu c2hvd24gPSBmYWxzZTsKICAgIHRoaXMuYXV0b0NlbnRlclggPSBmYWxzZTsKICAg IHRoaXMuYXV0b0NlbnRlclkgPSBmYWxzZTsKICAgIHRoaXMudGl0bGViYXIgPSBu dWxsOwogICAgdGhpcy50aXRsZSA9ICIiOwogICAgdGhpcy5zaG93VGl0bGViYXIg PSBmYWxzZTsKICAgIHRoaXMuY2xpY2tUb0Nsb3NlID0gZmFsc2U7CiAgICB0aGlz Lm1vZGFsID0gZmFsc2U7CiAgICB0aGlzLmNsaWNrSGFuZGxlclNldHVwID0gZmFs c2U7CiAgICB0aGlzLmRvY092ZXJsYXkgPSBmYWxzZTsKICAgIHRoaXMudmlzaWJs ZU92ZXJsYXkgPSBmYWxzZTsKICAgIHRoaXMuY2xpY2tIYW5kbGVyRnVuYyA9IGZh bHNlOwogICAgdGhpcy5yZXNpemVIYW5kbGVyRnVuYyA9IGZhbHNlOwogICAgdGhp cy5maXhlZFBvc2l0aW9uID0gZmFsc2U7CiAgICB0aGlzLmF1dG9DZW50ZXJDYWxs YmFjayA9IG51bGw7CiAgICB0aGlzLmNhbmNlbGxlZENhbGxiYWNrID0gbnVsbDsK ICAgIHRoaXMuYXV0b0hpZGVTZWxlY3RzID0gZmFsc2U7CiAgICB0aGlzLmhpZGRl bkNhbGxiYWNrID0gbnVsbDsKICAgIHRoaXMuZmFkZU91dCA9IGZhbHNlOwogICAg dGhpcy5mYWRlSW4gPSBmYWxzZTsKICAgIHRoaXMuaGlkZGVuU2VsZWN0cyA9IFtd OwogICAgdGhpcy5mYWRlTW9kZSA9IG51bGw7CgogICAgZWxlLnN0eWxlLnBvc2l0 aW9uID0gImFic29sdXRlIjsKICAgIGVsZS5zdHlsZS56SW5kZXggICA9ICIxMDAw IjsKCiAgICAvLyBwbHogZG9uJ3QgcmVtb3ZlIHRoeAogICAgRE9NLmFkZENsYXNz TmFtZShlbGUsICJpcHB1Iik7CgogICAgLy8gY3JlYXRlIERJViB0byBob2xkIHVz ZXIncyBjb250ZW50CiAgICB0aGlzLmNvbnRlbnQgPSBkb2N1bWVudC5jcmVhdGVF bGVtZW50KCJkaXYiKTsKCiAgICB0aGlzLmNvbnRlbnQuaW5uZXJIVE1MID0gaHRt bDsKCiAgICB0aGlzLmVsZS5hcHBlbmRDaGlsZCh0aGlzLmNvbnRlbnQpOwogIH0K fSk7CgovLyBjbGFzcyBtZXRob2RzCklQUFUuY2VudGVyID0gZnVuY3Rpb24gKG9i aikgewogIG9iai5jZW50ZXJYKCk7CiAgb2JqLmNlbnRlclkoKTsKfTsKCklQUFUu Y2VudGVyWCA9IGZ1bmN0aW9uIChvYmopIHsKICBvYmouY2VudGVyWCgpOwp9OwoK SVBQVS5jZW50ZXJZID0gZnVuY3Rpb24gKG9iaikgewogIG9iai5jZW50ZXJZKCk7 Cn07CgpJUFBVLmlzSUUgPSBmdW5jdGlvbiAoKSB7CiAgICB2YXIgVUEgPSBuYXZp Z2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCk7CiAgICBpZiAoVUEuaW5kZXhP ZignbXNpZScpICE9IC0xKSByZXR1cm4gdHJ1ZTsKICAgIHJldHVybiBmYWxzZTsK fTsKCklQUFUuaXNTYWZhcmkgPSBmdW5jdGlvbiAoKSB7CiAgICB2YXIgVUEgPSBu YXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCk7CiAgICBpZiAoVUEuaW5k ZXhPZignc2FmYXJpJykgIT0gLTEpIHJldHVybiB0cnVlOwogICAgcmV0dXJuIGZh bHNlOwp9OwpMSl9JUFBVID0gbmV3IENsYXNzICggSVBQVSwgewogIGluaXQ6IGZ1 bmN0aW9uKHRpdGxlKSB7CiAgICBpZiAoIXRpdGxlKQogICAgICB0aXRsZSA9ICIi OwoKICAgIExKX0lQUFUuc3VwZXJDbGFzcy5pbml0LmFwcGx5KHRoaXMsIFtdKTsK CiAgICB0aGlzLnVuaXFJZCA9IHRoaXMuZ2VuZXJhdGVVbmlxSWQoKTsKICAgIHRo aXMuY2FuY2VsVGhpc0Z1bmMgPSB0aGlzLmNhbmNlbC5iaW5kKHRoaXMpOwoKICAg IHRoaXMuc2V0VGl0bGUodGl0bGUpOwogICAgdGhpcy5zZXRUaXRsZWJhcih0cnVl KTsKICAgIHRoaXMuc2V0VGl0bGViYXJDbGFzcygibGpfaXBwdV90aXRsZWJhciIp OwoKICAgIHRoaXMuYWRkQ2xhc3MoImxqX2lwcHUiKTsKICAgIHRoaXMuc2V0QXV0 b0NlbnRlckNhbGxiYWNrKElQUFUuY2VudGVyKTsKICAgIHRoaXMuc2V0RGltZW5z aW9ucyg1MTQsICJhdXRvIik7CiAgICAvL3RoaXMuc2V0T3ZlcmZsb3coImhpZGRl biIpOwoKICAgIHRoaXMuc2V0Rml4ZWRQb3NpdGlvbih0cnVlKTsKICAgIHRoaXMu c2V0Q2xpY2tUb0Nsb3NlKHRydWUpOwogICAgdGhpcy5zZXRBdXRvSGlkZVNlbGVj dHModHJ1ZSk7CiB9LAoKICBzZXRUaXRsZTogZnVuY3Rpb24gKHRpdGxlKSB7CiAg ICB2YXIgdGl0bGViYXJDb250ZW50ID0gIlwKICAgICAgPGRpdiBzdHlsZT0nZmxv YXQ6cmlnaHQ7IHBhZGRpbmctcmlnaHQ6IDhweCc+IiArCiAgICAgICI8aW1nIHNy Yz0nIiArIFNpdGUuaW1ncHJlZml4ICsgIi9DbG9zZUJ1dHRvbi5naWYnIHdpZHRo PScxNScgaGVpZ2h0PScxNScgaWQ9JyIgKyB0aGlzLnVuaXFJZCArICJfY2FuY2Vs JyAvPjwvZGl2PiIgKyB0aXRsZTsKCiAgICBMSl9JUFBVLnN1cGVyQ2xhc3Muc2V0 VGl0bGUuYXBwbHkodGhpcywgW3RpdGxlYmFyQ29udGVudF0pOwogICAgCiAgICAg IAogIH0sCgogIGdlbmVyYXRlVW5pcUlkOiBmdW5jdGlvbigpIHsKICAgIHZhciB0 aGVEYXRlID0gbmV3IERhdGUoKTsKICAgIHJldHVybiAibGpfaXBwdV8iICsgdGhl RGF0ZS5nZXRIb3VycygpICsgdGhlRGF0ZS5nZXRNaW51dGVzKCkgKyB0aGVEYXRl LmdldE1pbGxpc2Vjb25kcygpOwogIH0sCgogIHNob3c6IGZ1bmN0aW9uKCkgewog ICAgTEpfSVBQVS5zdXBlckNsYXNzLnNob3cuYXBwbHkodGhpcyk7CiAgICB2YXIg c2V0dXBDYWxsYmFjayA9IHRoaXMuc2V0dXBfbGpfaXBwdS5iaW5kKHRoaXMpOwog ICAgdGhpcy50aW1lclNldHVwID0gd2luZG93LnNldFRpbWVvdXQoc2V0dXBDYWxs YmFjaywgMzAwKTsKICB9LAoKICBzZXR1cF9sal9pcHB1OiBmdW5jdGlvbiAoZXZ0 KSB7CiAgICB2YXIgY2FuY2VsQ2FsbGJhY2sgPSB0aGlzLmNhbmNlbFRoaXNGdW5j OwogICAvL0RPTS5hZGRFdmVudExpc3RlbmVyKCQodGhpcy51bmlxSWQgKyAiX2Nh bmNlbCIpLCAiY2xpY2siLCBjYW5jZWxDYWxsYmFjaywgdHJ1ZSk7CiAgICQodGhp cy51bmlxSWQgKyAiX2NhbmNlbCIpLm9uY2xpY2sgPSBmdW5jdGlvbigpewoJICAg IGNhbmNlbENhbGxiYWNrKCk7CiAgICB9OwogIH0sCgogIGhpZGU6IGZ1bmN0aW9u KCkgewogICAgY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVyU2V0dXApOwogICAgTEpf SVBQVS5zdXBlckNsYXNzLmhpZGUuYXBwbHkodGhpcyk7CiAgfQp9ICk7CgovLyBD bGFzcyBtZXRob2QgdG8gc2hvdyBhIHBvcHVwIHRvIHNob3cgYSBub3RlIHRvIHRo ZSB1c2VyCi8vIG5vdGUgPSBtZXNzYWdlIHRvIHNob3cKLy8gdW5kZXJlbGUgPSBl bGVtZW50IHRvIGRpc3BsYXkgdGhlIG5vdGUgdW5kZXJuZWF0aApMSl9JUFBVLnNo b3dOb3RlID0gZnVuY3Rpb24gKG5vdGUsIHVuZGVyZWxlLCB0aW1lb3V0LCBzdHls ZSkgewogICAgdmFyIG5vdGVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu dCgiZGl2Iik7CiAgICBub3RlRWxlbWVudC5pbm5lckhUTUwgPSBub3RlOwoKICAg IHJldHVybiBMSl9JUFBVLnNob3dOb3RlRWxlbWVudChub3RlRWxlbWVudCwgdW5k ZXJlbGUsIHRpbWVvdXQsIHN0eWxlKTsKfTsKCkxKX0lQUFUuc2hvd0Vycm9yTm90 ZSA9IGZ1bmN0aW9uIChub3RlLCB1bmRlcmVsZSwgdGltZW91dCkgewogICAgcmV0 dXJuIExKX0lQUFUuc2hvd05vdGUobm90ZSwgdW5kZXJlbGUsIHRpbWVvdXQsICJF cnJvck5vdGUiKTsKfTsKCkxKX0lQUFUuc2hvd05vdGVFbGVtZW50ID0gZnVuY3Rp b24gKG5vdGVFbGUsIHVuZGVyZWxlLCB0aW1lb3V0LCBzdHlsZSkgewogICAgdmFy IG5vdGVQb3B1cCA9IG5ldyBJUFBVKCk7CiAgICBub3RlUG9wdXAuaW5pdCgpOwoK ICAgIHZhciBpbm5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwog ICAgRE9NLmFkZENsYXNzTmFtZShpbm5lciwgIklubmVyIik7CiAgICBpbm5lci5h cHBlbmRDaGlsZChub3RlRWxlKTsKICAgIG5vdGVQb3B1cC5zZXRDb250ZW50RWxl bWVudChpbm5lcik7CgogICAgbm90ZVBvcHVwLnNldFRpdGxlYmFyKGZhbHNlKTsK ICAgIG5vdGVQb3B1cC5zZXRGYWRlSW4odHJ1ZSk7CiAgICBub3RlUG9wdXAuc2V0 RmFkZU91dCh0cnVlKTsKICAgIG5vdGVQb3B1cC5zZXRGYWRlU3BlZWQoNCk7CiAg ICBub3RlUG9wdXAuc2V0RGltZW5zaW9ucygiYXV0byIsICJhdXRvIik7CiAgICBp ZiAoIXN0eWxlKSBzdHlsZSA9ICJOb3RlIjsKICAgIG5vdGVQb3B1cC5hZGRDbGFz cyhzdHlsZSk7CgogICAgdmFyIGRpbTsKICAgIGlmICh1bmRlcmVsZSkgewogICAg ICAgIC8vIHBvcCB1cCB0aGUgYm94IHJpZ2h0IHVuZGVyIHRoZSBlbGVtZW50CiAg ICAgICAgZGltID0gRE9NLmdldEFic29sdXRlRGltZW5zaW9ucyh1bmRlcmVsZSk7 CiAgICAgICAgaWYgKCFkaW0pIHJldHVybjsKICAgIH0KCiAgICB2YXIgYm91bmRz ID0gRE9NLmdldENsaWVudERpbWVuc2lvbnMoKTsKICAgIGlmICghYm91bmRzKSBy ZXR1cm47CgogICAgaWYgKCFkaW0pIHsKICAgICAgICAvLyBubyBlbGVtZW50IHNw ZWNpZmllZCB0byBwb3AgdXAgb24sIHNob3cgaW4gdGhlIG1pZGRsZQogICAgICAg IC8vIG5vdGVQb3B1cC5zZXRNb2RhbCh0cnVlKTsKICAgICAgICAvLyBub3RlUG9w dXAuc2V0T3ZlcmxheVZpc2libGUodHJ1ZSk7CiAgICAgICAgbm90ZVBvcHVwLnNl dEF1dG9DZW50ZXIodHJ1ZSwgdHJ1ZSk7CiAgICAgICAgbm90ZVBvcHVwLnNob3co KTsKICAgIH0gZWxzZSB7CiAgICAgICAgLy8gZGVmYXVsdCBpcyB0byBhdXRvLWNl bnRlciwgZG9uJ3Qgd2FudCB0aGF0CiAgICAgICAgbm90ZVBvcHVwLnNldEF1dG9D ZW50ZXIoZmFsc2UsIGZhbHNlKTsKICAgICAgICBub3RlUG9wdXAuc2V0TG9jYXRp b24oZGltLmFic29sdXRlTGVmdCwgZGltLmFic29sdXRlQm90dG9tICsgNCk7CiAg ICAgICAgbm90ZVBvcHVwLnNob3coKTsKCiAgICAgICAgdmFyIHBvcHVwQm91bmRz ID0gRE9NLmdldEFic29sdXRlRGltZW5zaW9ucyhub3RlUG9wdXAuZ2V0RWxlbWVu dCgpKTsKICAgICAgICBpZiAocG9wdXBCb3VuZHMuYWJzb2x1dGVSaWdodCA+IGJv dW5kcy54KSB7CiAgICAgICAgICAgIG5vdGVQb3B1cC5zZXRMb2NhdGlvbihib3Vu ZHMueCAtIHBvcHVwQm91bmRzLm9mZnNldFdpZHRoIC0gMzAsIGRpbS5hYnNvbHV0 ZUJvdHRvbSArIDQpOwogICAgICAgIH0KICAgIH0KCiAgICBub3RlUG9wdXAuc2V0 Q2xpY2tUb0Nsb3NlKHRydWUpOwogICAgbm90ZVBvcHVwLm1vdmVGb3J3YXJkKCk7 CgogICAgaWYgKCEgZGVmaW5lZCh0aW1lb3V0KSkgewogICAgICAgIHRpbWVvdXQg PSA1MDAwOwogICAgfQoKICAgIGlmICh0aW1lb3V0KSB7CiAgICAgICAgd2luZG93 LnNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAobm90ZVBv cHVwKQogICAgICAgICAgICAgICAgbm90ZVBvcHVwLmhpZGUoKTsKICAgICAgICB9 LCB0aW1lb3V0KTsKICAgIH0KCiAgICByZXR1cm4gbm90ZVBvcHVwOwp9OwoKTEpf SVBQVS50ZXh0UHJvbXB0ID0gZnVuY3Rpb24gKHRpdGxlLCBwcm9tcHQsIGNhbGxi YWNrKSB7CiAgICB0aXRsZSArPSAnJzsKICAgIHZhciBub3RlUG9wdXAgPSBuZXcg TEpfSVBQVSh0aXRsZSk7CgogICAgdmFyIGlubmVyID0gZG9jdW1lbnQuY3JlYXRl RWxlbWVudCgiZGl2Iik7CiAgICBET00uYWRkQ2xhc3NOYW1lKGlubmVyLCAibGpp cHB1X3RleHRwcm9tcHQiKTsKCiAgICAvLyBsYWJlbAogICAgaWYgKHByb21wdCkK ICAgICAgICBpbm5lci5hcHBlbmRDaGlsZChfdGV4dERpdihwcm9tcHQpKTsKCiAg ICAvLyB0ZXh0IGZpZWxkCiAgICB2YXIgZmllbGQgPSBkb2N1bWVudC5jcmVhdGVF bGVtZW50KCJ0ZXh0YXJlYSIpOwogICAgRE9NLmFkZENsYXNzTmFtZShmaWVsZCwg Imh0bWxmaWVsZCIpOwogICAgZmllbGQuY29scyA9IDQwOwogICAgZmllbGQucm93 cyA9IDU7CiAgICBpbm5lci5hcHBlbmRDaGlsZChmaWVsZCk7CgogICAgLy8gc3Vi bWl0IGJ0bgogICAgdmFyIGJ0bmNvbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50 KCJkaXYiKTsKICAgIERPTS5hZGRDbGFzc05hbWUoYnRuY29udCwgInN1Ym1pdGJ0 bmNvbnRhaW5lciIpOwogICAgdmFyIGJ0biA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l bnQoImlucHV0Iik7CiAgICBET00uYWRkQ2xhc3NOYW1lKGJ0biwgInN1Ym1pdGJ0 biIpOwogICAgYnRuLnR5cGUgPSAiYnV0dG9uIjsKICAgIGJ0bi52YWx1ZSA9ICJJ bnNlcnQiOwogICAgYnRuY29udC5hcHBlbmRDaGlsZChidG4pOwogICAgaW5uZXIu YXBwZW5kQ2hpbGQoYnRuY29udCk7CgogICAgbm90ZVBvcHVwLnNldENvbnRlbnRF bGVtZW50KGlubmVyKTsKCiAgICBub3RlUG9wdXAuc2V0QXV0b0NlbnRlcih0cnVl LCB0cnVlKTsKICAgIG5vdGVQb3B1cC5zZXREaW1lbnNpb25zKCI2MCUiLCAiYXV0 byIpOwogICAgbm90ZVBvcHVwLnNob3coKTsKICAgIGZpZWxkLmZvY3VzKCk7Cgog ICAgRE9NLmFkZEV2ZW50TGlzdGVuZXIoYnRuLCAiY2xpY2siLCBmdW5jdGlvbiAo ZSkgewogICAgICAgIG5vdGVQb3B1cC5oaWRlKCk7CiAgICAgICAgaWYgKGNhbGxi YWNrKQogICAgICAgICAgICBjYWxsYmFjay5hcHBseShudWxsLCBbZmllbGQudmFs dWVdKTsKICAgIH0pOwp9Ci8vIExpdmVKb3VybmFsIGphdmFzY3JpcHQgc3RhbmRh cmQgaW50ZXJmYWNlIHJvdXRpbmVzCgovLyBjcmVhdGUgYSBsaXR0bGUgYW5pbWF0 ZWQgaG91cmdsYXNzIGF0ICh4LHkpIHdpdGggYSB1bmlxdWUtaXNoIElECi8vIHJl dHVybnMgdGhlIGVsZW1lbnQgY3JlYXRlZApIb3VyZ2xhc3MgPSBuZXcgQ2xhc3Mo IE9iamVjdCwgewogIGluaXQ6IGZ1bmN0aW9uKHdpZGdldCwgY2xhc3NuYW1lKSB7 CiAgICB0aGlzLmVsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpOwog ICAgaWYgKCF0aGlzLmVsZSkgcmV0dXJuOwoKICAgIHZhciBpbWdwcmVmaXggPSBT aXRlID8gU2l0ZS5pbWdwcmVmaXggOiAnJzsKCiAgICB0aGlzLmVsZS5zcmMgPSBp bWdwcmVmaXggPyBpbWdwcmVmaXggKyAiL2hvdXJnbGFzcy5naWYiIDogIi9pbWcv aG91cmdsYXNzLmdpZiI7CiAgICB0aGlzLmVsZS5zdHlsZS5wb3NpdGlvbiA9ICJh YnNvbHV0ZSI7CgogICAgRE9NLmFkZENsYXNzTmFtZSh0aGlzLmVsZSwgY2xhc3Nu YW1lKTsKCiAgICBpZiAod2lkZ2V0KQogICAgICB0aGlzLmhvdXJnbGFzc19hdF93 aWRnZXQod2lkZ2V0KTsKICB9LAoKICBob3VyZ2xhc3NfYXQ6IGZ1bmN0aW9uICh4 LCB5KSB7CiAgICB0aGlzLmVsZS53aWR0aCA9IDE3OwogICAgdGhpcy5lbGUuaGVp Z2h0ID0gMTc7CiAgICB0aGlzLmVsZS5zdHlsZS50b3AgPSAoeSAtIDgpICsgInB4 IjsKICAgIHRoaXMuZWxlLnN0eWxlLmxlZnQgPSAoeCAtIDgpICsgInB4IjsKCiAg ICAvLyB1bmlxdWUgSUQKICAgIHRoaXMuZWxlLmlkID0gImxqX2hvdXJnbGFzcyIg KyB4ICsgIi4iICsgeTsKCiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRo aXMuZWxlKTsKICB9LAoKICBhZGRfY2xhc3NfbmFtZTogZnVuY3Rpb24gKGNsYXNz bmFtZSkgewogICAgICBpZiAodGhpcy5lbGUpCiAgICAgIERPTS5hZGRDbGFzc05h bWUodGhpcy5lbGUsIGNsYXNzbmFtZSk7CiAgfSwKCiAgaG91cmdsYXNzX2F0X3dp ZGdldDogZnVuY3Rpb24gKHdpZGdldCkgewogICAgdmFyIGRpbSA9IERPTS5nZXRB YnNvbHV0ZURpbWVuc2lvbnMod2lkZ2V0KTsKICAgIHZhciB4ID0gZGltLmFic29s dXRlTGVmdDsKICAgIHZhciB5ID0gZGltLmFic29sdXRlVG9wOwogICAgdmFyIHcg PSBkaW0uYWJzb2x1dGVSaWdodCAtIHg7CiAgICB2YXIgaCA9IGRpbS5hYnNvbHV0 ZUJvdHRvbSAtIHk7CiAgICBpZiAodyAmJiBoKSB7CiAgICAgIHggKz0gdy8yOwog ICAgICB5ICs9IGgvMjsKICAgIH0KICAgIHRoaXMuaG91cmdsYXNzX2F0KHgsIHkp OwogIH0sCgogIGhpZGU6IGZ1bmN0aW9uICgpIHsKICAgIGlmICh0aGlzLmVsZSkg ewogICAgICB0cnkgewogICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQo dGhpcy5lbGUpOwogICAgICB9IGNhdGNoIChlKSB7fQogICAgfQogIH0KCn0gKTsK dmFyIENvbnRleHR1YWxQb3B1cCA9IG5ldyBPYmplY3Q7CgpDb250ZXh0dWFsUG9w dXAucG9wdXBEZWxheSAgPSA1MDA7CkNvbnRleHR1YWxQb3B1cC5oaWRlRGVsYXkg ICA9IDI1MDsKQ29udGV4dHVhbFBvcHVwLmRpc2FibGVBSkFYID0gZmFsc2U7CgpD b250ZXh0dWFsUG9wdXAuY2FjaGVkUmVzdWx0cyAgID0ge307CkNvbnRleHR1YWxQ b3B1cC5jdXJyZW50UmVxdWVzdHMgPSB7fTsKQ29udGV4dHVhbFBvcHVwLm1vdXNl SW5UaW1lciAgICA9IG51bGw7CkNvbnRleHR1YWxQb3B1cC5tb3VzZU91dFRpbWVy ICAgPSBudWxsOwpDb250ZXh0dWFsUG9wdXAuY3VycmVudElkICAgICAgID0gbnVs bDsKQ29udGV4dHVhbFBvcHVwLmhvdXJnbGFzcyAgICAgICA9IG51bGw7CgpDb250 ZXh0dWFsUG9wdXAuc2V0dXAgPSBmdW5jdGlvbiAoKSB7CiAgICAvLyBkb24ndCBk byBhbnl0aGluZyBpZiBubyByZW1vdGUKICAgIGlmICghU2l0ZSB8fCAhU2l0ZS5j dHhfcG9wdXApIHJldHVybjsKCiAgICBDb250ZXh0dWFsUG9wdXAuc2VhcmNoQW5k QWRkKGRvY3VtZW50KQoKICAgIERPTS5hZGRFdmVudExpc3RlbmVyKGRvY3VtZW50 LmJvZHksICJtb3VzZW1vdmUiLCBDb250ZXh0dWFsUG9wdXAubW91c2VPdmVyLmJp bmRFdmVudExpc3RlbmVyKCkpOwp9CgpDb250ZXh0dWFsUG9wdXAuc2VhcmNoQW5k QWRkID0gZnVuY3Rpb24gKG5vZGUpIHsKICAgIGlmICghU2l0ZSB8fCAhU2l0ZS5j dHhfcG9wdXApIHJldHVybjsKCiAgICAvLyBhdHRhY2ggdG8gYWxsIGxqdXNlciBo ZWFkIGljb25zCiAgICB2YXIgbGp1c2VycyA9IERPTS5nZXRFbGVtZW50c0J5VGFn QW5kQ2xhc3NOYW1lKG5vZGUsICdzcGFuJywgJ2xqdXNlcicpLAogICAgICAgIHJl eF91c2VyaWQgPSAvXD91c2VyaWQ9KFxkKykvaSwKICAgICAgICByZXhfdXNlcnBp YyA9IC8odXNlcnBpY1wuLitcL1xkK1wvXGQrKXwoXC91c2VycGljXC9cZCtcL1xk KykvOwoKICAgIGxqdXNlcnMuZm9yRWFjaChmdW5jdGlvbiAobGp1c2VyKSB7CiAg ICAgICAgdmFyIG5vZGVzID0gbGp1c2VyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdp bWcnKSwgaSA9IC0xLCBub2RlOwogICAgICAgIHdoaWxlIChub2RlID0gbm9kZXNb KytpXSkgewogICAgICAgICAgICAvLyBpZiB0aGUgcGFyZW50IChhIHRhZyB3aXRo IGxpbmsgdG8gdXNlcmluZm8pIGhhcyB1c2VyaWQgaW4gaXRzIFVSTCwgdGhlbgog ICAgICAgICAgICAvLyB0aGlzIGlzIGFuIG9wZW5pZCB1c2VyIGljb24gYW5kIHdl IHNob3VsZCB1c2UgdGhlIHVzZXJpZAogICAgICAgICAgICB2YXIgcGFyZW50ID0g bm9kZS5wYXJlbnROb2RlLCB1c2VyaWQ7CiAgICAgICAgICAgIGlmIChwYXJlbnQg JiYgcGFyZW50LmhyZWYgJiYgKHVzZXJpZCA9IHBhcmVudC5ocmVmLm1hdGNoKHJl eF91c2VyaWQpKSkKICAgICAgICAgICAgICAgIG5vZGUudXNlcmlkID0gdXNlcmlk WzFdOwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICBub2RlLnVzZXJu YW1lID0gbGp1c2VyLmdldEF0dHJpYnV0ZSgnbGo6dXNlcicpOwoKICAgICAgICAg ICAgaWYgKCFub2RlLnVzZXJuYW1lICYmICFub2RlLnVzZXJpZCkgY29udGludWU7 CgogICAgICAgICAgICBET00uYWRkQ2xhc3NOYW1lKG5vZGUsICdDb250ZXh0dWFs UG9wdXAnKTsKICAgICAgICB9CiAgICB9KTsKCiAgICAvLyBhdHRhY2ggdG8gYWxs IHVzZXJwaWNzCiAgICB2YXIgaW1hZ2VzID0gbm9kZS5nZXRFbGVtZW50c0J5VGFn TmFtZSgnaW1nJykgfHwgW107CiAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5j YWxsKGltYWdlcywgZnVuY3Rpb24gKGltYWdlKSB7CiAgICAgICAgLy8gaWYgdGhl IGltYWdlIHVybCBtYXRjaGVzIGEgcmVnZXggZm9yIHVzZXJwaWMgdXJscyB0aGVu IGF0dGFjaCB0byBpdAogICAgICAgIGlmIChpbWFnZS5zcmMubWF0Y2gocmV4X3Vz ZXJwaWMpKSB7CiAgICAgICAgICAgIGltYWdlLnVwX3VybCA9IGltYWdlLnNyYzsK ICAgICAgICAgICAgRE9NLmFkZENsYXNzTmFtZShpbWFnZSwgJ0NvbnRleHR1YWxQ b3B1cCcpOwogICAgICAgIH0KICAgIH0pOwp9CgpDb250ZXh0dWFsUG9wdXAuaXND dHhQb3BFbGVtZW50ID0gZnVuY3Rpb24gKGVsZSkgewogICAgcmV0dXJuIChlbGUg JiYgRE9NLmdldEFuY2VzdG9yc0J5Q2xhc3NOYW1lKGVsZSwgIkNvbnRleHR1YWxQ b3B1cCIsIHRydWUpLmxlbmd0aCk7Cn0KCkNvbnRleHR1YWxQb3B1cC5tb3VzZU92 ZXIgPSBmdW5jdGlvbiAoZSkgewogICAgdmFyIHRhcmdldCA9IGUudGFyZ2V0Owog ICAgdmFyIGN0eFBvcHVwSWQgPSB0YXJnZXQudXNlcm5hbWUgfHwgdGFyZ2V0LnVz ZXJpZCB8fCB0YXJnZXQudXBfdXJsOwoKICAgIC8vIGRpZCB0aGUgbW91c2UgbW92 ZSBvdXQ/CiAgICBpZiAoIUNvbnRleHR1YWxQb3B1cC5pc0N0eFBvcEVsZW1lbnQo dGFyZ2V0KSkgewogICAgICAgIGlmIChDb250ZXh0dWFsUG9wdXAubW91c2VJblRp bWVyKSB7CiAgICAgICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQoQ29udGV4dHVh bFBvcHVwLm1vdXNlSW5UaW1lcik7CiAgICAgICAgICAgIENvbnRleHR1YWxQb3B1 cC5tb3VzZUluVGltZXIgPSBudWxsOwogICAgICAgIH07CgogICAgICAgIGlmIChD b250ZXh0dWFsUG9wdXAuaXBwdSkgewogICAgICAgICAgICBpZiAoQ29udGV4dHVh bFBvcHVwLm1vdXNlSW5UaW1lciB8fCBDb250ZXh0dWFsUG9wdXAubW91c2VPdXRU aW1lcikgcmV0dXJuOwoKICAgICAgICAgICAgQ29udGV4dHVhbFBvcHVwLm1vdXNl T3V0VGltZXIgPSB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAg ICAgICAgICAgICBDb250ZXh0dWFsUG9wdXAubW91c2VPdXQoZSk7CiAgICAgICAg ICAgIH0sIENvbnRleHR1YWxQb3B1cC5oaWRlRGVsYXkpOwogICAgICAgICAgICBy ZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgIC8vIHdlJ3JlIGluc2lkZSBhIGN0 eFBvcEVsZW1lbnQsIGNhbmNlbCB0aGUgbW91c2VvdXQgdGltZXIKICAgIGlmIChD b250ZXh0dWFsUG9wdXAubW91c2VPdXRUaW1lcikgewogICAgICAgIHdpbmRvdy5j bGVhclRpbWVvdXQoQ29udGV4dHVhbFBvcHVwLm1vdXNlT3V0VGltZXIpOwogICAg ICAgIENvbnRleHR1YWxQb3B1cC5tb3VzZU91dFRpbWVyID0gbnVsbDsKICAgIH0K CiAgICBpZiAoIWN0eFBvcHVwSWQpCiAgICByZXR1cm47CgogICAgdmFyIGNhY2hl ZCA9IENvbnRleHR1YWxQb3B1cC5jYWNoZWRSZXN1bHRzW2N0eFBvcHVwSWRdOwoK ICAgIC8vIGlmIHdlIGRvbid0IGhhdmUgY2FjaGVkIGRhdGEgYmFja2dyb3VuZCBy ZXF1ZXN0IGl0CiAgICBpZiAoIWNhY2hlZCkgewogICAgICAgIENvbnRleHR1YWxQ b3B1cC5nZXRJbmZvKHRhcmdldCwgY3R4UG9wdXBJZCk7CiAgICB9CgogICAgLy8g c3RhcnQgdGltZXIgaWYgaXQncyBub3QgcnVubmluZwogICAgaWYgKCEgQ29udGV4 dHVhbFBvcHVwLm1vdXNlSW5UaW1lciAmJiAoISBDb250ZXh0dWFsUG9wdXAuaXBw dSB8fCAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250ZXh0dWFsUG9wdXAuY3Vy cmVudElkICYmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250ZXh0dWFsUG9wdXAu Y3VycmVudElkICE9IGN0eFBvcHVwSWQpKSkgewogICAgICAgIENvbnRleHR1YWxQ b3B1cC5tb3VzZUluVGltZXIgPSB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbiAo KSB7CiAgICAgICAgICAgIENvbnRleHR1YWxQb3B1cC5zaG93UG9wdXAoY3R4UG9w dXBJZCwgdGFyZ2V0KTsKICAgICAgICB9LCBDb250ZXh0dWFsUG9wdXAucG9wdXBE ZWxheSk7CiAgICB9Cn0KCi8vIGlmIHRoZSBwb3B1cCB3YXMgbm90IGNsb3NlZCBi eSB1cyBjYXRjaCBpdCBhbmQgaGFuZGxlIGl0CkNvbnRleHR1YWxQb3B1cC5wb3B1 cENsb3NlZCA9IGZ1bmN0aW9uICgpIHsKICAgIENvbnRleHR1YWxQb3B1cC5tb3Vz ZU91dCgpOwp9CgpDb250ZXh0dWFsUG9wdXAubW91c2VPdXQgPSBmdW5jdGlvbiAo ZSkgewogICAgaWYgKENvbnRleHR1YWxQb3B1cC5tb3VzZUluVGltZXIpCiAgICAg ICAgd2luZG93LmNsZWFyVGltZW91dChDb250ZXh0dWFsUG9wdXAubW91c2VJblRp bWVyKTsKICAgIGlmIChDb250ZXh0dWFsUG9wdXAubW91c2VPdXRUaW1lcikKICAg ICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KENvbnRleHR1YWxQb3B1cC5tb3VzZU91 dFRpbWVyKTsKCiAgICBDb250ZXh0dWFsUG9wdXAubW91c2VJblRpbWVyID0gbnVs bDsKICAgIENvbnRleHR1YWxQb3B1cC5tb3VzZU91dFRpbWVyID0gbnVsbDsKICAg IENvbnRleHR1YWxQb3B1cC5jdXJyZW50SWQgPSBudWxsOwoKICAgIENvbnRleHR1 YWxQb3B1cC5oaWRlUG9wdXAoKTsKfQoKQ29udGV4dHVhbFBvcHVwLnNob3dQb3B1 cCA9IGZ1bmN0aW9uIChjdHhQb3B1cElkLCBlbGUpIHsKICAgIGlmIChDb250ZXh0 dWFsUG9wdXAubW91c2VJblRpbWVyKSB7CiAgICAgICAgd2luZG93LmNsZWFyVGlt ZW91dChDb250ZXh0dWFsUG9wdXAubW91c2VJblRpbWVyKTsKICAgIH0KICAgIENv bnRleHR1YWxQb3B1cC5tb3VzZUluVGltZXIgPSBudWxsOwoKICAgIGlmIChDb250 ZXh0dWFsUG9wdXAuaXBwdSAmJiAoQ29udGV4dHVhbFBvcHVwLmN1cnJlbnRJZCAm JiBDb250ZXh0dWFsUG9wdXAuY3VycmVudElkID09IGN0eFBvcHVwSWQpKSB7CiAg ICAgICAgcmV0dXJuOwogICAgfQoKICAgIENvbnRleHR1YWxQb3B1cC5jdXJyZW50 SWQgPSBjdHhQb3B1cElkOwoKICAgIENvbnRleHR1YWxQb3B1cC5jb25zdHJ1Y3RJ UFBVKGN0eFBvcHVwSWQpOwoKICAgIHZhciBkYXRhID0gQ29udGV4dHVhbFBvcHVw LmNhY2hlZFJlc3VsdHNbY3R4UG9wdXBJZF07CgogICAgaWYgKCEgZWxlIHx8IChk YXRhICYmIGRhdGEubm9zaG93KSkgewogICAgICAgIHJldHVybjsKICAgIH0KCiAg ICBpZiAoQ29udGV4dHVhbFBvcHVwLmlwcHUpIHsKICAgICAgICB2YXIgaXBwdSA9 IENvbnRleHR1YWxQb3B1cC5pcHB1OwogICAgICAgIC8vIGRlZmF1bHQgaXMgdG8g YXV0by1jZW50ZXIsIGRvbid0IHdhbnQgdGhhdAogICAgICAgIGlwcHUuc2V0QXV0 b0NlbnRlcihmYWxzZSwgZmFsc2UpOwoKICAgICAgICAvLyBwb3AgdXAgdGhlIGJv eCByaWdodCB1bmRlciB0aGUgZWxlbWVudAogICAgICAgIHZhciBkaW0gPSBET00u Z2V0QWJzb2x1dGVEaW1lbnNpb25zKGVsZSk7CiAgICAgICAgaWYgKCFkaW0pIHJl dHVybjsKCiAgICAgICAgdmFyIGJvdW5kcyA9IERPTS5nZXRDbGllbnREaW1lbnNp b25zKCk7CiAgICAgICAgaWYgKCFib3VuZHMpIHJldHVybjsKCiAgICAgICAgLy8g aGlkZSB0aGUgaXBwdSBjb250ZW50IGVsZW1lbnQsIHB1dCBpdCBvbiB0aGUgcGFn ZSwKICAgICAgICAvLyBnZXQgaXRzIGJvdW5kcyBhbmQgbWFrZSBzdXJlIGl0J3Mg bm90IGdvaW5nIGJleW9uZCB0aGUgY2xpZW50CiAgICAgICAgLy8gdmlld3BvcnQu IGlmIHRoZSBlbGVtZW50IGlzIGJleW9uZCB0aGUgcmlnaHQgYm91bmRzIHNjb290 IGl0IHRvIHRoZSBsZWZ0LgoKICAgICAgICB2YXIgcG9wRWxlID0gaXBwdS5nZXRF bGVtZW50KCk7CiAgICAgICAgcG9wRWxlLnN0eWxlLnZpc2liaWxpdHkgPSAiaGlk ZGVuIjsKICAgICAgICBDb250ZXh0dWFsUG9wdXAuaXBwdS5zZXRMb2NhdGlvbihk aW0uYWJzb2x1dGVMZWZ0LCBkaW0uYWJzb2x1dGVCb3R0b20pOwoKICAgICAgICAv LyBwdXQgdGhlIGNvbnRlbnQgZWxlbWVudCBvbiB0aGUgcGFnZSBzbyBpdHMgZGlt ZW5zaW9ucyBjYW4gYmUgZm91bmQKICAgICAgICBDb250ZXh0dWFsUG9wdXAuaXBw dS5zaG93KCk7CgogICAgICAgIHZhciBpcHB1Qm91bmRzID0gRE9NLmdldEFic29s dXRlRGltZW5zaW9ucyhwb3BFbGUpOwogICAgICAgIGlmIChpcHB1Qm91bmRzLmFi c29sdXRlUmlnaHQgPiBib3VuZHMueCkgewogICAgICAgICAgICBDb250ZXh0dWFs UG9wdXAuaXBwdS5zZXRMb2NhdGlvbihib3VuZHMueCAtIGlwcHVCb3VuZHMub2Zm c2V0V2lkdGggLSAzMCwgZGltLmFic29sdXRlQm90dG9tKTsKICAgICAgICB9Cgog ICAgICAgIC8vIGZpbmFsbHkgbWFrZSB0aGUgY29udGVudCB2aXNpYmxlCiAgICAg ICAgcG9wRWxlLnN0eWxlLnZpc2liaWxpdHkgPSAidmlzaWJsZSI7CiAgICB9Cn0K CkNvbnRleHR1YWxQb3B1cC5jb25zdHJ1Y3RJUFBVID0gZnVuY3Rpb24gKGN0eFBv cHVwSWQpIHsKICAgIGlmIChDb250ZXh0dWFsUG9wdXAuaXBwdSkgewogICAgICAg IENvbnRleHR1YWxQb3B1cC5pcHB1LmhpZGUoKTsKICAgICAgICBDb250ZXh0dWFs UG9wdXAuaXBwdSA9IG51bGw7CiAgICB9CgogICAgdmFyIGlwcHUgPSBuZXcgSVBQ VSgpOwogICAgaXBwdS5pbml0KCk7CiAgICBpcHB1LnNldFRpdGxlYmFyKGZhbHNl KTsKICAgIGlwcHUuc2V0RmFkZU91dCh0cnVlKTsKICAgIGlwcHUuc2V0RmFkZUlu KHRydWUpOwogICAgaXBwdS5zZXRGYWRlU3BlZWQoMTUpOwogICAgaXBwdS5zZXRE aW1lbnNpb25zKCJhdXRvIiwgImF1dG8iKTsKICAgIGlwcHUuYWRkQ2xhc3MoIkNv bnRleHR1YWxQb3B1cCIpOwogICAgaXBwdS5zZXRDYW5jZWxsZWRDYWxsYmFjayhD b250ZXh0dWFsUG9wdXAucG9wdXBDbG9zZWQpOwogICAgQ29udGV4dHVhbFBvcHVw LmlwcHUgPSBpcHB1OwoKICAgIENvbnRleHR1YWxQb3B1cC5yZW5kZXJQb3B1cChj dHhQb3B1cElkKTsKfQoKQ29udGV4dHVhbFBvcHVwLnJlbmRlclBvcHVwID0gZnVu Y3Rpb24gKGN0eFBvcHVwSWQpIHsKICAgIHZhciBpcHB1ID0gQ29udGV4dHVhbFBv cHVwLmlwcHU7CgogICAgaWYgKCFpcHB1KQogICAgcmV0dXJuOwoKICAgIGlmIChj dHhQb3B1cElkKSB7CiAgICAgICAgdmFyIGRhdGEgPSBDb250ZXh0dWFsUG9wdXAu Y2FjaGVkUmVzdWx0c1tjdHhQb3B1cElkXTsKCiAgICAgICAgaWYgKCFkYXRhKSB7 CiAgICAgICAgICAgIGlwcHUuc2V0Q29udGVudCgiPGRpdiBjbGFzcz0nSW5uZXIn PkxvYWRpbmcuLi48L2Rpdj4iKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAg IH0gZWxzZSBpZiAoIWRhdGEudXNlcm5hbWUgfHwgIWRhdGEuc3VjY2VzcyB8fCBk YXRhLm5vc2hvdykgewogICAgICAgICAgICBpcHB1LmhpZGUoKTsKICAgICAgICAg ICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgdmFyIHVzZXJuYW1lID0gZGF0 YS5kaXNwbGF5X3VzZXJuYW1lOwoKICAgICAgICB2YXIgaW5uZXIgPSBkb2N1bWVu dC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICAgICBET00uYWRkQ2xhc3NOYW1l KGlubmVyLCAiSW5uZXIiKTsKCiAgICAgICAgdmFyIGNvbnRlbnQgPSBkb2N1bWVu dC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICAgICBET00uYWRkQ2xhc3NOYW1l KGNvbnRlbnQsICJDb250ZW50Iik7CgogICAgICAgIHZhciBiYXIgPSBkb2N1bWVu dC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CiAgICAgICAgYmFyLmlubmVySFRNTCA9 ICImbmJzcDt8ICI7CgogICAgICAgIC8vIHVzZXJwaWMKICAgICAgICBpZiAoZGF0 YS51cmxfdXNlcnBpYyAmJiBkYXRhLnVybF91c2VycGljICE9IGN0eFBvcHVwSWQp IHsKICAgICAgICAgICAgdmFyIHVzZXJwaWNDb250YWluZXIgPSBkb2N1bWVudC5j cmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICAgICAgICAgdmFyIHVzZXJwaWNMaW5r ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpOwogICAgICAgICAgICB1c2Vy cGljTGluay5ocmVmID0gZGF0YS51cmxfYWxscGljczsKICAgICAgICAgICAgdmFy IHVzZXJwaWMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTsKICAgICAg ICAgICAgdXNlcnBpYy5zcmMgPSBkYXRhLnVybF91c2VycGljOwogICAgICAgICAg ICB1c2VycGljLndpZHRoID0gZGF0YS51c2VycGljX3c7CiAgICAgICAgICAgIHVz ZXJwaWMuaGVpZ2h0ID0gZGF0YS51c2VycGljX2g7CgogICAgICAgICAgICB1c2Vy cGljQ29udGFpbmVyLmFwcGVuZENoaWxkKHVzZXJwaWNMaW5rKTsKICAgICAgICAg ICAgdXNlcnBpY0xpbmsuYXBwZW5kQ2hpbGQodXNlcnBpYyk7CiAgICAgICAgICAg IERPTS5hZGRDbGFzc05hbWUodXNlcnBpY0NvbnRhaW5lciwgIlVzZXJwaWMiKTsK CiAgICAgICAgICAgIGlubmVyLmFwcGVuZENoaWxkKHVzZXJwaWNDb250YWluZXIp OwogICAgICAgIH0KCiAgICAgICAgaW5uZXIuYXBwZW5kQ2hpbGQoY29udGVudCk7 CgogICAgICAgIC8vIHJlbGF0aW9uCiAgICAgICAgdmFyIHJlbGF0aW9uID0gZG9j dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgICAgaWYgKGRhdGEuaXNf Y29tbSkgewogICAgICAgICAgICBpZiAoZGF0YS5pc19tZW1iZXIpCiAgICAgICAg ICAgICAgICByZWxhdGlvbi5pbm5lckhUTUwgPSAiWW91IGFyZSBhIG1lbWJlciBv ZiAiICsgdXNlcm5hbWU7CiAgICAgICAgICAgIGVsc2UgaWYgKGRhdGEuaXNfZnJp ZW5kKQogICAgICAgICAgICAgICAgcmVsYXRpb24uaW5uZXJIVE1MID0gIllvdSBh cmUgd2F0Y2hpbmcgIiArIHVzZXJuYW1lOwogICAgICAgICAgICBlbHNlCiAgICAg ICAgICAgICAgICByZWxhdGlvbi5pbm5lckhUTUwgPSB1c2VybmFtZTsKICAgICAg ICB9IGVsc2UgaWYgKGRhdGEuaXNfc3luZGljYXRlZCkgewogICAgICAgICAgICBp ZiAoZGF0YS5pc19mcmllbmQpCiAgICAgICAgICAgICAgICByZWxhdGlvbi5pbm5l ckhUTUwgPSAiWW91IGFyZSBzdWJzY3JpYmVkIHRvICIgKyB1c2VybmFtZTsKICAg ICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgcmVsYXRpb24uaW5uZXJIVE1M ID0gdXNlcm5hbWU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaWYgKGRh dGEuaXNfcmVxdWVzdGVyKSB7CiAgICAgICAgICAgICAgICByZWxhdGlvbi5pbm5l ckhUTUwgPSAiVGhpcyBpcyB5b3UiOwogICAgICAgICAgICB9IGVsc2UgewogICAg ICAgICAgICAgICAgdmFyIGxhYmVsID0gdXNlcm5hbWUgKyAiICI7CgogICAgICAg ICAgICAgICAgaWYgKGRhdGEuaXNfZnJpZW5kX29mKSB7CiAgICAgICAgICAgICAg ICAgICAgaWYgKGRhdGEuaXNfZnJpZW5kKQogICAgICAgICAgICAgICAgICAgICAg ICBsYWJlbCArPSAiaXMgeW91ciBtdXR1YWwgZnJpZW5kIjsKICAgICAgICAgICAg ICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsICs9ICJs aXN0cyB5b3UgYXMgYSBmcmllbmQiOwogICAgICAgICAgICAgICAgfSBlbHNlIHsK ICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5pc19mcmllbmQpCiAgICAgICAg ICAgICAgICAgICAgICAgIGxhYmVsICs9ICJpcyB5b3VyIGZyaWVuZCI7CiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgcmVsYXRpb24uaW5uZXJIVE1M ID0gbGFiZWw7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgRE9NLmFk ZENsYXNzTmFtZShyZWxhdGlvbiwgIlJlbGF0aW9uIik7CiAgICAgICAgY29udGVu dC5hcHBlbmRDaGlsZChyZWxhdGlvbik7CgogICAgICAgIC8vIGFkZCBzaXRlLXNw ZWNpZmljIGNvbnRlbnQgaGVyZQogICAgICAgIHZhciBleHRyYUNvbnRlbnQgPSBM aXZlSm91cm5hbC5ydW5faG9vaygiY3R4cG9wdXBfZXh0cmFpbmZvIiwgZGF0YSk7 CiAgICAgICAgaWYgKGV4dHJhQ29udGVudCkgewogICAgICAgICAgICBjb250ZW50 LmFwcGVuZENoaWxkKGV4dHJhQ29udGVudCk7CiAgICAgICAgfQoKICAgICAgICAv LyBtZW1iZXIgb2YgY29tbXVuaXR5CiAgICAgICAgaWYgKGRhdGEuaXNfbG9nZ2Vk X2luICYmIGRhdGEuaXNfY29tbSkgewogICAgICAgICAgICB2YXIgbWVtYmVyc2hp cCAgICAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CiAgICAgICAg ICAgIHZhciBtZW1iZXJzaGlwTGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo ImEiKTsKCiAgICAgICAgICAgIHZhciBtZW1iZXJzaGlwX2FjdGlvbiA9IGRhdGEu aXNfbWVtYmVyID8gImxlYXZlIiA6ICJqb2luIjsKCiAgICAgICAgICAgIGlmIChk YXRhLmlzX21lbWJlcikgewogICAgICAgICAgICAgICAgbWVtYmVyc2hpcExpbmsu aHJlZiA9IGRhdGEudXJsX2xlYXZlY29tbTsKICAgICAgICAgICAgICAgIG1lbWJl cnNoaXBMaW5rLmlubmVySFRNTCA9ICJMZWF2ZSI7CiAgICAgICAgICAgIH0gZWxz ZSB7CiAgICAgICAgICAgICAgICBtZW1iZXJzaGlwTGluay5ocmVmID0gZGF0YS51 cmxfam9pbmNvbW07CiAgICAgICAgICAgICAgICBtZW1iZXJzaGlwTGluay5pbm5l ckhUTUwgPSAiSm9pbiBjb21tdW5pdHkiOwogICAgICAgICAgICB9CgogICAgICAg ICAgICBpZiAoIUNvbnRleHR1YWxQb3B1cC5kaXNhYmxlQUpBWCkgewogICAgICAg ICAgICAgICAgRE9NLmFkZEV2ZW50TGlzdGVuZXIobWVtYmVyc2hpcExpbmssICJj bGljayIsIGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgICAgICAgICAgRXZlbnQu cHJlcChlKTsKICAgICAgICAgICAgICAgICAgICBFdmVudC5zdG9wKGUpOwogICAg ICAgICAgICAgICAgICAgIHJldHVybiBDb250ZXh0dWFsUG9wdXAuY2hhbmdlUmVs YXRpb24oZGF0YSwgY3R4UG9wdXBJZCwgbWVtYmVyc2hpcF9hY3Rpb24sIGUpOyB9 KTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbWVtYmVyc2hpcC5hcHBlbmRD aGlsZChtZW1iZXJzaGlwTGluayk7CiAgICAgICAgICAgIGNvbnRlbnQuYXBwZW5k Q2hpbGQobWVtYmVyc2hpcCk7CiAgICAgICAgfQoKICAgICAgICAvLyBzZW5kIG1l c3NhZ2UKICAgICAgICB2YXIgbWVzc2FnZTsKICAgICAgICBpZiAoZGF0YS5pc19s b2dnZWRfaW4gJiYgZGF0YS5pc19wZXJzb24gJiYgISBkYXRhLmlzX3JlcXVlc3Rl ciAmJiBkYXRhLnVybF9tZXNzYWdlKSB7CiAgICAgICAgICAgIG1lc3NhZ2UgPSBk b2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CgogICAgICAgICAgICB2YXIg c2VuZG1lc3NhZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7CiAgICAg ICAgICAgIHNlbmRtZXNzYWdlLmhyZWYgPSBkYXRhLnVybF9tZXNzYWdlOwogICAg ICAgICAgICBzZW5kbWVzc2FnZS5pbm5lckhUTUwgPSAiU2VuZCBtZXNzYWdlIjsK CiAgICAgICAgICAgIG1lc3NhZ2UuYXBwZW5kQ2hpbGQoc2VuZG1lc3NhZ2UpOwog ICAgICAgICAgICBjb250ZW50LmFwcGVuZENoaWxkKG1lc3NhZ2UpOwogICAgICAg IH0KCiAgICAgICAgLy8gZnJpZW5kCiAgICAgICAgdmFyIGZyaWVuZDsKICAgICAg ICBpZiAoZGF0YS5pc19sb2dnZWRfaW4gJiYgISBkYXRhLmlzX3JlcXVlc3Rlcikg ewogICAgICAgICAgICBmcmllbmQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJz cGFuIik7CgogICAgICAgICAgICBpZiAoISBkYXRhLmlzX2ZyaWVuZCkgewogICAg ICAgICAgICAgICAgLy8gYWRkIGZyaWVuZCBsaW5rCiAgICAgICAgICAgICAgICB2 YXIgYWRkRnJpZW5kID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwog ICAgICAgICAgICAgICAgdmFyIGFkZEZyaWVuZExpbmsgPSBkb2N1bWVudC5jcmVh dGVFbGVtZW50KCJhIik7CiAgICAgICAgICAgICAgICBhZGRGcmllbmRMaW5rLmhy ZWYgPSBkYXRhLnVybF9hZGRmcmllbmQ7CgogICAgICAgICAgICAgICAgaWYgKGRh dGEuaXNfY29tbSkKICAgICAgICAgICAgICAgICAgICBhZGRGcmllbmRMaW5rLmlu bmVySFRNTCA9ICJXYXRjaCBjb21tdW5pdHkiOwogICAgICAgICAgICAgICAgZWxz ZSBpZiAoZGF0YS5pc19zeW5kaWNhdGVkKQogICAgICAgICAgICAgICAgICAgIGFk ZEZyaWVuZExpbmsuaW5uZXJIVE1MID0gIlN1YnNjcmliZSB0byBmZWVkIjsKICAg ICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICBhZGRGcmllbmRM aW5rLmlubmVySFRNTCA9ICJBZGQgZnJpZW5kIjsKCiAgICAgICAgICAgICAgICBh ZGRGcmllbmQuYXBwZW5kQ2hpbGQoYWRkRnJpZW5kTGluayk7CiAgICAgICAgICAg ICAgICBET00uYWRkQ2xhc3NOYW1lKGFkZEZyaWVuZCwgIkFkZEZyaWVuZCIpOwoK ICAgICAgICAgICAgICAgIGlmICghQ29udGV4dHVhbFBvcHVwLmRpc2FibGVBSkFY KSB7CiAgICAgICAgICAgICAgICAgICAgRE9NLmFkZEV2ZW50TGlzdGVuZXIoYWRk RnJpZW5kTGluaywgImNsaWNrIiwgZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAg ICAgICAgICAgICAgRXZlbnQucHJlcChlKTsKICAgICAgICAgICAgICAgICAgICAg ICAgRXZlbnQuc3RvcChlKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu IENvbnRleHR1YWxQb3B1cC5jaGFuZ2VSZWxhdGlvbihkYXRhLCBjdHhQb3B1cElk LCAiYWRkRnJpZW5kIiwgZSk7IH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgIGZyaWVuZC5hcHBlbmRDaGlsZChhZGRGcmllbmQpOwogICAgICAg ICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgLy8gcmVtb3ZlIGZyaWVuZCBs aW5rIChvbWchKQogICAgICAgICAgICAgICAgdmFyIHJlbW92ZUZyaWVuZCA9IGRv Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgICAgICAgICAgICAgIHZh ciByZW1vdmVGcmllbmRMaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIp OwogICAgICAgICAgICAgICAgcmVtb3ZlRnJpZW5kTGluay5ocmVmID0gZGF0YS51 cmxfYWRkZnJpZW5kOwoKICAgICAgICAgICAgICAgIGlmIChkYXRhLmlzX2NvbW0p CiAgICAgICAgICAgICAgICAgICAgcmVtb3ZlRnJpZW5kTGluay5pbm5lckhUTUwg PSAiU3RvcCB3YXRjaGluZyI7CiAgICAgICAgICAgICAgICBlbHNlIGlmIChkYXRh LmlzX3N5bmRpY2F0ZWQpCiAgICAgICAgICAgICAgICAgICAgcmVtb3ZlRnJpZW5k TGluay5pbm5lckhUTUwgPSAiVW5zdWJzY3JpYmUiOwogICAgICAgICAgICAgICAg ZWxzZQogICAgICAgICAgICAgICAgICAgIHJlbW92ZUZyaWVuZExpbmsuaW5uZXJI VE1MID0gIlJlbW92ZSBmcmllbmQiOwoKICAgICAgICAgICAgICAgIHJlbW92ZUZy aWVuZC5hcHBlbmRDaGlsZChyZW1vdmVGcmllbmRMaW5rKTsKICAgICAgICAgICAg ICAgIERPTS5hZGRDbGFzc05hbWUocmVtb3ZlRnJpZW5kLCAiUmVtb3ZlRnJpZW5k Iik7CgogICAgICAgICAgICAgICAgaWYgKCFDb250ZXh0dWFsUG9wdXAuZGlzYWJs ZUFKQVgpIHsKICAgICAgICAgICAgICAgICAgICBET00uYWRkRXZlbnRMaXN0ZW5l cihyZW1vdmVGcmllbmRMaW5rLCAiY2xpY2siLCBmdW5jdGlvbiAoZSkgewogICAg ICAgICAgICAgICAgICAgICAgICBFdmVudC5zdG9wKGUpOwogICAgICAgICAgICAg ICAgICAgICAgICByZXR1cm4gQ29udGV4dHVhbFBvcHVwLmNoYW5nZVJlbGF0aW9u KGRhdGEsIGN0eFBvcHVwSWQsICJyZW1vdmVGcmllbmQiLCBlKTsgfSk7CiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnJpZW5kLmFwcGVuZENoaWxk KHJlbW92ZUZyaWVuZCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERPTS5h ZGRDbGFzc05hbWUocmVsYXRpb24sICJGcmllbmRTdGF0dXMiKTsKICAgICAgICB9 CgogICAgICAgIC8vIGFkZCBhIGJhciBiZXR3ZWVuIHN0dWZmIGlmIHdlIGhhdmUg Y29tbXVuaXR5IGFjdGlvbnMKICAgICAgICBpZiAoKGRhdGEuaXNfbG9nZ2VkX2lu ICYmIGRhdGEuaXNfY29tbSkgfHwgKG1lc3NhZ2UgJiYgZnJpZW5kKSkKICAgICAg ICAgICAgY29udGVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50 KCJiciIpKTsKCiAgICAgICAgaWYgKGZyaWVuZCkKICAgICAgICAgICAgY29udGVu dC5hcHBlbmRDaGlsZChmcmllbmQpOwoKICAgICAgICBpZiAoKGRhdGEuaXNfcGVy c29uIHx8IGRhdGEuaXNfY29tbSkgJiYgIWRhdGEuaXNfcmVxdWVzdGVyICYmIGRh dGEuY2FuX3JlY2VpdmVfdmdpZnRzKSB7CiAgICAgICAgICAgIHZhciB2Z2lmdCA9 IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKCiAgICAgICAgICAgIHZh ciBzZW5kdmdpZnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7CiAgICAg ICAgICAgIHNlbmR2Z2lmdC5ocmVmID0gd2luZG93LlNpdGUuc2l0ZXJvb3QgKyAi L3Nob3AvdmdpZnQuYm1sP3RvPSIgKyBkYXRhLnVzZXJuYW1lOwogICAgICAgICAg ICBzZW5kdmdpZnQuaW5uZXJIVE1MID0gIlNlbmQgYSB2aXJ0dWFsIGdpZnQiOwoK ICAgICAgICAgICAgdmdpZnQuYXBwZW5kQ2hpbGQoc2VuZHZnaWZ0KTsKCiAgICAg ICAgICAgIGlmIChmcmllbmQpCiAgICAgICAgICAgICAgICBjb250ZW50LmFwcGVu ZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJyIikpOwoKICAgICAgICAg ICAgY29udGVudC5hcHBlbmRDaGlsZCh2Z2lmdCk7CiAgICAgICAgfQoKICAgICAg ICAvLyBiYW4gLyB1bmJhbgogICAgICAgIHZhciBiYW47CiAgICAgICAgaWYgKGRh dGEuaXNfbG9nZ2VkX2luICYmICEgZGF0YS5pc19yZXF1ZXN0ZXIpIHsKICAgICAg ICAgICAgYmFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwoKICAg ICAgICAgICAgaWYoIWRhdGEuaXNfYmFubmVkKSB7CiAgICAgICAgICAgICAgICAv LyBpZiB1c2VyIG5vIGJhbm5lZCAtIHNob3cgYmFuIGxpbmsKICAgICAgICAgICAg ICAgIHZhciBzZXRCYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7 CiAgICAgICAgICAgICAgICB2YXIgc2V0QmFuTGluayA9IGRvY3VtZW50LmNyZWF0 ZUVsZW1lbnQoImEiKTsKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg c2V0QmFuTGluay5ocmVmID0gd2luZG93LlNpdGUuc2l0ZXJvb3QgKyAnL21hbmFn ZS9iYW51c2Vycy5ibWwnOwogICAgICAgICAgICAgICAgc2V0QmFuTGluay5pbm5l ckhUTUwgPSAnQmFuIHVzZXInOwogICAgICAgICAgICAgICAgCiAgICAgICAgICAg ICAgICBzZXRCYW4uYXBwZW5kQ2hpbGQoc2V0QmFuTGluayk7CgogICAgICAgICAg ICAgICAgRE9NLmFkZENsYXNzTmFtZShzZXRCYW4sICJTZXRCYW4iKTsKCiAgICAg ICAgICAgICAgICBpZiAoIUNvbnRleHR1YWxQb3B1cC5kaXNhYmxlQUpBWCkgewog ICAgICAgICAgICAgICAgICAgIERPTS5hZGRFdmVudExpc3RlbmVyKHNldEJhbkxp bmssICJjbGljayIsIGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgICAgICAgICAg ICAgIEV2ZW50LnByZXAoZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIEV2ZW50 LnN0b3AoZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBDb250ZXh0 dWFsUG9wdXAuY2hhbmdlUmVsYXRpb24oZGF0YSwgY3R4UG9wdXBJZCwgInNldEJh biIsIGUpOyB9KTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBi YW4uYXBwZW5kQ2hpbGQoc2V0QmFuKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAg ICAgICAgICAgICAgIC8vIGlmIHVzZSBiYW5uZWQgLSBzaG93IHVuYmFuIGxpbmsK ICAgICAgICAgICAgICAgIHZhciBzZXRVbmJhbiA9IGRvY3VtZW50LmNyZWF0ZUVs ZW1lbnQoInNwYW4iKTsKICAgICAgICAgICAgICAgIHZhciBzZXRVbmJhbkxpbmsg PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7CiAgICAgICAgICAgICAgICBz ZXRVbmJhbkxpbmsuaHJlZiA9IHdpbmRvdy5TaXRlLnNpdGVyb290ICsgJy9tYW5h Z2UvYmFudXNlcnMuYm1sJzsKICAgICAgICAgICAgICAgIHNldFVuYmFuTGluay5p bm5lckhUTUwgPSAnVW5iYW4gdXNlcic7CiAgICAgICAgICAgICAgICBzZXRVbmJh bi5hcHBlbmRDaGlsZChzZXRVbmJhbkxpbmspOwoKICAgICAgICAgICAgICAgIERP TS5hZGRDbGFzc05hbWUoc2V0VW5iYW4sICJTZXRVbmJhbiIpOwoKICAgICAgICAg ICAgICAgIGlmICghQ29udGV4dHVhbFBvcHVwLmRpc2FibGVBSkFYKSB7CiAgICAg ICAgICAgICAgICAgICAgRE9NLmFkZEV2ZW50TGlzdGVuZXIoc2V0VW5iYW5MaW5r LCAiY2xpY2siLCBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAgICAgICAgICAg ICBFdmVudC5wcmVwKGUpOwogICAgICAgICAgICAgICAgICAgICAgICBFdmVudC5z dG9wKGUpOwogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gQ29udGV4dHVh bFBvcHVwLmNoYW5nZVJlbGF0aW9uKGRhdGEsIGN0eFBvcHVwSWQsICJzZXRVbmJh biIsIGUpOyB9KTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBi YW4uYXBwZW5kQ2hpbGQoc2V0VW5iYW4pOwogICAgICAgICAgICB9CiAgICAgICAg fQoKICAgICAgICBpZihiYW4pIHsKICAgICAgICAgICAgY29udGVudC5hcHBlbmRD aGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJiciIpKTsKICAgICAgICAgICAg Y29udGVudC5hcHBlbmRDaGlsZChiYW4pOwogICAgICAgIH0KCiAgICAgICAgdmFy IHJlcG9ydF9ib3Q7CiAgICAgICAgaWYgKGRhdGEuaXNfbG9nZ2VkX2luICYmICFk YXRhLmlzX3JlcXVlc3RlciAmJiAhd2luZG93LlNpdGUucmVtb3RlX2lzX3N1c3Bl bmRlZCkgewogICAgICAgICAgICB2YXIgcmVwb3J0X2JvdCA9IGRvY3VtZW50LmNy ZWF0ZUVsZW1lbnQoJ2EnKTsKICAgICAgICAgICAgcmVwb3J0X2JvdC5ocmVmID0g d2luZG93LlNpdGUuc2l0ZXJvb3QgKyAnL2FidXNlL2JvdHMuYm1sP3VzZXI9JyAr IGRhdGEudXNlcm5hbWU7CiAgICAgICAgICAgIHJlcG9ydF9ib3QuaW5uZXJIVE1M ID0gJ1JlcG9ydCBhIEJvdCc7CiAgICAgICAgfQoKICAgICAgICBpZihyZXBvcnRf Ym90KSB7CiAgICAgICAgICAgIGNvbnRlbnQuYXBwZW5kQ2hpbGQoYmFyLmNsb25l Tm9kZSh0cnVlKSk7CiAgICAgICAgICAgIGNvbnRlbnQuYXBwZW5kQ2hpbGQocmVw b3J0X2JvdCk7CiAgICAgICAgfQoKICAgICAgICAvLyBicmVhawogICAgICAgIGlm ICgoZGF0YS5pc19sb2dnZWRfaW4gJiYgIWRhdGEuaXNfcmVxdWVzdGVyKSB8fCB2 Z2lmdCkgY29udGVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50 KCJiciIpKTsKCiAgICAgICAgLy8gdmlldyBsYWJlbAogICAgICAgIHZhciB2aWV3 TGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CiAgICAgICAg dmlld0xhYmVsLmlubmVySFRNTCA9ICJWaWV3OiAiOwogICAgICAgIGNvbnRlbnQu YXBwZW5kQ2hpbGQodmlld0xhYmVsKTsKCiAgICAgICAgLy8gam91cm5hbAogICAg ICAgIGlmIChkYXRhLmlzX3BlcnNvbiB8fCBkYXRhLmlzX2NvbW0gfHwgZGF0YS5p c19zeW5kaWNhdGVkKSB7CiAgICAgICAgICAgIHZhciBqb3VybmFsTGluayA9IGRv Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTsKICAgICAgICAgICAgam91cm5hbExp bmsuaHJlZiA9IGRhdGEudXJsX2pvdXJuYWw7CgogICAgICAgICAgICBpZiAoZGF0 YS5pc19wZXJzb24pCiAgICAgICAgICAgICAgICBqb3VybmFsTGluay5pbm5lckhU TUwgPSAiSm91cm5hbCI7CiAgICAgICAgICAgIGVsc2UgaWYgKGRhdGEuaXNfY29t bSkKICAgICAgICAgICAgICAgIGpvdXJuYWxMaW5rLmlubmVySFRNTCA9ICJDb21t dW5pdHkiOwogICAgICAgICAgICBlbHNlIGlmIChkYXRhLmlzX3N5bmRpY2F0ZWQp CiAgICAgICAgICAgICAgICBqb3VybmFsTGluay5pbm5lckhUTUwgPSAiRmVlZCI7 CgogICAgICAgICAgICBjb250ZW50LmFwcGVuZENoaWxkKGpvdXJuYWxMaW5rKTsK ICAgICAgICAgICAgY29udGVudC5hcHBlbmRDaGlsZChiYXIuY2xvbmVOb2RlKHRy dWUpKTsKICAgICAgICB9CgogICAgICAgIC8vIHByb2ZpbGUKICAgICAgICB2YXIg cHJvZmlsZUxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7CiAgICAg ICAgcHJvZmlsZUxpbmsuaHJlZiA9IGRhdGEudXJsX3Byb2ZpbGU7CiAgICAgICAg cHJvZmlsZUxpbmsuaW5uZXJIVE1MID0gIlByb2ZpbGUiOwogICAgICAgIGNvbnRl bnQuYXBwZW5kQ2hpbGQocHJvZmlsZUxpbmspOwoKCgogICAgICAgIC8vIGNsZWFy aW5nIGRpdgogICAgICAgIHZhciBjbGVhcmluZ0RpdiA9IGRvY3VtZW50LmNyZWF0 ZUVsZW1lbnQoImRpdiIpOwogICAgICAgIERPTS5hZGRDbGFzc05hbWUoY2xlYXJp bmdEaXYsICJsamNsZWFyIik7CiAgICAgICAgY2xlYXJpbmdEaXYuaW5uZXJIVE1M ID0gIiZuYnNwOyI7CiAgICAgICAgY29udGVudC5hcHBlbmRDaGlsZChjbGVhcmlu Z0Rpdik7CgogICAgICAgIGlwcHUuc2V0Q29udGVudEVsZW1lbnQoaW5uZXIpOwog ICAgfQp9CgovLyBhamF4IHJlcXVlc3QgdG8gY2hhbmdlIHJlbGF0aW9uCkNvbnRl eHR1YWxQb3B1cC5jaGFuZ2VSZWxhdGlvbiA9IGZ1bmN0aW9uIChpbmZvLCBjdHhQ b3B1cElkLCBhY3Rpb24sIGV2dCkgewogICAgaWYgKCFpbmZvKSByZXR1cm4gdHJ1 ZTsKCiAgICB2YXIgcG9zdERhdGEgPSB7CiAgICAgICAgInRhcmdldCI6IGluZm8u dXNlcm5hbWUsCiAgICAgICAgImFjdGlvbiI6IGFjdGlvbgogICAgfTsKCiAgICAv LyBnZXQgdGhlIGF1dGh0b2tlbgogICAgdmFyIGF1dGh0b2tlbiA9IGluZm9bYWN0 aW9uICsgIl9hdXRodG9rZW4iXTsKICAgIGlmICghYXV0aHRva2VuKSBsb2coIm5v IGF1dGggdG9rZW4gZm9yIGFjdGlvbiIgKyBhY3Rpb24pOwogICAgcG9zdERhdGEu YXV0aF90b2tlbiA9IGF1dGh0b2tlbjsKCiAgICAvLyBuZWVkZWQgb24gam91cm5h bCBzdWJkb21haW5zCiAgICB2YXIgdXJsID0gTGl2ZUpvdXJuYWwuZ2V0QWpheFVy bCgiY2hhbmdlcmVsYXRpb24iKTsKCiAgICAvLyBjYWxsYmFjayBmcm9tIGNoYW5n aW5nIHJlbGF0aW9uIHJlcXVlc3QKICAgIHZhciBjaGFuZ2VkUmVsYXRpb24gPSBm dW5jdGlvbiAoZGF0YSkgewogICAgICAgIGlmIChDb250ZXh0dWFsUG9wdXAuaG91 cmdsYXNzKSBDb250ZXh0dWFsUG9wdXAuaGlkZUhvdXJnbGFzcygpOwoKICAgICAg ICBpZiAoZGF0YS5lcnJvcikgewogICAgICAgICAgICBDb250ZXh0dWFsUG9wdXAu c2hvd05vdGUoZGF0YS5lcnJvciwgY3R4UG9wdXBJZCk7CiAgICAgICAgICAgIHJl dHVybjsKICAgICAgICB9CgogICAgICAgIGlmIChkYXRhLm5vdGUpCiAgICAgICAg Q29udGV4dHVhbFBvcHVwLnNob3dOb3RlKGRhdGEubm90ZSwgY3R4UG9wdXBJZCk7 CgogICAgICAgIGlmICghZGF0YS5zdWNjZXNzKSByZXR1cm47CgogICAgICAgIGlm IChDb250ZXh0dWFsUG9wdXAuY2FjaGVkUmVzdWx0c1tjdHhQb3B1cElkXSkgewog ICAgICAgICAgICB2YXIgdXBkYXRlZFByb3BzID0gWyJpc19mcmllbmQiLCAiaXNf bWVtYmVyIiwgJ2lzX2Jhbm5lZCddOwogICAgICAgICAgICB1cGRhdGVkUHJvcHMu Zm9yRWFjaChmdW5jdGlvbiAocHJvcCkgewogICAgICAgICAgICAgICAgQ29udGV4 dHVhbFBvcHVwLmNhY2hlZFJlc3VsdHNbY3R4UG9wdXBJZF1bcHJvcF0gPSBkYXRh W3Byb3BdOwogICAgICAgICAgICB9KTsKICAgICAgICB9CgogICAgICAgIC8vIGlm IHRoZSBwb3B1cCBpcyB1cCwgcmVsb2FkIGl0CiAgICAgICAgQ29udGV4dHVhbFBv cHVwLnJlbmRlclBvcHVwKGN0eFBvcHVwSWQpOwogICAgfTsKCiAgICB2YXIgb3B0 cyA9IHsKICAgICAgICAiZGF0YSI6IEhUVFBSZXEuZm9ybUVuY29kZWQocG9zdERh dGEpLAogICAgICAgICJtZXRob2QiOiAiUE9TVCIsCiAgICAgICAgInVybCI6IHVy bCwKICAgICAgICAib25FcnJvciI6IENvbnRleHR1YWxQb3B1cC5nb3RFcnJvciwK ICAgICAgICAib25EYXRhIjogY2hhbmdlZFJlbGF0aW9uCiAgICB9OwoKICAgIC8v IGRvIGhvdXJnbGFzcyBhdCBtb3VzZSBjb29yZHMKICAgIHZhciBtb3VzZUNvb3Jk cyA9IERPTS5nZXRBYnNvbHV0ZUN1cnNvclBvc2l0aW9uKGV2dCk7CiAgICBpZiAo IUNvbnRleHR1YWxQb3B1cC5ob3VyZ2xhc3MgJiYgbW91c2VDb29yZHMpIHsKICAg ICAgICBDb250ZXh0dWFsUG9wdXAuaG91cmdsYXNzID0gbmV3IEhvdXJnbGFzcygp OwogICAgICAgIENvbnRleHR1YWxQb3B1cC5ob3VyZ2xhc3MuaW5pdChudWxsLCAi bGpfaG91cmdsYXNzIik7CiAgICAgICAgQ29udGV4dHVhbFBvcHVwLmhvdXJnbGFz cy5hZGRfY2xhc3NfbmFtZSgiQ29udGV4dHVhbFBvcHVwIik7IC8vIHNvIG1vdXNp bmcgb3ZlciBob3VyZ2xhc3MgZG9lc24ndCBtYWtlIGN0eHBvcHVwIHRoaW5rIG1v dXNlIGlzIG91dHNpZGUKICAgICAgICBDb250ZXh0dWFsUG9wdXAuaG91cmdsYXNz LmhvdXJnbGFzc19hdChtb3VzZUNvb3Jkcy54LCBtb3VzZUNvb3Jkcy55KTsKICAg IH0KCiAgICBIVFRQUmVxLmdldEpTT04ob3B0cyk7CgogICAgcmV0dXJuIGZhbHNl Owp9CgovLyBjcmVhdGUgYSBsaXR0bGUgcG9wdXAgdG8gbm90aWZ5IHRoZSB1c2Vy IG9mIHNvbWV0aGluZwpDb250ZXh0dWFsUG9wdXAuc2hvd05vdGUgPSBmdW5jdGlv biAobm90ZSwgY3R4UG9wdXBJZCwgZWxlKSB7CiAgICBpZiAoQ29udGV4dHVhbFBv cHVwLmlwcHUpIHsKICAgICAgICAvLyBwb3AgdXAgdGhlIGJveCByaWdodCB1bmRl ciB0aGUgZWxlbWVudAogICAgICAgIGVsZSA9IENvbnRleHR1YWxQb3B1cC5pcHB1 LmdldEVsZW1lbnQoKTsKICAgIH0KCiAgICBMSl9JUFBVLnNob3dOb3RlKG5vdGUs IGVsZSk7Cn0KCkNvbnRleHR1YWxQb3B1cC5oaWRlUG9wdXAgPSBmdW5jdGlvbiAo Y3R4UG9wdXBJZCkgewogICAgaWYgKENvbnRleHR1YWxQb3B1cC5ob3VyZ2xhc3Mp IENvbnRleHR1YWxQb3B1cC5oaWRlSG91cmdsYXNzKCk7CgogICAgLy8gZGVzdHJv eSBwb3B1cCBmb3Igbm93CiAgICBpZiAoQ29udGV4dHVhbFBvcHVwLmlwcHUpIHsK ICAgICAgICBDb250ZXh0dWFsUG9wdXAuaXBwdS5oaWRlKCk7CiAgICAgICAgQ29u dGV4dHVhbFBvcHVwLmlwcHUgPSBudWxsOwogICAgfQp9CgovLyBkbyBhamF4IHJl cXVlc3Qgb2YgdXNlciBpbmZvCkNvbnRleHR1YWxQb3B1cC5nZXRJbmZvID0gZnVu Y3Rpb24gKHRhcmdldCwgY3R4UG9wdXBJZCkgewogICAgdmFyIHVzZXJuYW1lID0g dGFyZ2V0LnVzZXJuYW1lIHx8ICcnLAogICAgICAgIHVzZXJpZCA9IHRhcmdldC51 c2VyaWQgfHwgMCwKICAgICAgICB1cF91cmwgPSB0YXJnZXQudXBfdXJsIHx8ICcn OwoKICAgIGlmIChDb250ZXh0dWFsUG9wdXAuY3VycmVudFJlcXVlc3RzW2N0eFBv cHVwSWRdKSB7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIENvbnRleHR1YWxQ b3B1cC5jdXJyZW50UmVxdWVzdHNbY3R4UG9wdXBJZF0gPSAxOwoKICAgIHZhciBw YXJhbXMgPSBIVFRQUmVxLmZvcm1FbmNvZGVkICh7CiAgICAgICAgInVzZXIiOiB1 c2VybmFtZSwKICAgICAgICAidXNlcmlkIjogdXNlcmlkLAogICAgICAgICJ1c2Vy cGljX3VybCI6IHVwX3VybCwKICAgICAgICAibW9kZSI6ICJnZXRpbmZvIgogICAg fSk7CgogICAgdmFyIHVybCA9IExpdmVKb3VybmFsLmdldEFqYXhVcmwoImN0eHBv cHVwIik7CgogICAgLy8gZ290IGRhdGEgY2FsbGJhY2sKICAgIHZhciBnb3RJbmZv ID0gZnVuY3Rpb24gKGRhdGEpIHsKICAgICAgICBpZiAoQ29udGV4dHVhbFBvcHVw ICYmIENvbnRleHR1YWxQb3B1cC5ob3VyZ2xhc3MpIENvbnRleHR1YWxQb3B1cC5o aWRlSG91cmdsYXNzKCk7CgogICAgICAgIENvbnRleHR1YWxQb3B1cC5jYWNoZWRS ZXN1bHRzW1N0cmluZyhkYXRhLnVzZXJpZCldID0KICAgICAgICBDb250ZXh0dWFs UG9wdXAuY2FjaGVkUmVzdWx0c1tkYXRhLnVzZXJuYW1lXSA9CiAgICAgICAgQ29u dGV4dHVhbFBvcHVwLmNhY2hlZFJlc3VsdHNbZGF0YS51cmxfdXNlcnBpY10gPSBk YXRhOwoKICAgICAgICBpZiAodXBfdXJsKSAvLyBub24gZGVmYXVsdCB1c2VycGlj CiAgICAgICAgICAgIENvbnRleHR1YWxQb3B1cC5jYWNoZWRSZXN1bHRzW3VwX3Vy bF0gPSBkYXRhOwoKICAgICAgICBpZiAoZGF0YS5lcnJvcikgewogICAgICAgICAg ICBpZiAoZGF0YS5ub3Nob3cpIHJldHVybjsKCiAgICAgICAgICAgIENvbnRleHR1 YWxQb3B1cC5zaG93Tm90ZShkYXRhLmVycm9yLCBjdHhQb3B1cElkLCB0YXJnZXQp OwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICBpZiAoZGF0 YS5ub3RlKQogICAgICAgIENvbnRleHR1YWxQb3B1cC5zaG93Tm90ZShkYXRhLm5v dGUsIGRhdGEuY3R4UG9wdXBJZCwgdGFyZ2V0KTsKCiAgICAgICAgQ29udGV4dHVh bFBvcHVwLmN1cnJlbnRSZXF1ZXN0c1tjdHhQb3B1cElkXSA9IG51bGw7CgogICAg ICAgIENvbnRleHR1YWxQb3B1cC5yZW5kZXJQb3B1cChjdHhQb3B1cElkKTsKCiAg ICAgICAgLy8gZXhwaXJlIGNhY2hlIGFmdGVyIG1pbnV0ZQogICAgICAgIHNldFRp bWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBDb250ZXh0dWFsUG9wdXAu Y2FjaGVkUmVzdWx0c1tjdHhQb3B1cElkXSA9IG51bGw7CiAgICAgICAgfSwgNjAg KiAxMDAwKTsKICAgIH07CgogICAgSFRUUFJlcS5nZXRKU09OKHsKICAgICAgICAi dXJsIjogdXJsLAogICAgICAgICJtZXRob2QiOiAiR0VUIiwKICAgICAgICAiZGF0 YSI6IHBhcmFtcywKICAgICAgICAib25EYXRhIjogZ290SW5mbywKICAgICAgICAi b25FcnJvciI6IENvbnRleHR1YWxQb3B1cC5nb3RFcnJvcgogICAgfSk7Cn0KCkNv bnRleHR1YWxQb3B1cC5oaWRlSG91cmdsYXNzID0gZnVuY3Rpb24gKCkgewogICAg aWYgKENvbnRleHR1YWxQb3B1cC5ob3VyZ2xhc3MpIHsKICAgICAgICBDb250ZXh0 dWFsUG9wdXAuaG91cmdsYXNzLmhpZGUoKTsKICAgICAgICBDb250ZXh0dWFsUG9w dXAuaG91cmdsYXNzID0gbnVsbDsKICAgIH0KfQoKQ29udGV4dHVhbFBvcHVwLmdv dEVycm9yID0gZnVuY3Rpb24gKGVycikgewogICAgaWYgKENvbnRleHR1YWxQb3B1 cC5ob3VyZ2xhc3MpIENvbnRleHR1YWxQb3B1cC5oaWRlSG91cmdsYXNzKCk7Cn0K Ci8vIHdoZW4gcGFnZSBsb2Fkcywgc2V0IHVwIGNvbnRleHR1YWwgcG9wdXBzCkxp dmVKb3VybmFsLnJlZ2lzdGVyX2hvb2soInBhZ2VfbG9hZCIsIENvbnRleHR1YWxQ b3B1cC5zZXR1cCk7CnZhciBTbmFwU2hvdHMgPSBuZXcgT2JqZWN0KCk7CgpTbmFw U2hvdHMuaW5pdCA9IGZ1bmN0aW9uICgpIHsKICAgIC8vIGNvcHkgZnJvbSBhcnJh eS1saWtlIG9iamVjdCAoYXJndW1lbnRzKSB0byBhIG5vcm1hbCBhcnJheQogICAg dmFyIGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMp OwogICAgLy8gYW5kIGFkZCBob3N0IG9mIHRoZSBjdXJyZW50IHBhZ2UKICAgIGFy Z3MucHVzaCh3aW5kb3cubG9jYXRpb24uaHJlZi5ob3N0KTsgCgogICAgdmFyIGxp bmtzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoICJhIiApOwogICAg Zm9yKCB2YXIgaSA9IDA7IGkgPCBsaW5rcy5sZW5ndGg7IGkrKyApIHsKICAgICAg ICB2YXIgbGluayA9IGxpbmtzWyBpIF07CiAgICAgICAgaWYoICFsaW5rIHx8ICFs aW5rLmhyZWYubWF0Y2goIC9eaHR0cHM/Oi8gKSkgewogICAgICAgICAgICBjb250 aW51ZTsKICAgICAgICB9CiAgICAgICAgdmFyIGZvdW5kID0gZmFsc2U7CiAgICAg ICAgZm9yICh2YXIgaiA9IDA7IGogPCBhcmdzLmxlbmd0aDsgaisrKSB7CiAgICAg ICAgICAgIGlmIChsaW5rLmhyZWYuaW5kZXhPZiggYXJnc1tqXSApID49IDAgKSB7 CiAgICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7CiAgICAgICAgICAgICAgICBi cmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAoZm91bmQp IGNvbnRpbnVlOyAgICAgICAgCgogICAgICAgIERPTS5hZGRDbGFzc05hbWUoIGxp bmssICJzbmFwX3Nob3RzIiApOwogICAgfQp9OwoKRXhwYW5kZXIgPSBmdW5jdGlv bigpewogICAgdGhpcy5fX2NhbGxlcl9fOyAgICAvLyA8YT4gSFRNTCBlbGVtZW50 IGZyb20gd2hlcmUgRXhwYW5kZXIgd2FzIGNhbGxlZAogICAgdGhpcy51cmw7ICAg ICAgICAgICAvLyBmdWxsIHVybCBvZiB0aHJlYWQgdG8gYmUgZXhwYW5kZWQKICAg IHRoaXMuaWQ7ICAgICAgICAgICAgLy8gaWQgb2YgdGhlIHRocmVhZAogICAgdGhp cy5vbmNsaWNrOwogICAgdGhpcy5zdG9yZWRfY2FsbGVyOwogICAgdGhpcy5pZnJh bWU7ICAgICAgICAvLyBpZnJhbWUsIHdoZXJlIHRoZSB0aHJlYWQgd2lsbCBiZSBs b2FkZWQKICAgIHRoaXMuaXNfUzE7ICAgICAgICAgLy8gYm9vbCBmbGFnLCB0cnVl ID09IGpvdXJuYWwgaXMgaW4gUzEsIGZhbHNlID09IGluIFMyCn0KRXhwYW5kZXIu Q29sbGVjdGlvbj17fTsKRXhwYW5kZXIubWFrZSA9IGZ1bmN0aW9uKGVsLHVybCxp ZCxpc19TMSl7CiAgICB2YXIgbG9jYWwgPSAobmV3IEV4cGFuZGVyKS5zZXQoe19f Y2FsbGVyX186ZWwsdXJsOnVybC5yZXBsYWNlKC8jLiokLywnJyksaWQ6aWQsaXNf UzE6ISFpc19TMX0pOwogICAgbG9jYWwuZ2V0KCk7Cn0KCkV4cGFuZGVyLnByb3Rv dHlwZS5zZXQgPSBmdW5jdGlvbihvcHRpb25zKXsKICAgIGZvcih2YXIgb3B0IGlu IG9wdGlvbnMpewogICAgICAgIHRoaXNbb3B0XSA9IG9wdGlvbnNbb3B0XTsKICAg IH0KICAgIHJldHVybiB0aGlzOwp9CgpFeHBhbmRlci5wcm90b3R5cGUuZ2V0Q2Fu dmFzID0gZnVuY3Rpb24oaWQsY29udGV4dCl7CiAgICByZXR1cm4gY29udGV4dC5k b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGpjbXQnK2lkKTsKfQoKRXhwYW5kZXIu cHJvdG90eXBlLnBhcnNlTEpfY210aW5mbyA9IGZ1bmN0aW9uKGNvbnRleHQsY2Fs bGJhY2spewogICAgdmFyIG1hcD17fSwgbm9kZSwgajsKICAgIHZhciBMSiA9IGNv bnRleHQuTEpfY210aW5mbzsKICAgIGlmKCFMSilyZXR1cm4gZmFsc2U7CiAgICBm b3IoaiBpbiBMSil7CiAgICAgICAgaWYoL15cZCokLy50ZXN0KGopICYmIChub2Rl ID0gdGhpcy5nZXRDYW52YXMoaixjb250ZXh0KSkpewogICAgICAgICAgICBtYXBb al0gPSB7aW5mbzpMSltqXSxjYW52YXM6bm9kZX07CiAgICAgICAgICAgIGlmKHR5 cGVvZiBjYWxsYmFjayA9PSAnZnVuY3Rpb24nKXsKICAgICAgICAgICAgICAgIGNh bGxiYWNrKGosbWFwW2pdKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0K ICAgIHJldHVybiBtYXA7Cn0KCkV4cGFuZGVyLnByb3RvdHlwZS5sb2FkaW5nU3Rh dGVPbiA9IGZ1bmN0aW9uKCl7CiAgICB0aGlzLnN0b3JlZF9jYWxsZXIgPSB0aGlz Ll9fY2FsbGVyX18uY2xvbmVOb2RlKHRydWUpOwogICAgdGhpcy5fX2NhbGxlcl9f LnNldEF0dHJpYnV0ZSgnYWxyZWFkeV9jbGlja2VkJywnYWxyZWFkeV9jbGlja2Vk Jyk7CiAgICB0aGlzLm9uY2xpY2sgPSB0aGlzLl9fY2FsbGVyX18ub25jbGljazsK ICAgIHRoaXMuX19jYWxsZXJfXy5vbmNsaWNrID0gZnVuY3Rpb24oKXtyZXR1cm4g ZmFsc2U7fQogICAgdGhpcy5fX2NhbGxlcl9fLnN0eWxlLmNvbG9yID0gJyNjY2Mn Owp9CgpFeHBhbmRlci5wcm90b3R5cGUubG9hZGluZ1N0YXRlT2ZmID0gZnVuY3Rp b24oKXsKICAgIGlmKHRoaXMuX19jYWxsZXJfXyl7CiAgICAgICAgLy8gYWN0dWFs bHksIHRoZSA8YT4gZWxlbWVudCBpcyByZW1vdmVkIGZyb20gbWFpbiB3aW5kb3cg YnkKICAgICAgICAvLyBjb3B5aW5nIGNvbW1lbnQgZnJvbSBpZmFtZSwgc28gdGhp cyBjb2RlIGlzIG5vdCBleGVjdXRlZCAoPykKICAgICAgICB0aGlzLl9fY2FsbGVy X18ucmVtb3ZlQXR0cmlidXRlKCdhbHJlYWR5X2NsaWNrZWQnLCdhbHJlYWR5X2Ns aWNrZWQnKTsKICAgICAgICBpZih0aGlzLl9fY2FsbGVyX18ucGFyZW50Tm9kZSkg dGhpcy5fX2NhbGxlcl9fLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKHRoaXMuc3Rv cmVkX2NhbGxlcix0aGlzLl9fY2FsbGVyX18pOwogICAgfQogICAgdmFyIG9iaiA9 IHRoaXM7CiAgICAvLyBXaGVuIGZyYW1lIGlzIHJlbW92ZWQgaW1tZWRpYXRlbHks IElFIHJhaXNlcyBhbiBlcnJvciBzb21ldGltZXMKICAgIHdpbmRvdy5zZXRUaW1l b3V0KGZ1bmN0aW9uKCl7b2JqLmtpbGxGcmFtZSgpfSwxMDApOwp9CgpFeHBhbmRl ci5wcm90b3R5cGUua2lsbEZyYW1lID0gZnVuY3Rpb24oKXsKICAgIGRvY3VtZW50 LmJvZHkucmVtb3ZlQ2hpbGQodGhpcy5pZnJhbWUpOwp9CgpFeHBhbmRlci5wcm90 b3R5cGUuaXNGdWxsQ29tbWVudCA9IGZ1bmN0aW9uKGNvbW1lbnQpewogICAgcmV0 dXJuICEhTnVtYmVyKGNvbW1lbnQuaW5mby5mdWxsKTsKfQoKRXhwYW5kZXIucHJv dG90eXBlLmtpbGxEdXBsaWNhdGUgPSBmdW5jdGlvbihjb21tZW50cyl7CiAgICB2 YXIgY29tbWVudDsKICAgIHZhciBpZCxpZF8sZWwsZWxfOwogICAgZm9yKHZhciBq IGluIGNvbW1lbnRzKXsKICAgICAgICBpZighL15cZCokLy50ZXN0KGopKWNvbnRp bnVlOwogICAgICAgIGVsXyA9IGNvbW1lbnRzW2pdLmNhbnZhczsKICAgICAgICBp ZF8gPSBlbF8uaWQ7CiAgICAgICAgaWQgPSBpZF8ucmVwbGFjZSgvXyQvLCcnKTsK ICAgICAgICBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTsKICAgICAg ICBpZihlbCE9bnVsbCl7CiAgICAgICAgICAgIC8vaW4gY2FzZSB3ZSBoYXZlIGEg ZHVwbGljYXRlOwogICAgICAgICAgICBlbF8ucGFyZW50Tm9kZS5yZW1vdmVDaGls ZChlbF8pOwogICAgICAgIH1lbHNlewogICAgICAgICAgICBlbF8uaWQgPSBpZDsK ICAgICAgICAgICAgd2luZG93LkNvbnRleHR1YWxQb3B1cCAmJiBDb250ZXh0dWFs UG9wdXAuc2VhcmNoQW5kQWRkKGVsXyk7CiAgICAgICAgICAgIHdpbmRvdy5zZXR1 cEFqYXggJiYgc2V0dXBBamF4KGVsXyk7CiAgICAgICAgICAgIHdpbmRvdy5FU04g JiYgRVNOLmluaXRUcmFja0J0bnMoZWxfKTsKICAgICAgICB9CiAgICB9Cn0KCkV4 cGFuZGVyLnByb3RvdHlwZS5nZXRTMXdpZHRoID0gZnVuY3Rpb24oY2FudmFzKXsK ICAvL1RPRE86ICBtYXkgYmUgd2Ugc2hvdWxkIHNob3VsZCBhZGQgc29taWUgSUQg dG8gdGhlIHNwYWNlciBpbWcgaW5zdGVhZCBvZiBzZWFyY2hpbmcgaXQKICAvL3ll dCwgdGhpcyB3b3JrcyB1bnRpbCB3ZSBoYXZlIG5vdCBjaGFuZ2VkIHRoZSBzcGFj ZXJzIHVybCA9ICdkb3QuZ2lmJyk7CiAgdmFyIGltZywgaW1ncywgZm91bmQ7CiAg aW1ncyA9IGNhbnZhcy5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaW1nJyk7CiAgaWYo IWltZ3MpcmV0dXJuIGZhbHNlOwogIGZvcih2YXIgaj0wO2o8aW1ncy5sZW5ndGg7 aisrKXsKICAgIGltZz1pbWdzW2pdOwogICAgaWYoL2RvdFwuZ2lmJC8udGVzdChp bWcuc3JjKSl7CiAgICAgICAgZm91bmQgPSB0cnVlOwogICAgICAgIGJyZWFrOwog ICAgfQogIH0KICBpZihmb3VuZCYmaW1nLndpZHRoKXJldHVybiBOdW1iZXIoaW1n LndpZHRoKTsKICBlbHNlIHJldHVybiBmYWxzZTsKfQoKRXhwYW5kZXIucHJvdG90 eXBlLnNldFMxd2lkdGggPSBmdW5jdGlvbihjYW52YXMsdyl7CiAgdmFyIGltZywg aW1ncywgZm91bmQ7CiAgaW1ncyA9IGNhbnZhcy5nZXRFbGVtZW50c0J5VGFnTmFt ZSgnaW1nJyk7CiAgaWYoIWltZ3MpcmV0dXJuIGZhbHNlOwogIGZvcih2YXIgaj0w O2o8aW1ncy5sZW5ndGg7aisrKXsKICAgIGltZz1pbWdzW2pdOwogICAgaWYoL2Rv dFwuZ2lmJC8udGVzdChpbWcuc3JjKSl7CiAgICAgICAgZm91bmQgPSB0cnVlOwog ICAgICAgIGJyZWFrOwogICAgfQogIH0KICBpZihmb3VuZClpbWcuc2V0QXR0cmli dXRlKCd3aWR0aCcsdyk7Cn0KCkV4cGFuZGVyLnByb3RvdHlwZS5vbkxvYWRIYW5k bGVyID0gZnVuY3Rpb24oaWZyYW1lKXsKICAgICAgICB2YXIgZG9jID0gaWZyYW1l LmNvbnRlbnREb2N1bWVudCB8fCBpZnJhbWUuY29udGVudFdpbmRvdzsKICAgICAg ICBkb2MgPSBkb2MuZG9jdW1lbnR8fGRvYzsKICAgICAgICB2YXIgb2JqID0gdGhp czsKICAgICAgICB2YXIgd2luID0gZG9jLmRlZmF1bHRWaWV3fHxkb2MucGFyZW50 V2luZG93OwogICAgICAgIHZhciBjb21tZW50c19pbnRlcnNlY3Rpb249e307CiAg ICAgICAgdmFyIGNvbW1lbnRzX3BhZ2UgPSB0aGlzLnBhcnNlTEpfY210aW5mbyh3 aW5kb3cpOwogICAgICAgIHZhciBjb21tZW50c19pZnJhbWUgPSB0aGlzLnBhcnNl TEpfY210aW5mbyh3aW4sZnVuY3Rpb24oaWQsbmV3X2NvbW1lbnQpewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihpZCBpbiBjb21tZW50c19w YWdlKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bW1lbnRzX3BhZ2VbaWRdLmNhbnZhcy5pZCA9IGNvbW1lbnRzX3BhZ2VbaWRdLmNh bnZhcy5pZCsnXyc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb21tZW50c19pbnRlcnNlY3Rpb25baWRdID0gY29tbWVudHNfcGFnZVtp ZF07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBj b3B5IGNvbW1lbnQgZnJvbSBpZnJhbWUgdG8gbWFpbiB3aW5kb3cgaWYKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDEpIHRoZSBjb21t ZW50IGlzIGNvbGxhcHNlZCBpbiBtYWluIHdpbmRvdyBhbmQgaXMgZnVsbCBpbiBp ZnJhbWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v IDIpIG9yIHRoaXMgaXMgdGhlIHJvb3QgY29tbWVudCBvZiB0aGlzIHRocmVhZCAo aXQgbWF5IGJlIGZ1bGwgaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC8vICAgICBtYWluIHdpbmRvdyB0b28sIGl0J3MgY29waWVkIHNv IHRoYXQgdG8gcmVtb3ZlICJleHBhbmQiIGxpbmsgZnJvbSBpdCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCghb2JqLmlzRnVsbENv bW1lbnQoY29tbWVudHNfcGFnZVtpZF0pICYmIG9iai5pc0Z1bGxDb21tZW50KG5l d19jb21tZW50KSkgfHwgKGlkPT09b2JqLmlkKSl7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHc7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYob2JqLmlzX1MxKXsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdyA9 b2JqLmdldFMxd2lkdGgoY29tbWVudHNfcGFnZVtpZF0uY2FudmFzKTsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWVudHNfcGFn ZVtpZF0uY2FudmFzLmlubmVySFRNTCA9IG5ld19jb21tZW50LmNhbnZhcy5pbm5l ckhUTUw7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaWYob2JqLmlzX1MxICYmIHchPT1udWxsKXsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5zZXRTMXdpZHRo KGNvbW1lbnRzX3BhZ2VbaWRdLmNhbnZhcyx3KTsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLy9UT0RPOiBtYXkgYmUgdGhpcyBzaG91 bGQgYmUgdW5jb21tZW50ZWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAvL2NvbW1lbnRzX3BhZ2VbaWRdLmNhbnZhcy5jbGFzc05h bWUgPSBuZXdfY29tbWVudC5jYW52YXMuY2xhc3NOYW1lOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExKX2NtdGluZm9baWRdLmZ1 bGw9MTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfS8vaWYoaWQgaW4g Y29tbWVudHNfcGFnZSl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fSk7CiAgICAgICB0aGlzLmtpbGxEdXBsaWNhdGUoY29tbWVudHNfaW50ZXJzZWN0 aW9uKTsKICAgICAgIHRoaXMubG9hZGluZ1N0YXRlT2ZmKCk7CiAgICAgICByZXR1 cm4gdHJ1ZTsKfQoKCi8vanVzdCBmb3IgZGVidWdnaW5nCkV4cGFuZGVyLnByb3Rv dHlwZS50b1N0cmluZyA9IGZ1bmN0aW9uKCl7CiAgICByZXR1cm4gJ19fJyt0aGlz LmlkKydfXyc7Cn0KCgpFeHBhbmRlci5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24o KXsKICAgIGlmKHRoaXMuX19jYWxsZXJfXy5nZXRBdHRyaWJ1dGUoJ2FscmVhZHlf Y2xpY2tlZCcpKXsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICB0aGlz LmxvYWRpbmdTdGF0ZU9uKCk7CgogICAgdmFyIGlmcmFtZTsKICAgIGlmKC8qQGNj X29uICFAKi8wKXsKICAgICAgICAvLyBicmFuY2ggZm9yIElFCiAgICAgICAgRXhw YW5kZXIuQ29sbGVjdGlvblt0aGlzLmlkXSA9IHRoaXM7CiAgICAgICAgaWZyYW1l ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnPGlmcmFtZSBvbmxvYWQ9IkV4cGFu ZGVyLkNvbGxlY3Rpb25bJyt0aGlzLmlkKyddLm9uTG9hZEhhbmRsZXIodGhpcyki PicpOwogICAgfWVsc2V7CiAgICAgICAgLy8gYnJhbmNoIGZvciBhbGwgb3RoZXIg YnJvd3NlcnMKICAgICAgICBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50 KCdpZnJhbWUnKTsKICAgICAgICBpZnJhbWUub25sb2FkID0gZnVuY3Rpb24ob2Jq KXtyZXR1cm4gZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAg IG9iai5vbkxvYWRIYW5kbGVyKGlmcmFtZSk7CiAgICAgICAgICAgICAgICAgICAg ICAgIH19KHRoaXMpOwogICAgfQogICAgaWZyYW1lLnN0eWxlLmhlaWdodD0nMXB4 JzsKICAgIGlmcmFtZS5zdHlsZS53aWR0aD0nMXB4JzsKICAgIGlmcmFtZS5zdHls ZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgaWZyYW1lLnNyYyA9IHRoaXMudXJsOwog ICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOwogICAgdGhpcy5p ZnJhbWU9aWZyYW1lOwogICAgcmV0dXJuIHRydWU7Cn0KLy8gY2FsbGVkIGJ5IFMy OgpmdW5jdGlvbiBzZXRTdHlsZSAoZGlkLCBhdHRyLCB2YWwpIHsKICAgIGlmICgh IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKSByZXR1cm47CiAgICB2YXIgZGUgPSBk b2N1bWVudC5nZXRFbGVtZW50QnlJZChkaWQpOwogICAgaWYgKCEgZGUpIHJldHVy bjsKICAgIGlmIChkZS5zdHlsZSkKICAgICAgICBkZS5zdHlsZVthdHRyXSA9IHZh bAp9CgovLyBjYWxsZWQgYnkgUzI6CmZ1bmN0aW9uIHNldElubmVyIChkaWQsIHZh bCkgewogICAgaWYgKCEgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQpIHJldHVybjsK ICAgIHZhciBkZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGRpZCk7CiAgICBp ZiAoISBkZSkgcmV0dXJuOwogICAgZGUuaW5uZXJIVE1MID0gdmFsOwp9CgovLyBj YWxsZWQgYnkgUzI6CmZ1bmN0aW9uIGhpZGVFbGVtZW50IChkaWQpIHsKICAgIGlm ICghIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKSByZXR1cm47CiAgICB2YXIgZGUg PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChkaWQpOwogICAgaWYgKCEgZGUpIHJl dHVybjsKICAgIGRlLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7Cn0KCi8vIGNhbGxl ZCBieSBTMjoKZnVuY3Rpb24gc2V0QXR0ciAoZGlkLCBhdHRyLCBjbGFzc25hbWUp IHsKICAgIGlmICghIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKSByZXR1cm47CiAg ICB2YXIgZGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChkaWQpOwogICAgaWYg KCEgZGUpIHJldHVybjsKICAgIGRlLnNldEF0dHJpYnV0ZShhdHRyLCBjbGFzc25h bWUpOwp9CgovLyBjYWxsZWQgZnJvbSBQYWdlOgpmdW5jdGlvbiBtdWx0aWZvcm1T dWJtaXQgKGZvcm0sIHR4dCkgewogICAgdmFyIHNlbF92YWwgPSBmb3JtLm1vZGUu dmFsdWU7CiAgICBpZiAoIXNlbF92YWwpIHsKICAgICAgICBhbGVydCh0eHQubm9f YWN0aW9uKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgaWYgKHNl bF92YWwuc3Vic3RyaW5nKDAsIDQpID09ICdhbGw6JykgeyAvLyBtYXNzIGFjdGlv bgogICAgICAgIHJldHVybjsKICAgIH0KCiAgICB2YXIgaSA9IC0xLCBoYXNfc2Vs ZWN0ZWQgPSBmYWxzZTsgLy8gYXQgbGVhc3Qgb25lIGNoZWNrYm94CiAgICB3aGls ZSAoZm9ybVsrK2ldKSB7CiAgICAgICAgaWYgKGZvcm1baV0ubmFtZS5zdWJzdHJp bmcoMCwgOSkgPT0gJ3NlbGVjdGVkXycgJiYgZm9ybVtpXS5jaGVja2VkKSB7CiAg ICAgICAgICAgIGhhc19zZWxlY3RlZCA9IHRydWU7CiAgICAgICAgICAgIGJyZWFr OwogICAgICAgIH0KICAgIH0KICAgIGlmICghaGFzX3NlbGVjdGVkKSB7CiAgICAg ICAgYWxlcnQodHh0Lm5vX2NvbW1lbnRzKTsKICAgICAgICByZXR1cm4gZmFsc2U7 CiAgICB9CgogICAgaWYgKHNlbF92YWwgPT0gJ2RlbGV0ZScgfHwgc2VsX3ZhbCA9 PSAnZGVsZXRlc3BhbScpIHsKICAgICAgICByZXR1cm4gY29uZmlybSh0eHQuY29u Zl9kZWxldGUpOwogICAgfQp9CgoKZnVuY3Rpb24gZ2V0WFRSICgpIHsKICAgIHZh ciB4dHI7CiAgICB2YXIgZXg7CgogICAgaWYgKHR5cGVvZihYTUxIdHRwUmVxdWVz dCkgIT0gInVuZGVmaW5lZCIpIHsKICAgICAgICB4dHIgPSBuZXcgWE1MSHR0cFJl cXVlc3QoKTsKICAgIH0gZWxzZSB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAg eHRyID0gbmV3IEFjdGl2ZVhPYmplY3QoIk1zeG1sMi5YTUxIVFRQLjQuMCIpOwog ICAgICAgIH0gY2F0Y2ggKGV4KSB7CiAgICAgICAgICAgIHRyeSB7CiAgICAgICAg ICAgICAgICB4dHIgPSBuZXcgQWN0aXZlWE9iamVjdCgiTXN4bWwyLlhNTEhUVFAi KTsKICAgICAgICAgICAgfSBjYXRjaCAoZXgpIHsKICAgICAgICAgICAgfQogICAg ICAgIH0KICAgIH0KCiAgICAvLyBsZXQgbWUgZXhwbGFpbiB0aGlzLiAgT3BlcmEg OCBkb2VzIFhNTEh0dHBSZXF1ZXN0LCBidXQgbm90IHNldFJlcXVlc3RIZWFkZXIu CiAgICAvLyBubyBwcm9ibGVtLCB3ZSB0aG91Z2h0OiAgd2UnbGwgdGVzdCBmb3Ig c2V0UmVxdWVzdEhlYWRlciBhbmQgaWYgaXQncyBub3QgcHJlc2VudAogICAgLy8g dGhlbiBmYWxsIGJhY2sgdG8gdGhlIG9sZCBiZWhhdmlvciAodHJlYXQgaXQgYXMg bm90IHdvcmtpbmcpLiAgQlVUIC0tLSBJRTYgd29uJ3QKICAgIC8vIGxldCB5b3Ug ZXZlbiB0ZXN0IGZvciBzZXRSZXF1ZXN0SGVhZGVyIHdpdGhvdXQgdGhyb3dpbmcg YW4gZXhjZXB0aW9uICh5b3UgbmVlZAogICAgLy8gdG8gY2FsbCAub3BlbiBvbiB0 aGUgLnh0ciBmaXJzdCBvciBzb21ldGhpbmcpCiAgICB0cnkgewogICAgICAgIGlm ICh4dHIgJiYgISB4dHIuc2V0UmVxdWVzdEhlYWRlcikKICAgICAgICAgICAgeHRy ID0gbnVsbDsKICAgIH0gY2F0Y2ggKGV4KSB7IH0KCiAgICByZXR1cm4geHRyOwp9 CgpmdW5jdGlvbiBwb3NpdGlvbmVkT2Zmc2V0KGVsZW1lbnQpIHsKICB2YXIgdmFs dWVUID0gMCwgdmFsdWVMID0gMDsKICBkbyB7CiAgICB2YWx1ZVQgKz0gZWxlbWVu dC5vZmZzZXRUb3AgIHx8IDA7CiAgICB2YWx1ZUwgKz0gZWxlbWVudC5vZmZzZXRM ZWZ0IHx8IDA7CiAgICBlbGVtZW50ID0gZWxlbWVudC5vZmZzZXRQYXJlbnQ7CiAg ICBpZiAoZWxlbWVudCkgewogICAgICBpZiAoZWxlbWVudC50YWdOYW1lLnRvVXBw ZXJDYXNlKCkgPT0gJ0JPRFknKSBicmVhazsKICAgICAgdmFyIHAgPSBET00uZ2V0 U3R5bGUoZWxlbWVudCwgJ3Bvc2l0aW9uJyk7CiAgICAgIGlmIChwICE9PSAnc3Rh dGljJykgYnJlYWs7CiAgICB9CiAgfSB3aGlsZSAoZWxlbWVudCk7CiAgcmV0dXJu IHt4OiB2YWx1ZUwsIHk6dmFsdWVUfTsKfQoKLy8gcHVzaCBuZXcgZWxlbWVudCAn bmUnIGFmdGVyIHNpYmxpbmcgJ29lJyBvbGQgZWxlbWVudApmdW5jdGlvbiBhZGRB ZnRlciAob2UsIG5lKSB7CiAgICBpZiAob2UubmV4dFNpYmxpbmcpIHsKICAgICAg ICBvZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShuZSwgb2UubmV4dFNpYmxpbmcp OwogICAgfSBlbHNlIHsKICAgICAgICBvZS5wYXJlbnROb2RlLmFwcGVuZENoaWxk KG5lKTsKICAgIH0KfQoKLy8gaHN2IHRvIHJnYgovLyBoLCBzLCB2ID0gWzAsIDEp LCBbMCwgMV0sIFswLCAxXQovLyByLCBnLCBiID0gWzAsIDI1NV0sIFswLCAyNTVd LCBbMCwgMjU1XQpmdW5jdGlvbiBoc3ZfdG9fcmdiIChoLCBzLCB2KQp7CiAgICBp ZiAocyA9PSAwKSB7Cgl2ICo9IDI1NTsKCXJldHVybiBbdix2LHZdOwogICAgfQoK ICAgIGggKj0gNjsKICAgIHZhciBpID0gTWF0aC5mbG9vcihoKTsKICAgIHZhciBm ID0gaCAtIGk7CiAgICB2YXIgcCA9IHYgKiAoMSAtIHMpOwogICAgdmFyIHEgPSB2 ICogKDEgLSBzICogZik7CiAgICB2YXIgdCA9IHYgKiAoMSAtIHMgKiAoMSAtIGYp KTsKCiAgICB2ID0gTWF0aC5mbG9vcih2ICogMjU1ICsgMC41KTsKICAgIHQgPSBN YXRoLmZsb29yKHQgKiAyNTUgKyAwLjUpOwogICAgcCA9IE1hdGguZmxvb3IocCAq IDI1NSArIDAuNSk7CiAgICBxID0gTWF0aC5mbG9vcihxICogMjU1ICsgMC41KTsK CiAgICBpZiAoaSA9PSAwKSByZXR1cm4gW3YsdCxwXTsKICAgIGlmIChpID09IDEp IHJldHVybiBbcSx2LHBdOwogICAgaWYgKGkgPT0gMikgcmV0dXJuIFtwLHYsdF07 CiAgICBpZiAoaSA9PSAzKSByZXR1cm4gW3AscSx2XTsKICAgIGlmIChpID09IDQp IHJldHVybiBbdCxwLHZdOwogICAgcmV0dXJuIFt2LHAscV07Cn0KCgpmdW5jdGlv biBzY3JvbGxUb3AgKCkgewogICAgaWYgKHdpbmRvdy5pbm5lckhlaWdodCkKICAg ICAgICByZXR1cm4gd2luZG93LnBhZ2VZT2Zmc2V0OwogICAgaWYgKGRvY3VtZW50 LmRvY3VtZW50RWxlbWVudCAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Ny b2xsVG9wKQogICAgICAgIHJldHVybiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQu c2Nyb2xsVG9wOwogICAgaWYgKGRvY3VtZW50LmJvZHkpCiAgICAgICAgcmV0dXJu IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wOwp9CgpmdW5jdGlvbiBzY3JvbGxMZWZ0 ICgpIHsKICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCkKICAgICAgICByZXR1cm4g d2luZG93LnBhZ2VYT2Zmc2V0OwogICAgaWYgKGRvY3VtZW50LmRvY3VtZW50RWxl bWVudCAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCkKICAg ICAgICByZXR1cm4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQ7 CiAgICBpZiAoZG9jdW1lbnQuYm9keSkKICAgICAgICByZXR1cm4gZG9jdW1lbnQu Ym9keS5zY3JvbGxMZWZ0Owp9CgpmdW5jdGlvbiBnZXRFbGVtZW50UG9zIChvYmop CnsKICAgIHZhciBwb3MgPSBuZXcgT2JqZWN0KCk7CiAgICBpZiAoIW9iaikKICAg ICAgICByZXR1cm4gbnVsbDsKCiAgICB2YXIgaXQ7CgogICAgaXQgPSBvYmo7CiAg ICBwb3MueCA9IDA7CiAgICBpZiAoaXQub2Zmc2V0UGFyZW50KSB7Cgl3aGlsZSAo aXQub2Zmc2V0UGFyZW50KSB7CgkgICAgcG9zLnggKz0gaXQub2Zmc2V0TGVmdDsK CSAgICBpdCA9IGl0Lm9mZnNldFBhcmVudDsKCX0KICAgIH0KICAgIGVsc2UgaWYg KGl0LngpCglwb3MueCArPSBpdC54OwoKICAgIGl0ID0gb2JqOwogICAgcG9zLnkg PSAwOwogICAgaWYgKGl0Lm9mZnNldFBhcmVudCkgewoJd2hpbGUgKGl0Lm9mZnNl dFBhcmVudCkgewoJICAgIHBvcy55ICs9IGl0Lm9mZnNldFRvcDsKCSAgICBpdCA9 IGl0Lm9mZnNldFBhcmVudDsKCX0KICAgIH0KICAgIGVsc2UgaWYgKGl0LnkpCglw b3MueSArPSBpdC55OwoKICAgIHJldHVybiBwb3M7Cn0KCi8vIHJldHVybnMgdGhl IG1vdXNlIHBvc2l0aW9uIG9mIHRoZSBldmVudCwgb3IgZmFpbGluZyB0aGF0LCB0 aGUgdG9wLWxlZnQKLy8gb2YgdGhlIGV2ZW50J3MgdGFyZ2V0IGVsZW1lbnQuICAo b3IgdGhlIGZhbGxCYWNrIGVsZW1lbnQsIHdoaWNoIHRha2VzCi8vIHByZWNlbmRl bmNlIG92ZXIgdGhlIGV2ZW50J3MgdGFyZ2V0IGVsZW1lbnQgaWYgc3BlY2lmaWVk KQpmdW5jdGlvbiBnZXRFdmVudFBvcyAoZSwgZmFsbEJhY2spCnsKICAgIHZhciBw b3MgPSB7IHg6MCwgeTowIH07CgogICAgaWYgKCFlKSB2YXIgZSA9IHdpbmRvdy5l dmVudDsKICAgIGlmIChlLnBhZ2VYICYmIGUucGFnZVkpIHsKICAgICAgICAvLyB1 c2VmdWwgY2FzZSAocmVsYXRpdmUgdG8gZG9jdW1lbnQpCiAgICAgICAgcG9zLngg PSBlLnBhZ2VYOwogICAgICAgIHBvcy55ID0gZS5wYWdlWTsKICAgIH0KICAgIGVs c2UgaWYgKGUuY2xpZW50WCAmJiBlLmNsaWVudFkpIHsKICAgICAgICAvLyBJRSBj YXNlIChyZWxhdGl2ZSB0byB2aWV3cG9ydCwgc28gbmVlZCBzY3JvbGwgaW5mbykK ICAgICAgICBwb3MueCA9IGUuY2xpZW50WCArIHNjcm9sbExlZnQoKTsKICAgICAg ICBwb3MueSA9IGUuY2xpZW50WSArIHNjcm9sbFRvcCgpOwogICAgfSBlbHNlIHsK ICAgICAgICB2YXIgdGFyZyA9IGZhbGxCYWNrIHx8IGdldFRhcmdldChlKTsKICAg ICAgICB2YXIgcG9zID0gZ2V0RWxlbWVudFBvcyh0YXJnKTsKICAgIH0KICAgIHJl dHVybiBwb3M7Cn0KCnZhciBjdXJQb3B1cCA9IG51bGw7CnZhciBjdXJQb3B1cF9p ZCA9IDA7CgpmdW5jdGlvbiBraWxsUG9wdXAgKCkgewogICAgaWYgKCFjdXJQb3B1 cCkKICAgICAgICByZXR1cm4gdHJ1ZTsKCiAgICB2YXIgcG9wdXAgPSBjdXJQb3B1 cDsKICAgIGN1clBvcHVwID0gbnVsbDsKCiAgICB2YXIgb3BwID0gMS4wOwoKICAg IHZhciBmYWRlID0gZnVuY3Rpb24gKCkgewogICAgICAgIG9wcCAtPSAwLjE1OwoK ICAgICAgICBpZiAob3BwIDw9IDAuMSkgewogICAgICAgICAgICBwb3B1cC5wYXJl bnROb2RlLnJlbW92ZUNoaWxkKHBvcHVwKTsKICAgICAgICB9IGVsc2UgewogICAg ICAgICAgICBwb3B1cC5zdHlsZS5maWx0ZXIgPSAiYWxwaGEob3BhY2l0eT0iICsg TWF0aC5mbG9vcihvcHAgKiAxMDApICsgIikiOwogICAgICAgICAgICBwb3B1cC5z dHlsZS5vcGFjaXR5ID0gb3BwOwogICAgICAgICAgICB3aW5kb3cuc2V0VGltZW91 dChmYWRlLCAyMCk7CiAgICAgICAgfQogICAgfTsKICAgIGZhZGUoKTsKCiAgICBy ZXR1cm4gdHJ1ZTsKfQoKZnVuY3Rpb24gZGVsZXRlQ29tbWVudCAoZGl0ZW1pZCkg ewogICAga2lsbFBvcHVwKCk7CgogICAgdmFyIGZvcm0gPSAkKCdsamRlbG9wdHMn ICsgZGl0ZW1pZCksCiAgICAgICAgdG9kZWwgPSAkKCdsamNtdCcgKyBkaXRlbWlk KSwKICAgICAgICBvcHRfZGVsdGhyZWFkID0gb3B0X2RlbGF1dGhvciA9CiAgICAg ICAgaXNfZGVsZXRlZCA9IGlzX2Vycm9yID0gZmFsc2UsCiAgICAgICAgcHVsc2Ug PSAwOwoKICAgIHZhciBwb3N0ZGF0YSA9ICdjb25maXJtPTEnOwogICAgaWYgKGZv cm0peyAKICAgIAlpZiAoZm9ybS5iYW4gJiYgZm9ybS5iYW4uY2hlY2tlZCkgcG9z dGRhdGEgKz0gJyZiYW49MSc7CiAgICAJaWYgKGZvcm0uc3BhbSAmJiBmb3JtLnNw YW0uY2hlY2tlZCkgcG9zdGRhdGEgKz0gJyZzcGFtPTEnOwogICAgCWlmIChmb3Jt LmRlbHRocmVhZCAmJiBmb3JtLmRlbHRocmVhZC5jaGVja2VkKSB7CiAgICAgICAg CXBvc3RkYXRhICs9ICcmZGVsdGhyZWFkPTEnOwogICAgICAgIAlvcHRfZGVsdGhy ZWFkID0gdHJ1ZTsKICAgCSB9CiAgICAJaWYgKGZvcm0uZGVsYXV0aG9yICYmIGZv cm0uZGVsYXV0aG9yLmNoZWNrZWQpIHsKICAgICAgICAJcG9zdGRhdGEgKz0gJyZk ZWxhdXRob3I9MSc7CiAgICAgICAgCW9wdF9kZWxhdXRob3IgPSB0cnVlOwogICAg CX0KICAgIH0KICAgIHBvc3RkYXRhICs9ICcmbGpfZm9ybV9hdXRoPScgKyBMSl9j bXRpbmZvLmZvcm1fYXV0aDsKICAgIHZhciBvcHRzID0gewogICAgICAgIHVybDog TGl2ZUpvdXJuYWwuZ2V0QWpheFVybCgnZGVsY29tbWVudCcpKyc/bW9kZT1qcyZq b3VybmFsPScgKyBTaXRlLmN1cnJlbnRKb3VybmFsICsgJyZpZD0nICsgZGl0ZW1p ZCwKICAgICAgICBkYXRhOiBwb3N0ZGF0YSwKICAgICAgICBtZXRob2Q6ICdQT1NU JywKICAgICAgICBvbkRhdGE6IGZ1bmN0aW9uKGRhdGEpIHsKICAgICAgICAgICAg aXNfZGVsZXRlZCA9ICEhZGF0YTsKICAgICAgICAgICAgaXNfZXJyb3IgPSAhaXNf ZGVsZXRlZDsKICAgICAgICB9LAogICAgICAgIG9uRXJyb3I6IGZ1bmN0aW9uKCkg ewogICAgICAgICAgYWxlcnQoJ0Vycm9yIGRlbGV0aW5nICcgKyBkaXRlbWlkKTsK ICAgICAgICAgIGlzX2Vycm9yID0gdHJ1ZTsKICAgICAgICB9CiAgICB9CgogICAg SFRUUFJlcS5nZXRKU09OKG9wdHMpOwoKICAgIHZhciBmbGFzaCA9IGZ1bmN0aW9u ICgpIHsKICAgICAgICB2YXIgcmdiID0gaHN2X3RvX3JnYigwLCBNYXRoLmNvcygo cHVsc2UgKyAxKSAvIDIpLCAxKTsKICAgICAgICBwdWxzZSArPSAzLjE0MTU5IC8g NTsKICAgICAgICB2YXIgY29sb3IgPSAicmdiKCIgKyByZ2JbMF0gKyAiLCIgKyBy Z2JbMV0gKyAiLCIgKyByZ2JbMl0gKyAiKSI7CgogICAgICAgIHRvZGVsLnN0eWxl LmJvcmRlciA9ICIycHggc29saWQgIiArIGNvbG9yOwogICAgICAgIGlmIChpc19l cnJvcikgewogICAgICAgICAgICB0b2RlbC5zdHlsZS5ib3JkZXIgPSAiIjsKICAg ICAgICAgICAgLy8gYW5kIGxldCB0aW1lciBleHBpcmUKICAgICAgICB9IGVsc2Ug aWYgKGlzX2RlbGV0ZWQpIHsKICAgICAgICAgICAgcmVtb3ZlQ29tbWVudChkaXRl bWlkLCBvcHRfZGVsdGhyZWFkKTsKICAgICAgICAgICAgaWYgKG9wdF9kZWxhdXRo b3IpIHsKICAgICAgICAgICAgICAgIGZvciAodmFyIGl0ZW0gaW4gTEpfY210aW5m bykgewogICAgICAgICAgICAgICAgICAgIGlmIChMSl9jbXRpbmZvW2l0ZW1dLnUg PT0gTEpfY210aW5mb1tkaXRlbWlkXS51KSB7CiAgICAgICAgICAgICAgICAgICAg ICAgIHJlbW92ZUNvbW1lbnQoaXRlbSk7CiAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsK ICAgICAgICAgICAgd2luZG93LnNldFRpbWVvdXQoZmxhc2gsIDUwKTsKICAgICAg ICB9CiAgICB9OwoKICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZsYXNoLCA1KTsKfQoK ZnVuY3Rpb24gcmVtb3ZlQ29tbWVudCAoZGl0ZW1pZCwga2lsbENoaWxkcmVuKSB7 CiAgICB2YXIgdG9kZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGpjbXQi ICsgZGl0ZW1pZCk7CiAgICBpZiAodG9kZWwpIHsKICAgICAgICB0b2RlbC5zdHls ZS5kaXNwbGF5ID0gJ25vbmUnOwoKICAgICAgICB2YXIgdXNlcmhvb2sgPSB3aW5k b3dbInVzZXJob29rX2RlbGV0ZV9jb21tZW50X0FSRyJdOwogICAgICAgIGlmICh1 c2VyaG9vaykKICAgICAgICAgICAgdXNlcmhvb2soZGl0ZW1pZCk7CiAgICB9CiAg ICBpZiAoa2lsbENoaWxkcmVuKSB7CiAgICAgICAgdmFyIGNvbSA9IExKX2NtdGlu Zm9bZGl0ZW1pZF07CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb20ucmMu bGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgcmVtb3ZlQ29tbWVudChjb20ucmNb aV0sIHRydWUpOwogICAgICAgIH0KICAgIH0KfQoKZnVuY3Rpb24gZG9jQ2xpY2tl ZCAoKSB7CiAgICBraWxsUG9wdXAoKTsKCiAgLy8gd2UgZGlkbid0IGhhbmRsZSBh bnl0aGluZywgd2hvIGFyZSB3ZSBraWRkaW5nCn0KCmZ1bmN0aW9uIGNyZWF0ZURl bGV0ZUZ1bmN0aW9uIChhZSwgZEl0ZW1pZCkgewogICAgcmV0dXJuIGZ1bmN0aW9u IChlKSB7CiAgICAgICAgaWYgKCFlKSBlID0gd2luZG93LmV2ZW50OwogICAgICAg IHZhciBGUyA9IGFyZ3VtZW50cy5jYWxsZWU7CgogICAgICAgIHZhciBmaW5hbEhl aWdodCA9IDExNTsKCiAgICAgICAgaWYgKGUuc2hpZnRLZXkgfHwgKGN1clBvcHVw ICYmIGN1clBvcHVwX2lkICE9IGRJdGVtaWQpKSB7CiAgICAgICAgICAgIGtpbGxQ b3B1cCgpOwogICAgICAgIH0KCiAgICAgICAgdmFyIGRvSVQgPSAwOwogICAgICAg IC8vIGltbWVkaWF0ZWx5IGRlbGV0ZSBvbiBzaGlmdCBrZXkKICAgICAgICBpZiAo ZS5zaGlmdEtleSkgewogICAgICAgICAgICBkb0lUID0gMTsKICAgICAgICB9IGVs c2UgewogICAgICAgICAgICBpZiAoISBMSl9jbXRpbmZvKQogICAgICAgICAgICAg ICAgcmV0dXJuIHRydWU7CgogICAgICAgICAgICB2YXIgY29tID0gTEpfY210aW5m b1tkSXRlbWlkXTsKICAgICAgICAgICAgdmFyIHJlbW90ZVVzZXIgPSBMSl9jbXRp bmZvWyJyZW1vdGUiXTsKICAgICAgICAgICAgaWYgKCFjb20gfHwgIXJlbW90ZVVz ZXIpCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgdmFy IGNhbkFkbWluID0gTEpfY210aW5mb1siY2FuQWRtaW4iXTsKCiAgICAgICAgICAg IHZhciBjbGlja1RhcmdldCA9IGdldFRhcmdldChlKTsKCiAgICAgICAgICAgIHZh ciBwb3MgPSBnZXRFdmVudFBvcyhlKTsKICAgICAgICAgICAgdmFyIHBvc19vZmZz ZXQgPSBwb3NpdGlvbmVkT2Zmc2V0KGFlKQogICAgICAgICAgICB2YXIgZGlmZl94 ID0gRE9NLmZpbmRQb3NYKGFlKSAtIHBvc19vZmZzZXQueAogICAgICAgICAgICB2 YXIgZGlmZl95ID0gRE9NLmZpbmRQb3NZKGFlKSAtIHBvc19vZmZzZXQueQoKICAg ICAgICAgICAgdmFyIGx4ID0gcG9zLnggLSBkaWZmX3ggKyA1IC0gMjUwOwogICAg ICAgICAgICBpZiAobHggPCA1KSBseCA9IDU7CiAgICAgICAgICAgIHZhciBkZTsK CiAgICAgICAgICAgIGlmIChjdXJQb3B1cCAmJiBjdXJQb3B1cF9pZCA9PSBkSXRl bWlkKSB7CiAgICAgICAgICAgICAgICBkZSA9IGN1clBvcHVwOwogICAgICAgICAg ICAgICAgZGUuc3R5bGUubGVmdCA9IGx4ICsgInB4IjsKICAgICAgICAgICAgICAg IGRlLnN0eWxlLnRvcCA9IChwb3MueSAtIGRpZmZfeSArIDUpICsgInB4IjsKICAg ICAgICAgICAgICAgIHJldHVybiBFdmVudC5zdG9wKGUpOwogICAgICAgICAgICB9 CgogICAgICAgICAgICBkZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIp OwogICAgICAgICAgICBkZS5zdHlsZS50ZXh0QWxpZ24gPSAibGVmdCI7CiAgICAg ICAgICAgIGRlLmNsYXNzTmFtZSA9ICdsamNtdG1hbmFnZSc7CiAgICAgICAgICAg IGRlLnN0eWxlLmhlaWdodCA9ICIxMHB4IjsKICAgICAgICAgICAgZGUuc3R5bGUu b3ZlcmZsb3cgPSAiaGlkZGVuIjsKICAgICAgICAgICAgZGUuc3R5bGUucG9zaXRp b24gPSAiYWJzb2x1dGUiOwogICAgICAgICAgICBkZS5zdHlsZS5sZWZ0ID0gbHgg KyAicHgiOwogICAgICAgICAgICBkZS5zdHlsZS50b3AgPSAocG9zLnkgLSBkaWZm X3kgKyA1KSArICJweCI7CiAgICAgICAgICAgIGRlLnN0eWxlLndpZHRoID0gIjI1 MHB4IjsKICAgICAgICAgICAgZGUuc3R5bGUuekluZGV4ID0gMzsKICAgICAgICAg ICAgRE9NLmFkZEV2ZW50TGlzdGVuZXIoZGUsICdjbGljaycsIGZ1bmN0aW9uIChl KSB7CiAgICAgICAgICAgICAgICBFdmVudC5zdG9wUHJvcGFnYXRpb24oZSk7CiAg ICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfSk7CgogICAg ICAgICAgICB2YXIgaW5IVE1MID0gIjxmb3JtIHN0eWxlPSdkaXNwbGF5OiBpbmxp bmUnIGlkPSdsamRlbG9wdHMiICsgZEl0ZW1pZCArICInPjxzcGFuIHN0eWxlPSdm b250LWZhY2U6IEFyaWFsOyBmb250LXNpemU6IDhwdCc+PGI+RGVsZXRlIGNvbW1l bnQ/PC9iPjxiciAvPiI7CiAgICAgICAgICAgIHZhciBsYmw7CiAgICAgICAgICAg IGlmIChyZW1vdGVVc2VyICE9ICIiICYmIGNvbS51ICE9ICIiICYmIGNvbS51ICE9 IHJlbW90ZVVzZXIgJiYgY2FuQWRtaW4pIHsKICAgICAgICAgICAgICAgIGxibCA9 ICJsanBvcGRlbCIgKyBkSXRlbWlkICsgImJhbiI7CiAgICAgICAgICAgICAgICBp bkhUTUwgKz0gIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgbmFtZT0nYmFuJyBpZD0n IiArIGxibCArICInPiA8bGFiZWwgZm9yPSciICsgbGJsICsgIic+QmFuIDxiPiIg KyBjb20udSArICI8L2I+IGZyb20gY29tbWVudGluZzwvbGFiZWw+PGJyIC8+IjsK ICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGZpbmFsSGVpZ2h0 IC09IDE1OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAocmVtb3RlVXNl ciAhPSBjb20udSAmJiBjYW5BZG1pbikgewogICAgICAgICAgICAgICAgbGJsID0g ImxqcG9wZGVsIiArIGRJdGVtaWQgKyAic3BhbSI7CiAgICAgICAgICAgICAgICBp bkhUTUwgKz0gIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgbmFtZT0nc3BhbScgaWQ9 JyIgKyBsYmwgKyAiJz4gPGxhYmVsIGZvcj0nIiArIGxibCArICInPk1hcmsgdGhp cyBjb21tZW50IGFzIHNwYW08L2xhYmVsPjxiciAvPiI7CiAgICAgICAgICAgIH0g ZWxzZSB7CiAgICAgICAgICAgICAgICBmaW5hbEhlaWdodCAtPSAxNTsKICAgICAg ICAgICAgfQoKICAgICAgICAgICAgaWYgKGNvbS5yYyAmJiBjb20ucmMubGVuZ3Ro ICYmIGNhbkFkbWluKSB7CiAgICAgICAgICAgICAgICBsYmwgPSAibGpwb3BkZWwi ICsgZEl0ZW1pZCArICJ0aHJlYWQiOwogICAgICAgICAgICAgICAgaW5IVE1MICs9 ICI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIG5hbWU9J2RlbHRocmVhZCcgaWQ9JyIg KyBsYmwgKyAiJz4gPGxhYmVsIGZvcj0nIiArIGxibCArICInPkRlbGV0ZSB0aHJl YWQgKGFsbCBzdWJjb21tZW50cyk8L2xhYmVsPjxiciAvPiI7CiAgICAgICAgICAg IH0gZWxzZSB7CiAgICAgICAgICAgICAgICBmaW5hbEhlaWdodCAtPSAxNTsKICAg ICAgICAgICAgfQogICAgICAgICAgICBpZiAoY2FuQWRtaW4mJmNvbS51KSB7CiAg ICAgICAgICAgICAgICBsYmwgPSAibGpwb3BkZWwiICsgZEl0ZW1pZCArICJhdXRo b3IiOwogICAgICAgICAgICAgICAgaW5IVE1MICs9ICI8aW5wdXQgdHlwZT0nY2hl Y2tib3gnIG5hbWU9J2RlbGF1dGhvcicgaWQ9JyIgKyBsYmwgKyAiJz4gPGxhYmVs IGZvcj0nIiArIGxibCArICInPkRlbGV0ZSBhbGwgPGI+IiArIChjb20udSA9PSBy ZW1vdGVVc2VyID8gJ215JyA6IGNvbS51KSArICI8L2I+IGNvbW1lbnRzIGluIHRo aXMgcG9zdDwvbGFiZWw+PGJyIC8+IjsKICAgICAgICAgICAgfSBlbHNlIHsKICAg ICAgICAgICAgICAgIGZpbmFsSGVpZ2h0IC09IDE1OwogICAgICAgICAgICB9Cgog ICAgICAgICAgICBpbkhUTUwgKz0gIjxpbnB1dCB0eXBlPSdidXR0b24nIHZhbHVl PSdEZWxldGUnIG9uY2xpY2s9J2RlbGV0ZUNvbW1lbnQoIiArIGRJdGVtaWQgKyAi KTsnIC8+IDxpbnB1dCB0eXBlPSdidXR0b24nIHZhbHVlPSdDYW5jZWwnIG9uY2xp Y2s9J2tpbGxQb3B1cCgpJyAvPjwvc3Bhbj48YnIgLz48c3BhbiBzdHlsZT0nZm9u dC1mYWNlOiBBcmlhbDsgZm9udC1zaXplOiA4cHQnPjxpPnNoaWZ0LWNsaWNrIHRv IGRlbGV0ZSB3aXRob3V0IG9wdGlvbnM8L2k+PC9zcGFuPjwvZm9ybT4iOwogICAg ICAgICAgICBkZS5pbm5lckhUTUwgPSBpbkhUTUw7CgogICAgICAgICAgICAvLyB3 ZSBkbyB0aGlzIHNvIGtleWJvYXJkIHRhYiBvcmRlciBpcyBjb3JyZWN0OgogICAg ICAgICAgICBhZGRBZnRlcihhZSwgZGUpOwoKICAgICAgICAgICAgY3VyUG9wdXAg PSBkZTsKICAgICAgICAgICAgY3VyUG9wdXBfaWQgPSBkSXRlbWlkOwoKICAgICAg ICAgICAgdmFyIGhlaWdodCA9IDEwOwogICAgICAgICAgICB2YXIgZ3JvdyA9IGZ1 bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGhlaWdodCArPSA3OwogICAgICAg ICAgICAgICAgaWYgKGhlaWdodCA+IGZpbmFsSGVpZ2h0KSB7CiAgICAgICAgICAg ICAgICAgICAgZGUuc3R5bGUuaGVpZ2h0ID0gbnVsbDsKICAgICAgICAgICAgICAg ICAgICBkZS5zdHlsZS5maWx0ZXIgPSAiIjsKICAgICAgICAgICAgICAgICAgICBk ZS5zdHlsZS5vcGFjaXR5ID0gMS4wOwogICAgICAgICAgICAgICAgfSBlbHNlIHsK ICAgICAgICAgICAgICAgICAgICBkZS5zdHlsZS5oZWlnaHQgPSBoZWlnaHQgKyAi cHgiOwogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGdyb3cs IDIwKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfTsKICAgICAgICAg ICAgZ3JvdygpOwoKICAgICAgICB9CgogICAgICAgIGlmIChkb0lUKSB7CiAgICAg ICAgICAgIGRlbGV0ZUNvbW1lbnQoZEl0ZW1pZCk7CiAgICAgICAgfQoKICAgICAg ICBFdmVudC5zdG9wKGUpOwogICAgfQp9CgpmdW5jdGlvbiBwb29mQXQgKHBvcykg ewogICAgdmFyIGRlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAg ICBkZS5zdHlsZS5wb3NpdGlvbiA9ICJhYnNvbHV0ZSI7CiAgICBkZS5zdHlsZS5i YWNrZ3JvdW5kID0gIiNGRkYiOwogICAgZGUuc3R5bGUub3ZlcmZsb3cgPSAiaGlk ZGVuIjsKICAgIHZhciBvcHAgPSAxLjA7CgogICAgdmFyIHRvcCA9IHBvcy55Owog ICAgdmFyIGxlZnQgPSBwb3MueDsKICAgIHZhciB3aWR0aCA9IDU7CiAgICB2YXIg aGVpZ2h0ID0gNTsKICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGUpOwoK ICAgIHZhciBmYWRlID0gZnVuY3Rpb24gKCkgewogICAgICAgIG9wcCAtPSAwLjE1 OwogICAgICAgIHdpZHRoICs9IDEwOwogICAgICAgIGhlaWdodCArPSAxMDsKICAg ICAgICB0b3AgLT0gNTsKICAgICAgICBsZWZ0IC09IDU7CgogICAgICAgIGlmIChv cHAgPD0gMC4xKSB7CiAgICAgICAgICAgIGRlLnBhcmVudE5vZGUucmVtb3ZlQ2hp bGQoZGUpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGRlLnN0eWxlLmxl ZnQgPSBsZWZ0ICsgInB4IjsKICAgICAgICAgICAgZGUuc3R5bGUudG9wID0gdG9w ICsgInB4IjsKICAgICAgICAgICAgZGUuc3R5bGUuaGVpZ2h0ID0gaGVpZ2h0ICsg InB4IjsKICAgICAgICAgICAgZGUuc3R5bGUud2lkdGggPSB3aWR0aCArICJweCI7 CiAgICAgICAgICAgIGRlLnN0eWxlLmZpbHRlciA9ICJhbHBoYShvcGFjaXR5PSIg KyBNYXRoLmZsb29yKG9wcCAqIDEwMCkgKyAiKSI7CiAgICAgICAgICAgIGRlLnN0 eWxlLm9wYWNpdHkgPSBvcHA7CiAgICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0 KGZhZGUsIDIwKTsKICAgICAgICB9CiAgICB9OwogICAgZmFkZSgpOwp9CgpmdW5j dGlvbiBnZXRUYXJnZXQgKGV2KSB7CiAgICB2YXIgdGFyZ2V0OwogICAgaWYgKGV2 LnRhcmdldCkKICAgICAgICB0YXJnZXQgPSBldi50YXJnZXQ7CiAgICBlbHNlIGlm IChldi5zcmNFbGVtZW50KQogICAgICAgIHRhcmdldCA9IGV2LnNyY0VsZW1lbnQ7 CgogICAgLy8gU2FmYXJpIGJ1ZzoKICAgIGlmICh0YXJnZXQgJiYgdGFyZ2V0Lm5v ZGVUeXBlID09IDMpCiAgICAgICAgdGFyZ2V0ID0gdGFyZ2V0LnBhcmVudE5vZGU7 CgogICAgcmV0dXJuIHRhcmdldDsKfQoKZnVuY3Rpb24gdXBkYXRlTGluayAoYWUs IHJlc09iaiwgY2xpY2tUYXJnZXQpIHsKICAgIGFlLmhyZWYgPSByZXNPYmoubmV3 dXJsOwogICAgdmFyIHVzZXJob29rID0gd2luZG93WyJ1c2VyaG9va18iICsgcmVz T2JqLm1vZGUgKyAiX2NvbW1lbnRfQVJHIl07CiAgICB2YXIgZGlkX3NvbWV0aGlu ZyA9IDA7CgogICAgaWYgKGNsaWNrVGFyZ2V0ICYmIGNsaWNrVGFyZ2V0LnNyYyAm JiBjbGlja1RhcmdldC5zcmMgPT0gcmVzT2JqLm9sZGltYWdlKSB7CiAgICAgICAg Y2xpY2tUYXJnZXQuc3JjID0gcmVzT2JqLm5ld2ltYWdlOwogICAgICAgIGRpZF9z b21ldGhpbmcgPSAxOwogICAgfQoKICAgIGlmICh1c2VyaG9vaykgewogICAgICAg IHVzZXJob29rKHJlc09iai5pZCk7CiAgICAgICAgZGlkX3NvbWV0aGluZyA9IDE7 CiAgICB9CgogICAgLy8gaWYgYWxsIGVsc2UgZmFpbHMsIGF0IGxlYXN0IHJlbW92 ZSB0aGUgbGluayBzbyB0aGV5J3JlIG5vdCBhcyBjb25mdXNlZAogICAgaWYgKCEg ZGlkX3NvbWV0aGluZykgewogICAgICAgIGlmIChhZSAmJiBhZS5zdHlsZSkKICAg ICAgICAgICAgYWUuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICBpZiAo Y2xpY2tUYXJnZXQgJiYgY2xpY2tUYXJnZXQuc3R5bGUpCiAgICAgICAgICAgIGNs aWNrVGFyZ2V0LnN0eWxlLmRpc3BheSA9ICdub25lJzsKICAgIH0KCn0KCnZhciB0 c0luUHJvZyA9IG5ldyBPYmplY3QoKTsgIC8vIGRpY3Qgb2YgeyBkaXRlbWlkID0+ IDEgfQpmdW5jdGlvbiBjcmVhdGVNb2RlcmF0aW9uRnVuY3Rpb24gKGFlLCBkSXRl bWlkKSB7CiAgICByZXR1cm4gZnVuY3Rpb24gKGUpIHsKICAgICAgICBpZiAoIWUp IGUgPSB3aW5kb3cuZXZlbnQ7CgogICAgICAgIGlmICh0c0luUHJvZ1tkSXRlbWlk XSkKICAgICAgICAgICAgcmV0dXJuIEV2ZW50LnByZXZlbnREZWZhdWx0KGUpOwog ICAgICAgIHRzSW5Qcm9nW2RJdGVtaWRdID0gMTsKCiAgICAgICAgdmFyIGNsaWNr VGFyZ2V0ID0gZ2V0VGFyZ2V0KGUpOwoKICAgICAgICB2YXIgaW1nVGFyZ2V0Owog ICAgICAgIHZhciBpbWdzID0gYWUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImltZyIp OwogICAgICAgIGlmIChpbWdzLmxlbmd0aCkKICAgICAgICAgICAgaW1nVGFyZ2V0 ID0gaW1nc1swXQoKICAgICAgICBpZiAoISBjbGlja1RhcmdldCB8fCB0eXBlb2Yo Y2xpY2tUYXJnZXQpICE9ICJvYmplY3QiKQogICAgICAgICAgICByZXR1cm4gdHJ1 ZTsKCiAgICAgICAgdmFyIGNsaWNrUG9zID0gZ2V0RXZlbnRQb3MoZSk7CgogICAg ICAgIHZhciBkZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpOwogICAg ICAgIGRlLnN0eWxlLnBvc2l0aW9uID0gImFic29sdXRlIjsKICAgICAgICBkZS53 aWR0aCA9IDE3OwogICAgICAgIGRlLmhlaWdodCA9IDE3OwogICAgICAgIGRlLnNy YyA9IFNpdGUuaW1ncHJlZml4ICsgIi9ob3VyZ2xhc3MuZ2lmIjsKICAgICAgICBk ZS5zdHlsZS50b3AgPSAoY2xpY2tQb3MueSAtIDgpICsgInB4IjsKICAgICAgICBk ZS5zdHlsZS5sZWZ0ID0gKGNsaWNrUG9zLnggLSA4KSArICJweCI7CiAgICAgICAg ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkZSk7CgogICAgICAgIHZhciB4dHIg PSBnZXRYVFIoKTsKICAgICAgICB2YXIgc3RhdGVfY2FsbGJhY2sgPSBmdW5jdGlv biAoKSB7CiAgICAgICAgICAgIGlmICh4dHIucmVhZHlTdGF0ZSAhPSA0KSByZXR1 cm47CgogICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRlKTsK ICAgICAgICAgICAgdmFyIHJwY1JlczsKCiAgICAgICAgICAgIGlmICh4dHIuc3Rh dHVzID09IDIwMCkgewogICAgICAgICAgICAgICAgdmFyIHJlc09iaiA9IGV2YWwo eHRyLnJlc3BvbnNlVGV4dCk7CiAgICAgICAgICAgICAgICBpZiAocmVzT2JqKSB7 CiAgICAgICAgICAgICAgICAgICAgcG9vZkF0KGNsaWNrUG9zKTsKICAgICAgICAg ICAgICAgICAgICB1cGRhdGVMaW5rKGFlLCByZXNPYmosIGltZ1RhcmdldCk7CiAg ICAgICAgICAgICAgICAgICAgdHNJblByb2dbZEl0ZW1pZF0gPSAwOwogICAgICAg ICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICB0c0luUHJvZ1tk SXRlbWlkXSA9IDA7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICB9IGVs c2UgewogICAgICAgICAgICAgICAgYWxlcnQoIkVycm9yIGNvbnRhY3Rpbmcgc2Vy dmVyLiIpOwogICAgICAgICAgICAgICAgdHNJblByb2dbZEl0ZW1pZF0gPSAwOwog ICAgICAgICAgICB9CiAgICAgICAgfTsKCiAgICAgICAgeHRyLm9ucmVhZHlzdGF0 ZWNoYW5nZSA9IHN0YXRlX2NhbGxiYWNrOwoKICAgICAgICB2YXIgcG9zdFVybCA9 IGFlLmhyZWYucmVwbGFjZSgvLit0YWxrc2NyZWVuXC5ibWwvLCAiLyIgKyBTaXRl LmN1cnJlbnRKb3VybmFsICsgIi9fX3JwY190YWxrc2NyZWVuIik7CgogICAgICAg IC8vdmFyIHBvc3RVcmwgPSBhZS5ocmVmOwogICAgICAgIHh0ci5vcGVuKCJQT1NU IiwgcG9zdFVybCArICImanNtb2RlPTEiLCB0cnVlKTsKCiAgICAgICAgdmFyIHBv c3RkYXRhID0gImNvbmZpcm09WSZsal9mb3JtX2F1dGg9IiArIExKX2NtdGluZm8u Zm9ybV9hdXRoOwoKICAgICAgICB4dHIuc2V0UmVxdWVzdEhlYWRlcigiQ29udGVu dC1UeXBlIiwgImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIpOwog ICAgICAgIHh0ci5zZW5kKHBvc3RkYXRhKTsKCiAgICAgICAgRXZlbnQucHJldmVu dERlZmF1bHQoZSk7CiAgICB9Owp9CgpmdW5jdGlvbiBzZXR1cEFqYXggKG5vZGUp IHsKICAgIHZhciBsaW5rcyA9IG5vZGUgPyBub2RlLmdldEVsZW1lbnRzQnlUYWdO YW1lKCdhJykgOiBkb2N1bWVudC5saW5rcywKICAgICAgICByZXhfaWQgPSAvaWQ9 KFxkKykvLAogICAgICAgIGkgPSAtMSwgYWU7CgogICAgd2hpbGUgKGxpbmtzWysr aV0pIHsKICAgICAgICBhZSA9IGxpbmtzW2ldOwogICAgICAgIGlmIChhZS5ocmVm LmluZGV4T2YoJ3RhbGtzY3JlZW4uYm1sJykgIT0gLTEpIHsKICAgICAgICAgICAg dmFyIHJlTWF0Y2ggPSByZXhfaWQuZXhlYyhhZS5ocmVmKTsKICAgICAgICAgICAg aWYgKCFyZU1hdGNoKSBjb250aW51ZTsKCiAgICAgICAgICAgIHZhciBpZCA9IHJl TWF0Y2hbMV07CiAgICAgICAgICAgIGlmICghZG9jdW1lbnQuZ2V0RWxlbWVudEJ5 SWQoJ2xqY210JyArIGlkKSkgY29udGludWU7CgogICAgICAgICAgICBhZS5vbmNs aWNrID0gY3JlYXRlTW9kZXJhdGlvbkZ1bmN0aW9uKGFlLCBpZCk7CiAgICAgICAg fSBlbHNlIGlmIChhZS5ocmVmLmluZGV4T2YoJ2RlbGNvbW1lbnQuYm1sJykgIT0g LTEpIHsKICAgICAgICAgICAgaWYgKExKX2NtdGluZm8gJiYgTEpfY210aW5mby5k aXNhYmxlSW5saW5lRGVsZXRlKSBjb250aW51ZTsKCiAgICAgICAgICAgIHZhciBy ZU1hdGNoID0gcmV4X2lkLmV4ZWMoYWUuaHJlZik7CiAgICAgICAgICAgIGlmICgh cmVNYXRjaCkgY29udGludWU7CgogICAgICAgICAgICB2YXIgaWQgPSByZU1hdGNo WzFdOwogICAgICAgICAgICBpZiAoIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCds amNtdCcgKyBpZCkpIGNvbnRpbnVlOwoKICAgICAgICAgICAgYWUub25jbGljayA9 IGNyZWF0ZURlbGV0ZUZ1bmN0aW9uKGFlLCBpZCk7CiAgICAgICAgfQogICAgfQp9 CgoKCkxpdmVKb3VybmFsLnJlZ2lzdGVyX2hvb2soJ3BhZ2VfbG9hZCcsIGZ1bmN0 aW9uICgpIHsKICAgIHNldHVwQWpheCgpCn0pOwpET00uYWRkRXZlbnRMaXN0ZW5l cihkb2N1bWVudCwgJ2NsaWNrJywgZG9jQ2xpY2tlZCk7CmRvY3VtZW50LndyaXRl KCI8c3R5bGU+IGRpdi5samNtdG1hbmFnZSB7IGNvbG9yOiAjMDAwOyBiYWNrZ3Jv dW5kOiAjZTBlMGUwOyBib3JkZXI6IDJweCBzb2xpZCAjMDAwOyBwYWRkaW5nOiAz cHg7IH08L3N0eWxlPiIpOwovLyBsanRhbGsgZm9yIGN0eHBvcHVwCkxpdmVKb3Vy bmFsLnJlZ2lzdGVyX2hvb2soImN0eHBvcHVwX2V4dHJhaW5mbyIsIGZ1bmN0aW9u ICh1c2VyZGF0YSkgewogICAgdmFyIGNvbnRlbnQgPSBkb2N1bWVudC5jcmVhdGVF bGVtZW50KCJkaXYiKTsKCiAgICBpZiAodXNlcmRhdGEuaXNfcGVyc29uKSB7CiAg ICAgICAgaWYgKHVzZXJkYXRhLmlzX29ubGluZSAhPT0gJycpIHsKICAgICAgICAg ICAgLy8gb25saW5lIHN0YXR1cwogICAgICAgICAgICB2YXIgb25saW5lU3RhdHVz TGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CiAgICAgICAg ICAgIHZhciBqYWJiZXJUaXRsZSA9IHVzZXJkYXRhLmphYmJlcl90aXRsZTsKICAg ICAgICAgICAgb25saW5lU3RhdHVzTGFiZWwuaW5uZXJIVE1MID0gamFiYmVyVGl0 bGUgKyAiOiAiOwogICAgICAgICAgICBET00uYWRkQ2xhc3NOYW1lKG9ubGluZVN0 YXR1c0xhYmVsLCAiT25saW5lU3RhdHVzIik7CiAgICAgICAgICAgIGNvbnRlbnQu YXBwZW5kQ2hpbGQob25saW5lU3RhdHVzTGFiZWwpOwoKICAgICAgICAgICAgLy8g YnVpbGQgc3RhdHVzCiAgICAgICAgICAgIHZhciBvbmxpbmVTdGF0dXMgPSBkb2N1 bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CgoKICAgICAgICAgICAgdmFyIG9u bGluZVN0YXR1c1RleHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7 CiAgICAgICAgICAgIG9ubGluZVN0YXR1cy5hcHBlbmRDaGlsZChvbmxpbmVTdGF0 dXNUZXh0KTsKCiAgICAgICAgICAgIGNvbnRlbnQuYXBwZW5kQ2hpbGQob25saW5l U3RhdHVzKTsKCiAgICAgICAgICAgIGlmICh1c2VyZGF0YS5pc19vbmxpbmUpIHsK ICAgICAgICAgICAgICAgIG9ubGluZVN0YXR1c1RleHQuaW5uZXJIVE1MID0gIk9u bGluZSI7CiAgICAgICAgICAgIH0gZWxzZSBpZiAodXNlcmRhdGEuaXNfb25saW5l ID09ICcwJykgewogICAgICAgICAgICAgICAgb25saW5lU3RhdHVzVGV4dC5pbm5l ckhUTUwgPSAiT2ZmbGluZSI7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9 CgogICAgcmV0dXJuIGNvbnRlbnQ7Cn0pOwoKLy8gZm9yIHVwZGF0aW5nIGxqY29t IHdpZGdldHMgZnJvbSBsaXZlam91cm5hbCBvbmVzCkxpdmVKb3VybmFsLnJlZ2lz dGVyX2hvb2soInVwZGF0ZV9vdGhlcl93aWRnZXRzIiwgZnVuY3Rpb24gKGZyb21f d2lkZ2V0KSB7CiAgICBpZiAoZnJvbV93aWRnZXQgPT0gIkxheW91dENob29zZXIi ICYmIEN1c3RvbWl6ZS5BZExheW91dCkgewogICAgICAgIEN1c3RvbWl6ZS5BZExh eW91dC51cGRhdGVDb250ZW50KCk7CiAgICB9Cn0pOwo= ------------JFqt76YmHOLgVAMFnlTSwA Content-Disposition: inline Content-Type: image/gif Content-Location: http://l-stat.livejournal.com/stc/lanzelot/img/themes/div.gif Content-Transfer-Encoding: Base64 R0lGODlhAQAIAIAAAL+/vwAAACH5BAAAAAAALAAAAAABAAgAAAIDhG8FADs= ------------JFqt76YmHOLgVAMFnlTSwA Content-Disposition: inline Content-Type: image/gif Content-Location: http://l-stat.livejournal.com/stc/lanzelot/img/menu/div.gif Content-Transfer-Encoding: Base64 R0lGODlhAgAIAIAAAP///9bW1iH5BAAAAAAALAAAAAACAAgAAAIEDIynWQA7 ------------JFqt76YmHOLgVAMFnlTSwA Content-Disposition: inline Content-Type: image/gif Content-Location: http://l-stat.livejournal.com/stc/lanzelot/img/menu/div2.gif Content-Transfer-Encoding: Base64 R0lGODlhAQCgAJEAAAAAAP///7+/v////yH5BAEAAAMALAAAAAABAKAAAAINnC+p y+0Po5y02otFAQA7 ------------JFqt76YmHOLgVAMFnlTSwA Content-Disposition: inline Content-Type: image/jpeg Content-Location: http://l-stat.livejournal.com/stc/lanzelot/img/10years/10years-bg.jpg Content-Transfer-Encoding: Base64 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 SIzXDUOqiU07EUv+ua1vQxzhzn//2Q== ------------JFqt76YmHOLgVAMFnlTSwA Content-Disposition: inline Content-Type: image/jpeg Content-Location: http://l-stat.livejournal.com/stc/lanzelot/img/10years/10years-logo.jpg Content-Transfer-Encoding: Base64 /9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAXQAA/+4ADkFkb2Jl AGTAAAAAAf/bAIQAAQEBAQEBAQEBAQEBAQEBAgEBAQECAgICAgICAgICAgICAgIC AgMDAwMDAgQEBAQEBAYFBQUGBgYGBgYGBgYGBgEBAQECAgIEAgIEBQQDBAUGBgYG BgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYG/8AA EQgAcwFAAwERAAIRAQMRAf/EAMoAAQABBAMBAQEAAAAAAAAAAAQDBgcICQIFCgEA CwEBAAEFAQEBAAAAAAAAAAAAAwIEBQYHCAEACRAAAAUDAgQDBQQHBAYJBQAAAQID BAUABgcRCCExEglBExRRYXEVFoGhIhfwkbHB8TIK0eEjGEIkRLR2OlJygmM0ZLZ4 ObUmNrcZEQACAQMDAgMFBQQGBwgDAQABAgMAEQQhEgUxBkFRE2FxgSIHkaGxMhTB QiMI0VJicoIV8OGisjMkNvGSwnM0JTUW0oOzJv/aAAwDAQACEQMRAD8A8h9dRVpm v38a+r6uQfx1qQrw1MFTAqBqYoUgqBNTlpAKI1OWlWjNIJ4c+NIoojSCh4eA0wFG xpJA+6mWhY0koe/nTKKJqUQPCmUUTUsgf3UqihY0koeFOooWNKIX20yihY0ogeFO ooWNKIWnUUTGlkD40wFCTSiB4/ZTKKEmkkLy+FMooSaUUtMooiaSUoUyiiY0khdP ClC0JNIKWlC0Rapyk/vpQKgTUxS0gFGWqYC/spAKgTUoE91TAqBapAJ7takFqG6u YE5aVLbXm6v3QH76+215ur6JOPL7a9219urj0/d4VHbXu6uAk1qJWpbq4GLpwqNq leojF56VArUw1QmL/aFQIqYNQGL8eFGRSBqOYv8AdRFaRTRzloiKUNWJtaOrc9fv 0419X1SBUhUTUpf38aQCompi0goyanIHGkFEaQWmFGaQUOVKKJqSQPu8aVaJqSQK VRRNSigHLWmUULGkkD76dRRGlkD9BplFCTSiF5U60LGlkD9Y0yihalED9tOooWNL IH6uVMooWNKIFOooGNKIFOBQsaUQKZRRMaUQv7aYChY0khaZRRE0opaVRQsaSUvj SqKMmpyF/spgKImpyl5cOAUiijJqYpfdzpAKMmpQL7vdUwtQJqQpPuqVqjurmBfd 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 LOW90b/tUVsGD6Tc6x+aILfpdl191iaq2w+0/vY23XkXOV8Wbj1xZ2GIaUv+5H1r XbZ1wrtzx8U/XYomgkJk7t0Zd0RFIEkkFDG6wApDj+AdVfV76zcJl9tZmPjOWkeM KAyaHcyqb7rL0J0N79ArEhTZPqP9LOX4nhJs7kolXF2hXLhCjLIwjKkSlI2D7tli WPzfLHK1o2xvyj2he4vi1M793s0zEpbiinmQzKyEWV3OkGhx1bJuULUcyypDkTMU D9aZRKID1AXQQDY/YXfPBRcVi4C5SboYI0O+6G6Iq67wuulensTmYIlM0LsbDUDc Tp1IAuL9TdVPmB0rG/b/AItuqX3N4dw/d8DPW06nMtQcNdMHcDVwydtmScq3Ukjr tnLcyhPJRQUMbVMRDpHUo8qX6v8Ac8fG9pclzGOyloMSd0IJI3iJtmqRTnViB8sM x1uIpPyFu1OMeblsfDkUjfKgYEWNtwvoSvQX6ke8daq/L03JXtuDyrdwMFGDGcyK 9XdIaB0eoSVBB2JQKUhQAV0lB/CBQ4joABwrW/0C4OPjOweKxP3/ANIkhG1UsZ7z FQiJGiBTJYIkcSIAFSKNQEXJe+c5snncmU9PVK+d9nyXvck/lvckk9SSda277S2O 3U1g3dKZdTvHy29vSMVaK0AxTCHTmywcg/aHnZhdZEqYea3RRQaIAddZVUoiUEwH XTf1W5TnYOQxcfjcZ5o55Qsjq6j0UuPmKk7mHUkgWCqxvewOyexOP46XGyJ8uWNG hjuqNuvITcWUhSNw0sCRf21qD3Tmgxl3Hy8EgP8Ah6+jT+bQNeXvrpvsNZfSG+tR c8V3aVpUrFa2UK5B7ePur0VE1KUOXupBUGpKCSqyiaKKaiqyqhUkkkgExjGMIAUp ShqIiIjoABUxUDXaSMTKwjxSPmY1/EP0ilMqxk0VG6xQMAGIJklSkMAGAQENQ4hU 0YEXGtQYEdaMX+FMKI0kv2UyiiNJJ8PdSrQkUlOmFE1KT5+FOtCaUSlWialkp1oG paYcA91OtC1LIFOtA1LIFOtC1MIGoU60DUomvD3+FVCihamE8P3U60DUsgUyULUs gBTrQNSyB7qdaE0on8adRRNSyhTLQmkkD++nWhNJIFKoojSSgNMoojSACkWiJqpr blTQ8ig7DkmbX9n9lU+bjCVCtThm2NetlWMd3F8RVtjYdnXM3t+Rml0pi3XszdbS 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 sNR4gj7dbQ7o7Nk49BMrepE3ja1j4XFzofA/6qojar2q/wDMv269z+/r89/or/Lf M3NEflP9L/MvnP05bMFcXmfPfqJh6T1HzrydPRq9HR16m6uktfzXfH6Ll4OK9Ld6 wU7t1rbmZfy7Te1r9R1qj4ztX9Tx0uf6m30y3y7b3soPW4t1t0NKxx2rfr3tcZL7 lP57/Kvy7mXUT+S/0v5/rPSzcZDeZ9R/USPldXzHzNPQG06enUdeoFyu+vS5xOF9 K+8A793S6k/l2+y35qKDtP1OKbk/UttNtu3rqB1v7fKrrdsfs5QvcLwJlrPlybrY vbpbuIb2c2xPfPLVSmWRGTOFZTLqYeSq9226k0QRSdG8zrIJSFIJxOAagFN3r9R2 4fLjxExzM0igizbTckqABsYk6afhTdr9lLyWO+Q8wiVDY3W4sADe+5bVbvuVdo3J nbshMdZLJlKz88YKynI/JrRyjabY0eb1h2Z5Fmi7jjPJJMCvGiaizdVu6WTOUh9T F/D13Psf6hwcy7wem0U8YuVJvpexsbDodCCB1qg7r7Ml4xVl3iSJzYMNNbXFxc9R qLE1cy8+zJc1u9sO3O4/bebfrAJG0Yq+rhwsnaxmqsfGP5UsW5XSnS3A79R6MVSL Kaskw8rrMIl6ONPh/U2N+ebhHi22YqH33uQLgbdotfp+Y6286XJ7FdeIHKJJuuAS u3oCbddxvb3dKoHeH2tv8puyLaXvI/PP6/8A80kNa8v+XH0x8q+RfUlomuny/m/1 DJet9P0+Rr6VLr/n0L/JVz7X7/8A8x5bJ4z0tn6cuN26+7a+zptFr9ept0qg57s/ 9Fx8Gf6m71gvy7bW3Lu67je3ToK7jtTdp+X7m7jNSxczfklA4dRg01Jo9t/UfzF5 NmlBI1TR+fwHleSnFmOc3Uf+YoaBqAj99Q/qMvACIel6rS7tN22wW2v5W639ledm dktzHqfxPTWO2u3dcm/9pfKtcOccUy+Cs1ZcwpPuPWzOI8lzmNpJ+CXkFcqwkm5j juiJeYsBSLC38woAcwdIhoYwcR2Bw/IrmYkWWgssqKwHluANvhesN5PCbGyJMdus bFfsNr1sk7ona4Z9tC7MHQEhnlzmKPzAwl5N9Js7ULBLRaMQ5jEVfKanuaWK7OoW QExQFZEAEugj+LUuFfTr6hnn45nWH0jEVFt+6+4Hx2C3TyNZT3r2WOHeNTL6gkub 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 /9k= ------------JFqt76YmHOLgVAMFnlTSwA Content-Disposition: inline Content-Type: image/gif Content-Location: http://l-stat.livejournal.com/stc/lanzelot/img/10years/10years-l.gif Content-Transfer-Encoding: Base64 R0lGODlhLAEXAMQAAG6DoWFyil9vhmR2j2t/nGJzi2l8l2Bwh2BwiGV3kWZ4kmp+ m2l9mWh7lmd5lGN0jWyAnm2Cn2FxiWN1jm+EonCGpW+FpCA0VVBkhGl+nBAkRmd8 mgAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAsARcAAAX/oHZhWWWeaKqubOu+cCzP dG3feK7v+LUBAItwSCwaj8ikcslsOp/QqHRKrVqvVAwQQOl6v+CweEwum8/otHrN brvf8Lj8ndna7/i8fs/v+/+AgYKDhIWGh4iJikARjY6PkJGSk5SVlpeYmZqbnJ2e n6ChoqMQpaanqKmqq6ytrq+wsbKztLW2t7i5ursEvb6/wMHCw8TFxsfIycrLzM3O z9DR0tML1dbX2Nna29zd3t/g4eLj5OXm5+jp6usM7e7v8PHy8/T19vf4+fr7/P3+ /wADChxooKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzYoKPHjyBDihxJsqTJkyhT /6pcybKly5cwY8qc6aCmzZs4c+rcybOnz59AgwodSrSo0aNIkypdqqCp06dQo0qd SrWq1atYs2rdyrWr169gw4odm6Cs2bNo06pdy7at27dw48qdS7eu3bt48+rdO6Cv 37+AAwseTLiw4cOIEytezLix48eQI0uePKGy5cuYM2vezLmz58+gQ4seTbq06dOo U6te/aC169ewY8ueTbu27du4c+vezbu379/AgwsfXqC48ePIkytfzry58+fQo0uf Tr269evYs2vfHqC79+/gw4sfT768+fPo06tfz769+/fw48ufL6G+/fv48+vfz7+/ //8ABijggAQWaOCBCCao4F2CCDTo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKI B5Ro4okopqjiiiy26OKLMMYo44w01mjjjTjmqOOOAvTo449ABinkkEQWaeSRSCap 5JJMNunkk1BGKeWUIQAAOw== ------------JFqt76YmHOLgVAMFnlTSwA Content-Disposition: inline Content-Type: image/gif Content-Location: http://l-stat.livejournal.com/stc/lanzelot/img/10years/10years-r.gif Content-Transfer-Encoding: Base64 R0lGODlhBAAEAKIAAG6DoWl+nCA0VVBkhBAkRmd8mgAAAAAAACH5BAAAAAAALAAA AAAEAAQAAAMJGCMEUMKBIUMCADs= ------------JFqt76YmHOLgVAMFnlTSwA Content-Disposition: inline; filename=default.css Content-Type: text/css; name=default.css Content-Location: http://l-stat.livejournal.com/??lj_base.css,esn.css,contextualhover.css,lj_base-app.css,ad_base.css,horizon/screen.css,widget.css,lanzelot/css/style.css,lanzelot/css/layout.css,lanzelot/css/elements.css,lanzelot/css/modules.css?v=1245786643 Content-Transfer-Encoding: 8bit iframe.lj_embedcontent { border: 0; } form { margin: 0px; padding: 0px; } .ljclear { clear: both; margin: 0 -1px -1px 0; border: 0; padding: 0; width: 1px; height: 1px; font-size: 0; line-height: 0; } .nowrap { white-space: nowrap; } .lj_progresscontainer { height: 25px; width: 400px; margin: 1em; background: url(/img/progress/inactive.gif) repeat; } .lj_progressoverlay { background: url(/img/progress/active.gif) repeat; } .lj_progressindefinite { background-image: url(/img/progress/barber.gif); } .lj_hourglass { z-index: 20000; } .ErrorNote .Inner { background-color: #FFEEEE; background-repeat: repeat-x; border: 1px solid #FF9999; padding: 8px; } .Note .Inner { background: #FFFFDD; border: 1px solid #FFCC33; padding: 8px; } div.lj_ippu { background-color: #fff; border: 2px solid #444; padding: 2px; } div.lj_ippu_titlebar { background-color: #444; height: 20px; font-weight: bold; color: #fff; width: auto !important; padding: 5px 0 0 5px; } div.lj_ippu_titlebar div { } .lj_ippu_titlebar img { opacity: .25; } .lj_ippu_titlebar img:hover { opacity: 1; } .LJ_Placeholder_Container { /* see also lj_base-ie.css */ display: table-cell; vertical-align: middle; border: 1px dashed #ccc; _position: relative; overflow: hidden; } .LJ_Placeholder_Container img { /* see also lj_base-ie.css */ cursor: pointer; display: block; margin: 0 auto; _position: absolute; _top: 45%; _left: 45%; } .ljhidden { display: block; position: absolute; left: 0; top: 0; width: 0; height: 0; margin: 0; border: 0; padding: 0; font-size: 0.1px; line-height: 0; opacity: 0; filter: alpha(opacity=0); } .lj_pollanswer { } .lj_pollanswer_loading { color: #CCC; border: 1px solid #EEE; } .super { vertical-align: super; font-size: .7em; } .notice { color: #f00; } .ljedittime { font-size: smaller; } .warning-background { background-image: url('/img/message-warning.gif'); } .lj_invisible { display:-moz-inline-box; display:inline-block; line-height:0; width:0; height:0; padding:0; border:0 none transparent; margin:0; overflow:hidden; text-decoration:none; } /* Link to current LJ.com version ------------------------------------ */ DL.current-version { margin: 10px 0; padding: 0; border: 0; text-align: left; } DL.current-version DT, DL.current-version DD { display: inline; margin: 0; padding: 0 3px 0 0; text-align: left; white-space: nowrap; font-size: 11px !important; font-weight: normal; } /* WLMInterstitial */ .wlm-interstitial { text-align:left; padding:20px 230px 10px 10px; background:url(/img/lj_wlm/interstitial-screenshot.jpg) no-repeat 274px 3px; } .wlm-interstitial H1 { font-size:2.6em; text-transform:uppercase; color:#375991; } .wlm-interstitial FIELDSET { border:0; padding:10px 0 0; margin:0; } .wlm-interstitial FIELDSET UL, .wlm-interstitial FIELDSET LI { padding:0; margin:0; display:block; list-style:none; } .wlm-interstitial FIELDSET UL { padding-bottom:10px; } .wlm-interstitial FIELDSET .wlm-submit-button { width:55px; } .lj_ippu_titlebar { text-align:left; } .lj_ippu_titlebar IMG { cursor:pointer; } .opera-filter { display:none; } HTML:first-child .opera-filter { display:block; } /* opera lt 9.5 */ HTML:not(IE7) .opera-filter, x:-o-prefocus { display:block; } /* opera gte 9.5 */ /*---------- Manage Settings ----------*/ /*-------------------------------------*/ #manageSettings { } .Subscribe { width: 100%; padding: 0; margin: .5em 0 0 0; clear: both; } .Subscribe tr.Inactive { color: #aaa; } .Subscribe tr.Disabled { background-color: #eee; } .Subscribe tr.altrow { background-color: #f1f1f1; } .Subscribe tr.Inactive a { color: #aaa; } .Subscribe td { padding: .3em; } .Subscribe td img { border: 0; } .Subscribe td label { cursor: pointer !important; } .Subscribe td p { color: #666; background: #fff; cursor: default !important; } .CategoryRow .Caption { text-align: right; vertical-align: bottom; } .CategoryRow { width: 100%; } .CategoryRow td { vertical-align: middle; border-bottom: 1px solid #ddd; padding: 2em .4em .2em .4em; } .CategoryRowFirst td { padding-top: .2em; } .CategoryRow .caption { text-align: right; } .CategoryRow label { } .CategoryHeading { font-weight: bold; } .CategoryHeadingNote { } #Subscriptions { width: 100%; } #Subscriptions th { text-align: left; } #Subscriptions td, #Subscriptions th { padding-left: .5em; padding-right: .5em; } #Subscriptions tr.lighter { background-color: #cff; } #Subscriptions tr.darker { background-color: #9cc; } div.argOptsContainer { display: none; } #SubscribeSaveButtons { text-align: center; border: 1px solid #333; width: 150px; margin-left: auto; margin-right: auto; } #SubscribeSaveButtons input { margin: 5px; } #SubscriptionInfo { width: 95%; text-align: center; margin: 1em auto; } #SubscriptionInfo p, #SubscriptionInfo div { font-size: 1em; margin: 0; padding: .2em; } /*----------- Message Center ----------*/ /*-------------------------------------*/ .NotificationTable { width: 100%; } .NotificationTable tr.Selected { background-color: #cee0fb; } .NotificationTable tr.Selected td { border-top: 1px solid #ccc; } .NotificationTable td { border-top: 1px solid #ddd; } #NotificationSidebar { } #NotificationSidebar p { margin: 0; padding: 0; } #NotificationSidebar .Blurb { margin: 0 0 1em 0; padding: 0; } #NotificationSidebar .BlurbTitle { font-weight: bold; margin: 0 0 .4em 0; } #NotificationSidebar .ljad { float: left; margin-right: 1em; } .esnlinks { float: right; display: block; margin: 0 0 0 0; font-weight: normal; } .NotificationTable .inbox { padding: 0; margin: 0em 0 0em 0; border-top: 1px solid #ddd; } .inbox .header { width: 100%; margin: 0; background: #ddd; vertical-align: middle; border: 0; padding: 3px; } .actions { font-size: 0.9em; } span.Pages { float: right; } span.Pages input { } .inbox tr { cursor: pointer; } .inbox_newitems { font-weight: bold; overflow: hidden; } .InboxItem_Controls { float: left; width: 40px; } .InboxItem_Unread { font-weight: bold; } .InboxItem_Read { color: #888; } span.InboxItem_Read:hover { color: #000; } span.InboxItem_Read a { color: #999 !important; } span.InboxItem_Read:hover a { color: inherit !important; } .InboxItem_Meta { } .InboxItem_Meta td { padding: 0 0 0 0; } .inbox .alt { background: #f6f6f6; } .inbox .alt td { } .inbox .checkbox { width: 1%; padding: .1em; vertical-align: top; } .inbox td.NoItems { font-size: 3em; text-align: center; padding: 1em; color: #ddd; cursor: default !important; } .inbox td.item { padding: .3em 0 .2em .4em !important; vertical-align: middle; } .InboxItem_Content { padding: .5em 0 .2em 0; width: 95%; } .inbox td.time { width: 8.5em; font-size: .8em; color: #555; vertical-align: top; padding-top: .4em; } .inbox .JournalNewComment { } .inbox .Subject { font-weight: bold; } .inbox .ManageButtons { float: right; width: 104px; position: relative; top: 4px; margin: 0 0 .5em 0; } .inbox .Body { } .NotificationTable tr.Selected .Body { } /* folder links */ .folders a { white-space: nowrap; text-decoration: none; color: #000; display: block; margin: 0px; padding: 0px 0px 1px 2px; border: 1px solid #fff; } .folders a.subs { padding-left: 1em; } .folders .subs { padding-left: 1em; } .folders a.subsubs { padding-left: 2em; } .folders a:visited, .folders a:link { color: #000; } .folders a:hover { border: 1px solid #bbb; background-color: #eee; } /**** ESN AJAX ****/ .ippu { color: #000000 } .ippu .track_title { font-weight: bold; color: #CC6644; margin: 4px; } .ippu .track_btncontainer { margin-top: 5px; padding: 1px; width: 250px; } .ippu .track_moreopts { margin: auto auto auto 1em; width: 49%; } .ippu .track_savechanges { margin: auto auto auto auto; width: 49%; } #compose label { font-weight: bold; } div.ContextualPopup { position: relative; margin: 5px 0 0 20px; font: normal 11px "Arial", "Verdana", sans-serif !important; text-align: left; } * html div.ContextualPopup { background: none !important; } div.ContextualPopup img { border: 0; } div.ContextualPopup div.Inner { position: relative; top: -2px; left: -2px; background-color: #fff !important; color: #000 !important; border: 1px solid #036; padding: 0px; width: 20em; } * html div.ContextualPopup div.Inner { top: 0px; left: 0px; } div.ContextualPopup .Content { padding: 2px 4px 6px 4px; margin-right: 50px; line-height: 1.4; } div.ContextualPopup .Relation { font-weight: bold !important; } div.ContextualPopup .Content .OnlineStatus { font-weight: bold; } div.ContextualPopup .Content .GizmoBlurb { font-size: smaller; } div.ContextualPopup .Userpic { float: right; top: 0; right: 0px; padding: 4px 4px 0 0; } * html div.ContextualPopup .Userpic { top: 2px; } div.ContextualPopup .Userpic img { margin: 0 auto; max-width: 50px; width:expression(this.width > 50 ? "50px" : this.width); /*IE Max-width */ height: auto; vertical-align: middle; } div.ContextualPopup div.Inner a:link, div.ContextualPopup div.Inner a:visited { text-decoration: underline !important; border-bottom:0 none; font-weight: bold; color: #00C !important; } /* This is utility css that can be used anywhere in the app It should be included on all app pages in all schemes */ /* .pkg class wraps enclosing block element around inner floated elements */ .pkg:after { content: " "; display: block; visibility: hidden; clear: both; height: 0.1px; font-size: 0.1em; line-height: 0; } .pkg { display: inline-block; } /* no ie mac \*/ * html .pkg { height: 1%; } .pkg[class] { height: auto; } .pkg { display: block; } /* */ /* form styles */ label.left { display: block; float: left; } input.text, textarea.text, select.select { margin: 0px 3px 0px 0px; padding: 2px 2px; background: #fff url(/img/input-bg.gif) repeat-x 0 -1px; border: 1px solid #bbb; border-top: 1px solid #999; border-left: 1px solid #999; } select.select { padding: 1px; } fieldset.nostyle { border: none; margin: 0; padding: 0; } input.create-account { font-size: 110%; color: #fff; margin: 0; background: #559A40; border: 2px solid #76AE65; border-bottom: 2px solid #447C33; border-right: 2px solid #447C33; } .detail { font-size: 90%; color: #444; } p.detail { margin: 0 0 10px 0; padding: 0; } h2.widget-header { margin: 0 0 6px 0; padding: 0 0 6px 0; border-bottom: 1px solid #ccc; } ul.detail li { font-size: 90%; } hr.hr { border: 0; width: 100%; color: #8FC3F7; background-color: #8FC3F7; height: 1px; } /* generic class for removing styling from ul */ ul.nostyle { list-style: none; margin: 0; padding: 0; } /* tables where rows alternate colors */ table.alternating-rows th { text-align: left; border-top: 1px solid #8FC3F7; border-bottom: 1px solid #8FC3F7; background-color: #C5DFF9; padding: 6px 4px; } table.alternating-rows tr.altrow1 { background-color: #fff; } table.alternating-rows tr.altrow2 { background-color: #eee; } table.alternating-rows td { padding: 6px 4px; border-bottom: 1px solid #ccc; text-align: left; } /* columns for content layouts */ div.columns-2 .columns-2-left { float: left; width: 49%; } div.columns-2 .columns-2-right { float: right; width: 49%; } div.columns-2-r300 { width: 720px; } div.columns-2-r300 .columns-2-left { float: left; width: 405px; margin-right: 15px; } div.columns-2-r300 .columns-2-right { float: left; width: 300px; } /* default margin for widgets */ .appwidget { margin-bottom: 15px; position: relative; } .appwidget .more-link { position: absolute; right: 7px; top: 6px; font-size: 11px; text-decoration: none; padding-left: 10px; text-transform: lowercase; color: #114577 !important; background: url('/img/arrow-double-blue.gif') no-repeat 0 60%; } *HTML .appwidget .more-link { right: 27px; } .appwidget .more-link:hover { text-decoration: underline; } /* add this class to anything to make upgrade icon appear next to it */ .upgrade-account { padding-right: 18px; background: url('/horizon/upgrade-paid-icon.gif') no-repeat right 50%; } .arrow-link, .more-link { padding-left: 12px; background: url('/img/arrow-double-black.gif') no-repeat 0 50%; } /* Used to encapsualte message forms like Invite and Tell a Friend */ .message { border: 5px solid #eee; margin-bottom: 15px; } .message blockquote { margin: 0; border: 1px solid #aaa; padding: 15px; } .standout-border { border: 1px solid #8fc3f7; padding: 6px; } .standout-background { background-color: #c5dff9; } /* Sidebars floated to the right */ div.right-sidebar { float: right; width: 300px; color: #000000; background-color: #c5dff9; border: 1px solid #8fc3f7; margin: 10px; padding: 10px; } div.ad-sidebar { width: 300px; float: right; } .textbutton { color: #0000CC; cursor: pointer; } /* Solid background headings */ h2.solid-neutral { font-size: 14px; font-family: Arial; font-weight: bold; background: #ededed url(/img/corner.gif) no-repeat 0 0; margin: 0 0 8px 0; padding: 5px 8px; color: #222; } h2.solid-blue { position: relative; font-size: 14px; font-family: Arial; font-weight: bold; background: #d7e7f7 url(/img/corner.gif) no-repeat 0 0; margin: 0 0 8px 0; padding: 5px 8px; color: #222; } .solid-neutral { background: #ededed; } input.bright { background: url(/img/yellow_gradient.gif) repeat; border: 1px solid #b48101; color: #1f3368; font-weight: bold; } .helper { font-size: 0.8em; color: #666; } .rounded-box { background: no-repeat; zoom: 1; } .rounded-box .rounded-box-tr { background: 100% 0 no-repeat; } .rounded-box .rounded-box-bl { background: 0 100% no-repeat; } .rounded-box .rounded-box-br { background: 100% 100% no-repeat; padding: 2px; /* border width */ } .rounded-box .rounded-box-content { padding: 10px; } .ljad h4 { text-align: left; font-size: 10px; font-weight: normal; text-transform: uppercase; color: #444; margin: 0; } .ljad A:link, .ljad A:visited { font-size: 10px; border: 0 !important; } .ljad img { border: 0; } .ljadskyscraper { width: 160px; } .ljadleaderboard, .ljadleaderboard-top, .ljadleaderboard-bottom { width: 728px; margin-left: auto; margin-right: auto; } .ljadsmrect { width: 185px; } .ljadmedrect { width: 300px; } .ljadmedrect OBJECT, .ljadmedrect EMBED, .ljadmedrect IMG { margin: 0; padding: 0; display: block; } .adv-box BR, .ljadafter-post-a BR, .ljadmedrect BR { display: none; } .adv-box IMG, .ljadafter-post-a IMG, .ljadmedrect IMG { vertical-align:top; } .adv-box DL DD A IMG, .ljadafter-post-a DL DD A IMG, .ljadmedrect DL DD A IMG { margin:0; } .ljad5linkunit { width: 728px; margin-left: auto; margin-right: auto; } .ljadbadge { width: 160px; margin-bottom: 15px; } .ljadentrybox { width: 468px; } /* Styling for search ads */ .lj_inactive_ad { display: none; } .lj_content_ad { border: 1px solid #FFD63F; width: 580px; overflow: hidden; text-decoration: none; font-size: 12px; padding: 5px; padding-bottom: 0; } .lj_content_ad .ad_header { font-weight: bold; } .lj_content_ad .ad_text, .lj_content_ad .ad_url { font-size: 11px; } /* Avertising for sup's user ----------------------------- */ .adv { position: relative; overflow: hidden; zoom:1; min-width: 400px; clear: both; background: #fff; border: 1px solid #808080; padding: 12px; text-align: left !important; } .adv-box { overflow: hidden; height: 250px; width: 100%; min-width: 400px; } * HTML .adv-box { width:expression(parentNode.clientWidth < 530 ? "400px" : "100%");} /* HTML .adv-box { width:expression(document.documentElement.clientWidth < 793 ? "400px" : "100%");} * HTML #adv_digitalmult .adv-box { width:expression(document.documentElement.clientWidth < 944 ? "300px" : "100%");} */ /* Banner */ .adv-box-banner { float: left; width: 313px; height: 250px; text-align: left; } /*text banner*/ .adv-box-text { float: left; overflow: visible; width: 100%; min-width: 530px; margin-right: -313px; padding-top: 30px; } .adv-box-text-in { margin-right: 313px; } .body-adv-box { zoom:1; } /* min-width for ie6 */ * HTML .mw { overflow:hidden; width:530px; height:0; font-size: 0; line-height: 0; } /* Advertising header ------------------------------*/ H3.h-adv-box { padding: 3px 7px 5px 7px !important; margin: 0 !important; border: 0 !important; background: #a92242 !important; text-transform: uppercase; font: 10px/1 Verdana, Arial, sans-serif; color: #FFF; } H3.h-adv-box A { border: 0 !important; text-decoration: none !important; font: 10px/1 Verdana, Arial, sans-serif !important; color: #FFF !important; background: none !important; } H3.h-adv-box A:hover { border: 0 !important; text-decoration: underline !important; color: #FFF !important; } .adv H3.h-adv-box { position: absolute; right: -1px; top: 12px; float: right; z-index: 100; border: 0 !important; } /* Define text color and typography */ html, body { height: 100%; } body { color: #000000; background-color: #fff; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; margin: 0; padding: 0; min-width: 840px; width: 100%; } a:link { color: #00C; background-color: transparent; } a:visited { color: #306; background-color: transparent; } a:active { color: #F60; background-color: transparent; } h1 { font-family: Arial, Verdana, Helvetica, sans-serif; font-weight: bold; color: #036; background-color: transparent; margin: 0 0 0.4em 0; padding: 0; } h1 a { font-weight: normal; } h2 { font-weight: normal; color: #036; margin: 0.3em 0 0.1em 0; padding: 0; } h3 { color: #024; background-color: transparent; font-style: italic; margin: 0.2em 0 0.2em 0; padding: 0; } p { margin: 0.75em 0; } body, dd, dt, th, td, p, div, li, pre, code, kbd { font-size: small; } h3 { font-size: medium; } h2 { font-size: large; } h1 { font-size: x-large; } li { margin-left: 0px; } h1.title { font-family: Arial, Verdana, Helvetica, sans-serif; } #NavigationWelcomeLogo { position: relative; top: 0; left: 0; font-size: 0.8em; color: #444; height: 6.11em; margin: 0; padding: 0; } #NavigationWelcomeLogo a { color: #444; font-weight: 700; } #Content pre { line-height: 1em; } /* Utility CSS */ .clear { clear: both; margin: 0 -1px -1px 0; border: 0; padding: 0; width: 1px; height: 1px; font-size: 0; line-height: 0%; } .hide { display: none; } hr { border: 0; width: 100%; color: #369; background-color: #369; height: 2px; } table.edged { border: 2px solid #c5dff9; } table.edged td { border: 1px solid #8fc3f7;; } .standout { text-align: center; } .standout .container { color: #000; background-color: #c5dff9 !important; border: 1px solid #8fc3f7; padding: 3px; /* margin shorthand isn't recognized by IE5/Mac */ margin-top: auto; margin-bottom: auto; margin-left: auto; margin-right: auto; width: auto; text-align: left; } .standout span.container { padding: 8px 7px !important; display: inline-block; } .errorbar { color: #000; font: 12px Verdana, Arial, Sans-Serif; background-color: #FFEEEE; background-repeat: repeat-x; border: 1px solid #FF9999; padding: 8px; margin-top: auto; margin-bottom: 5px; margin-left: auto; margin-right: auto; width: auto; text-align: left; } .warningbar { color: #000; font: 12px Verdana, Arial, Sans-Serif; background-color: #FFFFDD; background-repeat: repeat-x; border: 1px solid #FFCC33; padding: 8px; margin-top: auto; margin-bottom: 5px; margin-left: auto; margin-right: auto; width: auto; text-align: left; } .de { color: #909090; background-color: #ffffff; } /* layout */ .talk-comment { margin-top: 1em; margin-bottom: 0px; } #commenttext { width: 100%; } /* Form Items */ .formitem { color: #343434; font-size: 1em; } .formnumber { font-weight: bold; margin-top: 1.8em; font-size: .9em; } .formitemName { font-weight: bold; font-size: .9em; margin-top: 1.8em; } .formitemDesc { margin-top: .4em; margin-bottom: .4em; color: #505050; } .formitemNote { color: #da6320; font-size: .9em; margin-top: .4em; margin-bottom: .4em; } .formitemFlag { color: #CE0000; font-size: .9em; margin-top: .4em; margin-bottom: .4em; } .borderedtable { border: solid 1px black; } /* the top of the borderedtable, use th tags for header columns */ .borderedtable th { background-color: #dddddd; border-bottom: solid 1px black; padding-left: 10px; padding-right: 10px; white-space: nowrap; } .userslist-table { border: 1px solid #ddd; } .userslist-table TH { background: #ddd; padding: 2px 10px; white-space: nowrap; text-align:left; } .userslist-table TD { padding: 3px 10px; } /* Extended.css */ .hide { display: none; } div.centered { text-align: center; width: 100%; } .lesstop { margin-top: 2px; } .de { color: #909090; background-color: #ffffff; } #ljbreadcrumbs { text-align: left; white-space: nowrap; font: 11px Arial, Geneva, Helvetica, sans-serif; margin-left: 0; margin-bottom: 1em; } /* layout */ #content pre { line-height: 1.1em; font-size: 1.1em; } #Comments q { font-style: italic; } div.transparentpng { display: none; margin: 0; padding: 0; } img.transparentpng { border: 0; } /* Ad wrapper styles (for ads printed in BML directly) */ .ljadwrapper-app-full-width { margin-bottom: 1em; text-align: center; width: 100%; } .ljadwrapper-app-info-1column, .ljadwrapper-app-func-1column, .ljadwrapper-app-confirm, .ljadwrapper-app-home-login, .ljadwrapper-app-schools, .ljadwrapper-search, .ljadwrapper-journal-indiv-entry, .ljadwrapper-journal-skyscraper, .ljadwrapper-app-search-skyscraper { float: right; margin-left: 2em; margin-bottom: 1em; display: table-cell; } .ljadwrapper-app-func-2column, .ljadwrapper-app-info-2column, .ljadwrapper-journal-userinfo { margin-top: 2em; text-align: center; width: 100%; } div.copyrighted { font-size: smaller; padding-bottom: 10px; } .indent_sm { margin-left: 8px; } .friendsfinder { font-family: Verdana, arial, sans-serif !important; } .friendsfinder .rounded-box-content{ padding: 30px 25px 40px 25px; } HTML { font-size:100.01%; } BODY { margin: 0; padding: 0; } /* RESET -------------------------------------- */ body, dd, dt, th, td, p, div, li, pre, code, kbd { font-size: 100%; } #header { line-height: 1.4; } #header OL, #header UL, #header TABLE, #header TH, #header TD, #header H1, #header DL, #header DT, #header DD, #header FORM, #genres UL, #footer OL, #footer UL, #footer TABLE, #footer TH, #footer TD, #footer H3, #header IMG, #genres LI, #header LABEL { padding:0; margin:0; border:none; outline:none; vertical-align:baseline; font-family:inherit; } #header OL, #header UL, #footer OL, #footer UL, #genres OL, #genres UL { list-style:none; } #header TABLE, #footer TABLE { border-collapse:collapse; border-spacing:0; } #header TH, #header TD, #footer TH, #footer TD { text-align:left; } :focus { outline:none; } #header TEXTAREA, #header INPUT, #header SELECT { font-family:Arial,sans-serif; font-size:1em; } /* Header -------------------------------------- */ #header { position:relative; padding:35px 24px 0 48px; overflow:visible; min-width:923px !important; z-index: 100; } /* Logo */ #header .logo, #header .logo A, #header .logo SPAN { float:left; width:246px !important; height:54px; } #header .logo { background:url(/stc/lanzelot/img/head/logo.gif) no-repeat; } #header .logo A, #header .logo SPAN { text-indent:-9999px; border:none; } /* Options */ #header .options { float:right; } #header .nolog { padding-top: 15px; font-size: 0.85em; } #header .nolog input { vertical-align: middle; } .loginlj_form INPUT { width: 50px; font-size: .85em; } /* Userbar -------------------------------------- */ .userbar { position:relative; padding:0 64px 0 0 !important; text-align:right; } /* Nickname */ .userbar DT .ljuser A { border:none; font-weight:bold; font-size:1.1em; color:#404040; } .userbar DT .ljuser .ico IMG { vertical-align:text-top; } .userbar DT SMALL { position:relative; top:-2px; font-size:.85em; } /* Links */ .userbar DD { font-size:.85em; } .userbar DD LI { padding:2px 0 0; color:#808080; } .userbar DD A { margin-left:6px; } /* Login Box -------------------------------------- */ .login-tl { position:absolute; top:26px; right:18px; z-index:100; width:300px; background:#FFF url(/stc/lanzelot/img/login/tl.gif) no-repeat; text-align:left; } .login-br { background:url(/stc/lanzelot/img/login/br.gif) 100% 100% no-repeat; } .login-tr { background:url(/stc/lanzelot/img/login/tr.gif) 100% 0 no-repeat; } .login-bl { padding:10px 15px 12px; overflow:hidden; background:url(/stc/lanzelot/img/login/bl.gif) 0 100% no-repeat; } /* Logged */ .options-logged .login-tl { position:static; margin-bottom:-10px; width:auto; } .options-logged .login-tr, .options-logged .login-br, .options-logged .login-bl { background:none; padding:0; } /* Login Form -------------------------------------- */ #header TABLE.login-form { width:270px; } #header TABLE.login-form TD { vertical-align:middle; font-size:.85em; padding: 0; } #header TABLE.login-form .txt { width:88px; margin: 3px 5px 0 0; } #header TABLE.login-form A { color:#808080 !important; } #header TABLE.login-form A:hover { color:#3F5F9E !important; border-color:#CCC; } #header TABLE.login-form .rememb { margin: 0 3px 0 0; } /* Login Error -------------------------------------- */ .login-error { padding:12px; text-align:center; color:#CC3F4F; } /* Shop --------------------------------------- */ .tshort { margin-top: 3px; } .tshort IMG { position: relative; top: 2px;} /* Userpic */ .userbar .userpic { position:absolute; top:2px; right:0; } /* Search Bar -------------------------------------- */ .searchbar { position:absolute; top:33px; left:50%; margin-left:-18%; width:35%; } /* Options */ .searchbar .tabs { overflow:hidden; } .searchbar .tabs LI, .searchbar .tabs LABEL { float:left; } .searchbar .tabs LI { margin-right:-1px !important; background:url(/stc/lanzelot/img/themes/div.gif) 100% 50% no-repeat; } .searchbar .tabs .last { background:none; } .searchbar .tabs LABEL { padding:6px 9px 5px !important; text-transform:uppercase; line-height:1; font-size:.7em; color:#404040; cursor:pointer; } .searchbar .tabs INPUT { display:none; } .searchbar .tabs .cur { background:#5F6F86 url(/stc/lanzelot/img/themes/l.gif) no-repeat; } .searchbar .tabs .cur LABEL { background:url(/stc/lanzelot/img/themes/r.gif) 100% 0 no-repeat; color:#FFF; } /* Search */ .searchbar TABLE { clear:both; } .searchbar TABLE TD { vertical-align:top !important; } .searchbar TABLE INPUT { margin:0; } .searchbar TABLE .txt { width:100%; } .searchbar TABLE .txt INPUT { width:97%; } .searchbar TABLE .btn { background:none; border: none; float: left; } .searchbar TABLE .btn INPUT { position:relative; /*top:-4px;*/ } /* Links */ .searchbar .links { padding:3px 0 0; width:98%; overflow:hidden; font-size:.85em; } .searchbar .links, .searchbar .links A { color:#808080 !important; } .searchbar .links A:hover { border-color:#808080 !important; } .searchbar .links .sample { float:left; padding-bottom: 1px; } .searchbar .links .advanced { float:right; } /* Themes / thanks to Alex Mauzon -------------------------------------- */ .themes { clear:both; padding: 0; overflow:visible; text-align:center; } .themes TABLE.menu_holder { margin:auto !important; position: relative; /*width: 100%;*/ } .themes DIV.menu { text-align:center; float:left; /*left:50%;*/ position:relative; } .themes UL { float:left; /*left:50%;*/ position:relative; } .themes LI, .themes SPAN { float:left; } .themes LI { margin-right:-1px; background:url(/stc/lanzelot/img/themes/div.gif) 100% 50% no-repeat; height: 27px; } .themes .last { background:none; } .themes .ex { text-indent: -99999px; width: 1px; } .themes .next { background: url(/stc/lanzelot/img/menu/next.gif) 1px 100% no-repeat; } .themes .next SPAN { background:url(/stc/lanzelot/img/themes/div.gif) 100% 50% no-repeat; } .themes .next.ex SPAN, .themes .next.pr SPAN { background: none;} .themes SPAN { padding:5px 12px 4px; } .themes .ex SPAN { padding: 0px; } .themes A:link, .themes A:visited { border:none !important; text-transform:uppercase; line-height:1; font-size:.85em; color:#404040 !important; } .themes A:hover { border-bottom:none; } .themes LI UL { display: none; } /* Current */ .themes .cur { background:#5F6F86 url(/stc/lanzelot/img/themes/l.gif) no-repeat; position: relative; } .themes .cur SPAN { background:url(/stc/lanzelot/img/themes/r.gif) 100% 0 no-repeat; } .themes .cur A, .themes .cur A:visited { color:#FFF !important; } /* SubMenu */ .themes .submenu { position: absolute; left: 0; top: 27px; z-index: 5; text-align: left; background: url(/stc/lanzelot/img/menu/cur_bl.gif) 0 100% no-repeat #5f6f86; min-width: 180px; } .themes .submenu LI { display: block; float: none; background: none; padding: 0px 12px; margin-right: 0; white-space: nowrap; height: auto; } .themes .submenu A, .themes .submenu A:visited { text-transform: none; } .themes .submenu SPAN.pic-count { float: none; background:none;padding: 0 !important; display: block;} .themes .submenu A:hover { color:#afd2ff !important; text-decoration: underline; border: none; } .themes .submenu LI DIV { background: url(/stc/lanzelot/img/menu/dot.gif) repeat-x bottom; float: none; padding: 4px 0px; } .themes .submenu LI.last { background: url(/stc/lanzelot/img/menu/cur_br.gif) 100% 100% no-repeat !important; } /* Genres -------------------------------------- */ #genres { background:#E7E7E7; line-height:25px; font-size:.85em; height: 25px; text-align: right; padding-right: 24px; } #genres UL { float: right;} #genres LI { float: left; background:transparent url(/stc/lanzelot/img/menu/div.gif) no-repeat 100% 50%; margin-left:-2px; padding: 0 10px; } #genres LI.last { background: none; padding-right: 0; } #genres A { color: #404040 !important; border:none;} /* Body -------------------------------------- */ #main_body { padding:24px; min-width: 894px; } #main_body:after { content:'.'; display:block; height:0; clear:both; color:#FFF; } /*#wrapper { float: left; width:100%; } #content { margin-right: 336px; padding-right: 25px; } */ #side { float: left; /*margin-left: -336px;*/ width: 335px; } .bordered {border-left: 1px solid #ccc;} /* Lanzelot content ---------------------------------- */ .lanzelot-content { width: 100%; margin: 5px 0; clear: both; min-height: 220px; float: none; } p.lanzelot { line-height: 1.4em; text-align: left; } #ljbreadcrumbs { font-size: .85em; } .borderedtable { border:1px solid black !important; } .borderedtable TH { border-bottom: 1px solid #000; background: #ccc; } a.more-link:hover { text-decoration: none !important;} .cprod .alllink a {border: none;} DIV.homepage-loggedin > DIV { width: 100%} /* * html .lanzelot-content { height: 220px; } */ /* Footer -------------------------------------- */ #footer { margin:0 auto; overflow:hidden; font-size:.85em; min-width:942px; clear: both; } #footer UL { padding:4px 0; } #footer LI { float:left; } #footer A:hover { border-color:#CCC; } #footer P { clear:both; padding:24px 0 12px; text-align:right; color:#CCC; } /* Map */ #footer .map { padding: 17px 24px; } #footer .map H3 { font-size: 1.4em; font-weight: bold; padding-bottom: 10px; font-style: normal; } #footer .map SPAN { font-size: 1.2em;} #footer .map LI { display: inline; padding-right: 15px; float: none; line-height: 1.8em; } #footer .map LI A { white-space: nowrap; } #footer .map TABLE { background: url(/stc/lanzelot/img/menu/div2.gif) 50% top repeat-y; margin-bottom: 10px; } #footer .map .manage { padding-right: 7%; width: 43%; } #footer .map .other { width: 43%; padding-left: 7%; } /* Side */ #footer .side { float:right; } #footer .side LI { margin-left:12px; } BODY { background:#FFF; font:.8em Arial,sans-serif !important; color:#404040; } A:link, A:visited { text-decoration:none; border-bottom:solid 1px #CCC; color:#3F5F9E !important; } A:hover { border-color:#3F5F9E; } A.frank-image { border: none; } TABLE.feature-matrix A.feature-link { border: none; } /* Links -------------------------------------- */ .comm { padding-left:18px; background:url(/stc/lanzelot/img/ico/msg.gif) 2px 0 no-repeat; color:#808080; } .more, .reply { padding:.2em .4em; border:none; font-size:.85em; } .more { background:#B2A08F; color:#FFF; } .more:hover { background:#D1BBA7; } .reply { background:#D7E5F6; } .reply:hover { background:#829DBF; color:#FFF; } .theme { color:#B54454; } /* Picture -------------------------------------- */ .pic { vertical-align:top; } .pic.left { float:left; margin:.2em 1em 0 0; } .pic.right { float:right; margin:.2em 0 0 1em; } /* Horizontal Rule -------------------------------------- */ .hr { clear:both; margin:0 0 12px; width:100%; height:1px; overflow:hidden; border:solid 1px #404040; border-width:2px 0 1px; } .hr HR { display:none; } .hr.div { margin:0; } .hr.hair { border-width:1px 0 0; height:0; } .hr.hid { border:none; padding:12px 0; } /* Button -------------------------------------- */ .btn { float:left; background:url(/stc/lanzelot/img/btn/bg.gif) 0 50% repeat-x; border:none; text-align:center; font-size:.85em; color:#666; cursor:pointer; } .ljbtn { background:url(/stc/lanzelot/img/btn/bg.gif) 0 50% repeat-x; border:1px solid #ccc; text-align:center; padding: 5px 20px; font-size:.85em; color:#666; cursor:pointer; width: auto !important; } .btn:hover { color:#999; } .btn.full { width:100%; } .btn SPAN { display:block; background:url(/stc/lanzelot/img/btn/tl.gif) no-repeat; } .btn SPAN SPAN { background:url(/stc/lanzelot/img/btn/br.gif) 100% 100% no-repeat; } .btn SPAN SPAN SPAN { background:url(/stc/lanzelot/img/btn/tr.gif) 100% 0 no-repeat; } .btn SPAN SPAN SPAN SPAN { padding:5px 15px; background:url(/stc/lanzelot/img/btn/bl.gif) 0 100% no-repeat; } .btn-set { overflow:hidden; } /* LJ User / Community -------------------------------------- */ .ljuser, .ljcomm { white-space:nowrap; color:#808080; } .ljuser .ico, .ljcomm .ico { border:none; vertical-align:top; } .ljuser .ico IMG, .ljcomm .ico IMG { vertical-align:middle; } /* Rating Position -------------------------------------- */ .ratepos SPAN { padding-left:8px; font-size:.85em; } .ratepos.new SPAN { background:url(/stc/lanzelot/img/ico/new.gif) 0 50% no-repeat; } .ratepos.up SPAN { background:url(/stc/lanzelot/img/ico/up.gif) 0 50% no-repeat; color:#779E5E; } .ratepos.down SPAN { background:url(/stc/lanzelot/img/ico/down.gif) 0 50% no-repeat; color:#CC3F4F; } /* Outside */ .ratepos.out { float:left; clear:both; margin:-1.4em 0 0 -4.5em; width:4em; text-align:right; } /* Paragraphs -------------------------------------- */ #content P { margin:0 0 12px; } /* Colset -------------------------------------- */ .colset { padding:0 12px; overflow:hidden; } .colset .colset-first { float:left; margin-left:-12px; width:50%; } .colset .colset-second { float:right; margin-right:-12px; width:50%; } /* Two / Three */ .colset.two-three { padding:0; } .colset.two-three .colset-first { margin:0; width:336px; } .colset.two-three .colset-second { margin:0; width:216px; } /* Three / Two */ .colset.three-two { padding:0; } /* Head Set -------------------------------------- */ .head-set { padding:12px 0; margin:0 0 12px; overflow:hidden; border-top:solid 1px #000; border-bottom:dotted 1px #CCC; } .head-set H3 { float:left; margin:0 !important; } .head-set UL { float:right; padding:.2em 0 0; font-size:.85em; } .head-set LI { float:left; margin-right:6px; padding-right:6px; border-right:solid 1px #CCC; } .head-set .last { padding:0; margin:0; border:none; } /* Excerpt -------------------------------------- */ .excerpt { font-style:italic; } .excerpt A { display:block; padding:12px 15px; border:dotted 1px #CCC; color:#404040; } .excerpt A:hover { background:#829DBF; border:solid 1px #829DBF; } .excerpt A:hover, .excerpt A:hover * { color:#FFF; } .excerpt .ljuser { font-style:normal; } /* Related -------------------------------------- */ .related { margin:0 0 12px; } .related DD { padding:6px 0 0; font-size:.85em; } .related LI { padding-left:9px; margin:0 0 6px; background:url(/stc/lanzelot/img/ico/bull.gif) 0 .5em no-repeat; } /* Links Set -------------------------------------- */ .links-set { padding:0 0 12px; } .links-set LI { padding:0 0 6px; } /* Navigation -------------------------------------- */ .navigation { overflow:hidden; } .navigation A { border:none; } .navigation .prev { float:left; } .navigation .prev A { padding-left:20px; background:url(/stc/lanzelot/img/cal/prev.gif) 0 50% no-repeat; } .navigation .prev A:hover { background-image:url(/stc/lanzelot/img/cal/prev-a.gif); } .navigation .next { float:right; } .navigation .next A { padding-right:20px; background:url(/stc/lanzelot/img/cal/next.gif) 100% 50% no-repeat; } .navigation .next A:hover { background-image:url(/stc/lanzelot/img/cal/next-a.gif); } /* Bottom -------------------------------------- */ .bottom { margin:0 0 12px; border-bottom:solid 1px #CCC; } /* Inner Pages ------------------------------------- */ .theme-nav-small li A, .theme-nav-small li A:visited { border-bottom: 0px; } .theme-nav li A, .theme-nav li A:hover { border-bottom: 0px; padding: 4px 6px; } .customize-nav li A { border-bottom: 0px; } .theme-nav li.on A:hover { border-bottom: 1px solid #C7E0F6; } /* Top Navigation -------------------------------------- */ .navigator { font-size: .85em; margin-bottom: 20px; } .navigator SPAN { font-weight: bold; } /* LiveJournal COM -------------------------------------- */ ol.num_list { list-style:decimal; padding-left: 1.5em; } .new_friend LI { padding-bottom: 13px; color: #808080; } .new_friend A { font-size: .85em; } .new_friend .add A { font-size: 1em; } .new_friend LI INPUT { width: 125px; margin:0 10px 0 5px; } #tagform .btn { float:none; border: none; } #tagform .btn:focus { outline: none; } .new_friend TEXTAREA { display: block; width: 100%; margin-top: 10px; } .new_friend .ljbtn { float: right; margin-right: -3px; margin-top: 8px; } .import { padding-left: 25px; padding-top: 3px; position: relative; margin-top: -3px; } .import FORM { margin-top: 20px; } .import TD { padding-bottom: 11px; } .import .label { text-align: right; padding-right: 17px; } .import INPUT { width: 195px; } .import SELECT { width: 200px; } .imported { overflow: scroll; height: 160px; border: 1px solid #ccc; margin: 25px 0 0; } .imported TD { padding: 3px 5px 5px 5px; vertical-align: middle; font-size: .85em; } .imported TD.mail { padding: 3px 5px 5px 20px; } .imported INPUT { width: auto; } .import .new_friend .ljbtn { margin-right: 0px; } /* Sup AD -------------------------------------- */ .sup-ad { overflow: hidden; } .sup-ad DT { float: left; width: 160px; height: 100px; margin-right: 10px; clear:both; } .sup-ad DT a { border: none; } .sup-ad DD { float:left; width: 400px; } .theme-item A.theme-preview-link { border:0 !important; } /* Profile page ------------------------------------*/ #profile_page a:hover { text-decoration: none; } /* ContextualPopup ------------------------------------*/ div.ContextualPopup div.Inner a:link, div.ContextualPopup div.Inner a:visited { text-decoration: none !important; border-bottom:solid 1px #CCC !important; } div.ContextualPopup div.Inner a:link:hover, div.ContextualPopup div.Inner a:visited:hover { text-decoration:none !important; border-color:#3F5F9E !important; } /* Link to current version ------------------------------------ */ .current-version { margin:0; padding: 4px 0 2px; } /* ADV ------------------------------------ */ .ljad A, .ljad A:hover { border:0; } .ljad DIV A:link, .ljad DIV A:visited { text-decoration:none; border-bottom:solid 1px #CCC; color:#3F5F9E !important; } .ljad DIV A:hover { border-color:#3F5F9E; } /* 10 years header mod ------------------------------------ */ #header { background:#102446 url(/stc/lanzelot/img/10years/10years-bg.jpg) 0 0 no-repeat; padding-top:31px; } #header .menu { /* Why are these inline styles appear anyway? */ border-top:0 !important; margin-top:0 !important; } #header .themes A:link, #header .themes A:visited { color:#EBF3FB !important; } #header .searchbar .links, #header .searchbar .links A { color:#FFF !important; } #header .searchbar .tabs LABEL { color:#FFF; } #header .userbar { color:#92B1DE !important; } #header .userbar A:link, #header .userbar A:visited { color:#EBF3FB !important; } #header .logo { margin:-31px 0 0 -48px; background:url(/stc/lanzelot/img/10years/10years-logo.jpg) 0 0 no-repeat; } * HTML #header .logo { display:inline; } #header .logo, #header .logo A, #header .logo SPAN { height:115px; width:320px !important; } #header .themes .next { background-image:url(/stc/lanzelot/img/10years/10years-next.gif); } #header .searchbar { top:41px; } #header .searchbar .tabs .cur, #header .themes .cur { background-image:url(/stc/lanzelot/img/10years/10years-l.gif); } #header .searchbar .tabs .cur LABEL, #header .themes .cur SPAN { background-image:url(/stc/lanzelot/img/10years/10years-r.gif); } #header .themes .submenu SPAN.pic-count { background:none; } * HTML #header .themes * { border:0 !important; } .login-tl { background:#102446; } .login-br, .login-tr, .login-bl { background:none; } .login-tl { top:33px; } #header TABLE.login-form LABEL, #header TABLE.login-form A:link, #header TABLE.login-form A:visited { color:#EBF3FB !important; } #header TABLE.login-form A:link:hover, #header TABLE.login-form A:visited:hover { color:#EBF3FB !important; border-color:#808080 !important; } /* end of 10 years */ ------------JFqt76YmHOLgVAMFnlTSwA Content-Disposition: inline; filename=default.js Content-Type: application/x-javascript; name=default.js Content-Location: http://l-stat.livejournal.com/??lanzelot/js/menu.js?v=1225752272 Content-Transfer-Encoding: Base64 ZnVuY3Rpb24gc2hvd19tZW51KGl0bSwgdG90YWwsIGhhc19yZW1vdGUpIHsNCgl2 YXIgdG9wID0gaXRtOw0KCXZhciBsYXN0ID0gdG90YWwgKyAxDQoJdmFyIG54dCA9 IHRvcCArIDE7DQoJaWYgKGhhc19yZW1vdGUgPT0gMSkgew0KCWZvciAoaT0wOyBp PGxhc3Q7IGkrPTEpIHsNCgkJLy9kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncycr aSkuc3R5bGUuZGlzcGxheSA9ICdub25lJzsNCgkJZG9jdW1lbnQuZ2V0RWxlbWVu dEJ5SWQoJ20nK3RvdGFsKS5jbGFzc05hbWUgPSAnbGFzdCc7DQoJCWRvY3VtZW50 LmdldEVsZW1lbnRCeUlkKCdtX2xhc3QnKS5jbGFzc05hbWUgPSAnZXggbGFzdCc7 DQoJfQ0KCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzJytpdG0pLnN0eWxlLmRp c3BsYXkgPSAnYmxvY2snOw0KCWlmIChueHQgIT0gbGFzdCkgew0KCQlkb2N1bWVu dC5nZXRFbGVtZW50QnlJZCgnbScrbnh0KS5jbGFzc05hbWUgPSAnbmV4dCc7DQoJ CWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtJyt0b3ApLmNsYXNzTmFtZSA9ICdj dXInOw0KCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbV9sYXN0JykuY2xhc3NO YW1lPSdleCBsYXN0JzsNCgkJaWYgKG54dCA9PSB0b3RhbCkgZG9jdW1lbnQuZ2V0 RWxlbWVudEJ5SWQoJ20nK3RvdGFsKS5jbGFzc05hbWUgPSAncHIgbmV4dCc7DQoJ fQ0KCWVsc2UNCgkgew0KCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbScrdG9w KS5jbGFzc05hbWUgPSAnY3VyJzsNCgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo J21fbGFzdCcpLmNsYXNzTmFtZSA9ICdleCBuZXh0JzsNCgl9DQoJfQ0KCWVsc2Ug ew0KCS8vCWZvciAoaT0wOyBpPGxhc3Q7IGkrPTEpIHsNCgkvLwkJZG9jdW1lbnQu Z2V0RWxlbWVudEJ5SWQoJ3MnK2kpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7DQoJ Ly8JfQ0KCQlpZiAobnh0ICE9IGxhc3QpIHsNCgkJCWRvY3VtZW50LmdldEVsZW1l bnRCeUlkKCdtJytueHQpLmNsYXNzTmFtZSA9ICcnOw0KCQkJZG9jdW1lbnQuZ2V0 RWxlbWVudEJ5SWQoJ20nK3RvcCkuY2xhc3NOYW1lID0gJ2N1cic7DQoJCQlkb2N1 bWVudC5nZXRFbGVtZW50QnlJZCgnbV9sYXN0JykuY2xhc3NOYW1lPSdleCBsYXN0 JzsNCgkJCWlmIChueHQgPT0gdG90YWwpIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk KCdtJyt0b3RhbCkuY2xhc3NOYW1lID0gJ3ByIGxhc3QnOw0KCQl9DQoJCWVsc2UN CgkgCXsNCgkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtJyt0b3ApLmNsYXNz TmFtZSA9ICdjdXInOw0KCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21fbGFz dCcpLmNsYXNzTmFtZSA9ICdleCBsYXN0JzsNCgkJfQ0KCX0NCn0NCg0KZnVuY3Rp b24gaGlkZV9tZW51KGl0bSwgdG90YWwpIHsNCgl2YXIgbnh0ID0gaXRtICsgMTsN Cgl2YXIgcHJldiA9IHRvdGFsICsgMTsNCgl2YXIgdCA9IGl0bTsNCglkb2N1bWVu dC5nZXRFbGVtZW50QnlJZCgncycrdCkuc3R5bGUuZGlzcGxheSA9ICdub25lJzsN CglpZiAobnh0ICE9IHByZXYpIHsNCgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo J20nK254dCkuY2xhc3NOYW1lPScnOw0KCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJ ZCgnbScraXRtKS5jbGFzc05hbWU9Jyc7DQoJCWRvY3VtZW50LmdldEVsZW1lbnRC eUlkKCdtJyt0b3RhbCkuY2xhc3NOYW1lPSdsYXN0JzsNCgkJZG9jdW1lbnQuZ2V0 RWxlbWVudEJ5SWQoJ21fbGFzdCcpLmNsYXNzTmFtZT0nZXggbGFzdCc7DQoJfQ0K CWVsc2UgeyANCgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ20nK2l0bSkuY2xh c3NOYW1lPSdsYXN0JzsNCgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21fbGFz dCcpLmNsYXNzTmFtZT0nZXggbGFzdCc7DQoJCX0NCn0JCQ== ------------JFqt76YmHOLgVAMFnlTSwA Content-Disposition: inline; filename=favicon.ico Content-Type: image/x-icon; name=favicon.ico Content-Location: http://www.livejournal.com/favicon.ico Content-Transfer-Encoding: Base64 AAABAAQAEBAQAAAAAAAoAQAARgAAABAQAAAAAAAAaAMAAG4BAAAgIBAAAAAAAOgC AADWBAAAICAAAAAAAACoDAAAvgcAACgAAAAQAAAAIAAAAAEABAAAAAAAwAAAAAAA AAAAAAAAEAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICA gAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAABEQAAAAAAERERAAA AABEiHNEAAAABER3d0AAAABExHd4QAAABEzEd3hAAABEzMRERAAABEzMTOxEAABE zMTOxEAABEzMTOxEAABEdMTOxEAAAEd3TOxEAAAARHf0xEAAAABJT/dEAAAAAASU dEAAAAAAAEREAAAAAAD/+P///8D///8A///+Af///AH///gB///wA///4AP//8AH //+AD///AB///wA///8Af///AP///4H////D////KAAAABAAAAAgAAAAAQAYAAAA AABAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAGYzAGYzAGYzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AGYzAGYzAGYzAGYzAGYzAGYzAGYzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGYz AGYzAHx6e5PB5JzW/5nK8GYzAGYzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGYzAH1G F8OJTo6NiJrX/5rO/5vT/2YzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGYzAHxFF9Cd as6UWo2Ed5jW/57Z/5G532YzAAAAAAAAAAAAAAAAAAAAAAAAAGYzAH9IGs+caNaj cLB6RH5kSYeKiYqjtn2Fi2YzAAAAAAAAAAAAAAAAAAAAAGYzAIFKG9GeadShbrSA TbB/Teazf+m1fMWTXlslAGYzAAAAAAAAAAAAAAAAAGYzAIFKHdCdadShbrJ/TLOC T/vNmv/Zpv/Un5JbL2YzAAAAAAAAAAAAAAAAAGYzAH9IGtKfa9ShbrB9SrSDUfrN mv/VovrNmYhTJ2YzAAAAAAAAAAAAAAAAAGYzAGxBI5BeLdikcLF+S7KBT/rNm//U ofrOmopUKGYzAAAAAAAAAAAAAAAAAGYzAGYzAMDAwH9XNZRdKcKRX/zQnf/VofnN mIdRJWYzAAAAAAAAAAAAAAAAAAAAAGYzAHhQM8DAwMDAwGs9FcCMWP/ZpfnOmYdR JGYzAAAAAAAAAAAAAAAAAAAAAAAAAGYzAHthg4VhQ////////49qS5lqOoJLHmYz AAAAAAAAAAAAAAAAAAAAAAAAAAAAAGYzAHdffntihZNwVf///8DAwGAxDmYzAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGYzAHZcenxljnlSO2YzAGYzAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGYzAGYzAGYzAGYzAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/4////gP///wD///4B///8Af//+AH///AB ///gA///wAf//4AP//8AH///AD///wB///8A////gf///8P///8oAAAAIAAAAEAA AAABAAQAAAAAAIACAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAA AACAAIAAgIAAAMDAwACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABERAAAAAAAAAAAAAAAAEREREQAAA AAAAAAAAAABEREREREAAAAAAAAAAAAREREi4tERAAAAAAAAAAABERIuLi4tEAAAA AAAAAAAERES4uLi4RAAAAAAAAAAAREzEi4uLi0QAAAAAAAAABETMxLi4uLhAAAAA AAAAAERMzMSLi4uEQAAAAAAAAAREzMzEuLi4tEAAAAAAAABETMzMxIuLi4RAAAAA AAAERMzMzERERES0AAAAAAAAREzMzMROzs5ERAAAAAAABETMzMxE7Ozs5EQAAAAA AERMzMzETs7OzkRAAAAAAAREzMzMROzs7OREAAAAAABETMzMxE7Ozs5EQAAAAAAE REzMzETs7OzkRAAAAAAAREdEzMROzs7OREAAAAAABER3RMxE7Ozs5EQAAAAAAARH d3RETs7OzkRAAAAAAABER3d0ROzs7OREAAAAAAAARJR3d0TOzs5EQAAAAAAAAESU d3f0ROzkRAAAAAAAAABElEd//0REREAAAAAAAAAABJlE///3dEQAAAAAAAAAAARJ lE//d0RAAAAAAAAAAAAARJlE93REAAAAAAAAAAAAAARJlEREQAAAAAAAAAAAAAAA REmZRAAAAAAAAAAAAAAAAABERAAAAAAAAAAAAAAA/////////+H///4B///wAf// gAH//wAD//4AA//8AAP/+AAH//AAB//gAAf/wAAH/4AAD/8AAA/+AAAP/AAAH/gA AD/wAAB/4AAA/8AAAf+AAAP/gAAH/wAAD/8AAB//AAA//wAAf/+AAP//gAH//8AD ///gB///8A////w///8oAAAAIAAAAEAAAAABABgAAAAAAIAMAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZjMAZjMAZjMA ZjMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZjMAZjMAZjMAZjMAZjMAZjMAYy8A ZjMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAZjMAZjMAZjMAZjMAYSsAZjMAZjMAZjMAZjMAYy4A ZjMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAZjMAXikAXCQAXiYAZjcKcVc+f359jKW8lsPpdmFMYygAZjMAZjMA ZjMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAZjMAWiUAZTAAbEMdh5alk7vfmc3+nNX/m9P/m9P/lcDnc1pFZC8CYCsA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAZjMAWSIAbDkHrHdDe04ikrvjnNT/mc3/mcz/mcz/mcz/m9P/lL3lZzgLZjMA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 WyUAZjMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAZjMAZjMAnqL/lZHjcEc7XiYAlnJQ6N/X////3+Pnr6GUbT4UXCUA ZjMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAckIQZjMAm57/m53/gWmJYzIRbjwMmHtenodxaTcIWiIAZjMA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAdEQZZjMAhnaol5TrkovTeVtpYS0AZjMAXScAZjMAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAZjMAZjMAZjMAZjMAZjMAZjMAZjMAZjMAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZjMAZjMAZjMAZjMAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAA/////////+H///4B///wAf//gAH//wAD//4AA//8AAP/+AAH//AAB//g AAf/wAAH/4AAD/8AAA/+AAAP/AAAH/gAAD/wAAB/4AAA/8AAAf+AAAP/gAAH/wAA D/8AAB//AAA//wAAf/+AAP//gAH//8AD///gB///8A////w///8= ------------JFqt76YmHOLgVAMFnlTSwA Content-Disposition: inline; filename=md5.js Content-Type: application/x-javascript; name=md5.js Content-Location: http://l-stat.livejournal.com/js/md5.js Content-Transfer-Encoding: Base64 LyoKICogIG1kNS5qdnMgMS4wYiAyNy8wNi85NgogKgogKiBKYXZhc2NyaXB0IGlt cGxlbWVudGF0aW9uIG9mIHRoZSBSU0EgRGF0YSBTZWN1cml0eSwgSW5jLiBNRDUK ICogTWVzc2FnZS1EaWdlc3QgQWxnb3JpdGhtLgogKgogKiBDb3B5cmlnaHQgKGMp IDE5OTYgSGVucmkgVG9yZ2VtYW5lLiBBbGwgUmlnaHRzIFJlc2VydmVkLgogKgog KiBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0 ZSB0aGlzIHNvZnR3YXJlCiAqIGFuZCBpdHMgZG9jdW1lbnRhdGlvbiBmb3IgYW55 IHB1cnBvc2VzIGFuZCB3aXRob3V0CiAqIGZlZSBpcyBoZXJlYnkgZ3JhbnRlZCBw cm92aWRlZCB0aGF0IHRoaXMgY29weXJpZ2h0IG5vdGljZQogKiBhcHBlYXJzIGlu IGFsbCBjb3BpZXMuIAogKgogKiBPZiBjb3Vyc2UsIHRoaXMgc29mdCBpcyBwcm92 aWRlZCAiYXMgaXMiIHdpdGhvdXQgZXhwcmVzcyBvciBpbXBsaWVkCiAqIHdhcnJh bnR5IG9mIGFueSBraW5kLgogKi8KCgoKZnVuY3Rpb24gYXJyYXkobikgewogIGZv cihpPTA7aTxuO2krKykgdGhpc1tpXT0wOwogIHRoaXMubGVuZ3RoPW47Cn0KCi8q IFNvbWUgYmFzaWMgbG9naWNhbCBmdW5jdGlvbnMgaGFkIHRvIGJlIHJld3JpdHRl biBiZWNhdXNlIG9mIGEgYnVnIGluCiAqIEphdmFzY3JpcHQuLiBKdXN0IHRyeSB0 byBjb21wdXRlIDB4ZmZmZmZmZmYgPj4gNCB3aXRoIGl0Li4KICogT2YgY291cnNl LCB0aGVzZSBmdW5jdGlvbnMgYXJlIHNsb3dlciB0aGFuIHRoZSBvcmlnaW5hbCB3 b3VsZCBiZSwgYnV0CiAqIGF0IGxlYXN0LCB0aGV5IHdvcmshCiAqLwoKZnVuY3Rp b24gaW50ZWdlcihuKSB7IHJldHVybiBuJSgweGZmZmZmZmZmKzEpOyB9CgpmdW5j dGlvbiBzaHIoYSxiKSB7CiAgYT1pbnRlZ2VyKGEpOwogIGI9aW50ZWdlcihiKTsK ICBpZiAoYS0weDgwMDAwMDAwPj0wKSB7CiAgICBhPWElMHg4MDAwMDAwMDsKICAg IGE+Pj1iOwogICAgYSs9MHg0MDAwMDAwMD4+KGItMSk7CiAgfSBlbHNlCiAgICBh Pj49YjsKICByZXR1cm4gYTsKfQoKZnVuY3Rpb24gc2hsMShhKSB7CiAgYT1hJTB4 ODAwMDAwMDA7CiAgaWYgKGEmMHg0MDAwMDAwMD09MHg0MDAwMDAwMCkKICB7CiAg ICBhLT0weDQwMDAwMDAwOyAgCiAgICBhKj0yOwogICAgYSs9MHg4MDAwMDAwMDsK ICB9IGVsc2UKICAgIGEqPTI7CiAgcmV0dXJuIGE7Cn0KCmZ1bmN0aW9uIHNobChh LGIpIHsKICBhPWludGVnZXIoYSk7CiAgYj1pbnRlZ2VyKGIpOwogIGZvciAodmFy IGk9MDtpPGI7aSsrKSBhPXNobDEoYSk7CiAgcmV0dXJuIGE7Cn0KCmZ1bmN0aW9u IGFuZChhLGIpIHsKICBhPWludGVnZXIoYSk7CiAgYj1pbnRlZ2VyKGIpOwogIHZh ciB0MT0oYS0weDgwMDAwMDAwKTsKICB2YXIgdDI9KGItMHg4MDAwMDAwMCk7CiAg aWYgKHQxPj0wKSAKICAgIGlmICh0Mj49MCkgCiAgICAgIHJldHVybiAoKHQxJnQy KSsweDgwMDAwMDAwKTsKICAgIGVsc2UKICAgICAgcmV0dXJuICh0MSZiKTsKICBl bHNlCiAgICBpZiAodDI+PTApCiAgICAgIHJldHVybiAoYSZ0Mik7CiAgICBlbHNl CiAgICAgIHJldHVybiAoYSZiKTsgIAp9CgpmdW5jdGlvbiBvcihhLGIpIHsKICBh PWludGVnZXIoYSk7CiAgYj1pbnRlZ2VyKGIpOwogIHZhciB0MT0oYS0weDgwMDAw MDAwKTsKICB2YXIgdDI9KGItMHg4MDAwMDAwMCk7CiAgaWYgKHQxPj0wKSAKICAg IGlmICh0Mj49MCkgCiAgICAgIHJldHVybiAoKHQxfHQyKSsweDgwMDAwMDAwKTsK ICAgIGVsc2UKICAgICAgcmV0dXJuICgodDF8YikrMHg4MDAwMDAwMCk7CiAgZWxz ZQogICAgaWYgKHQyPj0wKQogICAgICByZXR1cm4gKChhfHQyKSsweDgwMDAwMDAw KTsKICAgIGVsc2UKICAgICAgcmV0dXJuIChhfGIpOyAgCn0KCmZ1bmN0aW9uIHhv cihhLGIpIHsKICBhPWludGVnZXIoYSk7CiAgYj1pbnRlZ2VyKGIpOwogIHZhciB0 MT0oYS0weDgwMDAwMDAwKTsKICB2YXIgdDI9KGItMHg4MDAwMDAwMCk7CiAgaWYg KHQxPj0wKSAKICAgIGlmICh0Mj49MCkgCiAgICAgIHJldHVybiAodDFedDIpOwog ICAgZWxzZQogICAgICByZXR1cm4gKCh0MV5iKSsweDgwMDAwMDAwKTsKICBlbHNl CiAgICBpZiAodDI+PTApCiAgICAgIHJldHVybiAoKGFedDIpKzB4ODAwMDAwMDAp OwogICAgZWxzZQogICAgICByZXR1cm4gKGFeYik7ICAKfQoKZnVuY3Rpb24gbm90 KGEpIHsKICBhPWludGVnZXIoYSk7CiAgcmV0dXJuICgweGZmZmZmZmZmLWEpOwp9 CgovKiBIZXJlIGJlZ2luIHRoZSByZWFsIGFsZ29yaXRobSAqLwoKICAgIHZhciBz dGF0ZSA9IG5ldyBhcnJheSg0KTsgCiAgICB2YXIgY291bnQgPSBuZXcgYXJyYXko Mik7Cgljb3VudFswXSA9IDA7Cgljb3VudFsxXSA9IDA7ICAgICAgICAgICAgICAg ICAgICAgCiAgICB2YXIgYnVmZmVyID0gbmV3IGFycmF5KDY0KTsgCiAgICB2YXIg dHJhbnNmb3JtQnVmZmVyID0gbmV3IGFycmF5KDE2KTsgCiAgICB2YXIgZGlnZXN0 Qml0cyA9IG5ldyBhcnJheSgxNik7CgogICAgdmFyIFMxMSA9IDc7CiAgICB2YXIg UzEyID0gMTI7CiAgICB2YXIgUzEzID0gMTc7CiAgICB2YXIgUzE0ID0gMjI7CiAg ICB2YXIgUzIxID0gNTsKICAgIHZhciBTMjIgPSA5OwogICAgdmFyIFMyMyA9IDE0 OwogICAgdmFyIFMyNCA9IDIwOwogICAgdmFyIFMzMSA9IDQ7CiAgICB2YXIgUzMy ID0gMTE7CiAgICB2YXIgUzMzID0gMTY7CiAgICB2YXIgUzM0ID0gMjM7CiAgICB2 YXIgUzQxID0gNjsKICAgIHZhciBTNDIgPSAxMDsKICAgIHZhciBTNDMgPSAxNTsK ICAgIHZhciBTNDQgPSAyMTsKCiAgICBmdW5jdGlvbiBGKHgseSx6KSB7CglyZXR1 cm4gb3IoYW5kKHgseSksYW5kKG5vdCh4KSx6KSk7CiAgICB9CgogICAgZnVuY3Rp b24gRyh4LHkseikgewoJcmV0dXJuIG9yKGFuZCh4LHopLGFuZCh5LG5vdCh6KSkp OwogICAgfQoKICAgIGZ1bmN0aW9uIEgoeCx5LHopIHsKCXJldHVybiB4b3IoeG9y KHgseSkseik7CiAgICB9CgogICAgZnVuY3Rpb24gSSh4LHkseikgewoJcmV0dXJu IHhvcih5ICxvcih4ICwgbm90KHopKSk7CiAgICB9CgogICAgZnVuY3Rpb24gcm90 YXRlTGVmdChhLG4pIHsKCXJldHVybiBvcihzaGwoYSwgbiksKHNocihhLCgzMiAt IG4pKSkpOwogICAgfQoKICAgIGZ1bmN0aW9uIEZGKGEsYixjLGQseCxzLGFjKSB7 CiAgICAgICAgYSA9IGErRihiLCBjLCBkKSArIHggKyBhYzsKCWEgPSByb3RhdGVM ZWZ0KGEsIHMpOwoJYSA9IGErYjsKCXJldHVybiBhOwogICAgfQoKICAgIGZ1bmN0 aW9uIEdHKGEsYixjLGQseCxzLGFjKSB7CglhID0gYStHKGIsIGMsIGQpICt4ICsg YWM7CglhID0gcm90YXRlTGVmdChhLCBzKTsKCWEgPSBhK2I7CglyZXR1cm4gYTsK ICAgIH0KCiAgICBmdW5jdGlvbiBISChhLGIsYyxkLHgscyxhYykgewoJYSA9IGEr SChiLCBjLCBkKSArIHggKyBhYzsKCWEgPSByb3RhdGVMZWZ0KGEsIHMpOwoJYSA9 IGErYjsKCXJldHVybiBhOwogICAgfQoKICAgIGZ1bmN0aW9uIElJKGEsYixjLGQs eCxzLGFjKSB7CglhID0gYStJKGIsIGMsIGQpICsgeCArIGFjOwoJYSA9IHJvdGF0 ZUxlZnQoYSwgcyk7CglhID0gYStiOwoJcmV0dXJuIGE7CiAgICB9CgogICAgZnVu Y3Rpb24gdHJhbnNmb3JtKGJ1ZixvZmZzZXQpIHsgCgl2YXIgYT0wLCBiPTAsIGM9 MCwgZD0wOyAKCXZhciB4ID0gdHJhbnNmb3JtQnVmZmVyOwoJCglhID0gc3RhdGVb MF07CgliID0gc3RhdGVbMV07CgljID0gc3RhdGVbMl07CglkID0gc3RhdGVbM107 CgkKCWZvciAoaSA9IDA7IGkgPCAxNjsgaSsrKSB7CgkgICAgeFtpXSA9IGFuZChi dWZbaSo0K29mZnNldF0sMHhmZik7CgkgICAgZm9yIChqID0gMTsgaiA8IDQ7IGor KykgewoJCXhbaV0rPXNobChhbmQoYnVmW2kqNCtqK29mZnNldF0gLDB4ZmYpLCBq ICogOCk7CgkgICAgfQoJfQoKCS8qIFJvdW5kIDEgKi8KCWEgPSBGRiAoIGEsIGIs IGMsIGQsIHhbIDBdLCBTMTEsIDB4ZDc2YWE0NzgpOyAvKiAxICovCglkID0gRkYg KCBkLCBhLCBiLCBjLCB4WyAxXSwgUzEyLCAweGU4YzdiNzU2KTsgLyogMiAqLwoJ YyA9IEZGICggYywgZCwgYSwgYiwgeFsgMl0sIFMxMywgMHgyNDIwNzBkYik7IC8q IDMgKi8KCWIgPSBGRiAoIGIsIGMsIGQsIGEsIHhbIDNdLCBTMTQsIDB4YzFiZGNl ZWUpOyAvKiA0ICovCglhID0gRkYgKCBhLCBiLCBjLCBkLCB4WyA0XSwgUzExLCAw eGY1N2MwZmFmKTsgLyogNSAqLwoJZCA9IEZGICggZCwgYSwgYiwgYywgeFsgNV0s IFMxMiwgMHg0Nzg3YzYyYSk7IC8qIDYgKi8KCWMgPSBGRiAoIGMsIGQsIGEsIGIs IHhbIDZdLCBTMTMsIDB4YTgzMDQ2MTMpOyAvKiA3ICovCgliID0gRkYgKCBiLCBj LCBkLCBhLCB4WyA3XSwgUzE0LCAweGZkNDY5NTAxKTsgLyogOCAqLwoJYSA9IEZG ICggYSwgYiwgYywgZCwgeFsgOF0sIFMxMSwgMHg2OTgwOThkOCk7IC8qIDkgKi8K CWQgPSBGRiAoIGQsIGEsIGIsIGMsIHhbIDldLCBTMTIsIDB4OGI0NGY3YWYpOyAv KiAxMCAqLwoJYyA9IEZGICggYywgZCwgYSwgYiwgeFsxMF0sIFMxMywgMHhmZmZm NWJiMSk7IC8qIDExICovCgliID0gRkYgKCBiLCBjLCBkLCBhLCB4WzExXSwgUzE0 LCAweDg5NWNkN2JlKTsgLyogMTIgKi8KCWEgPSBGRiAoIGEsIGIsIGMsIGQsIHhb MTJdLCBTMTEsIDB4NmI5MDExMjIpOyAvKiAxMyAqLwoJZCA9IEZGICggZCwgYSwg YiwgYywgeFsxM10sIFMxMiwgMHhmZDk4NzE5Myk7IC8qIDE0ICovCgljID0gRkYg KCBjLCBkLCBhLCBiLCB4WzE0XSwgUzEzLCAweGE2Nzk0MzhlKTsgLyogMTUgKi8K CWIgPSBGRiAoIGIsIGMsIGQsIGEsIHhbMTVdLCBTMTQsIDB4NDliNDA4MjEpOyAv KiAxNiAqLwoKCS8qIFJvdW5kIDIgKi8KCWEgPSBHRyAoIGEsIGIsIGMsIGQsIHhb IDFdLCBTMjEsIDB4ZjYxZTI1NjIpOyAvKiAxNyAqLwoJZCA9IEdHICggZCwgYSwg YiwgYywgeFsgNl0sIFMyMiwgMHhjMDQwYjM0MCk7IC8qIDE4ICovCgljID0gR0cg KCBjLCBkLCBhLCBiLCB4WzExXSwgUzIzLCAweDI2NWU1YTUxKTsgLyogMTkgKi8K CWIgPSBHRyAoIGIsIGMsIGQsIGEsIHhbIDBdLCBTMjQsIDB4ZTliNmM3YWEpOyAv KiAyMCAqLwoJYSA9IEdHICggYSwgYiwgYywgZCwgeFsgNV0sIFMyMSwgMHhkNjJm MTA1ZCk7IC8qIDIxICovCglkID0gR0cgKCBkLCBhLCBiLCBjLCB4WzEwXSwgUzIy LCAgMHgyNDQxNDUzKTsgLyogMjIgKi8KCWMgPSBHRyAoIGMsIGQsIGEsIGIsIHhb MTVdLCBTMjMsIDB4ZDhhMWU2ODEpOyAvKiAyMyAqLwoJYiA9IEdHICggYiwgYywg ZCwgYSwgeFsgNF0sIFMyNCwgMHhlN2QzZmJjOCk7IC8qIDI0ICovCglhID0gR0cg KCBhLCBiLCBjLCBkLCB4WyA5XSwgUzIxLCAweDIxZTFjZGU2KTsgLyogMjUgKi8K CWQgPSBHRyAoIGQsIGEsIGIsIGMsIHhbMTRdLCBTMjIsIDB4YzMzNzA3ZDYpOyAv KiAyNiAqLwoJYyA9IEdHICggYywgZCwgYSwgYiwgeFsgM10sIFMyMywgMHhmNGQ1 MGQ4Nyk7IC8qIDI3ICovCgliID0gR0cgKCBiLCBjLCBkLCBhLCB4WyA4XSwgUzI0 LCAweDQ1NWExNGVkKTsgLyogMjggKi8KCWEgPSBHRyAoIGEsIGIsIGMsIGQsIHhb MTNdLCBTMjEsIDB4YTllM2U5MDUpOyAvKiAyOSAqLwoJZCA9IEdHICggZCwgYSwg YiwgYywgeFsgMl0sIFMyMiwgMHhmY2VmYTNmOCk7IC8qIDMwICovCgljID0gR0cg KCBjLCBkLCBhLCBiLCB4WyA3XSwgUzIzLCAweDY3NmYwMmQ5KTsgLyogMzEgKi8K CWIgPSBHRyAoIGIsIGMsIGQsIGEsIHhbMTJdLCBTMjQsIDB4OGQyYTRjOGEpOyAv KiAzMiAqLwoKCS8qIFJvdW5kIDMgKi8KCWEgPSBISCAoIGEsIGIsIGMsIGQsIHhb IDVdLCBTMzEsIDB4ZmZmYTM5NDIpOyAvKiAzMyAqLwoJZCA9IEhIICggZCwgYSwg YiwgYywgeFsgOF0sIFMzMiwgMHg4NzcxZjY4MSk7IC8qIDM0ICovCgljID0gSEgg KCBjLCBkLCBhLCBiLCB4WzExXSwgUzMzLCAweDZkOWQ2MTIyKTsgLyogMzUgKi8K CWIgPSBISCAoIGIsIGMsIGQsIGEsIHhbMTRdLCBTMzQsIDB4ZmRlNTM4MGMpOyAv KiAzNiAqLwoJYSA9IEhIICggYSwgYiwgYywgZCwgeFsgMV0sIFMzMSwgMHhhNGJl ZWE0NCk7IC8qIDM3ICovCglkID0gSEggKCBkLCBhLCBiLCBjLCB4WyA0XSwgUzMy LCAweDRiZGVjZmE5KTsgLyogMzggKi8KCWMgPSBISCAoIGMsIGQsIGEsIGIsIHhb IDddLCBTMzMsIDB4ZjZiYjRiNjApOyAvKiAzOSAqLwoJYiA9IEhIICggYiwgYywg ZCwgYSwgeFsxMF0sIFMzNCwgMHhiZWJmYmM3MCk7IC8qIDQwICovCglhID0gSEgg KCBhLCBiLCBjLCBkLCB4WzEzXSwgUzMxLCAweDI4OWI3ZWM2KTsgLyogNDEgKi8K CWQgPSBISCAoIGQsIGEsIGIsIGMsIHhbIDBdLCBTMzIsIDB4ZWFhMTI3ZmEpOyAv KiA0MiAqLwoJYyA9IEhIICggYywgZCwgYSwgYiwgeFsgM10sIFMzMywgMHhkNGVm MzA4NSk7IC8qIDQzICovCgliID0gSEggKCBiLCBjLCBkLCBhLCB4WyA2XSwgUzM0 LCAgMHg0ODgxZDA1KTsgLyogNDQgKi8KCWEgPSBISCAoIGEsIGIsIGMsIGQsIHhb IDldLCBTMzEsIDB4ZDlkNGQwMzkpOyAvKiA0NSAqLwoJZCA9IEhIICggZCwgYSwg YiwgYywgeFsxMl0sIFMzMiwgMHhlNmRiOTllNSk7IC8qIDQ2ICovCgljID0gSEgg KCBjLCBkLCBhLCBiLCB4WzE1XSwgUzMzLCAweDFmYTI3Y2Y4KTsgLyogNDcgKi8K CWIgPSBISCAoIGIsIGMsIGQsIGEsIHhbIDJdLCBTMzQsIDB4YzRhYzU2NjUpOyAv KiA0OCAqLwoKCS8qIFJvdW5kIDQgKi8KCWEgPSBJSSAoIGEsIGIsIGMsIGQsIHhb IDBdLCBTNDEsIDB4ZjQyOTIyNDQpOyAvKiA0OSAqLwoJZCA9IElJICggZCwgYSwg YiwgYywgeFsgN10sIFM0MiwgMHg0MzJhZmY5Nyk7IC8qIDUwICovCgljID0gSUkg KCBjLCBkLCBhLCBiLCB4WzE0XSwgUzQzLCAweGFiOTQyM2E3KTsgLyogNTEgKi8K CWIgPSBJSSAoIGIsIGMsIGQsIGEsIHhbIDVdLCBTNDQsIDB4ZmM5M2EwMzkpOyAv KiA1MiAqLwoJYSA9IElJICggYSwgYiwgYywgZCwgeFsxMl0sIFM0MSwgMHg2NTVi NTljMyk7IC8qIDUzICovCglkID0gSUkgKCBkLCBhLCBiLCBjLCB4WyAzXSwgUzQy LCAweDhmMGNjYzkyKTsgLyogNTQgKi8KCWMgPSBJSSAoIGMsIGQsIGEsIGIsIHhb MTBdLCBTNDMsIDB4ZmZlZmY0N2QpOyAvKiA1NSAqLwoJYiA9IElJICggYiwgYywg ZCwgYSwgeFsgMV0sIFM0NCwgMHg4NTg0NWRkMSk7IC8qIDU2ICovCglhID0gSUkg KCBhLCBiLCBjLCBkLCB4WyA4XSwgUzQxLCAweDZmYTg3ZTRmKTsgLyogNTcgKi8K CWQgPSBJSSAoIGQsIGEsIGIsIGMsIHhbMTVdLCBTNDIsIDB4ZmUyY2U2ZTApOyAv KiA1OCAqLwoJYyA9IElJICggYywgZCwgYSwgYiwgeFsgNl0sIFM0MywgMHhhMzAx NDMxNCk7IC8qIDU5ICovCgliID0gSUkgKCBiLCBjLCBkLCBhLCB4WzEzXSwgUzQ0 LCAweDRlMDgxMWExKTsgLyogNjAgKi8KCWEgPSBJSSAoIGEsIGIsIGMsIGQsIHhb IDRdLCBTNDEsIDB4Zjc1MzdlODIpOyAvKiA2MSAqLwoJZCA9IElJICggZCwgYSwg YiwgYywgeFsxMV0sIFM0MiwgMHhiZDNhZjIzNSk7IC8qIDYyICovCgljID0gSUkg KCBjLCBkLCBhLCBiLCB4WyAyXSwgUzQzLCAweDJhZDdkMmJiKTsgLyogNjMgKi8K CWIgPSBJSSAoIGIsIGMsIGQsIGEsIHhbIDldLCBTNDQsIDB4ZWI4NmQzOTEpOyAv KiA2NCAqLwoKCXN0YXRlWzBdICs9YTsKCXN0YXRlWzFdICs9YjsKCXN0YXRlWzJd ICs9YzsKCXN0YXRlWzNdICs9ZDsKCiAgICB9CgogICAgZnVuY3Rpb24gaW5pdCgp IHsKCWNvdW50WzBdPWNvdW50WzFdID0gMDsKCXN0YXRlWzBdID0gMHg2NzQ1MjMw MTsKCXN0YXRlWzFdID0gMHhlZmNkYWI4OTsKCXN0YXRlWzJdID0gMHg5OGJhZGNm ZTsKCXN0YXRlWzNdID0gMHgxMDMyNTQ3NjsKCWZvciAoaSA9IDA7IGkgPCBkaWdl c3RCaXRzLmxlbmd0aDsgaSsrKQoJICAgIGRpZ2VzdEJpdHNbaV0gPSAwOwogICAg fQoKICAgIGZ1bmN0aW9uIHVwZGF0ZShiKSB7IAoJdmFyIGluZGV4LGk7CgkKCWlu ZGV4ID0gYW5kKHNocihjb3VudFswXSwzKSAsIDB4M2YpOwoJaWYgKGNvdW50WzBd PDB4ZmZmZmZmZmYtNykgCgkgIGNvdW50WzBdICs9IDg7CiAgICAgICAgZWxzZSB7 CgkgIGNvdW50WzFdKys7CgkgIGNvdW50WzBdLT0weGZmZmZmZmZmKzE7CiAgICAg ICAgICBjb3VudFswXSs9ODsKICAgICAgICB9CglidWZmZXJbaW5kZXhdID0gYW5k KGIsMHhmZik7CglpZiAoaW5kZXggID49IDYzKSB7CgkgICAgdHJhbnNmb3JtKGJ1 ZmZlciwgMCk7Cgl9CiAgICB9CgogICAgZnVuY3Rpb24gZmluaXNoKCkgewoJdmFy IGJpdHMgPSBuZXcgYXJyYXkoOCk7Cgl2YXIJcGFkZGluZzsgCgl2YXIJaT0wLCBp bmRleD0wLCBwYWRMZW49MDsKCglmb3IgKGkgPSAwOyBpIDwgNDsgaSsrKSB7Cgkg ICAgYml0c1tpXSA9IGFuZChzaHIoY291bnRbMF0sKGkgKiA4KSksIDB4ZmYpOwoJ fQogICAgICAgIGZvciAoaSA9IDA7IGkgPCA0OyBpKyspIHsKCSAgICBiaXRzW2kr NF09YW5kKHNocihjb3VudFsxXSwoaSAqIDgpKSwgMHhmZik7Cgl9CglpbmRleCA9 IGFuZChzaHIoY291bnRbMF0sIDMpICwweDNmKTsKCXBhZExlbiA9IChpbmRleCA8 IDU2KSA/ICg1NiAtIGluZGV4KSA6ICgxMjAgLSBpbmRleCk7CglwYWRkaW5nID0g bmV3IGFycmF5KDY0KTsgCglwYWRkaW5nWzBdID0gMHg4MDsKICAgICAgICBmb3Ig KGk9MDtpPHBhZExlbjtpKyspCgkgIHVwZGF0ZShwYWRkaW5nW2ldKTsKICAgICAg ICBmb3IgKGk9MDtpPDg7aSsrKSAKCSAgdXBkYXRlKGJpdHNbaV0pOwoKCWZvciAo aSA9IDA7IGkgPCA0OyBpKyspIHsKCSAgICBmb3IgKGogPSAwOyBqIDwgNDsgaisr KSB7CgkJZGlnZXN0Qml0c1tpKjQral0gPSBhbmQoc2hyKHN0YXRlW2ldLCAoaiAq IDgpKSAsIDB4ZmYpOwoJICAgIH0KCX0gCiAgICB9CgovKiBFbmQgb2YgdGhlIE1E NSBhbGdvcml0aG0gKi8KCmZ1bmN0aW9uIGhleGEobikgewogdmFyIGhleGFfaCA9 ICIwMTIzNDU2Nzg5YWJjZGVmIjsKIHZhciBoZXhhX2M9IiI7IAogdmFyIGhleGFf bT1uOwogZm9yIChoZXhhX2k9MDtoZXhhX2k8ODtoZXhhX2krKykgewogICBoZXhh X2M9aGV4YV9oLmNoYXJBdChNYXRoLmFicyhoZXhhX20pJTE2KStoZXhhX2M7CiAg IGhleGFfbT1NYXRoLmZsb29yKGhleGFfbS8xNik7CiB9CiByZXR1cm4gaGV4YV9j Owp9CgoKdmFyIGFzY2lpPSIwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkw MSIgKwogICAgICAgICAgIiAhXCIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+ P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiIrCiAgICAgICAgICAiW1xcXV5f YGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fiI7CgpmdW5jdGlvbiBNRDUo ZW50cmVlKSAKewogdmFyIGwscyxrLGthLGtiLGtjLGtkOwoKIGluaXQoKTsKIGZv ciAoaz0wO2s8ZW50cmVlLmxlbmd0aDtrKyspIHsKICAgbD1lbnRyZWUuY2hhckF0 KGspOwogICB1cGRhdGUoYXNjaWkubGFzdEluZGV4T2YobCkpOwogfQogZmluaXNo KCk7CiBrYT1rYj1rYz1rZD0wOwogZm9yIChpPTA7aTw0O2krKykga2ErPXNobChk aWdlc3RCaXRzWzE1LWldLCAoaSo4KSk7CiBmb3IgKGk9NDtpPDg7aSsrKSBrYis9 c2hsKGRpZ2VzdEJpdHNbMTUtaV0sICgoaS00KSo4KSk7CiBmb3IgKGk9ODtpPDEy O2krKykga2MrPXNobChkaWdlc3RCaXRzWzE1LWldLCAoKGktOCkqOCkpOwogZm9y IChpPTEyO2k8MTY7aSsrKSBrZCs9c2hsKGRpZ2VzdEJpdHNbMTUtaV0sICgoaS0x MikqOCkpOwogcz1oZXhhKGtkKStoZXhhKGtjKStoZXhhKGtiKStoZXhhKGthKTsK IHJldHVybiBzOyAKfQoKLyogVGhpcyBpbXBsZW1lbnQgdGhlIE1ENSB0ZXN0IHN1 aXRlICovCnZhciB0ZXN0T2s9ZmFsc2U7CmZ1bmN0aW9uIHRlc3RlKCkgewogaWYg KHRlc3RPaykgcmV0dXJuOwogZG9jdW1lbnQudGVzdC5vMS52YWx1ZT1NRDUoZG9j dW1lbnQudGVzdC5pMS52YWx1ZSk7CiBkb2N1bWVudC50ZXN0Lm8yLnZhbHVlPU1E NShkb2N1bWVudC50ZXN0LmkyLnZhbHVlKTsKIGRvY3VtZW50LnRlc3QubzMudmFs dWU9TUQ1KGRvY3VtZW50LnRlc3QuaTMudmFsdWUpOwogZG9jdW1lbnQudGVzdC5v NC52YWx1ZT1NRDUoZG9jdW1lbnQudGVzdC5pNC52YWx1ZSk7CiBkb2N1bWVudC50 ZXN0Lm81LnZhbHVlPU1ENShkb2N1bWVudC50ZXN0Lmk1LnZhbHVlKTsKIGRvY3Vt ZW50LnRlc3QubzYudmFsdWU9TUQ1KGRvY3VtZW50LnRlc3QuaTYudmFsdWUpOwog ZG9jdW1lbnQudGVzdC5vNy52YWx1ZT1NRDUoZG9jdW1lbnQudGVzdC5pNy52YWx1 ZSk7CiB0ZXN0T2s9dHJ1ZTsKfQo= ------------JFqt76YmHOLgVAMFnlTSwA Content-Disposition: inline; filename=8592045.jpeg Content-Type: image/jpeg; name=8592045.jpeg Content-Location: http://l-userpic.livejournal.com/42265306/8592045 Content-Transfer-Encoding: Base64 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 Kj7r+PyoiNsF5evutz6VKnm3e/31KwD/2Q== ------------JFqt76YmHOLgVAMFnlTSwA Content-Disposition: inline; filename=userinfo.gif Content-Type: image/gif; name=userinfo.gif Content-Location: http://l-stat.livejournal.com/img/userinfo.gif Content-Transfer-Encoding: Base64 R0lGODlhEQARAMQbAAAAAAAAawAIlAAI3ggIYwgI7wgI/wgQxhAQEBAY9xgYUiEh ISkpKTExMTExrTk5zkJCQlJSjFpapXt7e4SEhKWcnM7GvdbOxufezvfv3v+EGAAA AAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFCgAbACwAAAAAEQAR AAAFbOAmjmRpikzKnCVjXVm2shtTWXE8nzae76ZeTkYT/oq3IbCVjF2WJQgsc4HQ UBMMZgItARAUCgIAOC0AAcOAPDAYBIDFaCFwFNzrgWY/OMg3dA9uCRIAERKIEhFl gAwKAQEEDQANlZaMVyYhAAA7 ------------JFqt76YmHOLgVAMFnlTSwA Content-Disposition: inline; filename=community.gif Content-Type: image/gif; name=community.gif Content-Location: http://l-stat.livejournal.com/img/community.gif Content-Transfer-Encoding: Base64 R0lGODlhEAAQALMAACcdGFM/N39gUoyGgu4pIf88J+t9M9KHaf/SFP/xBv/KU//N rv/m3//38///7////yH5BAEAAA8ALAAAAAAQABAAAARQ8Mn5jKV4ijEEyNjWfdlR SBwyBNIpEYUxIQkyGQXxwORD26jcQ1DocQSTQYG1oRwpANZjgKFCM5bsBTQteL1I bodABoS5G4KH6+ywq++4JAIAOw== ------------JFqt76YmHOLgVAMFnlTSwA Content-Disposition: inline; filename=btn_prev.gif Content-Type: image/gif; name=btn_prev.gif Content-Location: http://l-stat.livejournal.com/img/btn_prev.gif Content-Transfer-Encoding: Base64 R0lGODlhFgAUAOYAAMzMzISEhP///7Ozs7Kysrm5uRgnAK+vrzMzM5mZmVaPAA0X ALGxsXZ6cPH36BwuAChDAVGGADNmACdCAGZmZk6BAFhZV+Tv1IiIiHh4eBUkAMbc pomKhg8ZALW1tXd/ajJUAEJEQA4XAFOKADMzAGaZM0Z0ALCwsOXv1tnqwIeHhxYl AJa8XtbgxjBQAAwUARkqAEh3ABstAHl5eVVWVImJib29vfP47Ly8vJK8VG58V2ac Fri4uB4yAE1OTLfUjKqqqkNMNtTmuEx+AM/lrH5/exkdEpnMZoCOax0iFmaZAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAWABQAAAe1gAKCg4SFhgECAIqLjI2N iI6RkZCSlYqUlgcJA4+JlQQqFDofBYyYjQMYFEUtO0EEpp6MCRk0HDcoRy4IsIuY OAkUFgAOFxssQzIInL6yJ0hEKUI/OSVKEjDLsYsFDRASJhEKCiMSBtrNjB41CAYk EjEVEivol7KLQBQvBhMSIBr1AJziliDEggc9OvDaJonBDCMLRCBgwFCSjQQ+klDg UbHSgAQHOlmyNHCkqQAoU6pcyTJAIAA7 ------------JFqt76YmHOLgVAMFnlTSwA Content-Disposition: inline; filename=memadd.gif Content-Type: image/gif; name=memadd.gif Content-Location: http://l-stat.livejournal.com/img/memadd.gif Content-Transfer-Encoding: Base64 R0lGODlhFgAUANUAAMzMzP///4SEhAAAAEZGRru7u0RERH19fbq6ure3t2ZmZhwA ABoAAKwAAJkAAEJCQmYAAHx8fLW1tRcAAP/m5v/MzE4AABgAABkAAElJSe+3tzMA AMchIdpQUOydnbcHB8hFRU8AAKmpqYcAAMxmZqkAAJmZmbgHB95tbcBJSbUtLYoA ALULC+Genu93d+91daEREdFDQ64SEq4AAN93d68tLR4AAFIAAEwAAMwzMwAAAAAA AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAWABQAAAbHwIBwSCwaBQEAYDBQOp9Q JVLJjFqdSKa2eYVmt9wuNrkMJyKKAwKAOCgiCSm5yjYEKK+MKHOnGdZTTwl2AR4x HQNCLSkOBgCBTgcVFSQfLCAalA4wIxAHkEoKLignDQ0yKjUOqxAbCqAACjkcMw2r t6sWE69kkbcluKwYE5+9SoMQEMEOEBcMBgmwAAUEN8q3zQwEBY/GTtQWECvMGAvb clfUOBAhDObc6OkEGzbvT9JPCA8LD2v33lEkmJAQRYDBgwgTKjQYBAA7 ------------JFqt76YmHOLgVAMFnlTSwA Content-Disposition: inline; filename=btn_tellfriend.gif Content-Type: image/gif; name=btn_tellfriend.gif Content-Location: http://l-stat.livejournal.com/img/btn_tellfriend.gif Content-Transfer-Encoding: Base64 R0lGODlhFgAUAMIAAP///4SEhMzMzAAAAP8AAMvLywAAAAAAACwAAAAAFgAUAAAD Vwi63B5AyElrhTZnrLvkngaGFjScwqmu7CCAweDMLqfOC0EAdfTJi4AQAtDxXqsY rtGbKIMAIfMVWS0ZzV9rm30Nv2Dhx0cSFCgjzblELqPb7k94Tg8kAAA7 ------------JFqt76YmHOLgVAMFnlTSwA Content-Disposition: inline; filename=btn_next.gif Content-Type: image/gif; name=btn_next.gif Content-Location: http://l-stat.livejournal.com/img/btn_next.gif Content-Transfer-Encoding: Base64 R0lGODlhFgAUAOYAAMzMzISEhP///7Ozs7Kysrm5uRUjALGxsRQiAFJbRZmZma+v r2mjEJnMZoK5LmZmM4y4S5C8UBIdAGaZAJC/SpXET4eHh4iIiE1bOEJDQFFbQmZm ZrW1ta3Mfnl5eVVbTJG+Tqqqqg8YADNmAH6tOG6gJLy8vMzMmVFaQzJTAEtUPImJ ib/ekE2AAAwSAXh4eHWqJoi9OFWOAJLATVdsODMzALnbhIyRhLi4uJmZZlFZRLCw sAwTARYlABYkAL29vYK2NkFKNOn12DRWAImMhRofEk5PTE1RR0+EAB0wADMzM5XG SiQuFkpZM2FnVhMgAIe6OilFAFNcRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAWABQAAAe5gAKCg4SFhgECAIqLjI2N iI6RkZCSlYqUiwMKC5aXiYsFRDdOFgSWmAAEG0InNB8XA5KoBCg2LA0ND0cvCo6o AxoVSw4UDR05QRsKJou/UjMxExMwJCVIIxg7zZ+KAwkgUNItKQYILhsF24zeEUAy I0kGEkorHIy/OhATUT0IPBshfHFLpYJBDR8iMihIJ5DRgSZDnhTxcKASKhwbmBhR 8OPUQAALFMTqhKrTo48mmwVYybKly5cBAgEAOw== ------------JFqt76YmHOLgVAMFnlTSwA Content-Disposition: inline; filename=a314u.jpg Content-Type: image/jpeg; name=a314u.jpg Content-Location: http://img16.imageshack.us/img16/5500/a314u.jpg Content-Transfer-Encoding: Base64 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 ieLuEDLEQB1eoXO4D/1d7VSPdYbbIoTI7aBXeSOy3vcKa3ExcjElHw2HCy7x7oVX VRxKtwNFdsjLnaLISJccEkiYB3A5FSPGr10mVXDzHUTpu1m2ePSclNP215+o4nik vueSKTcB4WDVHKXEKh8aWd4HsXmKq21v2gDYXrsx2rtSMirBjrI59RIBFvHbyoE2 B26M7CUije+6EkiNrHja3CtLv0TUK3m5MPsWjLr5KDlZcuORoseSV8yCSOySsF6i OOIs3IUXGlgx3ihV2mExAHUKiwv9P1V0PRjSQPkYcG2UdNWOpUfdddBceQp4HliO RHjwYuSxO1QI9jOBw2F/drT7yaxX3X4Bdppy7KfB6cNTl5snt3xkyiQ4wJIO1htF tLBT408Gd26NXNmmLKUVnl6QIPIKl9a3siH4aSNn7dBJ1ju3SKC0bDULuGn10PJ7 Xk57JLNhwoItzNHC0W8i1vcFr0Xdq4Twmo/VwJ/FZTEN/wDXiY2DJ2mM9WUqbnbJ ju3C3Bjb3q14s7tKY2RFBO2K5sEEf5kf+0pcXF/AVSf5TExJiiYgC5F9jL9emlI/ J2ROF2TLj7QL77Btx/FbQ+0Vt37T1u/jkZVe4lCovjmF/wA3kEccRypCISzQ5caR Aj2qVv8ARQ/88nY7m7gupDM0mMmp4fc5VXl+Ue+4xLQ754w1lkxxuUnnfUEfVVA9 qzQzJIWSQGzCSErrfma3X+N5Tq/Q5t9xaqy9TUkyY5m3Lm4j2W7AKVDa+7Zhyqmx YuS8iangCbeVvKqa9pzXdljdDItrg3Wynmd1tKsN8v8AeiC0Yjnh5yxEsg8QSBpW 00t18jDTezNLFzsjBuYXgaRrlRbfYcCBY1KPueTJIBNDBklgxEjghvEKWH4aw5+1 d3xlV2xztHqO03tpcXvVUw5gj+ICsIwbMeBDHl4i9T7W5lepfuWMm6Mju+P64hGo OhFla3/aFDfNypQESFYQy2mji9IdhrvIUDWsDbkq2iuGNzx4gUWJe47t0MMrHWxV SRpqeFWOaJnQ3ROMhhHl4jSabSqj1W5aj/Q1oN3PtUOBmJGWx8zcj9tlMeyaORbX Q/dsT9lZXa+yd87gpycmV8LGX0pKwAdn4hUj0Y+ZroP5awFiOXLkSJIIypkyXBvJ b31U22gnheuPc7vbnpdpfLJ1p27/AKkvXUrYkkcnbExcqxys1g8Ug9ZLu1nSa/ui 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 +1vTtUj7rA1hdxIysXa+8Jib2lSw/wATde/jWf23N7rhOZcGXKjSYFGMMdlcclJf 02vVXb+xzhy3yM/yfcoUqNdzQ+aZ4Z8pcKWK2fgMIzlk2EsDDcEfUlmBOjeFV+2/ BKsqPCji4coz7XKqfdVgdCOXG9Tkw2zCMjNIkyc6TqBscXjRuGxj4+XKh9x7ZP2o rK+x1LbOolrh7X2t9HhWu33KY7c521hveDFlaXdrG/KdJL6y40SSSxxyQ3l/KGSw 6ci/gkYC4YDgavwNF1BlRPFtC9OzPuYOvuqOoT43rnTlMXinj6jOurIXLK/2W+yr cefiG4nwwjH0hxK5up1YOthz4Gtur5kVlxRuYWWWnj6c0QZrmfHbaFUnTfGVFxuq 0uRkhpHx3x2d771RtjABrhipHvAC9wdeFYUUmDKzyLMjMCEWF2lLSRWO5gbG7LyF SiikgwzkJLkxPDIYo4yCwYmzhGUMDa2t7Vl18vFG1b8ZTOmmhwszIWadYZJDqssi MrPpe/p+ysmXtmKZlWLJVCxLRo8ioLHTRn9LX5a1QOcYcKYiRVWVlKmOea6MT62K ufTYaWFV8rvSzI0MWQzx2I6bSgoWB9DWtcC30+dKqy0eNBZ0eqU64NGLt0Ss7wnH ysJSwYOdskbiwIje4vc8rVYb4aM71bGl5yspKPtZhtDrqreBrCfvTPbdCk5Q3VZp 9w1FjyU+yq8ndeptRYIozG7SaTOVJaw1+9ytxqxZ6kmi0+R0s0UckyonTJUN1nWz AkC4DD3lPhWcelJmut8cLNEQYt1tsnJ9rDQ+dZjd7yBc7mVyCsbiclQnNWuNfKq+ T3CKV2kWQropQdTcVYCxAYEHbVrVktZe5rvjY0cyoXjjO7Rrahh6XB01HsrMmB6s sZdSqkkMl2XX8B42qcuZfpSIxm1RlUuzAWG1rNxBqpwN0S2t1GugPLjXSs7nO0bF Sc7TdWv5kWI04Cul7F3Z0ibF+KlCMy+mFWR4t2m4NqNpPG40rn5IkZd5uvM7gbey q8Ei3IVQLAhg12B/svUspUPxFbNOUelt2+DuGRG0zxy5JTYcooNpcAixkS+240v4 1XysTNhxkgxYuhNj7SpG0wZFiB0tdVbboSRasDH7lktHDNFi44mgX81zEfzNpBRW 9Wjcr86vY57zMpK48KnIuSDjNJfQkLZtw3NXB9t7xjid13K5SnPA3oXSARtjTz4i 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 ------------JFqt76YmHOLgVAMFnlTSwA Content-Disposition: inline; filename=dnister.jpg Content-Type: image/jpeg; name=dnister.jpg Content-Location: http://img111.imageshack.us/img111/212/dnister.jpg Content-Transfer-Encoding: Base64 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 ------------JFqt76YmHOLgVAMFnlTSwA Content-Disposition: inline; filename=dot.gif Content-Type: image/gif; name=dot.gif Content-Location: http://l-stat.livejournal.com/img/dot.gif Content-Transfer-Encoding: Base64 R0lGODlhAQABAPcAAP+EAP+MCP+MEP+UGP+cIf+cKf+lMf+tQv+tSv+1Uv+1Wv+9 Y//Ga//Ge//OhP/WjP/WlP/enP/npf/nrf/vvf/3xv/3zv//3v////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// /////////////////yH5BAEAABcALAAAAAABAAEAAAgEAC8EBAA7 ------------JFqt76YmHOLgVAMFnlTSwA Content-Disposition: inline; filename=13213073.gif Content-Type: image/gif; name=13213073.gif Content-Location: http://l-userpic.livejournal.com/71926913/13213073 Content-Transfer-Encoding: Base64 R0lGODlhZABkAPc6AAAICCAQGJBoIEgwIIBQIKiIMLigKLiYKGhIILCQKAgQCEAo GJh4KGA4IKiAKHBQIEgwGIBgIBAICDggGCAQEJBwIMCgMGhAIFg4IKiIKFgwGIBg KHhQIKCAKDAYGCAYEBgQEGBAIBAIEHBIIIBQKHhYIEgoGAgIEEAgGFgwIJhwIMio MJBgKLCIKKB4KLiQMLiQKFg4GDAgGIhoKHhQKCgYEIhgIMCoKAgICIhgKFAwGJhw KCgYGGA4GLiYMMCoMIhoIFAwIDAYEMCgKMiwMBAQEJBoKIhYKHBQKHhYKJBwKLCQ MIBYIHBIKBgIEMCYKFAoGIBYKMCYMMioKCAYGNCwMDAgEAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABL3 wAAAAMgAAHyRBRWw0PiMAFEAEnyRBRUTeAVtAAB8kQAAAJEEPQAAfAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIoAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAFgAAAAS+ACfAvXcAAAAEgAVABL5gO4YAMB8kHyRQP///0C7/458kQAB1gAA RffQAIAAEsAQABL5gO4YAHB8kHyRBf///wAA/z0AAHyRBBL5BAl/AAB8gQAAAOY6 XP//AVwA+QHmOgAAGAAAAOwAAAAS+AAAQAAAANAAAAAS+AAAAAAAAAAAAAAAAAAA DAACAAEAAHyQAf38AOXlf1B8kHyBDAACsPkgACgAEgAS+QAACAAOAHwAAAD7swAA AAKwAE8AAHyAGgACsAAAAADAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAJDl 5SBKfLB8gwAAAhL5VCH5BAgAADoALAAAAABkAGQAAAj+AHEIHEiwoMGDCBPiKKKw ocOHECNKnEix4kGGFjNq3Mixo8ePIEOKHEmypMmTKFOqXMnSoQQRIlrKfAhCxoIJ IChinPlRwsAJIRDEwMlT5c6LOkaMuBCEgsITH2MWRQgCg9IRDSZIdQgV5NGZFC5w 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 ETGhGjmZWRLRJAEBACH+ADs= ------------JFqt76YmHOLgVAMFnlTSwA Content-Disposition: inline; filename=top100.gif Content-Type: image/gif; name=top100.gif Content-Location: http://scnt.rambler.ru/top100.cnt?1 Content-Transfer-Encoding: Base64 R0lGODdhUQA/APIAAAAAYPj8+MjMyDAwmGBkmMjM+GBkyAAAACwAAAAAUQA/AAAD /gi63P4wyklZuDjrzbv/YBgoYmmeaEZ2wuASaVYAQ5EJBGGXriCuG4IjdhECdheB YlCaAUpAzQOJMlKdT5HhCM1qsC2FoSgs+MgDgWCmCxi3uYCSRj76CAYYYaDwrfEw HFEYcwA4CmYOPnwQBUZGADpLIww1jAsYWH2CXjILWJQNaRIDbwxGpUsLW5WZC3wd g0mfC5A2tQuFhVZuCpCMBXyWvhu1HrIBoK+YAYzOurhcTs60ZqFUSZCxnYSYqJeX qNB9y4hLjARhYYYaOLacHKComtQ040+XvnM1Du+eDNguICvUi0QwGtGO0DIYLhkm TWMYnXFlDB6RGBPjZbxI/omjx48fkIEceVEkyZMnTKJcCUIly5fFKsicSbOmzZs4 c+rcybOnz59AIQhDOBTn0KIA8uzJ5ysYJJ3HcgY5QmXNpyuFcHpgSjNIwFkbKWrt 4CyHCwelcgDM+DXTB641kWS1lgRLGxnobmQoJQNvhqc3J2L5qiTQhjmGk/1NTCUO BsA25SLyQFdOYzpuMfAl9JfJ451InCApk/kCn9CR+j5mvPgv6G5cLgSbmLHG6NSc CV25kRFyTcHEyKr+nPju4TQdNOGUvGnqcIeYi3huJyQdp5061tAzw52RjALgIekA v4679gZq1lgNKlMF+/cz3cOfL8E8/fv48+vfz/8968z/IbgEIEwCDshSgQaihOBL RIXF0YIHfnKSS47kcMYf1tWlnmXgZbKhQLXQVWE6Z3BnQwF5bENZPnr0U5AdFkB2 SwM2cDWjKCrGw1QeEKjVBxapTKEIXIbAleMGQJ5Xy1O2FHKWL77ZsYsjn4CzRlQd iIfBKyCqggiQDKyHUC5yfFLdDpe0tSU3sEFJD42vgJOmciFmpQYbobATEpsYsLIK nX1kFWaYQDJ1yANPxoblisasI6EcTNWYiyYvsgMZDJc46J4IlWmIJHm6baheaB8m A15VnR6ZYIIQrvpRq64+yGesEdJqYH/9JQAAOw== ------------JFqt76YmHOLgVAMFnlTSwA Content-Disposition: inline; filename=counter.gif Content-Type: text/html; name=counter.gif Content-Location: http://top3.list.ru/counter?id=1196617 Content-Transfer-Encoding: Base64 R0lGODlhAQABAIAAAMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw== ------------JFqt76YmHOLgVAMFnlTSwA Content-Disposition: inline; filename=adv.htm Content-Type: text/html; charset=utf-8; name=adv.htm Content-Location: http://ads.sup.com/adv?i1=5695489&vid=968912135&r=149054790&srv=1&cp=bml.talkread&adzone=Journal-After-Post-B Content-Transfer-Encoding: 8bit
------------JFqt76YmHOLgVAMFnlTSwA Content-Disposition: inline Content-Type: image/png Content-Location: http://ads.sup.com/banner_files/15769//li.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAMAAAC6sdbXAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAZQTFRF////MzMzOFSMkQAAABdJREFU eNpiYGBkZGQAEUAKmQSLAwQYAAFZABbyQF69AAAAAElFTkSuQmCC ------------JFqt76YmHOLgVAMFnlTSwA Content-Disposition: inline Content-Type: image/png Content-Location: http://ads.sup.com/banner_files/15769//corners.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAfFJREFUeNqslLtrWmEYxt/jOQYvR9Qj KioUXYxk6CIEAimdOhUKmTIFCp2ErC1079QtU+jUTIFC6BDIHxDokqAgiEOgXgaF asELBI+iaJ5HNLSG6MnlhYfv9fP7fnzv7SjZbFbmlk6nZdFyudym2+2+ME1TxuOx C1umLDGbrLaY3W4Xiv6qw1aAG06nUxwOB/315wC+83q9QsHePgmI/O1iUZFD8fv9 3NqDXjwKCJiBJZNMJqeV0jRNYrGYDvfjg4GAqVi+RCKR1x6P53Y/HA6Lz+fbh/vV MhCwLSzfQ6FQJhqN/vefoiiSSCTEMAy+8if0ZvG+8k8fbrMA0Id4PG4EAoGlye90 OlIqlf7CPYSOoaspsFAoTAaDgei6znAkGAyKzWal+CKj0Uiazaa0223p9/vC9tKG w6G4XK5bWYXRVFWd3uGDeI/TxJD1WcMydzuQnkqlOG5LYXxRsVi8hFuHTmYh55XF WUZR3sP9hjyu3ZfHRqMhtVqNM/0ZOlhaZUCPsLyqVqvHrVbrDgwgioV4uQi7tw8B ZSiHlUrFZGhzY/Lxuh9wP0G/HzQpgP5iSMjTKX9PJhMpl8v1WZtcP2qWAWVIG6wi Xwc7n+lJX5sTwrrdLv2zVYc1C8B8r9eb9hgn8zm+h3U2PwX7s+rwjQADANS9sGo9 1BiwAAAAAElFTkSuQmCC ------------JFqt76YmHOLgVAMFnlTSwA Content-Disposition: inline; filename=adv.htm Content-Type: text/html; name=adv.htm Content-Location: http://cnt.sup.com/adv?i1=000100000056E801&vid=968912135&r=898338625&srv=23&cp=bml.talkread&adzone=cnt_ljcom_ad_journal Content-Transfer-Encoding: 8bit ------------JFqt76YmHOLgVAMFnlTSwA Content-Disposition: inline; filename=snap_shots.htm Content-Type: text/html; charset=UTF-8; name=snap_shots.htm Content-Location: http://direct.shots.snap.com/ss/58ee89670ea3f209807d70b5d41caccd/snap_shots.js?pub=pub-5821628-www.livejournal.com Content-Transfer-Encoding: Quoted-Printable // ------------JFqt76YmHOLgVAMFnlTSwA--