Sei sulla pagina 1di 221

Content-Type: multipart/related; start=<op.mhtml.1348161088544.dcd4011f2d2d8208@ 10.240.92.169>; boundary=----------O3s3W5V3w14LQe7kOhsc0M Content-Location: http://sutrisno2629.wordpress.com/2009/05/12/kiat-mencegah-per salinan-prematur/ Subject: =?utf-8?Q?Kiat=20Mencegah=20Persalinan=20Prematur=20|=20Wong=20Kam=20Pu nk=E2=80=99s=20Blog?= MIME-Version: 1.

0 ------------O3s3W5V3w14LQe7kOhsc0M Content-Disposition: inline; filename=default.htm Content-Type: text/html; charset=UTF-8; name=default.htm Content-ID: <op.mhtml.1348161088544.dcd4011f2d2d8208@10.240.92.169> Content-Location: http://sutrisno2629.wordpress.com/2009/05/12/kiat-mencegah-per salinan-prematur/ Content-Transfer-Encoding: Quoted-Printable <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.o= rg/TR/xhtml-basic/xhtml-basic11.dtd"> <html> <head> <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DUTF-8= " /> <title> Kiat Mencegah Persalinan Prematur | Wong Kam Punk&#8217;s Blog</title>= <link rel=3D"stylesheet" href=3D"http://s2.wp.com/wp-content/themes/pub/= wp-mobile/style.css?m=3D1323834012g" type=3D"text/css" media=3D"screen" = /> <script type=3D"text/javascript"> (function() { var s =3D document.createElement('SCRIPT'), s1 =3D document.getElements= ByTagName('SCRIPT')[0]; s.type =3D 'text/javascript'; s.async =3D true; s.src =3D 'http://widgets.digg.com/buttons.js'; s1.parentNode.insertBefore(s, s1); })(); </script> <link rel=3D"alternate" type=3D"application/rss+xml" title=3D"Wong Kam P= unk&#039;s Blog &raquo; Kiat Mencegah Persalinan&nbsp;Prematur Comments = Feed" href=3D"http://sutrisno2629.wordpress.com/2009/05/12/kiat-mencegah= -persalinan-prematur/feed/" /> <script type=3D"text/javascript"> /* <![CDATA[ */ function addLoadEvent(func){var oldonload=3Dwindow.onload;if(typeof wind= ow.onload!=3D'function'){window.onload=3Dfunc;}else{window.onload=3Dfunc= tion(){oldonload();func();}}} /* ]]> */ </script> <link rel=3D'stylesheet' id=3D'all-css-0' href=3D'http://s2.wp.com/_stat= ic/??/wp-content/mu-plugins/post-flair/style.css,/wp-content/mu-plugins/= post-flair/sharing/sharing.css,/wp-content/themes/h4/global.css,/wp-cont= ent/mu-plugins/widgets/css/widget-grid-and-list.css?m=3D1345177132j' typ= e=3D'text/css' media=3D'all' /> <script type=3D'text/javascript' src=3D'http://s0.wp.com/_static/??/wp-i= ncludes/js/jquery/jquery.js,/wp-content/mu-plugins/widgets/js/widget-bum= p-view.js?m=3D1342269540j'></script> <link rel=3D"EditURI" type=3D"application/rsd+xml" title=3D"RSD" href=3D= "http://sutrisno2629.wordpress.com/xmlrpc.php?rsd" /> <link rel=3D"wlwmanifest" type=3D"application/wlwmanifest+xml" href=3D"h=

ttp://sutrisno2629.wordpress.com/wp-includes/wlwmanifest.xml" /> = <link rel=3D'prev' title=3D'Tips Melupakan&nbsp;Cinta' href=3D'http://su= trisno2629.wordpress.com/2009/05/12/tips-melupakan-cinta/' /> <link rel=3D'next' title=3D'Kiat Mempersiapkan Pendidikan Anak&nbsp;Auti= s' href=3D'http://sutrisno2629.wordpress.com/2009/05/12/kiat-mempersiapk= an-pendidikan-anak-autis/' /> <meta name=3D"generator" content=3D"WordPress.com" /> <link rel=3D'canonical' href=3D'http://sutrisno2629.wordpress.com/2009/0= 5/12/kiat-mencegah-persalinan-prematur/' /> <link rel=3D'shortlink' href=3D'http://wp.me/poeP1-1it' /> <link rel=3D"alternate" type=3D"application/json+oembed" href=3D"http://= public-api.wordpress.com/oembed/1.0/?format=3Djson&amp;url=3Dhttp%3A%2F%= 2Fsutrisno2629.wordpress.com%2F2009%2F05%2F12%2Fkiat-mencegah-persalinan= -prematur%2F&amp;for=3Dwpcom-auto-discovery" /><link rel=3D"alternate" t= ype=3D"application/xml+oembed" href=3D"http://public-api.wordpress.com/o= embed/1.0/?format=3Dxml&amp;url=3Dhttp%3A%2F%2Fsutrisno2629.wordpress.co= m%2F2009%2F05%2F12%2Fkiat-mencegah-persalinan-prematur%2F&amp;for=3Dwpco= m-auto-discovery" /><meta property=3D"og:type" content=3D"article" /> <meta property=3D"og:title" content=3D"Kiat Mencegah Persalinan&nbsp;Pre= matur" /> <meta property=3D"og:url" content=3D"http://sutrisno2629.wordpress.com/2= 009/05/12/kiat-mencegah-persalinan-prematur/" /> <meta property=3D"og:description" content=3D"SEORANG calon ibu, Nyonya M= , berusia 30 tahun, merasa khawatir terhadap kehamilannya yang keempat. = Maklumlah, pada kedua persalinan terdahulu ia mengalami persalinan prema= tur 8 bulan pada anak pert..." /> <meta property=3D"og:site_name" content=3D"Wong Kam Punk&#039;s Blog" />= <meta name=3D"twitter:card" content=3D"summary" /> <meta property=3D"fb:app_id" content=3D"249643311490" /> <link rel=3D"shortcut icon" type=3D"image/x-icon" href=3D"http://s2.wp.c= om/i/favicon.ico?m=3D1311976024g" sizes=3D"16x16 24x24 32x32 48x48" /> <link rel=3D"icon" type=3D"image/x-icon" href=3D"http://s2.wp.com/i/favi= con.ico?m=3D1311976024g" sizes=3D"16x16 24x24 32x32 48x48" /> <link rel=3D"apple-touch-icon-precomposed" href=3D"http://s0.wp.com/i/we= bclip.png?m=3D1311618091g" /> <link rel=3D'openid.server' href=3D'http://sutrisno2629.wordpress.com/?o= penidserver=3D1' /> <link rel=3D'openid.delegate' href=3D'http://sutrisno2629.wordpress.com/= ' /> <link rel=3D"search" type=3D"application/opensearchdescription+xml" href= =3D"http://sutrisno2629.wordpress.com/osd.xml" title=3D"Wong Kam Punk&#0= 39;s Blog" /> <link rel=3D"search" type=3D"application/opensearchdescription+xml" href= =3D"http://wordpress.com/opensearch.xml" title=3D"WordPress.com" /> <style> /* <![CDATA[ */ /* Block: reblog */ = .reblog-from img { margin: 0 10px 0 0; vertica l-alig= n: middle; padding: 0; border: 0; } .reblogger-note img.avatar { float: left; padding: 0; bo rder: = 0; } .reblogger-note-content { margin: 0 0 20px; } .reblog-post .wpcom-enhanced-excerpt-content { border-left: 3px solid =

#eee; padding-left: 15px; } .reblog-post ul.thumb-list none;= margin: 2px 0; padding: 0; clear: both; } .reblog-post ul.thumb-list li paddi= ng: 0 1px; border: 0; } .reblog-post ul.thumb-list li a er: 0;= } .reblog-post ul.thumb-list li img er: 0;= } =

{ display: block; list-style: { display: inline; margin: 0; { margin: 0; padding: 0; bord { margin: 0; padding: 0; bord

.reblog-post .wpcom-enhanced-excerpt { clear: both; } = .reblog-post .reblog-post .reblog-post .reblog-post .reblog-post .reblog-post .reblog-post .reblog-post .reblog-post = .reblog-post .reblog-post .reblog-post .reblog-post = /* ]]> */ = .wpcom-enhanced-excerpt .wpcom-enhanced-excerpt .wpcom-enhanced-excerpt .wpcom-enhanced-excerpt blockquote, pre, code, q { font-size: 98% !importa .wpcom-enhanced-excerpt .wpcom-enhanced-excerpt .wpcom-enhanced-excerpt .wpcom-enhanced-excerpt .wpcom-enhanced-excerpt .wpcom-enhanced-excerpt .wpcom-enhanced-excerpt .wpcom-enhanced-excerpt .wpcom-enhanced-excerpt address, li, h1, h2, h3, h4, h5, h6, p { font-size: 100% !import

ant; }=

nt; }

tant;p= adding: 0 !important;margin: 0 !important;}</style> <meta name=3D"application-name" content=3D"Wong Kam Punk&#039;s Blog" />= <meta name=3D"msapplication-window" content=3D"width=3Ddevice-width;heig= ht=3Ddevice-height" /><meta name=3D"msapplication-tooltip" content=3D"Ju= st another WordPress.com weblog" /><meta name=3D"msapplication-task" con= tent=3D"name=3DSubscribe;action-uri=3Dhttp://sutrisno2629.wordpress.com/= feed/;icon-uri=3Dhttp://s2.wp.com/i/favicon.ico" /><meta name=3D"msappli= cation-task" content=3D"name=3DSign up for a free blog;action-uri=3Dhttp= ://wordpress.com/signup/;icon-uri=3Dhttp://s2.wp.com/i/favicon.ico" /><m= eta name=3D"msapplication-task" content=3D"name=3DWordPress.com Support;= action-uri=3Dhttp://support.wordpress.com/;icon-uri=3Dhttp://s2.wp.com/i= /favicon.ico" /><meta name=3D"msapplication-task" content=3D"name=3DWord= Press.com Forums;action-uri=3Dhttp://forums.wordpress.com/;icon-uri=3Dht= tp://s2.wp.com/i/favicon.ico" /><meta name=3D"title" content=3D"Kiat Men= cegah Persalinan&nbsp;Prematur | Wong Kam Punk&#039;s Blog on WordPress.= com" />

</style> <style type=3D"text/css">.recentcomments a{display:inline !impor

<meta name=3D"description" content=3D"SEORANG calon ibu, Nyonya M, berus= ia 30 tahun, merasa khawatir terhadap kehamilannya yang keempat. Makluml= ah, pada kedua persalinan terdahulu ia mengalami persalinan prematur 8 b= ulan pada anak pertama dan 7 bulan pada anak kedua. Pada kehamilan ketig= a ia keguguran (abortus) dan harus dikuret pada kehamilan 2 bulan. Menja= di pertanyaan apakah persalinan prematur akan berulang? Persalinan&helli= p;" /> <style type=3D'text/css'> table.recentcommentsavatar table.recentcommentsavatar ransparent !important} td.recentcommentsavatartop td.recentcommentsavatarend td.recentcommentstexttop { 0px;} td.recentcommentstextend { 0px;} </style></head> <body> <h1>Wong Kam Punk&#8217;s Blog</h1> <hr /> <p> img.avatar {border: 0px; margin:0;} a {border: 0px !important;background-color: t= {padding:0px 0px 1px 0px;margin:0px; } {padding:0px 0px 1px 0px;margin:0px; } border: none !important;padding:0px 0px 0px 1= border: none !important;padding:0px 0px 2px 1=

<a accesskey=3D"1" href=3D"http://sutrisno2629.wordpress.com">Home</a> = | <a accesskey=3D"1" href=3D"http://sutrisno2629.wordpress.com?pages-lis= t">Pages</a> | <a accesskey=3D"2" href=3D"http://sutrisno2629.wordpress.= com?archives-list=3D1">Archives</a></p> <hr /> <h2>Kiat Mencegah Persalinan&nbsp;Prematur</h2> <p>May 12, 2009 9:47 am</p> <p>SEORANG calon ibu, Nyonya M, berusia 30 tahun, merasa khawatir terhad= ap kehamilannya yang keempat. Maklumlah, pada kedua persalinan terdahulu= ia mengalami persalinan prematur 8 bulan pada anak pertama dan 7 bulan = pada anak kedua. Pada kehamilan ketiga ia keguguran (abortus) dan harus = dikuret pada kehamilan 2 bulan. Menjadi pertanyaan apakah persalinan pre= matur akan berulang?</p> <p>Persalinan prematur adalah terjadinya persalinan atau penghentian keh= amilan sebelum waktunya, yaitu pada usia kehamilan antara 20-36 minggu (= 5-8 bulan). Akibatnya akan lahir bayi prematur dengan berat lahir antara= 500 gram sampai kurang dari 2.500 gram.</p> <p>Bayi yang prematur ini dapat meninggal saat kelahiran atau mungkin ha= rus membutuhkan pengobatan khusus di perawatan yang intensif karena orga= n-organ penting seperti paru, hati, usus, dan sebagainya, masih belum be= kerja dengan baik.</p> <p>Persalinan prematur sering kali tidak diketahui penyebabnya. Menurut = penelitian di Indonesia dilaporkan bahwa sekitar 60%-70% di antaranya te= rjadi akibat adanya infeksi baik di dalam kandungan maupun di luar kandu= ngan. Penyebab lain mungkin berhubungan dengan adanya pre-eklampsia yait= u kondisi kehamilan dengan komplikasi tekanan darah tinggi, keluarnya pr= otein di urin, dan bengkak di kedua tungkai.</p> <p>Beberapa risiko terjadinya persalinan prematur di antaranya adalah ap= abila:</p> <ol> <li>terdapat robekan selaput ketuban sebelum waktunya,</li>

<li>pernah mengalami persalinan prematur sebelumnya,</li> <li>kehamilan kembar,</li> <li>riwayat operasi pada perut selama kehamilan misalnya operasi usus bu= ntu,</li> <li>cairan ketuban terlalu sedikit,</li> <li>pernah mengalami perdarahan dari kemaluan setelah kehamilan 16 mingg= u,</li> <li>bentuk rahim yang tidak normal,</li> <li>ibu berusia kurang daripada 16 tahun,</li> <li>riwayat infeksi ginjal atau kandung kemih,</li> <li>menderita keputihan,</li> <li>pelepasan ari-ari sebelum waktunya,</li> <li>pekerjaan fisik yang berat,</li> <li>merokok selama kehamilan,</li> <li> menggunakan obat-obatan dengan efek samping timbulnya kontraksi rah= im, misalkan obat flu.</li> </ol> <p>Gejala persalinan prematur adalah: bila terdapat penambahan jumlah le= ndir di vagina, adanya rasa kram seperti haid yang hilang timbul, terasa= adanya tekanan dengan irama yang teratur di daerah panggul, sakit pungg= ung yang berhubungan dengan rasa kram di perut. Mereka yang mengalami ha= l seperti diatas hendaknya langsung menghubungi pusat pelayanan kesehata= n terdekat.</p> <p>Dokter akan menilai gejala Anda dan memeriksa panggul untuk melihat s= ejauh mana mulut rahim anda membuka dan menipis. Akan digunakan alat mon= itor diluar rahim untuk mengukur dan menilai kontraksi rahim yang terjad= i.</p> <p style=3D"margin-left:18pt;">Kemudian akan ditentukan apakah kehamilan= tersebut masih dapat dipertahankan atau tidak. Semakin lama kehamilan = Anda berlanjut, semakin baik kemungkinan bayi untuk bertahan setelah dil= ahirkan dan mengurangi lama waktu perawatan bayi berada dalam perawatan = intensif.</p> <p style=3D"margin-left:18pt;">Mempertahankan kehamilan juga harus diper= timbangkan keadaan ibu dan kesejahteraan janin di dalam rahim, sehingga = dapat diputuskan apakah mempertahankan janin dalam rahim akan lebih baik= dibandingkan bila bayi segera dilahirkan. Pada beberapa keadaan tertent= u seperti oligohidramnion (kurangnya air ketuban dalam kantung amnion),m= ungkin akan lebih baik janin hidup di luar kehamilan dibandingkan dengan= dipertahankan di dalam rahim.</p> <p style=3D"margin-left:18pt;">Beberapa pengobatan yang dapat diberikan = untuk menghentikan adanya persalinan prematur di antaranya adalah: rawat= inap dengan tirah baring (bed rest) di rumah sakit dan memonitor timbul= nya kontraksi rahim yang berkelanjutan, pemberian obat untuk menghentika= n kontraksi rahim,pemeriksaan laboratorium darah, air kemih dan sel-sel = mulut rahim dan vagina untuk memastikan adanya infeksi, melakukan pemeri= ksaan ultrasonografi (USG)untuk memeriksa kondisi janin, usia janin, let= ak dan melihat posisi janin dalam rahim serta letak dan adakah pelepasan= plasenta, bila mungkin melakukan pemeriksaan cairan ketuban (amniosinte= sis) dan menilai apakah paru-paru bayi sudah matang atau belum.</p> <p style=3D"margin-left:18pt;">Dengan demikian keputusan tindakan selanj= utnya pada persalinan prematur ini dapat dipertimbangkan secara matang. = Kembali kepada kasus nyonya M di atas, seyogianya segera dikonsultasikan= ke dokter ahli kandungan untuk mencari penyebab persalinan prematur dan= mencegah agar tidak terjadi persalinan prematur kembali.</p> <p style=3D"margin-left:18pt;">Berikut beberapa saran bila Anda mempunya= i risiko mengalami persalinan prematur: mengunjungi dokter setiap 2 ming= gu setelah kehamilan trimester kedua (20 minggu sampai 40 minggu atau 5 = bulan sampai cukup bulan) untuk memeriksa dan menilai keadaan kehamilann= ya, istirahat cukup, menjaga kebersihan alat kelamin Anda, belajar menge= nali kontraksi rahim dengan perabaan tangan Anda pada perut.</p>

<p style=3D"margin-left:18pt;">Periksa adanya kontraksi rahim Anda secar= a teratur dan catat kontraksi tersebut dalam buku catatan kecil Anda, be= lajar tentang tanda dan gejala lain dari persalinan prematur serta mengh= ubungi pelayanan kesehatan Anda jika Anda memiliki tanda dan gejala dari= persalinan prematur. Hindari rangsangan pada puting susu Anda (karena d= apat menyebabkan kontraksi rahim) serta menghindari hubungan seksual jik= a orgasme atau hubungan seksual tersebut menyebabkan kontraksi rahim aki= bat adanya cairan sperma dalam vagina.</p> <p>Semoga dengan menjalankan kiat ini dapat mencegah terjadinya persalin= an prematur pada kehamilan sekarang.</p> <p>* Dr Fitriyadi Kusuma, SpOG, Staf pengajar Bagian Obstetri dan Gineko= logi FKUI RSUPN dr Cipto Mangunkusumo, Jakarta.</p> <p>Indo community</p> <div id=3D"jp-post-flair" class=3D"sharedaddy sd-like-enabled sd-sharing= -enabled"><div class=3D"sharedaddy sd-sharing-enabled"><div class=3D"rob= ots-nocontent sd-block sd-social sd-social-official sd-sharing"><h3 clas= s=3D"sd-title">Share this:</h3><div class=3D"sd-content"><ul><li class=3D= "share-stumbleupon"><div class=3D"stumbleupon_button"><iframe src=3D"htt= p://www.stumbleupon.com/badge/embed/1/?url=3Dhttp%3A%2F%2Fsutrisno2629.w= ordpress.com%2F2009%2F05%2F12%2Fkiat-mencegah-persalinan-prematur%2F&amp= ;title=3DKiat%20Mencegah%20Persalinan%20Prematur" scrolling=3D"no" frame= border=3D"0" style=3D"border:none; overflow:hidden; width:74px; height: = 18px;" allowTransparency=3D"true"></iframe></div></li><li class=3D"share= -facebook"><div class=3D"like_button"><iframe src=3D"http://www.facebook= .com/plugins/like.php?href=3Dhttp%3A%2F%2Fsutrisno2629.wordpress.com%2F2= 009%2F05%2F12%2Fkiat-mencegah-persalinan-prematur%2F&amp;layout=3Dbutton= _count&amp;show_faces=3Dfalse&amp;action=3Dlike&amp;colorscheme=3Dlight&= amp;height=3D21&amp;width=3D90" scrolling=3D"no" frameborder=3D"0" style= =3D"border:none; overflow:hidden; width:96px; height:21px;" allowTranspa= rency=3D"true"></iframe></div></li><li class=3D"share-twitter"><div clas= s=3D"twitter_button"><iframe allowtransparency=3D"true" frameborder=3D"0= " scrolling=3D"no" src=3D"http://platform.twitter.com/widgets/tweet_butt= on.html?url=3Dhttp%3A%2F%2Fwp.me%2FpoeP1-1it&#038;counturl=3Dhttp%3A%2F%= 2Fsutrisno2629.wordpress.com%2F2009%2F05%2F12%2Fkiat-mencegah-persalinan= -prematur%2F&#038;count=3Dhorizontal&#038;text=3DKiat%20Mencegah%20Persa= linan%20Prematur%3A&#038;via=3Dwordpressdotcom&#038;related=3Dwordpressd= otcom" style=3D"width:101px; height:20px;"></iframe></div></li><li class= =3D"share-digg"><div class=3D"digg_button"><a rel=3D"nofollow" class=3D"= DiggThisButton DiggCompact share-digg sd-button" href=3D"http://digg.com= /submit?url=3Dhttp%3A%2F%2Fsutrisno2629.wordpress.com%2F2009%2F05%2F12%2= Fkiat-mencegah-persalinan-prematur%2F&amp;title=3DKiat%20Mencegah%20Pers= alinan%20Prematur" title=3D"Click to Digg this post"><span>Digg</span></= a></div></li><li class=3D"share-reddit"><div class=3D"reddit_button"><if= rame src=3D"http://www.reddit.com/static/button/button1.html?width=3D120= &amp;url=3Dhttp%3A%2F%2Fsutrisno2629.wordpress.com%2F2009%2F05%2F12%2Fki= at-mencegah-persalinan-prematur%2F&amp;title=3DKiat%20Mencegah%20Persali= nan%20Prematur" height=3D"22" width=3D"120" scrolling=3D"no" frameborder= =3D"0"></iframe></div></li><li class=3D"share-email"><a rel=3D"nofollow"= class=3D"share-email sd-button" href=3D"http://sutrisno2629.wordpress.c= om/2009/05/12/kiat-mencegah-persalinan-prematur/?share=3Demail" title=3D= "Click to email this to a friend"><span>Email</span></a></li><li class=3D= "share-print"><a rel=3D"nofollow" class=3D"share-print sd-button" href=3D= "http://sutrisno2629.wordpress.com/2009/05/12/kiat-mencegah-persalinan-p= rematur/#print" title=3D"Click to print"><span>Print</span></a></li><li = class=3D"share-end"></li></ul><div class=3D"sharing-clear"></div></div><= /div></div><div class=3D"wpl-likebox sd-block sd-like"><h3 class=3D"sd-t= itle">Like this:</h3><div class=3D"sd-content"><div id=3D"like-4989" cla= ss=3D"wpl-button "><a href=3D'http://sutrisno2629.wordpress.com/2009/05/= 12/kiat-mencegah-persalinan-prematur/?like=3D1&amp;_wpnonce=3Dd1731f957d= ' title=3D'I like this.' class=3D'like needs-login sd-button' rel=3D'nof=

ollow'><span>Like</span></a></div><div class=3D"wpl-count sd-like-count"= >Be the first to like this.</div></div></div></div> <p>Posted by sutrisno2629</p> <p>Categories: <a href=3D"http://sutrisno2629.wordpress.com/category/kum= pulan-tips-keluarga/" title=3D"View all posts in KUMPULAN TIPS KELUARGA"= rel=3D"category tag">KUMPULAN TIPS KELUARGA</a></p> <p>Tags: <a href=3D"http://sutrisno2629.wordpress.com/tag/tips-keluarga/= " rel=3D"tag">TIPS KELUARGA</a></p> <p><a href=3D"http://sutrisno2629.wordpress.com/2009/05/12/tips-melupaka= n-cinta/" rel=3D"prev">&laquo; Older</a> <a href=3D"http://sutrisno2629.= wordpress.com/2009/05/12/kiat-mempersiapkan-pendidikan-anak-autis/" rel=3D= "next">Newer &raquo;</a></p> <h3 id=3D"respond">Leave a Reply</h3> <form action=3D"http://sutrisno2629.wordpress.com/wp-comments-post.php" = method=3D"post" id=3D"commentform"> <p><input type=3D"text" name=3D"author" id=3D"author" value=3D"" size=3D= "22" tabindex=3D"1" /> <label for=3D"author"><small>Name (required)</small></label></p> <p><input type=3D"text" name=3D"email" id=3D"email" value=3D"" size=3D"2= 2" tabindex=3D"2" /> <label for=3D"email"><small>E-Mail (required)</small></label></p> <p><input type=3D"text" name=3D"url" id=3D"url" value=3D"" size=3D"22" t= abindex=3D"3" /> <label for=3D"url"><small>Website</small></label></p> <p><textarea name=3D"comment" id=3D"comment" cols=3D"30" rows=3D"10" tab= index=3D"4"></textarea></p> <p><input name=3D"submit" type=3D"submit" id=3D"submit" tabindex=3D"5" v= alue=3D"Submit Comment" /> <input type=3D"hidden" name=3D"comment_post_ID" value=3D"4989" /> </p> <input type=3D"hidden" name=3D"genseq" value=3D"1348154550" /> <p class=3D"comment-subscription-form"><input type=3D"checkbox" name=3D"= subscribe" id=3D"subscribe" value=3D"subscribe" style=3D"width: auto;" t= abindex=3D"6"/> <label class=3D"subscribe-label" id=3D"subscribe-label" = for=3D"subscribe">Notify me of follow-up comments via email.</label></p>= <p style=3D"display: none;"><input type=3D"hidden" id=3D"akismet_comment= _nonce" name=3D"akismet_comment_nonce" value=3D"c949404d3f" /></p><scrip= t type=3D'text/javascript' src=3D'http://s2.wp.com/wp-content/mu-plugins= /akismet-2.5/form.js?m=3D1308783962g'></script> <p style=3D"display: none;"><input type=3D"hidden" id=3D"ak_js" name=3D"= ak_js" value=3D"86"/></p></form> <hr /> <form method=3D"get" id=3D"searchform" action=3D"/"> <fieldset> <input type=3D"text" value=3D"" name=3D"s" id=3D"s" /> <input type=3D"submit" id=3D"searchsubmit" value=3D"Search" /> </fieldset> </form> <hr />

<p>Mobile Site | <a accesskey=3D"0" href=3D"http://sutrisno2629.wordpres= s.com/?ak_action=3Dreject_mobile">Full Site</a></p> <hr /> <script type=3D"text/javascript"> function mobile_theme_footer_record_mobile_stats( appName ) { new Image().src =3D document.location.protocol + '//stat s.wordpress.c= om/g.gif?v=3Dwpcom-no-pv&x_mobile_app_promo_clicks=3D' + appName + '&bab= a=3D' + Math.random(); if ( 'ios' =3D=3D appName ) location.href =3D 'http://itunes.apple.com/us/app/wo else if ( 'android' =3D=3D appName ) location.href =3D 'market://details?id=3Dorg.wordpre }

rdpress/id335= 703880?mt=3D8'; ss.android';

if ( ! navigator.userAgent.match( /wp-(iphone|android|blackberry |nokia= |windowsphone)/i ) ) { if ( ( navigator.userAgent.match( /iphone/i ) ) || ( nav igator.userAg= ent.match( /ipod/i ) ) ) document.write( '<span id=3D"wpcom-mobile-app-promo" style=3D"marg= in-top: 10px; font-size: 13px;"><strong>Now Available!</strong> <a href=3D= "#" onclick=3D"mobile_theme_footer_record_mobile_stats(\'ios\'); return = false;">Download WordPress for iOS</a></span><br /><br />' ); else if ( ( navigator.userAgent.match( /android/i ) ) ) document.write( '<span id=3D"wpcom-mobile-app-promo" style=3D"marg= in-top: 10px; font-size: 13px;"><strong>Now Available!</strong> <a href=3D= "#" onclick=3D"mobile_theme_footer_record_mobile_stats(\'android\'); ret= urn false;">Download WordPress for Android</a></span><br /><br />' ); else if ( ( navigator.userAgent.match( /blackberry/i ) ) ) document.write( '<span id=3D"wpcom-mobile-app-promo" style=3D"marg= in-top: 10px; font-size: 13px;"><strong>Now Available!</strong> <a href=3D= "/index.php?app-download=3Dblackberry" onclick=3D"mobile_theme_footer_re= cord_mobile_stats(\'blackberry\');">Download WordPress for BlackBerry</a= ></span><br /><br />' ); else if ( ( navigator.userAgent.match( /windows phone os /i ) ) ) document.write( '<span id=3D"wpcom-mobile-app-promo" style=3D"marg= in-top: 10px; font-size: 13px; line-height: 13px;"><strong>Now Available= !</strong> <a href=3D"/index.php?app-download=3Dwindowsphone" onclick=3D= "mobile_theme_footer_record_mobile_stats(\'windowsphone\');">Download Wo= rdPress for <br />Windows Phone</a></span><br /><br />' ); else if ( ( navigator.userAgent.match( /nokia/i ) ) ) document.write( '<span id=3D"wpcom-mobile-app-promo" style=3D"marg= in-top: 10px; font-size: 13px;"><strong>Now Available!</strong> <a href=3D= "/index.php?app-download=3Dnokia" onclick=3D"mobile_theme_footer_record_= mobile_stats(\'nokia\');">Download WordPress for Nokia</a></span><br /><= br />' ); }

</script> <p><a href=3D"http://wordpress.com/?ref=3Dfooter" rel=3D"generator">Blo= g at WordPress.com</a>. Theme: WordPress Mobile Edition by <a href=3D"ht= tp://alexking.org/" rel=3D"designer">Alex King</a>.</p> </body> </html> ------------O3s3W5V3w14LQe7kOhsc0M Content-Disposition: inline; filename=style.css Content-Type: text/css; charset=UTF-8; name=style.css Content-Location: http://s2.wp.com/wp-content/themes/pub/wp-mobile/style.css?m=1 323834012g Content-Transfer-Encoding: 8bit body{font-family:Verdana, sans-serif;background:#fff;font-size:14px;padding:0;ma rgin:0;background:#eee;}body h1{background:#000;color:#fff;padding:10px;margin:0 ;}h1, h2, h3, p{margin:0 0 5px 0;padding:0;}h1{font-size:14px;}hr{color:#eee;hei ght:1px;display:none;}p, ul, ol, div, form{background:#fff;padding:10px;margin:1 0px;}ul li, ol li{margin-left:10px;}li p{margin:0;} ------------O3s3W5V3w14LQe7kOhsc0M Content-Disposition: inline Content-Type: image/png Content-Location: http://s2.wp.com/wp-content/mu-plugins/post-flair/sharing/imag es/digg.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAA AAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5U Y3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6 eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8w Mi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpE ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5h ZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRv YmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0 dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1l bnRJRD0ieG1wLmRpZDpGODdGMTE3NDA3MjA2ODExQjhCN0Q5RDcwRTdERDcxOCIg eG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo4NjE4RDIyREE0QTExMURGQjI5NkMz NzEzRUNFMDA3NiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4NjE4RDIyQ0E0 QTExMURGQjI5NkMzNzEzRUNFMDA3NiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQ aG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJl ZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjAxODAxMTc0MDcyMDY4MTFCQTIxRkIzOEE4 RTcwMzMxIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkY4N0YxMTc0MDcyMDY4 MTFCOEI3RDlENzBFN0RENzE4Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpS REY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+izv0WgAAAdlJREFU eNqkU8mKYlEMPe85oggigo0bp4VQ7UZB0D9QxIVUdX9P/43Y1EIX+hGuFBXUheBA UaA4oTj72pPivVJ60VAdCJebm5zkJLmKpmn4+fKi4Qvy+/VVUX48P2vf/P6vxOP9 7Q3me4PVapXzdDqBlamqilQqBZfLJXZFUTCdTtFqtXA8HsVmALjdbnGmU6fTwWg0 wvV6hdPpRC6XM5JUq1VcLhfjLgBerxf5fB7xeFyM4XAYlUoF+/1eACmLxQLn81ls Pp9PwElB5WMoFJJgOiyXS3g8HgSDQWSzWYMW36jMnkgkEAgEPisgZyJuNhusVivJ Qo6RSAS1Wg3lchmHw8GoJBqNCsWHHjBgPp9ju91KFjaRQMlkUoJ5ZwUmkwlm82fv Td+fnn7tbw7D4RCDwUAcms2mTGA2myGdTsNms8HhcBhar9cl2WQ8/ugBkbvdLsY3 A6XX66HRaGC320lmVseqqKRLfyakqPd7YLfbP3jdlUgABpI7lXd9JwwAlsvRFQoF MXIi7D4bywCepMMl0m26qDqa/7bOsVgMmUxGRmSxWMRRP5mEeh/8MAXOv1gsioPO fb1eo1QqGTtA22Qykek8AJBju93+67P0+/1/fijlf7/zHwEGAKh9J+Oq6LGvAAAA AElFTkSuQmCC ------------O3s3W5V3w14LQe7kOhsc0M Content-Disposition: inline

Content-Type: image/png Content-Location: http://s2.wp.com/wp-content/mu-plugins/post-flair/sharing/imag es/email.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAAXNCSVQI5gpbmQAA AAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdv cmtzIENTNXG14zYAAAAVdEVYdENyZWF0aW9uIFRpbWUANS8yNS8xMWhVr2gAAAAC dFJOUwAAdpPNOAAAAIpJREFUGBlVwbEKglAAhtH/8b9B2nKpJcixrTWQJEsQjIti iQoiN0yQXiGJED1HYkHis4AYqpkB0RczPaLLPf68vEPY1N74OdvUIlrjPso1rJLU NS2iSXCudrcpLg5Jg6hjcI6v9wGIa0QZMdpvGUUl4hkyCZ+IPGAS5IjMryZ+hjCn GYO4LyCxoC8xe6+CKiLk+AAAAABJRU5ErkJggg== ------------O3s3W5V3w14LQe7kOhsc0M Content-Disposition: inline Content-Type: image/png Content-Location: http://s2.wp.com/wp-content/mu-plugins/post-flair/sharing/imag es/print.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAAXNCSVQI5gpbmQAA AAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdv cmtzIENTNXG14zYAAAAVdEVYdENyZWF0aW9uIFRpbWUANS8yNS8xMWhVr2gAAAAC dFJOUwAAdpPNOAAAAIpJREFUGBlVwYEGwzAUhtH/8b/XuA9SQriU2iY2sWhL1VjG 7BWW1cx6jsSOxGsH8Zz+PBGPUgqbUsoDcc/58JXzHXE783O+IdbET1oRyxHqBo4L Yh7AhsZgmBFjX6v1jdXaj4iru5u5u7n7FZFjjJNZjBZjzIhLaCZrQggXROo+pqbr uoQ47SCxozeZdrQt1gjlrgAAAABJRU5ErkJggg== ------------O3s3W5V3w14LQe7kOhsc0M Content-Disposition: inline; filename=default.css Content-Type: text/css; charset=utf-8; name=default.css Content-Location: http://s2.wp.com/_static/??/wp-content/mu-plugins/post-flair/s tyle.css,/wp-content/mu-plugins/post-flair/sharing/sharing.css,/wp-content/theme s/h4/global.css,/wp-content/mu-plugins/widgets/css/widget-grid-and-list.css?m=13 45177132j Content-Transfer-Encoding: 8bit /* =Resets -------------------------------------------------------------- */ div.sharedaddy ul, div.sharedaddy li { margin: 0; padding: 0; list-style: none; border: none; background: none; } div.sharedaddy, #content div.sharedaddy, #main div.sharedaddy { font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 12px; clear: both; } div.sharedaddy, div.sharedaddy div { -webkit-border-radius: 0 !important;

-moz-border-radius: 0 !important; border-radius: 0 !important;

div.sharedaddy h3, #content div.sharedaddy h3, #main div.sharedaddy h3, #primary div.sharedaddy h3 { font-size: 12px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; margin: 3px 0; padding: 0; text-transform: none; letter-spacing: 0; line-height: 1; font-weight: bold; width: 15.625%; /* 100px / 640px */ float: left; position: static; background: none; border: none; } .rtl .rtl .rtl .rtl } div.sharedaddy h3, #content div.sharedaddy h3, #main div.sharedaddy h3, #primary div.sharedaddy h3 { float: right; text-align: right;

div.sharedaddy ul, div.sharedaddy li { margin: 0 !important; padding: 0 !important; text-indent: 0; } div.sharedaddy li::before { content: ""; } div.sharedaddy div.sharing-clear { margin: 0 !important; padding: 0 !important; } div.sharedaddy div.pd-rating { margin: 0; min-height: 23px; } div.sharedaddy a, div.sharedaddy a:link, div.sharedaddy a:visited { font-style: normal; } /* ClearFix trick */ div.sharedaddy:before,

div.sharedaddy:after, div.sharedaddy .sd-block:before, div.sharedaddy .sd-block:after, div.sharedaddy ul:before, div.sharedaddy ul:after { content: "\0020"; display: block; height: 0; overflow: hidden; } div.sharedaddy:after, div.sharedaddy .sd-block:after, div.sharedaddy ul:after { clear: both; } div.sharedaddy, div.sharedaddy .sd-block, div.sharedaddy ul { zoom: 1; } /* =Base Styles -------------------------------------------------------------- */ div.sharedaddy div.sd-block { border-top: 1px solid #ddd; border-top: 1px solid rgba(0,0,0,.13); padding: 10px 0 5px; margin: 0; width: 100% !important; } div.sharedaddy.sharedaddy-dark .sd-block { border-top-color: #222; border-top-color: rgba(50,50,50,.5); } div.sharedaddy .sd-content { width: 82.125%; /* 530px / 640px */ float: right; margin: -2px 0 0 0; } div.sharedaddy .sd-content ul { margin: 0; } div.sharedaddy .sd-content li { float: left; margin: 0 5px 5px 0 !important; display: block; } .rtl div.sharedaddy .sd-content { float: right; }

.rtl div.sharedaddy .sd-content li { float: right; margin: 0 0 5px 5px !important; } /* Base Button .sd-button */ div.sharedaddy a.sd-button { margin: 0; padding: 0; display: inline-block; background: #efefef; background: -moz-linear-gradient(top, #f7f7f7 0%, #efefef 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0 %,#f7f7f7), color-stop(100%,#efefef)); background: -webkit-linear-gradient(top, #f7f7f7 0%,#efefef 100%); background: -o-linear-gradient(top, #f7f7f7 0%,#efefef 100%); background: -ms-linear-gradient(top, #f7f7f7 0%,#efefef 100%); background: linear-gradient(top, #f7f7f7 0%,#efefef 100%); border-radius: 3px; border: 1px solid #ddd !important; box-shadow: inset 0 1px 0 #fff; color: #000 !important; text-decoration: none; line-height: 1; font-size: 12px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: normal; } div.sharedaddy a.sd-button:hover { color: #000; text-shadow: 0 1px 0 #fff; border-color: #ccc; background: #eee; background: -moz-linear-gradient(top, #efefef 0%, #eee 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0 %,#efefef), color-stop(100%,#eee)); background: -webkit-linear-gradient(top, #efefef 0%,#eee 100%); background: -o-linear-gradient(top, #efefef 0%,#eee 100%); background: -ms-linear-gradient(top, #efefef 0%,#eee 100%); background: linear-gradient(top, #efefef 0%,#eee 100%); } div.sharedaddy a.sd-button:active { background-color: #efefef; box-shadow: inset 0 -1px 0 #fff; border-color: #ddd; } a.sd-button > span { padding: 4px 8px; display: block; opacity: .8; line-height: 1.5em; text-shadow: none; } a.sd-button:hover span { opacity: 1;

} .sd-button span.share-count { font-size: 90%; color: #666; margin-left: 5px; } .rtl .sd-button span.share-count { margin-right: 5px; } /* Button Style Options */ .sd-social-icon-text a.sd-button > span, a.sd-button > span { padding: 1px 5px 1px 23px; background-position: 2px center; background-repeat: no-repeat; } .sd-social-icon a.sd-button > span { padding: 3px; width: 16px; height: 16px; text-indent: -9999px; background-position: center center; background-repeat: no-repeat; } .sd-social-text a.sd-button > span { background: none !important; padding-left: 5px } .sd-social-official li { height: 21px; } div.sharedaddy .no-text { width: 21px; height: 21px; } div.sharedaddy .no-text a { text-decoration: none; } div.sharedaddy .no-icon a span, div.sharedaddy li.no-icon div a span { padding-left: 5px; background-image: none; } .rtl .sd-social-icon-text a.sd-button > span, .rtl a.sd-button > span { padding: 3px 23px 3px 5px; background-position: 98% center; } .rtl .sd-social-text a.sd-button > span {

padding-left: 0; padding-right: 5px

.rtl div.sharedaddy .no-icon a span, .rtl div.sharedaddy li.no-icon div a span { padding-left: 0; padding-right: 5px } /* Sharedaddy Module in /sharing/sharing.css */ /* Ratings Alignment -------------------------------------------------------------- */ div.sharedaddy .sd-rating .pd-rating { width: 82.125%; /* 530px / 640px */ float: right; margin: 0; } /* =Like Module -------------------------------------------------------------- */ div.sharedaddy .wpl-likebox, #main div.sharedaddy .wpl-likebox, #content div.sharedaddy .wpl-likebox { margin-right: 0 !important; margin-left: 0 !important; padding-right: 0 !important; padding-left: 0 !important; } .wpl-likebox .sd-content { margin: -2px 0 0 0; } div.sharedaddy .wpl-button { float: left; margin: 0 5px 0 0; } div.sharedaddy .wpl-count { line-height: 1; padding: 5px; text-align: left; margin: 0; font-size: 12px; } div.sharedaddy ul.wpl-avatars, .wpl-likebox { margin: 0 -2px 0 0 !important; padding-top: 8px !important; overflow: hidden; } div.sharedaddy ul.wpl-avatars li { width: 32px; height: 32px;

} div.sharedaddy ul.wpl-avatars li a { margin: 0 2px 0 0; border-bottom: none !important; display: block; } div.sharedaddy ul.wpl-avatars li a img { background: none; border: none; margin: 0 !important; padding: 0 !important; position: static; } div.sharedaddy .wpl-button a.sd-button span { padding: 1px 5px 1px 2px; text-shadow: none; } div.sharedaddy .wpl-button a.sd-button span:before { color: #2EA2CC; font-family: "Noticons"; content: '\2605'; font-size: 16px; line-height: 0; text-shadow: 0 1px 0 #fff; position: relative; top: 3px; } div.sharedaddy .wpl-button a.sd-button.liked { background: #FEFFCE; border: 1px solid #F3E389; box-shadow: inset 0 1px 0 #fff; cursor: default; } div.sharedaddy .wpl-button a.sd-button.liked span { opacity: 1; } .rtl div.sharedaddy .wpl-button { float: right; margin: 0 0 0 5px; } .rtl div.sharedaddy #wpl-count { text-align: right; } .rtl div.sharedaddy ul.wpl-avatars, .rtl .wpl-likebox { margin: 0 0 0 -2px !important; } .rtl div.sharedaddy .wpl-button a.sd-button span { padding: 3px 5px; background-position: right center;

} #wpl-mustlogin { width: 312px; padding: 15px; position: absolute; margin-left: -120px; z-index: 1001; text-shadow: none; background-color: #fff; color: #333; border: 1px solid #ccc; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0px 2px 8px #ccc; -webkit-box-shadow: 0px 2px 8px #ccc; box-shadow: 0px 2px 8px #ccc; -webkit-box-shadow: 0px 2px 8px rgba(0, 0, 0, .2); -moz-box-shadow: 0px 2px 8px rgba(0, 0, 0, .2); box-shadow: 0px 2px 8px rgba(0, 0, 0, .2); } #wpl-mustlogin p { margin: 0; text-shadow: none; color: #333; } #wpl-mustlogin label, #wpl-mustlogin a { text-shadow: none; color: #333; } #wpl-mustlogin input[type="text"], #wpl-mustlogin input[type="password"] { width: 98.5%; text-shadow: none; border: 1px solid #ccc; background: #fff; color: #333; } #wpl-mustlogin { line-height: 14px !important; font-size: 11px; clear: left; margin-top: 5px; background: #f0f0f0; padding: 10px; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; } #wpl-mustlogin a { color: #888; text-decoration: underline; }

#wpl-mustlogin p { margin: 5px 0; padding: 0 } #wpl-mustlogin input.input { padding: 2px; background: #fff; font-size: 11px; font-family: inherit; border: 1px solid #ccc; -moz-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1) inset; -webkit-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1) inset; line-height: 12px; } #wpl-mustlogin input#wp-submit { border: 1px solid #ccc; font-size: 11px; background: #fafafa repeat-x; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; padding: 2px 4px !important; line-height: 12px; } #wpl-mustlogin label { position: relative; cursor: text; } #wpl-mustlogin label span { position: absolute; top: 0px; left: 5px; padding: 0 !important; } #wpl-mustlogin label span { top/*\**/: -10px\9; } .rtl #wpl-mustlogin { margin-left: 0; margin-right: -120px; } .rtl #wpl-mustlogin { clear: right } .rtl #wpl-mustlogin label span { left: auto; right: 5px } /* Like Special cases (display on it's own) */ div.sharedaddy.sd-like-enabled .sd-like h3 {

display: none;

div.sharedaddy.sd-like-enabled .sd-like div.sd-content { width: 100%; float: none; } div.sharedaddy.sd-rating-enabled .sd-like h3 { display: block; } div.sharedaddy.sd-rating-enabled .sd-like div.sd-content { width: 82.125%; /* 530px / 640px */ float: right; } div.sharedaddy.sd-sharing-enabled .sd-like h3 { display: block; } div.sharedaddy.sd-sharing-enabled .sd-like div.sd-content { width: 82.125%; /* 530px / 640px */ float: right; } .rtl div.sharedaddy.sd-rating-enabled .sd-like div.sd-content { float: left } .rtl div.sharedaddy.sd-sharing-enabled .sd-like div.sd-content { float: left } /* =Theme-specific fixes -------------------------------------------------------------- */ /* Shelf */ div.sharedaddy .wpl-likebox { position: static !important; bottom: auto !important; } div.sharedaddy ul, div.sharedaddy li { margin: 0; padding: 0; list-style: none; border: none; background: none; } div.sharedaddy, #content div.sharedaddy, #main div.sharedaddy { font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 12px; clear: both; }

div.sharedaddy, div.sharedaddy div { -webkit-border-radius: 0 !important; -moz-border-radius: 0 !important; border-radius: 0 !important; } div.sharedaddy h3, #content div.sharedaddy h3, #main div.sharedaddy h3, #primary div.sharedaddy h3 { font-size: 12px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; margin: 3px 0; padding: 0; text-transform: none; letter-spacing: 0; line-height: 1; font-weight: bold; width: 15.625%; /* 100px / 640px */ float: left; position: static; background: none; border: none; } .rtl .rtl .rtl .rtl } div.sharedaddy h3, #content div.sharedaddy h3, #main div.sharedaddy h3, #primary div.sharedaddy h3 { float: right; text-align: right;

div.sharedaddy ul, div.sharedaddy li { margin: 0 !important; padding: 0 !important; text-indent: 0; } div.sharedaddy li::before { content: ""; } div.sharedaddy div.sharing-clear { margin: 0 !important; padding: 0 !important; } div.sharedaddy div.pd-rating { margin: 0; min-height: 23px; } div.sharedaddy a, div.sharedaddy a:link, div.sharedaddy a:visited { font-style: normal; }

/* ClearFix trick */ div.sharedaddy:before, div.sharedaddy:after, div.sharedaddy .sd-block:before, div.sharedaddy .sd-block:after, div.sharedaddy ul:before, div.sharedaddy ul:after { content: "\0020"; display: block; height: 0; overflow: hidden; } div.sharedaddy:after, div.sharedaddy .sd-block:after, div.sharedaddy ul:after { clear: both; } div.sharedaddy, div.sharedaddy .sd-block, div.sharedaddy ul { zoom: 1; } /* =Base Styles -------------------------------------------------------------- */ div.sharedaddy div.sd-block { border-top: 1px solid #ddd; border-top: 1px solid rgba(0,0,0,.13); padding: 10px 0 5px; margin: 0; width: 100% !important; } div.sharedaddy.sharedaddy-dark .sd-block { border-top-color: #222; border-top-color: rgba(50,50,50,.5); } div.sharedaddy .sd-content { width: 82.125%; /* 530px / 640px */ float: right; margin: -2px 0 0 0; } div.sharedaddy .sd-content ul { margin: 0; } div.sharedaddy .sd-content li { float: left; margin: 0 5px 5px 0 !important; display: block; } .rtl div.sharedaddy .sd-content {

float: right;

.rtl div.sharedaddy .sd-content li { float: right; margin: 0 0 5px 5px !important; } /* Base Button .sd-button */ div.sharedaddy a.sd-button { margin: 0; padding: 0; display: inline-block; background: #efefef; background: -moz-linear-gradient(top, #f7f7f7 0%, #efefef 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0 %,#f7f7f7), color-stop(100%,#efefef)); background: -webkit-linear-gradient(top, #f7f7f7 0%,#efefef 100%); background: -o-linear-gradient(top, #f7f7f7 0%,#efefef 100%); background: -ms-linear-gradient(top, #f7f7f7 0%,#efefef 100%); background: linear-gradient(top, #f7f7f7 0%,#efefef 100%); border-radius: 3px; border: 1px solid #ddd !important; box-shadow: inset 0 1px 0 #fff; color: #000 !important; text-decoration: none; line-height: 1; font-size: 12px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: normal; } div.sharedaddy a.sd-button:hover { color: #000; text-shadow: 0 1px 0 #fff; border-color: #ccc; background: #eee; background: -moz-linear-gradient(top, #efefef 0%, #eee 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0 %,#efefef), color-stop(100%,#eee)); background: -webkit-linear-gradient(top, #efefef 0%,#eee 100%); background: -o-linear-gradient(top, #efefef 0%,#eee 100%); background: -ms-linear-gradient(top, #efefef 0%,#eee 100%); background: linear-gradient(top, #efefef 0%,#eee 100%); } div.sharedaddy a.sd-button:active { background-color: #efefef; box-shadow: inset 0 -1px 0 #fff; border-color: #ddd; } a.sd-button > span { padding: 4px 8px; display: block; opacity: .8; line-height: 1.5em; text-shadow: none; }

a.sd-button:hover span { opacity: 1; } .sd-button span.share-count { font-size: 90%; color: #666; margin-left: 5px; } .rtl .sd-button span.share-count { margin-right: 5px; } /* Button Style Options */ .sd-social-icon-text a.sd-button > span, a.sd-button > span { padding: 1px 5px 1px 23px; background-position: 2px center; background-repeat: no-repeat; } .sd-social-icon a.sd-button > span { padding: 3px; width: 16px; height: 16px; text-indent: -9999px; background-position: center center; background-repeat: no-repeat; } .sd-social-text a.sd-button > span { background: none !important; padding-left: 5px } .sd-social-official li { height: 21px; } div.sharedaddy .no-text { width: 21px; height: 21px; } div.sharedaddy .no-text a { text-decoration: none; } div.sharedaddy .no-icon a span, div.sharedaddy li.no-icon div a span { padding-left: 5px; background-image: none; } .rtl .sd-social-icon-text a.sd-button > span, .rtl a.sd-button > span { padding: 3px 23px 3px 5px; background-position: 98% center;

} .rtl .sd-social-text a.sd-button > span { padding-left: 0; padding-right: 5px } .rtl div.sharedaddy .no-icon a span, .rtl div.sharedaddy li.no-icon div a span { padding-left: 0; padding-right: 5px } /* Icons */ li.share-facebook a.sd-button > span { background-image: url(/wp-content/mu-plugins/post-flair/sharing/images/f acebook.png); } li.share-tumblr a.sd-button > span { background-image: url(/wp-content/mu-plugins/post-flair/sharing/images/t umblr.png); } li.share-twitter a.sd-button > span { background-image: url(/wp-content/mu-plugins/post-flair/sharing/images/t witter.png?1); } li.share-linkedin a.sd-button > span { background-image: url(/wp-content/mu-plugins/post-flair/sharing/images/l inkedin.png); } li.share-press-this a.sd-button > span { background-image: url(/wp-content/mu-plugins/post-flair/sharing/images/w ordpress.png); } li.share-digg a.sd-button > span { background-image: url(/wp-content/mu-plugins/post-flair/sharing/images/d igg.png); } li.share-stumbleupon a.sd-button > span { background-image: url(/wp-content/mu-plugins/post-flair/sharing/images/s tumbleupon.png); } li.share-reddit a.sd-button > span { background-image: url(/wp-content/mu-plugins/post-flair/sharing/images/r eddit.png); } li.share-pinterest a.sd-button > span { background-image: url(/wp-content/mu-plugins/post-flair/sharing/images/p interest.png); } li.share-email a.sd-button > span {

background-image: url(/wp-content/mu-plugins/post-flair/sharing/images/e mail.png); } li.share-print a.sd-button > span { background-image: url(/wp-content/mu-plugins/post-flair/sharing/images/p rint.png); } a.sd-button.share-more span { background-image: url(/wp-content/mu-plugins/post-flair/sharing/images/m ore.png); } @media only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (-o-m in-device-pixel-ratio: 3/2), only screen and (-webkit-min-device-pixel-ratio: 1. 5), only screen and (min-device-pixel-ratio: 1.5) { li.share-facebook a.sd-button > span { background-image: url(/wp-content/mu-plugins/post-flair/sharing/ images/facebook@2x.png); background-size: 16px 16px; } li.share-tumblr a.sd-button > span { background-image: url(/wp-content/mu-plugins/post-flair/sharing/ images/tumblr@2x.png); background-size: 16px 16px; } li.share-twitter a.sd-button > span { background-image: url(/wp-content/mu-plugins/post-flair/sharing/ images/twitter@2x.png?1); background-size: 16px 16px; } li.share-linkedin a.sd-button > span { background-image: url(/wp-content/mu-plugins/post-flair/sharing/ images/linkedin@2x.png); background-size: 16px 16px; } li.share-press-this a.sd-button > span { background-image: url(/wp-content/mu-plugins/post-flair/sharing/ images/wordpress@2x.png); background-size: 16px 16px; } li.share-digg a.sd-button > span { background-image: url(/wp-content/mu-plugins/post-flair/sharing/ images/digg@2x.png?1); background-size: 16px 16px; } li.share-stumbleupon a.sd-button > span { background-image: url(/wp-content/mu-plugins/post-flair/sharing/ images/stumbleupon@2x.png); background-size: 16px 16px; }

li.share-reddit a.sd-button > span { background-image: url(/wp-content/mu-plugins/post-flair/sharing/ images/reddit@2x.png); background-size: 16px 16px; } li.share-pinterest a.sd-button > span { background-image: url(/wp-content/mu-plugins/post-flair/sharing/ images/pinterest@2x.png); background-size: 16px 16px; } li.share-email a.sd-button > span { background-image: url(/wp-content/mu-plugins/post-flair/sharing/ images/email@2x.png?1); background-size: 16px 16px; } li.share-print a.sd-button > span { background-image: url(/wp-content/mu-plugins/post-flair/sharing/ images/print@2x.png); background-size: 16px 16px; } a.sd-button.share-more span { background-image: url(/wp-content/mu-plugins/post-flair/sharing/ images/more@2x.png?1); background-size: 16px 16px; } } /* Special case for non-smart implementations of Google+ button */ div.sharedaddy .sd-content ul li.share-google-plus-1 { line-height: 90%; margin-bottom: 2px !important; min-height: 20px; } div.sharedaddy .sd-social-official .sd-content ul li.share-google-plus-1 { padding-top: 0; } /* More pannel */ div.sharedaddy .sharing-hidden .inner { max-width: 250px; padding: 15px 15px 10px; position: absolute; margin-left: -100px; z-index: 1001; background-color: #fff; border: 1px solid #ccc; -moz-border-radius: 3px !important; -webkit-border-radius: 3px !important; border-radius: 3px !important; -moz-box-shadow: 0px 2px 8px #ccc; -webkit-box-shadow: 0px 2px 8px #ccc;

box-shadow: 0px 2px 8px #ccc; -webkit-box-shadow: 0px 2px 8px rgba(0, 0, 0, .2); -moz-box-shadow: 0px 2px 8px rgba(0, 0, 0, .2); box-shadow: 0px 2px 8px rgba(0, 0, 0, .2);

.rtl div.sharedaddy .sharing-hidden .inner { margin-left: 0; margin-right: -100px; } div.sharedaddy.sharedaddy-dark .sharing-hidden .inner { border-color: #222; } /* =Sharing: Email Dialog -------------------------------------------------------------- */ #sharing_email { width: 312px; padding: 15px; position: absolute; margin-left: -120px; z-index: 1001; background-color: #fff; border: 1px solid #ccc; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0px 2px 8px #ccc; -webkit-box-shadow: 0px 2px 8px #ccc; box-shadow: 0px 2px 8px #ccc; -webkit-box-shadow: 0px 2px 8px rgba(0, 0, 0, .2); -moz-box-shadow: 0px 2px 8px rgba(0, 0, 0, .2); box-shadow: 0px 2px 8px rgba(0, 0, 0, .2); text-align: left; } div.sharedaddy.sharedaddy-dark #sharing_email { border-color: #fff; } #sharing_email .errors { color: #fff; background-color: #771a09; font-size: 11px; padding: 5px 8px; line-height: 11px; margin: 10px 0 0 0; } #sharing_email label { font-size: 11px; color: #333; font-weight: bold; display: block; padding: 0 0 4px 0; text-align: left; text-shadow: none; }

#sharing_email input[type="text"] { width: 98.5%; margin-bottom: 12px; border: 1px solid #ccc; background: #fff; color: #333; } #sharing_email .sharing_cancel { padding: 0 0 0 10px; font-size: 11px; text-shadow: none; } #sharing_email .recaptcha { width: 312px; height: 123px; margin: 10px 0 14px 0; } /* =RTL -------------------------------------------------------------- */ body.rtl .sharing ul { float: right; } body.rtl .sharing li { margin: 0 0 0 10px !important; } .rtl #sharing_email { margin-left: -0px; margin-right: -120px; text-align: right } .rtl #sharing_email label { text-align: right } .rtl #sharing_email .sharing_cancel { padding: 0 10px 0 0; } /* Global styles for WordPress.com */ img.latex { border: none; vertical-align: middle; } .video-player { border: 0; margin: auto; padding: 5px; text-align: center; } .wpvidavee_title { font-family: Tahoma,Arial,sans-serif; font-size: 10px; font-weight: bold;

} .wpvidavee_footer { font-family: Tahoma,Arial,sans-serif; font-size: 9px; line-height: 11px; padding: 2px 5px; text-align: right; } .wpvidavee_footer a { text-decoration: none; } .wpvidavee_p { color: red; } .hidden { display: none; } .possibly-related { clear: both; } .screen-reader-text { position: absolute; left: -1000em; } .comment object, .comment embed, .embed-vimeo iframe, .embed-youtube iframe { max-width: 100%; /* avoid videos being too wide */ } /* 2-Column Grid Layout */ .widgets-grid-layout { width: 100%; } .widget-grid-view-image { float: left; max-width: 50%; } .widget-grid-view-image a { display: block; margin: 0 2px 4px 0; } .widget-grid-view-image:image:nth-child(even) { float: right; } .widget-grid-view-image:nth-child(even) a { margin: 0 0 4px 2px; } .widgets-grid-layout .widget-grid-view-image img { max-width: 100%; height: auto;

line-height: 12px; padding: 2px 5px; text-align: left;

} /* Multi-Column Grid Layout */ .widgets-multi-column-grid ul { overflow: hidden; padding: 0; margin: 0; list-style-type: none; } .widgets-multi-column-grid ul li { background: none; clear: none; float: left; margin: 0 -5px -3px 0; padding: 0 8px 6px 0; border: none; list-style-type: none !important; } .widgets-multi-column-grid ul li a { background: none; margin: 0; padding: 0; border: 0; } .widgets-multi-column-grid .avatar { vertical-align: middle; } /* List Layout */ .widgets-list-layout { padding: 0; margin: 0; list-style-type: none; } .widgets-list-layout li:before, .widgets-list-layout li:after { content:""; display:table; } .widgets-list-layout li:after { clear:both; } .widgets-list-layout li { zoom:1; margin-bottom: 1em; list-style-type: none !important; } .widgets-list-layout .widgets-list-layout-blavatar { float: left; width: 21.276596%; max-width: 40px; height: auto; }

.widgets-list-layout-links { float: right; width: 73.404255%; } .widgets-list-layout span { opacity: 0.5; } .widgets-list-layout span:hover { opacity: 0.8; } ------------O3s3W5V3w14LQe7kOhsc0M Content-Disposition: inline; filename=default.js Content-Type: application/x-javascript; charset=UTF-8; name=default.js Content-Location: http://s0.wp.com/_static/??/wp-includes/js/jquery/jquery.js,/w p-content/mu-plugins/widgets/js/widget-bump-view.js?m=1342269540j Content-Transfer-Encoding: Base64 LyohIGpRdWVyeSB2MS43LjIganF1ZXJ5LmNvbSB8IGpxdWVyeS5vcmcvbGljZW5z ZSAqLwooZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjeShhKXtyZXR1cm4gZi5pc1dp bmRvdyhhKT9hOmEubm9kZVR5cGU9PT05P2EuZGVmYXVsdFZpZXd8fGEucGFyZW50 V2luZG93OiExfWZ1bmN0aW9uIGN1KGEpe2lmKCFjalthXSl7dmFyIGI9Yy5ib2R5 LGQ9ZigiPCIrYSsiPiIpLmFwcGVuZFRvKGIpLGU9ZC5jc3MoImRpc3BsYXkiKTtk LnJlbW92ZSgpO2lmKGU9PT0ibm9uZSJ8fGU9PT0iIil7Y2t8fChjaz1jLmNyZWF0 ZUVsZW1lbnQoImlmcmFtZSIpLGNrLmZyYW1lQm9yZGVyPWNrLndpZHRoPWNrLmhl aWdodD0wKSxiLmFwcGVuZENoaWxkKGNrKTtpZighY2x8fCFjay5jcmVhdGVFbGVt ZW50KWNsPShjay5jb250ZW50V2luZG93fHxjay5jb250ZW50RG9jdW1lbnQpLmRv Y3VtZW50LGNsLndyaXRlKChmLnN1cHBvcnQuYm94TW9kZWw/IjwhZG9jdHlwZSBo dG1sPiI6IiIpKyI8aHRtbD48Ym9keT4iKSxjbC5jbG9zZSgpO2Q9Y2wuY3JlYXRl RWxlbWVudChhKSxjbC5ib2R5LmFwcGVuZENoaWxkKGQpLGU9Zi5jc3MoZCwiZGlz cGxheSIpLGIucmVtb3ZlQ2hpbGQoY2spfWNqW2FdPWV9cmV0dXJuIGNqW2FdfWZ1 bmN0aW9uIGN0KGEsYil7dmFyIGM9e307Zi5lYWNoKGNwLmNvbmNhdC5hcHBseShb XSxjcC5zbGljZSgwLGIpKSxmdW5jdGlvbigpe2NbdGhpc109YX0pO3JldHVybiBj fWZ1bmN0aW9uIGNzKCl7Y3E9Yn1mdW5jdGlvbiBjcigpe3NldFRpbWVvdXQoY3Ms MCk7cmV0dXJuIGNxPWYubm93KCl9ZnVuY3Rpb24gY2koKXt0cnl7cmV0dXJuIG5l dyBhLkFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxIVFRQIil9Y2F0Y2goYil7 fX1mdW5jdGlvbiBjaCgpe3RyeXtyZXR1cm4gbmV3IGEuWE1MSHR0cFJlcXVlc3R9 Y2F0Y2goYil7fX1mdW5jdGlvbiBjYihhLGMpe2EuZGF0YUZpbHRlciYmKGM9YS5k YXRhRmlsdGVyKGMsYS5kYXRhVHlwZSkpO3ZhciBkPWEuZGF0YVR5cGVzLGU9e30s ZyxoLGk9ZC5sZW5ndGgsaixrPWRbMF0sbCxtLG4sbyxwO2ZvcihnPTE7ZzxpO2cr Kyl7aWYoZz09PTEpZm9yKGggaW4gYS5jb252ZXJ0ZXJzKXR5cGVvZiBoPT0ic3Ry aW5nIiYmKGVbaC50b0xvd2VyQ2FzZSgpXT1hLmNvbnZlcnRlcnNbaF0pO2w9ayxr PWRbZ107aWYoaz09PSIqIilrPWw7ZWxzZSBpZihsIT09IioiJiZsIT09ayl7bT1s KyIgIitrLG49ZVttXXx8ZVsiKiAiK2tdO2lmKCFuKXtwPWI7Zm9yKG8gaW4gZSl7 aj1vLnNwbGl0KCIgIik7aWYoalswXT09PWx8fGpbMF09PT0iKiIpe3A9ZVtqWzFd KyIgIitrXTtpZihwKXtvPWVbb10sbz09PSEwP249cDpwPT09ITAmJihuPW8pO2Jy ZWFrfX19fSFuJiYhcCYmZi5lcnJvcigiTm8gY29udmVyc2lvbiBmcm9tICIrbS5y ZXBsYWNlKCIgIiwiIHRvICIpKSxuIT09ITAmJihjPW4/bihjKTpwKG8oYykpKX19 cmV0dXJuIGN9ZnVuY3Rpb24gY2EoYSxjLGQpe3ZhciBlPWEuY29udGVudHMsZj1h LmRhdGFUeXBlcyxnPWEucmVzcG9uc2VGaWVsZHMsaCxpLGosaztmb3IoaSBpbiBn KWkgaW4gZCYmKGNbZ1tpXV09ZFtpXSk7d2hpbGUoZlswXT09PSIqIilmLnNoaWZ0 KCksaD09PWImJihoPWEubWltZVR5cGV8fGMuZ2V0UmVzcG9uc2VIZWFkZXIoImNv bnRlbnQtdHlwZSIpKTtpZihoKWZvcihpIGluIGUpaWYoZVtpXSYmZVtpXS50ZXN0 KGgpKXtmLnVuc2hpZnQoaSk7YnJlYWt9aWYoZlswXWluIGQpaj1mWzBdO2Vsc2V7 Zm9yKGkgaW4gZCl7aWYoIWZbMF18fGEuY29udmVydGVyc1tpKyIgIitmWzBdXSl7 aj1pO2JyZWFrfWt8fChrPWkpfWo9anx8a31pZihqKXtqIT09ZlswXSYmZi51bnNo aWZ0KGopO3JldHVybiBkW2pdfX1mdW5jdGlvbiBiXyhhLGIsYyxkKXtpZihmLmlz

QXJyYXkoYikpZi5lYWNoKGIsZnVuY3Rpb24oYixlKXtjfHxiRC50ZXN0KGEpP2Qo YSxlKTpiXyhhKyJbIisodHlwZW9mIGU9PSJvYmplY3QiP2I6IiIpKyJdIixlLGMs ZCl9KTtlbHNlIGlmKCFjJiZmLnR5cGUoYik9PT0ib2JqZWN0Iilmb3IodmFyIGUg aW4gYiliXyhhKyJbIitlKyJdIixiW2VdLGMsZCk7ZWxzZSBkKGEsYil9ZnVuY3Rp b24gYiQoYSxjKXt2YXIgZCxlLGc9Zi5hamF4U2V0dGluZ3MuZmxhdE9wdGlvbnN8 fHt9O2ZvcihkIGluIGMpY1tkXSE9PWImJigoZ1tkXT9hOmV8fChlPXt9KSlbZF09 Y1tkXSk7ZSYmZi5leHRlbmQoITAsYSxlKX1mdW5jdGlvbiBiWihhLGMsZCxlLGYs Zyl7Zj1mfHxjLmRhdGFUeXBlc1swXSxnPWd8fHt9LGdbZl09ITA7dmFyIGg9YVtm XSxpPTAsaj1oP2gubGVuZ3RoOjAsaz1hPT09YlMsbDtmb3IoO2k8aiYmKGt8fCFs KTtpKyspbD1oW2ldKGMsZCxlKSx0eXBlb2YgbD09InN0cmluZyImJigha3x8Z1ts XT9sPWI6KGMuZGF0YVR5cGVzLnVuc2hpZnQobCksbD1iWihhLGMsZCxlLGwsZykp KTsoa3x8IWwpJiYhZ1siKiJdJiYobD1iWihhLGMsZCxlLCIqIixnKSk7cmV0dXJu IGx9ZnVuY3Rpb24gYlkoYSl7cmV0dXJuIGZ1bmN0aW9uKGIsYyl7dHlwZW9mIGIh PSJzdHJpbmciJiYoYz1iLGI9IioiKTtpZihmLmlzRnVuY3Rpb24oYykpe3ZhciBk PWIudG9Mb3dlckNhc2UoKS5zcGxpdChiTyksZT0wLGc9ZC5sZW5ndGgsaCxpLGo7 Zm9yKDtlPGc7ZSsrKWg9ZFtlXSxqPS9eXCsvLnRlc3QoaCksaiYmKGg9aC5zdWJz dHIoMSl8fCIqIiksaT1hW2hdPWFbaF18fFtdLGlbaj8idW5zaGlmdCI6InB1c2gi XShjKX19fWZ1bmN0aW9uIGJCKGEsYixjKXt2YXIgZD1iPT09IndpZHRoIj9hLm9m ZnNldFdpZHRoOmEub2Zmc2V0SGVpZ2h0LGU9Yj09PSJ3aWR0aCI/MTowLGc9NDtp ZihkPjApe2lmKGMhPT0iYm9yZGVyIilmb3IoO2U8ZztlKz0yKWN8fChkLT1wYXJz ZUZsb2F0KGYuY3NzKGEsInBhZGRpbmciK2J4W2VdKSl8fDApLGM9PT0ibWFyZ2lu Ij9kKz1wYXJzZUZsb2F0KGYuY3NzKGEsYytieFtlXSkpfHwwOmQtPXBhcnNlRmxv YXQoZi5jc3MoYSwiYm9yZGVyIitieFtlXSsiV2lkdGgiKSl8fDA7cmV0dXJuIGQr InB4In1kPWJ5KGEsYik7aWYoZDwwfHxkPT1udWxsKWQ9YS5zdHlsZVtiXTtpZihi dC50ZXN0KGQpKXJldHVybiBkO2Q9cGFyc2VGbG9hdChkKXx8MDtpZihjKWZvcig7 ZTxnO2UrPTIpZCs9cGFyc2VGbG9hdChmLmNzcyhhLCJwYWRkaW5nIitieFtlXSkp fHwwLGMhPT0icGFkZGluZyImJihkKz1wYXJzZUZsb2F0KGYuY3NzKGEsImJvcmRl ciIrYnhbZV0rIldpZHRoIikpfHwwKSxjPT09Im1hcmdpbiImJihkKz1wYXJzZUZs b2F0KGYuY3NzKGEsYytieFtlXSkpfHwwKTtyZXR1cm4gZCsicHgifWZ1bmN0aW9u IGJvKGEpe3ZhciBiPWMuY3JlYXRlRWxlbWVudCgiZGl2Iik7YmguYXBwZW5kQ2hp bGQoYiksYi5pbm5lckhUTUw9YS5vdXRlckhUTUw7cmV0dXJuIGIuZmlyc3RDaGls ZH1mdW5jdGlvbiBibihhKXt2YXIgYj0oYS5ub2RlTmFtZXx8IiIpLnRvTG93ZXJD YXNlKCk7Yj09PSJpbnB1dCI/Ym0oYSk6YiE9PSJzY3JpcHQiJiZ0eXBlb2YgYS5n ZXRFbGVtZW50c0J5VGFnTmFtZSE9InVuZGVmaW5lZCImJmYuZ3JlcChhLmdldEVs ZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpLGJtKX1mdW5jdGlvbiBibShhKXtpZihh LnR5cGU9PT0iY2hlY2tib3gifHxhLnR5cGU9PT0icmFkaW8iKWEuZGVmYXVsdENo ZWNrZWQ9YS5jaGVja2VkfWZ1bmN0aW9uIGJsKGEpe3JldHVybiB0eXBlb2YgYS5n ZXRFbGVtZW50c0J5VGFnTmFtZSE9InVuZGVmaW5lZCI/YS5nZXRFbGVtZW50c0J5 VGFnTmFtZSgiKiIpOnR5cGVvZiBhLnF1ZXJ5U2VsZWN0b3JBbGwhPSJ1bmRlZmlu ZWQiP2EucXVlcnlTZWxlY3RvckFsbCgiKiIpOltdfWZ1bmN0aW9uIGJrKGEsYil7 dmFyIGM7Yi5ub2RlVHlwZT09PTEmJihiLmNsZWFyQXR0cmlidXRlcyYmYi5jbGVh ckF0dHJpYnV0ZXMoKSxiLm1lcmdlQXR0cmlidXRlcyYmYi5tZXJnZUF0dHJpYnV0 ZXMoYSksYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksYz09PSJvYmplY3QiP2Iu b3V0ZXJIVE1MPWEub3V0ZXJIVE1MOmMhPT0iaW5wdXQifHxhLnR5cGUhPT0iY2hl Y2tib3giJiZhLnR5cGUhPT0icmFkaW8iP2M9PT0ib3B0aW9uIj9iLnNlbGVjdGVk PWEuZGVmYXVsdFNlbGVjdGVkOmM9PT0iaW5wdXQifHxjPT09InRleHRhcmVhIj9i LmRlZmF1bHRWYWx1ZT1hLmRlZmF1bHRWYWx1ZTpjPT09InNjcmlwdCImJmIudGV4 dCE9PWEudGV4dCYmKGIudGV4dD1hLnRleHQpOihhLmNoZWNrZWQmJihiLmRlZmF1 bHRDaGVja2VkPWIuY2hlY2tlZD1hLmNoZWNrZWQpLGIudmFsdWUhPT1hLnZhbHVl JiYoYi52YWx1ZT1hLnZhbHVlKSksYi5yZW1vdmVBdHRyaWJ1dGUoZi5leHBhbmRv KSxiLnJlbW92ZUF0dHJpYnV0ZSgiX3N1Ym1pdF9hdHRhY2hlZCIpLGIucmVtb3Zl QXR0cmlidXRlKCJfY2hhbmdlX2F0dGFjaGVkIikpfWZ1bmN0aW9uIGJqKGEsYil7 aWYoYi5ub2RlVHlwZT09PTEmJiEhZi5oYXNEYXRhKGEpKXt2YXIgYyxkLGUsZz1m Ll9kYXRhKGEpLGg9Zi5fZGF0YShiLGcpLGk9Zy5ldmVudHM7aWYoaSl7ZGVsZXRl IGguaGFuZGxlLGguZXZlbnRzPXt9O2ZvcihjIGluIGkpZm9yKGQ9MCxlPWlbY10u bGVuZ3RoO2Q8ZTtkKyspZi5ldmVudC5hZGQoYixjLGlbY11bZF0pfWguZGF0YSYm KGguZGF0YT1mLmV4dGVuZCh7fSxoLmRhdGEpKX19ZnVuY3Rpb24gYmkoYSxiKXty ZXR1cm4gZi5ub2RlTmFtZShhLCJ0YWJsZSIpP2EuZ2V0RWxlbWVudHNCeVRhZ05h bWUoInRib2R5IilbMF18fGEuYXBwZW5kQ2hpbGQoYS5vd25lckRvY3VtZW50LmNy ZWF0ZUVsZW1lbnQoInRib2R5IikpOmF9ZnVuY3Rpb24gVShhKXt2YXIgYj1WLnNw

bGl0KCJ8IiksYz1hLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtpZihjLmNyZWF0 ZUVsZW1lbnQpd2hpbGUoYi5sZW5ndGgpYy5jcmVhdGVFbGVtZW50KGIucG9wKCkp O3JldHVybiBjfWZ1bmN0aW9uIFQoYSxiLGMpe2I9Ynx8MDtpZihmLmlzRnVuY3Rp b24oYikpcmV0dXJuIGYuZ3JlcChhLGZ1bmN0aW9uKGEsZCl7dmFyIGU9ISFiLmNh bGwoYSxkLGEpO3JldHVybiBlPT09Y30pO2lmKGIubm9kZVR5cGUpcmV0dXJuIGYu Z3JlcChhLGZ1bmN0aW9uKGEsZCl7cmV0dXJuIGE9PT1iPT09Y30pO2lmKHR5cGVv ZiBiPT0ic3RyaW5nIil7dmFyIGQ9Zi5ncmVwKGEsZnVuY3Rpb24oYSl7cmV0dXJu IGEubm9kZVR5cGU9PT0xfSk7aWYoTy50ZXN0KGIpKXJldHVybiBmLmZpbHRlcihi LGQsIWMpO2I9Zi5maWx0ZXIoYixkKX1yZXR1cm4gZi5ncmVwKGEsZnVuY3Rpb24o YSxkKXtyZXR1cm4gZi5pbkFycmF5KGEsYik+PTA9PT1jfSl9ZnVuY3Rpb24gUyhh KXtyZXR1cm4hYXx8IWEucGFyZW50Tm9kZXx8YS5wYXJlbnROb2RlLm5vZGVUeXBl PT09MTF9ZnVuY3Rpb24gSygpe3JldHVybiEwfWZ1bmN0aW9uIEooKXtyZXR1cm4h MX1mdW5jdGlvbiBuKGEsYixjKXt2YXIgZD1iKyJkZWZlciIsZT1iKyJxdWV1ZSIs Zz1iKyJtYXJrIixoPWYuX2RhdGEoYSxkKTtoJiYoYz09PSJxdWV1ZSJ8fCFmLl9k YXRhKGEsZSkpJiYoYz09PSJtYXJrInx8IWYuX2RhdGEoYSxnKSkmJnNldFRpbWVv dXQoZnVuY3Rpb24oKXshZi5fZGF0YShhLGUpJiYhZi5fZGF0YShhLGcpJiYoZi5y ZW1vdmVEYXRhKGEsZCwhMCksaC5maXJlKCkpfSwwKX1mdW5jdGlvbiBtKGEpe2Zv cih2YXIgYiBpbiBhKXtpZihiPT09ImRhdGEiJiZmLmlzRW1wdHlPYmplY3QoYVti XSkpY29udGludWU7aWYoYiE9PSJ0b0pTT04iKXJldHVybiExfXJldHVybiEwfWZ1 bmN0aW9uIGwoYSxjLGQpe2lmKGQ9PT1iJiZhLm5vZGVUeXBlPT09MSl7dmFyIGU9 ImRhdGEtIitjLnJlcGxhY2UoaywiLSQxIikudG9Mb3dlckNhc2UoKTtkPWEuZ2V0 QXR0cmlidXRlKGUpO2lmKHR5cGVvZiBkPT0ic3RyaW5nIil7dHJ5e2Q9ZD09PSJ0 cnVlIj8hMDpkPT09ImZhbHNlIj8hMTpkPT09Im51bGwiP251bGw6Zi5pc051bWVy aWMoZCk/K2Q6ai50ZXN0KGQpP2YucGFyc2VKU09OKGQpOmR9Y2F0Y2goZyl7fWYu ZGF0YShhLGMsZCl9ZWxzZSBkPWJ9cmV0dXJuIGR9ZnVuY3Rpb24gaChhKXt2YXIg Yj1nW2FdPXt9LGMsZDthPWEuc3BsaXQoL1xzKy8pO2ZvcihjPTAsZD1hLmxlbmd0 aDtjPGQ7YysrKWJbYVtjXV09ITA7cmV0dXJuIGJ9dmFyIGM9YS5kb2N1bWVudCxk PWEubmF2aWdhdG9yLGU9YS5sb2NhdGlvbixmPWZ1bmN0aW9uKCl7ZnVuY3Rpb24g Sigpe2lmKCFlLmlzUmVhZHkpe3RyeXtjLmRvY3VtZW50RWxlbWVudC5kb1Njcm9s bCgibGVmdCIpfWNhdGNoKGEpe3NldFRpbWVvdXQoSiwxKTtyZXR1cm59ZS5yZWFk eSgpfX12YXIgZT1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgZS5mbi5pbml0KGEs YixoKX0sZj1hLmpRdWVyeSxnPWEuJCxoLGk9L14oPzpbXiM8XSooPFtcd1xXXSs+ KVtePl0qJHwjKFtcd1wtXSopJCkvLGo9L1xTLyxrPS9eXHMrLyxsPS9ccyskLyxt PS9ePChcdyspXHMqXC8/Pig/OjxcL1wxPik/JC8sbj0vXltcXSw6e31cc10qJC8s bz0vXFwoPzpbIlxcXC9iZm5ydF18dVswLTlhLWZBLUZdezR9KS9nLHA9LyJbXiJc XFxuXHJdKiJ8dHJ1ZXxmYWxzZXxudWxsfC0/XGQrKD86XC5cZCopPyg/OltlRV1b K1wtXT9cZCspPy9nLHE9Lyg/Ol58OnwsKSg/OlxzKlxbKSsvZyxyPS8od2Via2l0 KVsgXC9dKFtcdy5dKykvLHM9LyhvcGVyYSkoPzouKnZlcnNpb24pP1sgXC9dKFtc dy5dKykvLHQ9Lyhtc2llKSAoW1x3Ll0rKS8sdT0vKG1vemlsbGEpKD86Lio/IHJ2 OihbXHcuXSspKT8vLHY9Ly0oW2Etel18WzAtOV0pL2lnLHc9L14tbXMtLyx4PWZ1 bmN0aW9uKGEsYil7cmV0dXJuKGIrIiIpLnRvVXBwZXJDYXNlKCl9LHk9ZC51c2Vy QWdlbnQseixBLEIsQz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLEQ9T2JqZWN0 LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxFPUFycmF5LnByb3RvdHlwZS5wdXNo LEY9QXJyYXkucHJvdG90eXBlLnNsaWNlLEc9U3RyaW5nLnByb3RvdHlwZS50cmlt LEg9QXJyYXkucHJvdG90eXBlLmluZGV4T2YsST17fTtlLmZuPWUucHJvdG90eXBl PXtjb25zdHJ1Y3RvcjplLGluaXQ6ZnVuY3Rpb24oYSxkLGYpe3ZhciBnLGgsaixr O2lmKCFhKXJldHVybiB0aGlzO2lmKGEubm9kZVR5cGUpe3RoaXMuY29udGV4dD10 aGlzWzBdPWEsdGhpcy5sZW5ndGg9MTtyZXR1cm4gdGhpc31pZihhPT09ImJvZHki JiYhZCYmYy5ib2R5KXt0aGlzLmNvbnRleHQ9Yyx0aGlzWzBdPWMuYm9keSx0aGlz LnNlbGVjdG9yPWEsdGhpcy5sZW5ndGg9MTtyZXR1cm4gdGhpc31pZih0eXBlb2Yg YT09InN0cmluZyIpe2EuY2hhckF0KDApIT09IjwifHxhLmNoYXJBdChhLmxlbmd0 aC0xKSE9PSI+Inx8YS5sZW5ndGg8Mz9nPWkuZXhlYyhhKTpnPVtudWxsLGEsbnVs bF07aWYoZyYmKGdbMV18fCFkKSl7aWYoZ1sxXSl7ZD1kIGluc3RhbmNlb2YgZT9k WzBdOmQsaz1kP2Qub3duZXJEb2N1bWVudHx8ZDpjLGo9bS5leGVjKGEpLGo/ZS5p c1BsYWluT2JqZWN0KGQpPyhhPVtjLmNyZWF0ZUVsZW1lbnQoalsxXSldLGUuZm4u YXR0ci5jYWxsKGEsZCwhMCkpOmE9W2suY3JlYXRlRWxlbWVudChqWzFdKV06KGo9 ZS5idWlsZEZyYWdtZW50KFtnWzFdXSxba10pLGE9KGouY2FjaGVhYmxlP2UuY2xv bmUoai5mcmFnbWVudCk6ai5mcmFnbWVudCkuY2hpbGROb2Rlcyk7cmV0dXJuIGUu bWVyZ2UodGhpcyxhKX1oPWMuZ2V0RWxlbWVudEJ5SWQoZ1syXSk7aWYoaCYmaC5w YXJlbnROb2RlKXtpZihoLmlkIT09Z1syXSlyZXR1cm4gZi5maW5kKGEpO3RoaXMu

bGVuZ3RoPTEsdGhpc1swXT1ofXRoaXMuY29udGV4dD1jLHRoaXMuc2VsZWN0b3I9 YTtyZXR1cm4gdGhpc31yZXR1cm4hZHx8ZC5qcXVlcnk/KGR8fGYpLmZpbmQoYSk6 dGhpcy5jb25zdHJ1Y3RvcihkKS5maW5kKGEpfWlmKGUuaXNGdW5jdGlvbihhKSly ZXR1cm4gZi5yZWFkeShhKTthLnNlbGVjdG9yIT09YiYmKHRoaXMuc2VsZWN0b3I9 YS5zZWxlY3Rvcix0aGlzLmNvbnRleHQ9YS5jb250ZXh0KTtyZXR1cm4gZS5tYWtl QXJyYXkoYSx0aGlzKX0sc2VsZWN0b3I6IiIsanF1ZXJ5OiIxLjcuMiIsbGVuZ3Ro OjAsc2l6ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmxlbmd0aH0sdG9BcnJheTpm dW5jdGlvbigpe3JldHVybiBGLmNhbGwodGhpcywwKX0sZ2V0OmZ1bmN0aW9uKGEp e3JldHVybiBhPT1udWxsP3RoaXMudG9BcnJheSgpOmE8MD90aGlzW3RoaXMubGVu Z3RoK2FdOnRoaXNbYV19LHB1c2hTdGFjazpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9 dGhpcy5jb25zdHJ1Y3RvcigpO2UuaXNBcnJheShhKT9FLmFwcGx5KGQsYSk6ZS5t ZXJnZShkLGEpLGQucHJldk9iamVjdD10aGlzLGQuY29udGV4dD10aGlzLmNvbnRl eHQsYj09PSJmaW5kIj9kLnNlbGVjdG9yPXRoaXMuc2VsZWN0b3IrKHRoaXMuc2Vs ZWN0b3I/IiAiOiIiKStjOmImJihkLnNlbGVjdG9yPXRoaXMuc2VsZWN0b3IrIi4i K2IrIigiK2MrIikiKTtyZXR1cm4gZH0sZWFjaDpmdW5jdGlvbihhLGIpe3JldHVy biBlLmVhY2godGhpcyxhLGIpfSxyZWFkeTpmdW5jdGlvbihhKXtlLmJpbmRSZWFk eSgpLEEuYWRkKGEpO3JldHVybiB0aGlzfSxlcTpmdW5jdGlvbihhKXthPSthO3Jl dHVybiBhPT09LTE/dGhpcy5zbGljZShhKTp0aGlzLnNsaWNlKGEsYSsxKX0sZmly c3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgwKX0sbGFzdDpmdW5jdGlvbigp e3JldHVybiB0aGlzLmVxKC0xKX0sc2xpY2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhp cy5wdXNoU3RhY2soRi5hcHBseSh0aGlzLGFyZ3VtZW50cyksInNsaWNlIixGLmNh bGwoYXJndW1lbnRzKS5qb2luKCIsIikpfSxtYXA6ZnVuY3Rpb24oYSl7cmV0dXJu IHRoaXMucHVzaFN0YWNrKGUubWFwKHRoaXMsZnVuY3Rpb24oYixjKXtyZXR1cm4g YS5jYWxsKGIsYyxiKX0pKX0sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJl dk9iamVjdHx8dGhpcy5jb25zdHJ1Y3RvcihudWxsKX0scHVzaDpFLHNvcnQ6W10u c29ydCxzcGxpY2U6W10uc3BsaWNlfSxlLmZuLmluaXQucHJvdG90eXBlPWUuZm4s ZS5leHRlbmQ9ZS5mbi5leHRlbmQ9ZnVuY3Rpb24oKXt2YXIgYSxjLGQsZixnLGgs aT1hcmd1bWVudHNbMF18fHt9LGo9MSxrPWFyZ3VtZW50cy5sZW5ndGgsbD0hMTt0 eXBlb2YgaT09ImJvb2xlYW4iJiYobD1pLGk9YXJndW1lbnRzWzFdfHx7fSxqPTIp LHR5cGVvZiBpIT0ib2JqZWN0IiYmIWUuaXNGdW5jdGlvbihpKSYmKGk9e30pLGs9 PT1qJiYoaT10aGlzLC0taik7Zm9yKDtqPGs7aisrKWlmKChhPWFyZ3VtZW50c1tq XSkhPW51bGwpZm9yKGMgaW4gYSl7ZD1pW2NdLGY9YVtjXTtpZihpPT09Ziljb250 aW51ZTtsJiZmJiYoZS5pc1BsYWluT2JqZWN0KGYpfHwoZz1lLmlzQXJyYXkoZikp KT8oZz8oZz0hMSxoPWQmJmUuaXNBcnJheShkKT9kOltdKTpoPWQmJmUuaXNQbGFp bk9iamVjdChkKT9kOnt9LGlbY109ZS5leHRlbmQobCxoLGYpKTpmIT09YiYmKGlb Y109Zil9cmV0dXJuIGl9LGUuZXh0ZW5kKHtub0NvbmZsaWN0OmZ1bmN0aW9uKGIp e2EuJD09PWUmJihhLiQ9ZyksYiYmYS5qUXVlcnk9PT1lJiYoYS5qUXVlcnk9Zik7 cmV0dXJuIGV9LGlzUmVhZHk6ITEscmVhZHlXYWl0OjEsaG9sZFJlYWR5OmZ1bmN0 aW9uKGEpe2E/ZS5yZWFkeVdhaXQrKzplLnJlYWR5KCEwKX0scmVhZHk6ZnVuY3Rp b24oYSl7aWYoYT09PSEwJiYhLS1lLnJlYWR5V2FpdHx8YSE9PSEwJiYhZS5pc1Jl YWR5KXtpZighYy5ib2R5KXJldHVybiBzZXRUaW1lb3V0KGUucmVhZHksMSk7ZS5p c1JlYWR5PSEwO2lmKGEhPT0hMCYmLS1lLnJlYWR5V2FpdD4wKXJldHVybjtBLmZp cmVXaXRoKGMsW2VdKSxlLmZuLnRyaWdnZXImJmUoYykudHJpZ2dlcigicmVhZHki KS5vZmYoInJlYWR5Iil9fSxiaW5kUmVhZHk6ZnVuY3Rpb24oKXtpZighQSl7QT1l LkNhbGxiYWNrcygib25jZSBtZW1vcnkiKTtpZihjLnJlYWR5U3RhdGU9PT0iY29t cGxldGUiKXJldHVybiBzZXRUaW1lb3V0KGUucmVhZHksMSk7aWYoYy5hZGRFdmVu dExpc3RlbmVyKWMuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIs QiwhMSksYS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixlLnJlYWR5LCExKTtlbHNl IGlmKGMuYXR0YWNoRXZlbnQpe2MuYXR0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNo YW5nZSIsQiksYS5hdHRhY2hFdmVudCgib25sb2FkIixlLnJlYWR5KTt2YXIgYj0h MTt0cnl7Yj1hLmZyYW1lRWxlbWVudD09bnVsbH1jYXRjaChkKXt9Yy5kb2N1bWVu dEVsZW1lbnQuZG9TY3JvbGwmJmImJkooKX19fSxpc0Z1bmN0aW9uOmZ1bmN0aW9u KGEpe3JldHVybiBlLnR5cGUoYSk9PT0iZnVuY3Rpb24ifSxpc0FycmF5OkFycmF5 LmlzQXJyYXl8fGZ1bmN0aW9uKGEpe3JldHVybiBlLnR5cGUoYSk9PT0iYXJyYXki fSxpc1dpbmRvdzpmdW5jdGlvbihhKXtyZXR1cm4gYSE9bnVsbCYmYT09YS53aW5k b3d9LGlzTnVtZXJpYzpmdW5jdGlvbihhKXtyZXR1cm4haXNOYU4ocGFyc2VGbG9h dChhKSkmJmlzRmluaXRlKGEpfSx0eXBlOmZ1bmN0aW9uKGEpe3JldHVybiBhPT1u dWxsP1N0cmluZyhhKTpJW0MuY2FsbChhKV18fCJvYmplY3QifSxpc1BsYWluT2Jq ZWN0OmZ1bmN0aW9uKGEpe2lmKCFhfHxlLnR5cGUoYSkhPT0ib2JqZWN0Inx8YS5u b2RlVHlwZXx8ZS5pc1dpbmRvdyhhKSlyZXR1cm4hMTt0cnl7aWYoYS5jb25zdHJ1

Y3RvciYmIUQuY2FsbChhLCJjb25zdHJ1Y3RvciIpJiYhRC5jYWxsKGEuY29uc3Ry dWN0b3IucHJvdG90eXBlLCJpc1Byb3RvdHlwZU9mIikpcmV0dXJuITF9Y2F0Y2go Yyl7cmV0dXJuITF9dmFyIGQ7Zm9yKGQgaW4gYSk7cmV0dXJuIGQ9PT1ifHxELmNh bGwoYSxkKX0saXNFbXB0eU9iamVjdDpmdW5jdGlvbihhKXtmb3IodmFyIGIgaW4g YSlyZXR1cm4hMTtyZXR1cm4hMH0sZXJyb3I6ZnVuY3Rpb24oYSl7dGhyb3cgbmV3 IEVycm9yKGEpfSxwYXJzZUpTT046ZnVuY3Rpb24oYil7aWYodHlwZW9mIGIhPSJz dHJpbmcifHwhYilyZXR1cm4gbnVsbDtiPWUudHJpbShiKTtpZihhLkpTT04mJmEu SlNPTi5wYXJzZSlyZXR1cm4gYS5KU09OLnBhcnNlKGIpO2lmKG4udGVzdChiLnJl cGxhY2UobywiQCIpLnJlcGxhY2UocCwiXSIpLnJlcGxhY2UocSwiIikpKXJldHVy bihuZXcgRnVuY3Rpb24oInJldHVybiAiK2IpKSgpO2UuZXJyb3IoIkludmFsaWQg SlNPTjogIitiKX0scGFyc2VYTUw6ZnVuY3Rpb24oYyl7aWYodHlwZW9mIGMhPSJz dHJpbmcifHwhYylyZXR1cm4gbnVsbDt2YXIgZCxmO3RyeXthLkRPTVBhcnNlcj8o Zj1uZXcgRE9NUGFyc2VyLGQ9Zi5wYXJzZUZyb21TdHJpbmcoYywidGV4dC94bWwi KSk6KGQ9bmV3IEFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxET00iKSxkLmFz eW5jPSJmYWxzZSIsZC5sb2FkWE1MKGMpKX1jYXRjaChnKXtkPWJ9KCFkfHwhZC5k b2N1bWVudEVsZW1lbnR8fGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInBhcnNlcmVy cm9yIikubGVuZ3RoKSYmZS5lcnJvcigiSW52YWxpZCBYTUw6ICIrYyk7cmV0dXJu IGR9LG5vb3A6ZnVuY3Rpb24oKXt9LGdsb2JhbEV2YWw6ZnVuY3Rpb24oYil7YiYm ai50ZXN0KGIpJiYoYS5leGVjU2NyaXB0fHxmdW5jdGlvbihiKXthLmV2YWwuY2Fs bChhLGIpfSkoYil9LGNhbWVsQ2FzZTpmdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBs YWNlKHcsIm1zLSIpLnJlcGxhY2Uodix4KX0sbm9kZU5hbWU6ZnVuY3Rpb24oYSxi KXtyZXR1cm4gYS5ub2RlTmFtZSYmYS5ub2RlTmFtZS50b1VwcGVyQ2FzZSgpPT09 Yi50b1VwcGVyQ2FzZSgpfSxlYWNoOmZ1bmN0aW9uKGEsYyxkKXt2YXIgZixnPTAs aD1hLmxlbmd0aCxpPWg9PT1ifHxlLmlzRnVuY3Rpb24oYSk7aWYoZCl7aWYoaSl7 Zm9yKGYgaW4gYSlpZihjLmFwcGx5KGFbZl0sZCk9PT0hMSlicmVha31lbHNlIGZv cig7ZzxoOylpZihjLmFwcGx5KGFbZysrXSxkKT09PSExKWJyZWFrfWVsc2UgaWYo aSl7Zm9yKGYgaW4gYSlpZihjLmNhbGwoYVtmXSxmLGFbZl0pPT09ITEpYnJlYWt9 ZWxzZSBmb3IoO2c8aDspaWYoYy5jYWxsKGFbZ10sZyxhW2crK10pPT09ITEpYnJl YWs7cmV0dXJuIGF9LHRyaW06Rz9mdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbD8i IjpHLmNhbGwoYSl9OmZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsPyIiOihhKyIi KS5yZXBsYWNlKGssIiIpLnJlcGxhY2UobCwiIil9LG1ha2VBcnJheTpmdW5jdGlv bihhLGIpe3ZhciBjPWJ8fFtdO2lmKGEhPW51bGwpe3ZhciBkPWUudHlwZShhKTth Lmxlbmd0aD09bnVsbHx8ZD09PSJzdHJpbmcifHxkPT09ImZ1bmN0aW9uInx8ZD09 PSJyZWdleHAifHxlLmlzV2luZG93KGEpP0UuY2FsbChjLGEpOmUubWVyZ2UoYyxh KX1yZXR1cm4gY30saW5BcnJheTpmdW5jdGlvbihhLGIsYyl7dmFyIGQ7aWYoYil7 aWYoSClyZXR1cm4gSC5jYWxsKGIsYSxjKTtkPWIubGVuZ3RoLGM9Yz9jPDA/TWF0 aC5tYXgoMCxkK2MpOmM6MDtmb3IoO2M8ZDtjKyspaWYoYyBpbiBiJiZiW2NdPT09 YSlyZXR1cm4gY31yZXR1cm4tMX0sbWVyZ2U6ZnVuY3Rpb24oYSxjKXt2YXIgZD1h Lmxlbmd0aCxlPTA7aWYodHlwZW9mIGMubGVuZ3RoPT0ibnVtYmVyIilmb3IodmFy IGY9Yy5sZW5ndGg7ZTxmO2UrKylhW2QrK109Y1tlXTtlbHNlIHdoaWxlKGNbZV0h PT1iKWFbZCsrXT1jW2UrK107YS5sZW5ndGg9ZDtyZXR1cm4gYX0sZ3JlcDpmdW5j dGlvbihhLGIsYyl7dmFyIGQ9W10sZTtjPSEhYztmb3IodmFyIGY9MCxnPWEubGVu Z3RoO2Y8ZztmKyspZT0hIWIoYVtmXSxmKSxjIT09ZSYmZC5wdXNoKGFbZl0pO3Jl dHVybiBkfSxtYXA6ZnVuY3Rpb24oYSxjLGQpe3ZhciBmLGcsaD1bXSxpPTAsaj1h Lmxlbmd0aCxrPWEgaW5zdGFuY2VvZiBlfHxqIT09YiYmdHlwZW9mIGo9PSJudW1i ZXIiJiYoaj4wJiZhWzBdJiZhW2otMV18fGo9PT0wfHxlLmlzQXJyYXkoYSkpO2lm KGspZm9yKDtpPGo7aSsrKWY9YyhhW2ldLGksZCksZiE9bnVsbCYmKGhbaC5sZW5n dGhdPWYpO2Vsc2UgZm9yKGcgaW4gYSlmPWMoYVtnXSxnLGQpLGYhPW51bGwmJiho W2gubGVuZ3RoXT1mKTtyZXR1cm4gaC5jb25jYXQuYXBwbHkoW10saCl9LGd1aWQ6 MSxwcm94eTpmdW5jdGlvbihhLGMpe2lmKHR5cGVvZiBjPT0ic3RyaW5nIil7dmFy IGQ9YVtjXTtjPWEsYT1kfWlmKCFlLmlzRnVuY3Rpb24oYSkpcmV0dXJuIGI7dmFy IGY9Ri5jYWxsKGFyZ3VtZW50cywyKSxnPWZ1bmN0aW9uKCl7cmV0dXJuIGEuYXBw bHkoYyxmLmNvbmNhdChGLmNhbGwoYXJndW1lbnRzKSkpfTtnLmd1aWQ9YS5ndWlk PWEuZ3VpZHx8Zy5ndWlkfHxlLmd1aWQrKztyZXR1cm4gZ30sYWNjZXNzOmZ1bmN0 aW9uKGEsYyxkLGYsZyxoLGkpe3ZhciBqLGs9ZD09bnVsbCxsPTAsbT1hLmxlbmd0 aDtpZihkJiZ0eXBlb2YgZD09Im9iamVjdCIpe2ZvcihsIGluIGQpZS5hY2Nlc3Mo YSxjLGwsZFtsXSwxLGgsZik7Zz0xfWVsc2UgaWYoZiE9PWIpe2o9aT09PWImJmUu aXNGdW5jdGlvbihmKSxrJiYoaj8oaj1jLGM9ZnVuY3Rpb24oYSxiLGMpe3JldHVy biBqLmNhbGwoZShhKSxjKX0pOihjLmNhbGwoYSxmKSxjPW51bGwpKTtpZihjKWZv cig7bDxtO2wrKyljKGFbbF0sZCxqP2YuY2FsbChhW2xdLGwsYyhhW2xdLGQpKTpm

LGkpO2c9MX1yZXR1cm4gZz9hOms/Yy5jYWxsKGEpOm0/YyhhWzBdLGQpOmh9LG5v dzpmdW5jdGlvbigpe3JldHVybihuZXcgRGF0ZSkuZ2V0VGltZSgpfSx1YU1hdGNo OmZ1bmN0aW9uKGEpe2E9YS50b0xvd2VyQ2FzZSgpO3ZhciBiPXIuZXhlYyhhKXx8 cy5leGVjKGEpfHx0LmV4ZWMoYSl8fGEuaW5kZXhPZigiY29tcGF0aWJsZSIpPDAm JnUuZXhlYyhhKXx8W107cmV0dXJue2Jyb3dzZXI6YlsxXXx8IiIsdmVyc2lvbjpi WzJdfHwiMCJ9fSxzdWI6ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGIsYyl7cmV0dXJu IG5ldyBhLmZuLmluaXQoYixjKX1lLmV4dGVuZCghMCxhLHRoaXMpLGEuc3VwZXJj bGFzcz10aGlzLGEuZm49YS5wcm90b3R5cGU9dGhpcygpLGEuZm4uY29uc3RydWN0 b3I9YSxhLnN1Yj10aGlzLnN1YixhLmZuLmluaXQ9ZnVuY3Rpb24oZCxmKXtmJiZm IGluc3RhbmNlb2YgZSYmIShmIGluc3RhbmNlb2YgYSkmJihmPWEoZikpO3JldHVy biBlLmZuLmluaXQuY2FsbCh0aGlzLGQsZixiKX0sYS5mbi5pbml0LnByb3RvdHlw ZT1hLmZuO3ZhciBiPWEoYyk7cmV0dXJuIGF9LGJyb3dzZXI6e319KSxlLmVhY2go IkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4 cCBPYmplY3QiLnNwbGl0KCIgIiksZnVuY3Rpb24oYSxiKXtJWyJbb2JqZWN0ICIr YisiXSJdPWIudG9Mb3dlckNhc2UoKX0pLHo9ZS51YU1hdGNoKHkpLHouYnJvd3Nl ciYmKGUuYnJvd3Nlclt6LmJyb3dzZXJdPSEwLGUuYnJvd3Nlci52ZXJzaW9uPXou dmVyc2lvbiksZS5icm93c2VyLndlYmtpdCYmKGUuYnJvd3Nlci5zYWZhcmk9ITAp LGoudGVzdCgiICIpJiYoaz0vXltcc1x4QTBdKy8sbD0vW1xzXHhBMF0rJC8pLGg9 ZShjKSxjLmFkZEV2ZW50TGlzdGVuZXI/Qj1mdW5jdGlvbigpe2MucmVtb3ZlRXZl bnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsQiwhMSksZS5yZWFkeSgpfTpj LmF0dGFjaEV2ZW50JiYoQj1mdW5jdGlvbigpe2MucmVhZHlTdGF0ZT09PSJjb21w bGV0ZSImJihjLmRldGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLEIpLGUu cmVhZHkoKSl9KTtyZXR1cm4gZX0oKSxnPXt9O2YuQ2FsbGJhY2tzPWZ1bmN0aW9u KGEpe2E9YT9nW2FdfHxoKGEpOnt9O3ZhciBjPVtdLGQ9W10sZSxpLGosayxsLG0s bj1mdW5jdGlvbihiKXt2YXIgZCxlLGcsaCxpO2ZvcihkPTAsZT1iLmxlbmd0aDtk PGU7ZCsrKWc9YltkXSxoPWYudHlwZShnKSxoPT09ImFycmF5Ij9uKGcpOmg9PT0i ZnVuY3Rpb24iJiYoIWEudW5pcXVlfHwhcC5oYXMoZykpJiZjLnB1c2goZyl9LG89 ZnVuY3Rpb24oYixmKXtmPWZ8fFtdLGU9IWEubWVtb3J5fHxbYixmXSxpPSEwLGo9 ITAsbT1rfHwwLGs9MCxsPWMubGVuZ3RoO2Zvcig7YyYmbTxsO20rKylpZihjW21d LmFwcGx5KGIsZik9PT0hMSYmYS5zdG9wT25GYWxzZSl7ZT0hMDticmVha31qPSEx LGMmJihhLm9uY2U/ZT09PSEwP3AuZGlzYWJsZSgpOmM9W106ZCYmZC5sZW5ndGgm JihlPWQuc2hpZnQoKSxwLmZpcmVXaXRoKGVbMF0sZVsxXSkpKX0scD17YWRkOmZ1 bmN0aW9uKCl7aWYoYyl7dmFyIGE9Yy5sZW5ndGg7bihhcmd1bWVudHMpLGo/bD1j Lmxlbmd0aDplJiZlIT09ITAmJihrPWEsbyhlWzBdLGVbMV0pKX1yZXR1cm4gdGhp c30scmVtb3ZlOmZ1bmN0aW9uKCl7aWYoYyl7dmFyIGI9YXJndW1lbnRzLGQ9MCxl PWIubGVuZ3RoO2Zvcig7ZDxlO2QrKylmb3IodmFyIGY9MDtmPGMubGVuZ3RoO2Yr KylpZihiW2RdPT09Y1tmXSl7aiYmZjw9bCYmKGwtLSxmPD1tJiZtLS0pLGMuc3Bs aWNlKGYtLSwxKTtpZihhLnVuaXF1ZSlicmVha319cmV0dXJuIHRoaXN9LGhhczpm dW5jdGlvbihhKXtpZihjKXt2YXIgYj0wLGQ9Yy5sZW5ndGg7Zm9yKDtiPGQ7Yisr KWlmKGE9PT1jW2JdKXJldHVybiEwfXJldHVybiExfSxlbXB0eTpmdW5jdGlvbigp e2M9W107cmV0dXJuIHRoaXN9LGRpc2FibGU6ZnVuY3Rpb24oKXtjPWQ9ZT1iO3Jl dHVybiB0aGlzfSxkaXNhYmxlZDpmdW5jdGlvbigpe3JldHVybiFjfSxsb2NrOmZ1 bmN0aW9uKCl7ZD1iLCghZXx8ZT09PSEwKSYmcC5kaXNhYmxlKCk7cmV0dXJuIHRo aXN9LGxvY2tlZDpmdW5jdGlvbigpe3JldHVybiFkfSxmaXJlV2l0aDpmdW5jdGlv bihiLGMpe2QmJihqP2Eub25jZXx8ZC5wdXNoKFtiLGNdKTooIWEub25jZXx8IWUp JiZvKGIsYykpO3JldHVybiB0aGlzfSxmaXJlOmZ1bmN0aW9uKCl7cC5maXJlV2l0 aCh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIHRoaXN9LGZpcmVkOmZ1bmN0aW9uKCl7 cmV0dXJuISFpfX07cmV0dXJuIHB9O3ZhciBpPVtdLnNsaWNlO2YuZXh0ZW5kKHtE ZWZlcnJlZDpmdW5jdGlvbihhKXt2YXIgYj1mLkNhbGxiYWNrcygib25jZSBtZW1v cnkiKSxjPWYuQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLGQ9Zi5DYWxsYmFja3Mo Im1lbW9yeSIpLGU9InBlbmRpbmciLGc9e3Jlc29sdmU6YixyZWplY3Q6Yyxub3Rp Znk6ZH0saD17ZG9uZTpiLmFkZCxmYWlsOmMuYWRkLHByb2dyZXNzOmQuYWRkLHN0 YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIGV9LGlzUmVzb2x2ZWQ6Yi5maXJlZCxpc1Jl amVjdGVkOmMuZmlyZWQsdGhlbjpmdW5jdGlvbihhLGIsYyl7aS5kb25lKGEpLmZh aWwoYikucHJvZ3Jlc3MoYyk7cmV0dXJuIHRoaXN9LGFsd2F5czpmdW5jdGlvbigp e2kuZG9uZS5hcHBseShpLGFyZ3VtZW50cykuZmFpbC5hcHBseShpLGFyZ3VtZW50 cyk7cmV0dXJuIHRoaXN9LHBpcGU6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBmLkRl ZmVycmVkKGZ1bmN0aW9uKGQpe2YuZWFjaCh7ZG9uZTpbYSwicmVzb2x2ZSJdLGZh aWw6W2IsInJlamVjdCJdLHByb2dyZXNzOltjLCJub3RpZnkiXX0sZnVuY3Rpb24o YSxiKXt2YXIgYz1iWzBdLGU9YlsxXSxnO2YuaXNGdW5jdGlvbihjKT9pW2FdKGZ1

bmN0aW9uKCl7Zz1jLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxnJiZmLmlzRnVuY3Rp b24oZy5wcm9taXNlKT9nLnByb21pc2UoKS50aGVuKGQucmVzb2x2ZSxkLnJlamVj dCxkLm5vdGlmeSk6ZFtlKyJXaXRoIl0odGhpcz09PWk/ZDp0aGlzLFtnXSl9KTpp W2FdKGRbZV0pfSl9KS5wcm9taXNlKCl9LHByb21pc2U6ZnVuY3Rpb24oYSl7aWYo YT09bnVsbClhPWg7ZWxzZSBmb3IodmFyIGIgaW4gaClhW2JdPWhbYl07cmV0dXJu IGF9fSxpPWgucHJvbWlzZSh7fSksajtmb3IoaiBpbiBnKWlbal09Z1tqXS5maXJl LGlbaisiV2l0aCJdPWdbal0uZmlyZVdpdGg7aS5kb25lKGZ1bmN0aW9uKCl7ZT0i cmVzb2x2ZWQifSxjLmRpc2FibGUsZC5sb2NrKS5mYWlsKGZ1bmN0aW9uKCl7ZT0i cmVqZWN0ZWQifSxiLmRpc2FibGUsZC5sb2NrKSxhJiZhLmNhbGwoaSxpKTtyZXR1 cm4gaX0sd2hlbjpmdW5jdGlvbihhKXtmdW5jdGlvbiBtKGEpe3JldHVybiBmdW5j dGlvbihiKXtlW2FdPWFyZ3VtZW50cy5sZW5ndGg+MT9pLmNhbGwoYXJndW1lbnRz LDApOmIsai5ub3RpZnlXaXRoKGssZSl9fWZ1bmN0aW9uIGwoYSl7cmV0dXJuIGZ1 bmN0aW9uKGMpe2JbYV09YXJndW1lbnRzLmxlbmd0aD4xP2kuY2FsbChhcmd1bWVu dHMsMCk6YywtLWd8fGoucmVzb2x2ZVdpdGgoaixiKX19dmFyIGI9aS5jYWxsKGFy Z3VtZW50cywwKSxjPTAsZD1iLmxlbmd0aCxlPUFycmF5KGQpLGc9ZCxoPWQsaj1k PD0xJiZhJiZmLmlzRnVuY3Rpb24oYS5wcm9taXNlKT9hOmYuRGVmZXJyZWQoKSxr PWoucHJvbWlzZSgpO2lmKGQ+MSl7Zm9yKDtjPGQ7YysrKWJbY10mJmJbY10ucHJv bWlzZSYmZi5pc0Z1bmN0aW9uKGJbY10ucHJvbWlzZSk/YltjXS5wcm9taXNlKCku dGhlbihsKGMpLGoucmVqZWN0LG0oYykpOi0tZztnfHxqLnJlc29sdmVXaXRoKGos Yil9ZWxzZSBqIT09YSYmai5yZXNvbHZlV2l0aChqLGQ/W2FdOltdKTtyZXR1cm4g a319KSxmLnN1cHBvcnQ9ZnVuY3Rpb24oKXt2YXIgYixkLGUsZyxoLGksaixrLGws bSxuLG8scD1jLmNyZWF0ZUVsZW1lbnQoImRpdiIpLHE9Yy5kb2N1bWVudEVsZW1l bnQ7cC5zZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIsInQiKSxwLmlubmVySFRNTD0i ICAgPGxpbmsvPjx0YWJsZT48L3RhYmxlPjxhIGhyZWY9Jy9hJyBzdHlsZT0ndG9w OjFweDtmbG9hdDpsZWZ0O29wYWNpdHk6LjU1Oyc+YTwvYT48aW5wdXQgdHlwZT0n Y2hlY2tib3gnLz4iLGQ9cC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLGU9cC5n ZXRFbGVtZW50c0J5VGFnTmFtZSgiYSIpWzBdO2lmKCFkfHwhZC5sZW5ndGh8fCFl KXJldHVybnt9O2c9Yy5jcmVhdGVFbGVtZW50KCJzZWxlY3QiKSxoPWcuYXBwZW5k Q2hpbGQoYy5jcmVhdGVFbGVtZW50KCJvcHRpb24iKSksaT1wLmdldEVsZW1lbnRz QnlUYWdOYW1lKCJpbnB1dCIpWzBdLGI9e2xlYWRpbmdXaGl0ZXNwYWNlOnAuZmly c3RDaGlsZC5ub2RlVHlwZT09PTMsdGJvZHk6IXAuZ2V0RWxlbWVudHNCeVRhZ05h bWUoInRib2R5IikubGVuZ3RoLGh0bWxTZXJpYWxpemU6ISFwLmdldEVsZW1lbnRz QnlUYWdOYW1lKCJsaW5rIikubGVuZ3RoLHN0eWxlOi90b3AvLnRlc3QoZS5nZXRB dHRyaWJ1dGUoInN0eWxlIikpLGhyZWZOb3JtYWxpemVkOmUuZ2V0QXR0cmlidXRl KCJocmVmIik9PT0iL2EiLG9wYWNpdHk6L14wLjU1Ly50ZXN0KGUuc3R5bGUub3Bh Y2l0eSksY3NzRmxvYXQ6ISFlLnN0eWxlLmNzc0Zsb2F0LGNoZWNrT246aS52YWx1 ZT09PSJvbiIsb3B0U2VsZWN0ZWQ6aC5zZWxlY3RlZCxnZXRTZXRBdHRyaWJ1dGU6 cC5jbGFzc05hbWUhPT0idCIsZW5jdHlwZTohIWMuY3JlYXRlRWxlbWVudCgiZm9y bSIpLmVuY3R5cGUsaHRtbDVDbG9uZTpjLmNyZWF0ZUVsZW1lbnQoIm5hdiIpLmNs b25lTm9kZSghMCkub3V0ZXJIVE1MIT09Ijw6bmF2PjwvOm5hdj4iLHN1Ym1pdEJ1 YmJsZXM6ITAsY2hhbmdlQnViYmxlczohMCxmb2N1c2luQnViYmxlczohMSxkZWxl dGVFeHBhbmRvOiEwLG5vQ2xvbmVFdmVudDohMCxpbmxpbmVCbG9ja05lZWRzTGF5 b3V0OiExLHNocmlua1dyYXBCbG9ja3M6ITEscmVsaWFibGVNYXJnaW5SaWdodDoh MCxwaXhlbE1hcmdpbjohMH0sZi5ib3hNb2RlbD1iLmJveE1vZGVsPWMuY29tcGF0 TW9kZT09PSJDU1MxQ29tcGF0IixpLmNoZWNrZWQ9ITAsYi5ub0Nsb25lQ2hlY2tl ZD1pLmNsb25lTm9kZSghMCkuY2hlY2tlZCxnLmRpc2FibGVkPSEwLGIub3B0RGlz YWJsZWQ9IWguZGlzYWJsZWQ7dHJ5e2RlbGV0ZSBwLnRlc3R9Y2F0Y2gocil7Yi5k ZWxldGVFeHBhbmRvPSExfSFwLmFkZEV2ZW50TGlzdGVuZXImJnAuYXR0YWNoRXZl bnQmJnAuZmlyZUV2ZW50JiYocC5hdHRhY2hFdmVudCgib25jbGljayIsZnVuY3Rp b24oKXtiLm5vQ2xvbmVFdmVudD0hMX0pLHAuY2xvbmVOb2RlKCEwKS5maXJlRXZl bnQoIm9uY2xpY2siKSksaT1jLmNyZWF0ZUVsZW1lbnQoImlucHV0IiksaS52YWx1 ZT0idCIsaS5zZXRBdHRyaWJ1dGUoInR5cGUiLCJyYWRpbyIpLGIucmFkaW9WYWx1 ZT1pLnZhbHVlPT09InQiLGkuc2V0QXR0cmlidXRlKCJjaGVja2VkIiwiY2hlY2tl ZCIpLGkuc2V0QXR0cmlidXRlKCJuYW1lIiwidCIpLHAuYXBwZW5kQ2hpbGQoaSks aj1jLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxqLmFwcGVuZENoaWxkKHAubGFz dENoaWxkKSxiLmNoZWNrQ2xvbmU9ai5jbG9uZU5vZGUoITApLmNsb25lTm9kZSgh MCkubGFzdENoaWxkLmNoZWNrZWQsYi5hcHBlbmRDaGVja2VkPWkuY2hlY2tlZCxq LnJlbW92ZUNoaWxkKGkpLGouYXBwZW5kQ2hpbGQocCk7aWYocC5hdHRhY2hFdmVu dClmb3IobiBpbntzdWJtaXQ6MSxjaGFuZ2U6MSxmb2N1c2luOjF9KW09Im9uIitu LG89bSBpbiBwLG98fChwLnNldEF0dHJpYnV0ZShtLCJyZXR1cm47Iiksbz10eXBl

b2YgcFttXT09ImZ1bmN0aW9uIiksYltuKyJCdWJibGVzIl09bztqLnJlbW92ZUNo aWxkKHApLGo9Zz1oPXA9aT1udWxsLGYoZnVuY3Rpb24oKXt2YXIgZCxlLGcsaCxp LGosbCxtLG4scSxyLHMsdCx1PWMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHki KVswXTshdXx8KG09MSx0PSJwYWRkaW5nOjA7bWFyZ2luOjA7Ym9yZGVyOiIscj0i cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjFweDtoZWlnaHQ6 MXB4OyIscz10KyIwO3Zpc2liaWxpdHk6aGlkZGVuOyIsbj0ic3R5bGU9JyIrcit0 KyI1cHggc29saWQgIzAwMDsiLHE9IjxkaXYgIituKyJkaXNwbGF5OmJsb2NrOyc+ PGRpdiBzdHlsZT0nIit0KyIwO2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVu Oyc+PC9kaXY+PC9kaXY+IisiPHRhYmxlICIrbisiJyBjZWxscGFkZGluZz0nMCcg Y2VsbHNwYWNpbmc9JzAnPiIrIjx0cj48dGQ+PC90ZD48L3RyPjwvdGFibGU+Iixk PWMuY3JlYXRlRWxlbWVudCgiZGl2IiksZC5zdHlsZS5jc3NUZXh0PXMrIndpZHRo OjA7aGVpZ2h0OjA7cG9zaXRpb246c3RhdGljO3RvcDowO21hcmdpbi10b3A6Iitt KyJweCIsdS5pbnNlcnRCZWZvcmUoZCx1LmZpcnN0Q2hpbGQpLHA9Yy5jcmVhdGVF bGVtZW50KCJkaXYiKSxkLmFwcGVuZENoaWxkKHApLHAuaW5uZXJIVE1MPSI8dGFi bGU+PHRyPjx0ZCBzdHlsZT0nIit0KyIwO2Rpc3BsYXk6bm9uZSc+PC90ZD48dGQ+ dDwvdGQ+PC90cj48L3RhYmxlPiIsaz1wLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0 ZCIpLG89a1swXS5vZmZzZXRIZWlnaHQ9PT0wLGtbMF0uc3R5bGUuZGlzcGxheT0i IixrWzFdLnN0eWxlLmRpc3BsYXk9Im5vbmUiLGIucmVsaWFibGVIaWRkZW5PZmZz ZXRzPW8mJmtbMF0ub2Zmc2V0SGVpZ2h0PT09MCxhLmdldENvbXB1dGVkU3R5bGUm JihwLmlubmVySFRNTD0iIixsPWMuY3JlYXRlRWxlbWVudCgiZGl2IiksbC5zdHls ZS53aWR0aD0iMCIsbC5zdHlsZS5tYXJnaW5SaWdodD0iMCIscC5zdHlsZS53aWR0 aD0iMnB4IixwLmFwcGVuZENoaWxkKGwpLGIucmVsaWFibGVNYXJnaW5SaWdodD0o cGFyc2VJbnQoKGEuZ2V0Q29tcHV0ZWRTdHlsZShsLG51bGwpfHx7bWFyZ2luUmln aHQ6MH0pLm1hcmdpblJpZ2h0LDEwKXx8MCk9PT0wKSx0eXBlb2YgcC5zdHlsZS56 b29tIT0idW5kZWZpbmVkIiYmKHAuaW5uZXJIVE1MPSIiLHAuc3R5bGUud2lkdGg9 cC5zdHlsZS5wYWRkaW5nPSIxcHgiLHAuc3R5bGUuYm9yZGVyPTAscC5zdHlsZS5v dmVyZmxvdz0iaGlkZGVuIixwLnN0eWxlLmRpc3BsYXk9ImlubGluZSIscC5zdHls ZS56b29tPTEsYi5pbmxpbmVCbG9ja05lZWRzTGF5b3V0PXAub2Zmc2V0V2lkdGg9 PT0zLHAuc3R5bGUuZGlzcGxheT0iYmxvY2siLHAuc3R5bGUub3ZlcmZsb3c9InZp c2libGUiLHAuaW5uZXJIVE1MPSI8ZGl2IHN0eWxlPSd3aWR0aDo1cHg7Jz48L2Rp dj4iLGIuc2hyaW5rV3JhcEJsb2Nrcz1wLm9mZnNldFdpZHRoIT09MykscC5zdHls ZS5jc3NUZXh0PXIrcyxwLmlubmVySFRNTD1xLGU9cC5maXJzdENoaWxkLGc9ZS5m aXJzdENoaWxkLGk9ZS5uZXh0U2libGluZy5maXJzdENoaWxkLmZpcnN0Q2hpbGQs aj17ZG9lc05vdEFkZEJvcmRlcjpnLm9mZnNldFRvcCE9PTUsZG9lc0FkZEJvcmRl ckZvclRhYmxlQW5kQ2VsbHM6aS5vZmZzZXRUb3A9PT01fSxnLnN0eWxlLnBvc2l0 aW9uPSJmaXhlZCIsZy5zdHlsZS50b3A9IjIwcHgiLGouZml4ZWRQb3NpdGlvbj1n Lm9mZnNldFRvcD09PTIwfHxnLm9mZnNldFRvcD09PTE1LGcuc3R5bGUucG9zaXRp b249Zy5zdHlsZS50b3A9IiIsZS5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIixlLnN0 eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSIsai5zdWJ0cmFjdHNCb3JkZXJGb3JPdmVy Zmxvd05vdFZpc2libGU9Zy5vZmZzZXRUb3A9PT0tNSxqLmRvZXNOb3RJbmNsdWRl TWFyZ2luSW5Cb2R5T2Zmc2V0PXUub2Zmc2V0VG9wIT09bSxhLmdldENvbXB1dGVk U3R5bGUmJihwLnN0eWxlLm1hcmdpblRvcD0iMSUiLGIucGl4ZWxNYXJnaW49KGEu Z2V0Q29tcHV0ZWRTdHlsZShwLG51bGwpfHx7bWFyZ2luVG9wOjB9KS5tYXJnaW5U b3AhPT0iMSUiKSx0eXBlb2YgZC5zdHlsZS56b29tIT0idW5kZWZpbmVkIiYmKGQu c3R5bGUuem9vbT0xKSx1LnJlbW92ZUNoaWxkKGQpLGw9cD1kPW51bGwsZi5leHRl bmQoYixqKSl9KTtyZXR1cm4gYn0oKTt2YXIgaj0vXig/Olx7LipcfXxcWy4qXF0p JC8saz0vKFtBLVpdKS9nO2YuZXh0ZW5kKHtjYWNoZTp7fSx1dWlkOjAsZXhwYW5k bzoialF1ZXJ5IisoZi5mbi5qcXVlcnkrTWF0aC5yYW5kb20oKSkucmVwbGFjZSgv XEQvZywiIiksbm9EYXRhOntlbWJlZDohMCxvYmplY3Q6ImNsc2lkOkQyN0NEQjZF LUFFNkQtMTFjZi05NkI4LTQ0NDU1MzU0MDAwMCIsYXBwbGV0OiEwfSxoYXNEYXRh OmZ1bmN0aW9uKGEpe2E9YS5ub2RlVHlwZT9mLmNhY2hlW2FbZi5leHBhbmRvXV06 YVtmLmV4cGFuZG9dO3JldHVybiEhYSYmIW0oYSl9LGRhdGE6ZnVuY3Rpb24oYSxj LGQsZSl7aWYoISFmLmFjY2VwdERhdGEoYSkpe3ZhciBnLGgsaSxqPWYuZXhwYW5k byxrPXR5cGVvZiBjPT0ic3RyaW5nIixsPWEubm9kZVR5cGUsbT1sP2YuY2FjaGU6 YSxuPWw/YVtqXTphW2pdJiZqLG89Yz09PSJldmVudHMiO2lmKCghbnx8IW1bbl18 fCFvJiYhZSYmIW1bbl0uZGF0YSkmJmsmJmQ9PT1iKXJldHVybjtufHwobD9hW2pd PW49KytmLnV1aWQ6bj1qKSxtW25dfHwobVtuXT17fSxsfHwobVtuXS50b0pTT049 Zi5ub29wKSk7aWYodHlwZW9mIGM9PSJvYmplY3QifHx0eXBlb2YgYz09ImZ1bmN0 aW9uIillP21bbl09Zi5leHRlbmQobVtuXSxjKTptW25dLmRhdGE9Zi5leHRlbmQo bVtuXS5kYXRhLGMpO2c9aD1tW25dLGV8fChoLmRhdGF8fChoLmRhdGE9e30pLGg9

aC5kYXRhKSxkIT09YiYmKGhbZi5jYW1lbENhc2UoYyldPWQpO2lmKG8mJiFoW2Nd KXJldHVybiBnLmV2ZW50cztrPyhpPWhbY10saT09bnVsbCYmKGk9aFtmLmNhbWVs Q2FzZShjKV0pKTppPWg7cmV0dXJuIGl9fSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEs YixjKXtpZighIWYuYWNjZXB0RGF0YShhKSl7dmFyIGQsZSxnLGg9Zi5leHBhbmRv LGk9YS5ub2RlVHlwZSxqPWk/Zi5jYWNoZTphLGs9aT9hW2hdOmg7aWYoIWpba10p cmV0dXJuO2lmKGIpe2Q9Yz9qW2tdOmpba10uZGF0YTtpZihkKXtmLmlzQXJyYXko Yil8fChiIGluIGQ/Yj1bYl06KGI9Zi5jYW1lbENhc2UoYiksYiBpbiBkP2I9W2Jd OmI9Yi5zcGxpdCgiICIpKSk7Zm9yKGU9MCxnPWIubGVuZ3RoO2U8ZztlKyspZGVs ZXRlIGRbYltlXV07aWYoIShjP206Zi5pc0VtcHR5T2JqZWN0KShkKSlyZXR1cm59 fWlmKCFjKXtkZWxldGUgaltrXS5kYXRhO2lmKCFtKGpba10pKXJldHVybn1mLnN1 cHBvcnQuZGVsZXRlRXhwYW5kb3x8IWouc2V0SW50ZXJ2YWw/ZGVsZXRlIGpba106 altrXT1udWxsLGkmJihmLnN1cHBvcnQuZGVsZXRlRXhwYW5kbz9kZWxldGUgYVto XTphLnJlbW92ZUF0dHJpYnV0ZT9hLnJlbW92ZUF0dHJpYnV0ZShoKTphW2hdPW51 bGwpfX0sX2RhdGE6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBmLmRhdGEoYSxiLGMs ITApfSxhY2NlcHREYXRhOmZ1bmN0aW9uKGEpe2lmKGEubm9kZU5hbWUpe3ZhciBi PWYubm9EYXRhW2Eubm9kZU5hbWUudG9Mb3dlckNhc2UoKV07aWYoYilyZXR1cm4g YiE9PSEwJiZhLmdldEF0dHJpYnV0ZSgiY2xhc3NpZCIpPT09Yn1yZXR1cm4hMH19 KSxmLmZuLmV4dGVuZCh7ZGF0YTpmdW5jdGlvbihhLGMpe3ZhciBkLGUsZyxoLGks aj10aGlzWzBdLGs9MCxtPW51bGw7aWYoYT09PWIpe2lmKHRoaXMubGVuZ3RoKXtt PWYuZGF0YShqKTtpZihqLm5vZGVUeXBlPT09MSYmIWYuX2RhdGEoaiwicGFyc2Vk QXR0cnMiKSl7Zz1qLmF0dHJpYnV0ZXM7Zm9yKGk9Zy5sZW5ndGg7azxpO2srKylo PWdba10ubmFtZSxoLmluZGV4T2YoImRhdGEtIik9PT0wJiYoaD1mLmNhbWVsQ2Fz ZShoLnN1YnN0cmluZyg1KSksbChqLGgsbVtoXSkpO2YuX2RhdGEoaiwicGFyc2Vk QXR0cnMiLCEwKX19cmV0dXJuIG19aWYodHlwZW9mIGE9PSJvYmplY3QiKXJldHVy biB0aGlzLmVhY2goZnVuY3Rpb24oKXtmLmRhdGEodGhpcyxhKX0pO2Q9YS5zcGxp dCgiLiIsMiksZFsxXT1kWzFdPyIuIitkWzFdOiIiLGU9ZFsxXSsiISI7cmV0dXJu IGYuYWNjZXNzKHRoaXMsZnVuY3Rpb24oYyl7aWYoYz09PWIpe209dGhpcy50cmln Z2VySGFuZGxlcigiZ2V0RGF0YSIrZSxbZFswXV0pLG09PT1iJiZqJiYobT1mLmRh dGEoaixhKSxtPWwoaixhLG0pKTtyZXR1cm4gbT09PWImJmRbMV0/dGhpcy5kYXRh KGRbMF0pOm19ZFsxXT1jLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPWYodGhp cyk7Yi50cmlnZ2VySGFuZGxlcigic2V0RGF0YSIrZSxkKSxmLmRhdGEodGhpcyxh LGMpLGIudHJpZ2dlckhhbmRsZXIoImNoYW5nZURhdGEiK2UsZCl9KX0sbnVsbCxj LGFyZ3VtZW50cy5sZW5ndGg+MSxudWxsLCExKX0scmVtb3ZlRGF0YTpmdW5jdGlv bihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Zi5yZW1vdmVEYXRhKHRo aXMsYSl9KX19KSxmLmV4dGVuZCh7X21hcms6ZnVuY3Rpb24oYSxiKXthJiYoYj0o Ynx8ImZ4IikrIm1hcmsiLGYuX2RhdGEoYSxiLChmLl9kYXRhKGEsYil8fDApKzEp KX0sX3VubWFyazpmdW5jdGlvbihhLGIsYyl7YSE9PSEwJiYoYz1iLGI9YSxhPSEx KTtpZihiKXtjPWN8fCJmeCI7dmFyIGQ9YysibWFyayIsZT1hPzA6KGYuX2RhdGEo YixkKXx8MSktMTtlP2YuX2RhdGEoYixkLGUpOihmLnJlbW92ZURhdGEoYixkLCEw KSxuKGIsYywibWFyayIpKX19LHF1ZXVlOmZ1bmN0aW9uKGEsYixjKXt2YXIgZDtp ZihhKXtiPShifHwiZngiKSsicXVldWUiLGQ9Zi5fZGF0YShhLGIpLGMmJighZHx8 Zi5pc0FycmF5KGMpP2Q9Zi5fZGF0YShhLGIsZi5tYWtlQXJyYXkoYykpOmQucHVz aChjKSk7cmV0dXJuIGR8fFtdfX0sZGVxdWV1ZTpmdW5jdGlvbihhLGIpe2I9Ynx8 ImZ4Ijt2YXIgYz1mLnF1ZXVlKGEsYiksZD1jLnNoaWZ0KCksZT17fTtkPT09Imlu cHJvZ3Jlc3MiJiYoZD1jLnNoaWZ0KCkpLGQmJihiPT09ImZ4IiYmYy51bnNoaWZ0 KCJpbnByb2dyZXNzIiksZi5fZGF0YShhLGIrIi5ydW4iLGUpLGQuY2FsbChhLGZ1 bmN0aW9uKCl7Zi5kZXF1ZXVlKGEsYil9LGUpKSxjLmxlbmd0aHx8KGYucmVtb3Zl RGF0YShhLGIrInF1ZXVlICIrYisiLnJ1biIsITApLG4oYSxiLCJxdWV1ZSIpKX19 KSxmLmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oYSxjKXt2YXIgZD0yO3R5cGVv ZiBhIT0ic3RyaW5nIiYmKGM9YSxhPSJmeCIsZC0tKTtpZihhcmd1bWVudHMubGVu Z3RoPGQpcmV0dXJuIGYucXVldWUodGhpc1swXSxhKTtyZXR1cm4gYz09PWI/dGhp czp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1mLnF1ZXVlKHRoaXMsYSxjKTth PT09ImZ4IiYmYlswXSE9PSJpbnByb2dyZXNzIiYmZi5kZXF1ZXVlKHRoaXMsYSl9 KX0sZGVxdWV1ZTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9u KCl7Zi5kZXF1ZXVlKHRoaXMsYSl9KX0sZGVsYXk6ZnVuY3Rpb24oYSxiKXthPWYu Zng/Zi5meC5zcGVlZHNbYV18fGE6YSxiPWJ8fCJmeCI7cmV0dXJuIHRoaXMucXVl dWUoYixmdW5jdGlvbihiLGMpe3ZhciBkPXNldFRpbWVvdXQoYixhKTtjLnN0b3A9 ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQoZCl9fSl9LGNsZWFyUXVldWU6ZnVuY3Rp b24oYSl7cmV0dXJuIHRoaXMucXVldWUoYXx8ImZ4IixbXSl9LHByb21pc2U6ZnVu Y3Rpb24oYSxjKXtmdW5jdGlvbiBtKCl7LS1ofHxkLnJlc29sdmVXaXRoKGUsW2Vd

KX10eXBlb2YgYSE9InN0cmluZyImJihjPWEsYT1iKSxhPWF8fCJmeCI7dmFyIGQ9 Zi5EZWZlcnJlZCgpLGU9dGhpcyxnPWUubGVuZ3RoLGg9MSxpPWErImRlZmVyIixq PWErInF1ZXVlIixrPWErIm1hcmsiLGw7d2hpbGUoZy0tKWlmKGw9Zi5kYXRhKGVb Z10saSxiLCEwKXx8KGYuZGF0YShlW2ddLGosYiwhMCl8fGYuZGF0YShlW2ddLGss YiwhMCkpJiZmLmRhdGEoZVtnXSxpLGYuQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIp LCEwKSloKyssbC5hZGQobSk7bSgpO3JldHVybiBkLnByb21pc2UoYyl9fSk7dmFy IG89L1tcblx0XHJdL2cscD0vXHMrLyxxPS9cci9nLHI9L14oPzpidXR0b258aW5w dXQpJC9pLHM9L14oPzpidXR0b258aW5wdXR8b2JqZWN0fHNlbGVjdHx0ZXh0YXJl YSkkL2ksdD0vXmEoPzpyZWEpPyQvaSx1PS9eKD86YXV0b2ZvY3VzfGF1dG9wbGF5 fGFzeW5jfGNoZWNrZWR8Y29udHJvbHN8ZGVmZXJ8ZGlzYWJsZWR8aGlkZGVufGxv b3B8bXVsdGlwbGV8b3BlbnxyZWFkb25seXxyZXF1aXJlZHxzY29wZWR8c2VsZWN0 ZWQpJC9pLHY9Zi5zdXBwb3J0LmdldFNldEF0dHJpYnV0ZSx3LHgseTtmLmZuLmV4 dGVuZCh7YXR0cjpmdW5jdGlvbihhLGIpe3JldHVybiBmLmFjY2Vzcyh0aGlzLGYu YXR0cixhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlQXR0cjpmdW5jdGlv bihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Zi5yZW1vdmVBdHRyKHRo aXMsYSl9KX0scHJvcDpmdW5jdGlvbihhLGIpe3JldHVybiBmLmFjY2Vzcyh0aGlz LGYucHJvcCxhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlUHJvcDpmdW5j dGlvbihhKXthPWYucHJvcEZpeFthXXx8YTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0 aW9uKCl7dHJ5e3RoaXNbYV09YixkZWxldGUgdGhpc1thXX1jYXRjaChjKXt9fSl9 LGFkZENsYXNzOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGcsaCxpO2lmKGYuaXNG dW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe2YodGhpcyku YWRkQ2xhc3MoYS5jYWxsKHRoaXMsYix0aGlzLmNsYXNzTmFtZSkpfSk7aWYoYSYm dHlwZW9mIGE9PSJzdHJpbmciKXtiPWEuc3BsaXQocCk7Zm9yKGM9MCxkPXRoaXMu bGVuZ3RoO2M8ZDtjKyspe2U9dGhpc1tjXTtpZihlLm5vZGVUeXBlPT09MSlpZigh ZS5jbGFzc05hbWUmJmIubGVuZ3RoPT09MSllLmNsYXNzTmFtZT1hO2Vsc2V7Zz0i ICIrZS5jbGFzc05hbWUrIiAiO2ZvcihoPTAsaT1iLmxlbmd0aDtoPGk7aCsrKX5n LmluZGV4T2YoIiAiK2JbaF0rIiAiKXx8KGcrPWJbaF0rIiAiKTtlLmNsYXNzTmFt ZT1mLnRyaW0oZyl9fX1yZXR1cm4gdGhpc30scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24o YSl7dmFyIGMsZCxlLGcsaCxpLGo7aWYoZi5pc0Z1bmN0aW9uKGEpKXJldHVybiB0 aGlzLmVhY2goZnVuY3Rpb24oYil7Zih0aGlzKS5yZW1vdmVDbGFzcyhhLmNhbGwo dGhpcyxiLHRoaXMuY2xhc3NOYW1lKSl9KTtpZihhJiZ0eXBlb2YgYT09InN0cmlu ZyJ8fGE9PT1iKXtjPShhfHwiIikuc3BsaXQocCk7Zm9yKGQ9MCxlPXRoaXMubGVu Z3RoO2Q8ZTtkKyspe2c9dGhpc1tkXTtpZihnLm5vZGVUeXBlPT09MSYmZy5jbGFz c05hbWUpaWYoYSl7aD0oIiAiK2cuY2xhc3NOYW1lKyIgIikucmVwbGFjZShvLCIg Iik7Zm9yKGk9MCxqPWMubGVuZ3RoO2k8ajtpKyspaD1oLnJlcGxhY2UoIiAiK2Nb aV0rIiAiLCIgIik7Zy5jbGFzc05hbWU9Zi50cmltKGgpfWVsc2UgZy5jbGFzc05h bWU9IiJ9fXJldHVybiB0aGlzfSx0b2dnbGVDbGFzczpmdW5jdGlvbihhLGIpe3Zh ciBjPXR5cGVvZiBhLGQ9dHlwZW9mIGI9PSJib29sZWFuIjtpZihmLmlzRnVuY3Rp b24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihjKXtmKHRoaXMpLnRvZ2ds ZUNsYXNzKGEuY2FsbCh0aGlzLGMsdGhpcy5jbGFzc05hbWUsYiksYil9KTtyZXR1 cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7aWYoYz09PSJzdHJpbmciKXt2YXIgZSxn PTAsaD1mKHRoaXMpLGk9YixqPWEuc3BsaXQocCk7d2hpbGUoZT1qW2crK10paT1k P2k6IWguaGFzQ2xhc3MoZSksaFtpPyJhZGRDbGFzcyI6InJlbW92ZUNsYXNzIl0o ZSl9ZWxzZSBpZihjPT09InVuZGVmaW5lZCJ8fGM9PT0iYm9vbGVhbiIpdGhpcy5j bGFzc05hbWUmJmYuX2RhdGEodGhpcywiX19jbGFzc05hbWVfXyIsdGhpcy5jbGFz c05hbWUpLHRoaXMuY2xhc3NOYW1lPXRoaXMuY2xhc3NOYW1lfHxhPT09ITE/IiI6 Zi5fZGF0YSh0aGlzLCJfX2NsYXNzTmFtZV9fIil8fCIifSl9LGhhc0NsYXNzOmZ1 bmN0aW9uKGEpe3ZhciBiPSIgIithKyIgIixjPTAsZD10aGlzLmxlbmd0aDtmb3Io O2M8ZDtjKyspaWYodGhpc1tjXS5ub2RlVHlwZT09PTEmJigiICIrdGhpc1tjXS5j bGFzc05hbWUrIiAiKS5yZXBsYWNlKG8sIiAiKS5pbmRleE9mKGIpPi0xKXJldHVy biEwO3JldHVybiExfSx2YWw6ZnVuY3Rpb24oYSl7dmFyIGMsZCxlLGc9dGhpc1sw XTt7aWYoISFhcmd1bWVudHMubGVuZ3RoKXtlPWYuaXNGdW5jdGlvbihhKTtyZXR1 cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGQpe3ZhciBnPWYodGhpcyksaDtpZih0aGlz Lm5vZGVUeXBlPT09MSl7ZT9oPWEuY2FsbCh0aGlzLGQsZy52YWwoKSk6aD1hLGg9 PW51bGw/aD0iIjp0eXBlb2YgaD09Im51bWJlciI/aCs9IiI6Zi5pc0FycmF5KGgp JiYoaD1mLm1hcChoLGZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsPyIiOmErIiJ9 KSksYz1mLnZhbEhvb2tzW3RoaXMudHlwZV18fGYudmFsSG9va3NbdGhpcy5ub2Rl TmFtZS50b0xvd2VyQ2FzZSgpXTtpZighY3x8ISgic2V0ImluIGMpfHxjLnNldCh0 aGlzLGgsInZhbHVlIik9PT1iKXRoaXMudmFsdWU9aH19KX1pZihnKXtjPWYudmFs SG9va3NbZy50eXBlXXx8Zi52YWxIb29rc1tnLm5vZGVOYW1lLnRvTG93ZXJDYXNl

KCldO2lmKGMmJiJnZXQiaW4gYyYmKGQ9Yy5nZXQoZywidmFsdWUiKSkhPT1iKXJl dHVybiBkO2Q9Zy52YWx1ZTtyZXR1cm4gdHlwZW9mIGQ9PSJzdHJpbmciP2QucmVw bGFjZShxLCIiKTpkPT1udWxsPyIiOmR9fX19KSxmLmV4dGVuZCh7dmFsSG9va3M6 e29wdGlvbjp7Z2V0OmZ1bmN0aW9uKGEpe3ZhciBiPWEuYXR0cmlidXRlcy52YWx1 ZTtyZXR1cm4hYnx8Yi5zcGVjaWZpZWQ/YS52YWx1ZTphLnRleHR9fSxzZWxlY3Q6 e2dldDpmdW5jdGlvbihhKXt2YXIgYixjLGQsZSxnPWEuc2VsZWN0ZWRJbmRleCxo PVtdLGk9YS5vcHRpb25zLGo9YS50eXBlPT09InNlbGVjdC1vbmUiO2lmKGc8MCly ZXR1cm4gbnVsbDtjPWo/ZzowLGQ9aj9nKzE6aS5sZW5ndGg7Zm9yKDtjPGQ7Yysr KXtlPWlbY107aWYoZS5zZWxlY3RlZCYmKGYuc3VwcG9ydC5vcHREaXNhYmxlZD8h ZS5kaXNhYmxlZDplLmdldEF0dHJpYnV0ZSgiZGlzYWJsZWQiKT09PW51bGwpJiYo IWUucGFyZW50Tm9kZS5kaXNhYmxlZHx8IWYubm9kZU5hbWUoZS5wYXJlbnROb2Rl LCJvcHRncm91cCIpKSl7Yj1mKGUpLnZhbCgpO2lmKGopcmV0dXJuIGI7aC5wdXNo KGIpfX1pZihqJiYhaC5sZW5ndGgmJmkubGVuZ3RoKXJldHVybiBmKGlbZ10pLnZh bCgpO3JldHVybiBofSxzZXQ6ZnVuY3Rpb24oYSxiKXt2YXIgYz1mLm1ha2VBcnJh eShiKTtmKGEpLmZpbmQoIm9wdGlvbiIpLmVhY2goZnVuY3Rpb24oKXt0aGlzLnNl bGVjdGVkPWYuaW5BcnJheShmKHRoaXMpLnZhbCgpLGMpPj0wfSksYy5sZW5ndGh8 fChhLnNlbGVjdGVkSW5kZXg9LTEpO3JldHVybiBjfX19LGF0dHJGbjp7dmFsOiEw LGNzczohMCxodG1sOiEwLHRleHQ6ITAsZGF0YTohMCx3aWR0aDohMCxoZWlnaHQ6 ITAsb2Zmc2V0OiEwfSxhdHRyOmZ1bmN0aW9uKGEsYyxkLGUpe3ZhciBnLGgsaSxq PWEubm9kZVR5cGU7aWYoISFhJiZqIT09MyYmaiE9PTgmJmohPT0yKXtpZihlJiZj IGluIGYuYXR0ckZuKXJldHVybiBmKGEpW2NdKGQpO2lmKHR5cGVvZiBhLmdldEF0 dHJpYnV0ZT09InVuZGVmaW5lZCIpcmV0dXJuIGYucHJvcChhLGMsZCk7aT1qIT09 MXx8IWYuaXNYTUxEb2MoYSksaSYmKGM9Yy50b0xvd2VyQ2FzZSgpLGg9Zi5hdHRy SG9va3NbY118fCh1LnRlc3QoYyk/eDp3KSk7aWYoZCE9PWIpe2lmKGQ9PT1udWxs KXtmLnJlbW92ZUF0dHIoYSxjKTtyZXR1cm59aWYoaCYmInNldCJpbiBoJiZpJiYo Zz1oLnNldChhLGQsYykpIT09YilyZXR1cm4gZzthLnNldEF0dHJpYnV0ZShjLCIi K2QpO3JldHVybiBkfWlmKGgmJiJnZXQiaW4gaCYmaSYmKGc9aC5nZXQoYSxjKSkh PT1udWxsKXJldHVybiBnO2c9YS5nZXRBdHRyaWJ1dGUoYyk7cmV0dXJuIGc9PT1u dWxsP2I6Z319LHJlbW92ZUF0dHI6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZyxo LGk9MDtpZihiJiZhLm5vZGVUeXBlPT09MSl7ZD1iLnRvTG93ZXJDYXNlKCkuc3Bs aXQocCksZz1kLmxlbmd0aDtmb3IoO2k8ZztpKyspZT1kW2ldLGUmJihjPWYucHJv cEZpeFtlXXx8ZSxoPXUudGVzdChlKSxofHxmLmF0dHIoYSxlLCIiKSxhLnJlbW92 ZUF0dHJpYnV0ZSh2P2U6YyksaCYmYyBpbiBhJiYoYVtjXT0hMSkpfX0sYXR0ckhv b2tzOnt0eXBlOntzZXQ6ZnVuY3Rpb24oYSxiKXtpZihyLnRlc3QoYS5ub2RlTmFt ZSkmJmEucGFyZW50Tm9kZSlmLmVycm9yKCJ0eXBlIHByb3BlcnR5IGNhbid0IGJl IGNoYW5nZWQiKTtlbHNlIGlmKCFmLnN1cHBvcnQucmFkaW9WYWx1ZSYmYj09PSJy YWRpbyImJmYubm9kZU5hbWUoYSwiaW5wdXQiKSl7dmFyIGM9YS52YWx1ZTthLnNl dEF0dHJpYnV0ZSgidHlwZSIsYiksYyYmKGEudmFsdWU9Yyk7cmV0dXJuIGJ9fX0s dmFsdWU6e2dldDpmdW5jdGlvbihhLGIpe2lmKHcmJmYubm9kZU5hbWUoYSwiYnV0 dG9uIikpcmV0dXJuIHcuZ2V0KGEsYik7cmV0dXJuIGIgaW4gYT9hLnZhbHVlOm51 bGx9LHNldDpmdW5jdGlvbihhLGIsYyl7aWYodyYmZi5ub2RlTmFtZShhLCJidXR0 b24iKSlyZXR1cm4gdy5zZXQoYSxiLGMpO2EudmFsdWU9Yn19fSxwcm9wRml4Ont0 YWJpbmRleDoidGFiSW5kZXgiLHJlYWRvbmx5OiJyZWFkT25seSIsImZvciI6Imh0 bWxGb3IiLCJjbGFzcyI6ImNsYXNzTmFtZSIsbWF4bGVuZ3RoOiJtYXhMZW5ndGgi LGNlbGxzcGFjaW5nOiJjZWxsU3BhY2luZyIsY2VsbHBhZGRpbmc6ImNlbGxQYWRk aW5nIixyb3dzcGFuOiJyb3dTcGFuIixjb2xzcGFuOiJjb2xTcGFuIix1c2VtYXA6 InVzZU1hcCIsZnJhbWVib3JkZXI6ImZyYW1lQm9yZGVyIixjb250ZW50ZWRpdGFi bGU6ImNvbnRlbnRFZGl0YWJsZSJ9LHByb3A6ZnVuY3Rpb24oYSxjLGQpe3ZhciBl LGcsaCxpPWEubm9kZVR5cGU7aWYoISFhJiZpIT09MyYmaSE9PTgmJmkhPT0yKXto PWkhPT0xfHwhZi5pc1hNTERvYyhhKSxoJiYoYz1mLnByb3BGaXhbY118fGMsZz1m LnByb3BIb29rc1tjXSk7cmV0dXJuIGQhPT1iP2cmJiJzZXQiaW4gZyYmKGU9Zy5z ZXQoYSxkLGMpKSE9PWI/ZTphW2NdPWQ6ZyYmImdldCJpbiBnJiYoZT1nLmdldChh LGMpKSE9PW51bGw/ZTphW2NdfX0scHJvcEhvb2tzOnt0YWJJbmRleDp7Z2V0OmZ1 bmN0aW9uKGEpe3ZhciBjPWEuZ2V0QXR0cmlidXRlTm9kZSgidGFiaW5kZXgiKTty ZXR1cm4gYyYmYy5zcGVjaWZpZWQ/cGFyc2VJbnQoYy52YWx1ZSwxMCk6cy50ZXN0 KGEubm9kZU5hbWUpfHx0LnRlc3QoYS5ub2RlTmFtZSkmJmEuaHJlZj8wOmJ9fX19 KSxmLmF0dHJIb29rcy50YWJpbmRleD1mLnByb3BIb29rcy50YWJJbmRleCx4PXtn ZXQ6ZnVuY3Rpb24oYSxjKXt2YXIgZCxlPWYucHJvcChhLGMpO3JldHVybiBlPT09 ITB8fHR5cGVvZiBlIT0iYm9vbGVhbiImJihkPWEuZ2V0QXR0cmlidXRlTm9kZShj KSkmJmQubm9kZVZhbHVlIT09ITE/Yy50b0xvd2VyQ2FzZSgpOmJ9LHNldDpmdW5j

dGlvbihhLGIsYyl7dmFyIGQ7Yj09PSExP2YucmVtb3ZlQXR0cihhLGMpOihkPWYu cHJvcEZpeFtjXXx8YyxkIGluIGEmJihhW2RdPSEwKSxhLnNldEF0dHJpYnV0ZShj LGMudG9Mb3dlckNhc2UoKSkpO3JldHVybiBjfX0sdnx8KHk9e25hbWU6ITAsaWQ6 ITAsY29vcmRzOiEwfSx3PWYudmFsSG9va3MuYnV0dG9uPXtnZXQ6ZnVuY3Rpb24o YSxjKXt2YXIgZDtkPWEuZ2V0QXR0cmlidXRlTm9kZShjKTtyZXR1cm4gZCYmKHlb Y10/ZC5ub2RlVmFsdWUhPT0iIjpkLnNwZWNpZmllZCk/ZC5ub2RlVmFsdWU6Yn0s c2V0OmZ1bmN0aW9uKGEsYixkKXt2YXIgZT1hLmdldEF0dHJpYnV0ZU5vZGUoZCk7 ZXx8KGU9Yy5jcmVhdGVBdHRyaWJ1dGUoZCksYS5zZXRBdHRyaWJ1dGVOb2RlKGUp KTtyZXR1cm4gZS5ub2RlVmFsdWU9YisiIn19LGYuYXR0ckhvb2tzLnRhYmluZGV4 LnNldD13LnNldCxmLmVhY2goWyJ3aWR0aCIsImhlaWdodCJdLGZ1bmN0aW9uKGEs Yil7Zi5hdHRySG9va3NbYl09Zi5leHRlbmQoZi5hdHRySG9va3NbYl0se3NldDpm dW5jdGlvbihhLGMpe2lmKGM9PT0iIil7YS5zZXRBdHRyaWJ1dGUoYiwiYXV0byIp O3JldHVybiBjfX19KX0pLGYuYXR0ckhvb2tzLmNvbnRlbnRlZGl0YWJsZT17Z2V0 OncuZ2V0LHNldDpmdW5jdGlvbihhLGIsYyl7Yj09PSIiJiYoYj0iZmFsc2UiKSx3 LnNldChhLGIsYyl9fSksZi5zdXBwb3J0LmhyZWZOb3JtYWxpemVkfHxmLmVhY2go WyJocmVmIiwic3JjIiwid2lkdGgiLCJoZWlnaHQiXSxmdW5jdGlvbihhLGMpe2Yu YXR0ckhvb2tzW2NdPWYuZXh0ZW5kKGYuYXR0ckhvb2tzW2NdLHtnZXQ6ZnVuY3Rp b24oYSl7dmFyIGQ9YS5nZXRBdHRyaWJ1dGUoYywyKTtyZXR1cm4gZD09PW51bGw/ YjpkfX0pfSksZi5zdXBwb3J0LnN0eWxlfHwoZi5hdHRySG9va3Muc3R5bGU9e2dl dDpmdW5jdGlvbihhKXtyZXR1cm4gYS5zdHlsZS5jc3NUZXh0LnRvTG93ZXJDYXNl KCl8fGJ9LHNldDpmdW5jdGlvbihhLGIpe3JldHVybiBhLnN0eWxlLmNzc1RleHQ9 IiIrYn19KSxmLnN1cHBvcnQub3B0U2VsZWN0ZWR8fChmLnByb3BIb29rcy5zZWxl Y3RlZD1mLmV4dGVuZChmLnByb3BIb29rcy5zZWxlY3RlZCx7Z2V0OmZ1bmN0aW9u KGEpe3ZhciBiPWEucGFyZW50Tm9kZTtiJiYoYi5zZWxlY3RlZEluZGV4LGIucGFy ZW50Tm9kZSYmYi5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgpO3JldHVybiBudWxs fX0pKSxmLnN1cHBvcnQuZW5jdHlwZXx8KGYucHJvcEZpeC5lbmN0eXBlPSJlbmNv ZGluZyIpLGYuc3VwcG9ydC5jaGVja09ufHxmLmVhY2goWyJyYWRpbyIsImNoZWNr Ym94Il0sZnVuY3Rpb24oKXtmLnZhbEhvb2tzW3RoaXNdPXtnZXQ6ZnVuY3Rpb24o YSl7cmV0dXJuIGEuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpPT09bnVsbD8ib24iOmEu dmFsdWV9fX0pLGYuZWFjaChbInJhZGlvIiwiY2hlY2tib3giXSxmdW5jdGlvbigp e2YudmFsSG9va3NbdGhpc109Zi5leHRlbmQoZi52YWxIb29rc1t0aGlzXSx7c2V0 OmZ1bmN0aW9uKGEsYil7aWYoZi5pc0FycmF5KGIpKXJldHVybiBhLmNoZWNrZWQ9 Zi5pbkFycmF5KGYoYSkudmFsKCksYik+PTB9fSl9KTt2YXIgej0vXig/OnRleHRh cmVhfGlucHV0fHNlbGVjdCkkL2ksQT0vXihbXlwuXSopPyg/OlwuKC4rKSk/JC8s Qj0vKD86Xnxccylob3ZlcihcLlxTKyk/XGIvLEM9L15rZXkvLEQ9L14oPzptb3Vz ZXxjb250ZXh0bWVudSl8Y2xpY2svLEU9L14oPzpmb2N1c2luZm9jdXN8Zm9jdXNv dXRibHVyKSQvLEY9L14oXHcqKSg/OiMoW1x3XC1dKykpPyg/OlwuKFtcd1wtXSsp KT8kLyxHPWZ1bmN0aW9uKAphKXt2YXIgYj1GLmV4ZWMoYSk7YiYmKGJbMV09KGJb MV18fCIiKS50b0xvd2VyQ2FzZSgpLGJbM109YlszXSYmbmV3IFJlZ0V4cCgiKD86 XnxcXHMpIitiWzNdKyIoPzpcXHN8JCkiKSk7cmV0dXJuIGJ9LEg9ZnVuY3Rpb24o YSxiKXt2YXIgYz1hLmF0dHJpYnV0ZXN8fHt9O3JldHVybighYlsxXXx8YS5ub2Rl TmFtZS50b0xvd2VyQ2FzZSgpPT09YlsxXSkmJighYlsyXXx8KGMuaWR8fHt9KS52 YWx1ZT09PWJbMl0pJiYoIWJbM118fGJbM10udGVzdCgoY1siY2xhc3MiXXx8e30p LnZhbHVlKSl9LEk9ZnVuY3Rpb24oYSl7cmV0dXJuIGYuZXZlbnQuc3BlY2lhbC5o b3Zlcj9hOmEucmVwbGFjZShCLCJtb3VzZWVudGVyJDEgbW91c2VsZWF2ZSQxIil9 O2YuZXZlbnQ9e2FkZDpmdW5jdGlvbihhLGMsZCxlLGcpe3ZhciBoLGksaixrLGws bSxuLG8scCxxLHIscztpZighKGEubm9kZVR5cGU9PT0zfHxhLm5vZGVUeXBlPT09 OHx8IWN8fCFkfHwhKGg9Zi5fZGF0YShhKSkpKXtkLmhhbmRsZXImJihwPWQsZD1w LmhhbmRsZXIsZz1wLnNlbGVjdG9yKSxkLmd1aWR8fChkLmd1aWQ9Zi5ndWlkKysp LGo9aC5ldmVudHMsanx8KGguZXZlbnRzPWo9e30pLGk9aC5oYW5kbGUsaXx8KGgu aGFuZGxlPWk9ZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBmIT0idW5kZWZpbmVk IiYmKCFhfHxmLmV2ZW50LnRyaWdnZXJlZCE9PWEudHlwZSk/Zi5ldmVudC5kaXNw YXRjaC5hcHBseShpLmVsZW0sYXJndW1lbnRzKTpifSxpLmVsZW09YSksYz1mLnRy aW0oSShjKSkuc3BsaXQoIiAiKTtmb3Ioaz0wO2s8Yy5sZW5ndGg7aysrKXtsPUEu ZXhlYyhjW2tdKXx8W10sbT1sWzFdLG49KGxbMl18fCIiKS5zcGxpdCgiLiIpLnNv cnQoKSxzPWYuZXZlbnQuc3BlY2lhbFttXXx8e30sbT0oZz9zLmRlbGVnYXRlVHlw ZTpzLmJpbmRUeXBlKXx8bSxzPWYuZXZlbnQuc3BlY2lhbFttXXx8e30sbz1mLmV4 dGVuZCh7dHlwZTptLG9yaWdUeXBlOmxbMV0sZGF0YTplLGhhbmRsZXI6ZCxndWlk OmQuZ3VpZCxzZWxlY3RvcjpnLHF1aWNrOmcmJkcoZyksbmFtZXNwYWNlOm4uam9p bigiLiIpfSxwKSxyPWpbbV07aWYoIXIpe3I9alttXT1bXSxyLmRlbGVnYXRlQ291

bnQ9MDtpZighcy5zZXR1cHx8cy5zZXR1cC5jYWxsKGEsZSxuLGkpPT09ITEpYS5h ZGRFdmVudExpc3RlbmVyP2EuYWRkRXZlbnRMaXN0ZW5lcihtLGksITEpOmEuYXR0 YWNoRXZlbnQmJmEuYXR0YWNoRXZlbnQoIm9uIittLGkpfXMuYWRkJiYocy5hZGQu Y2FsbChhLG8pLG8uaGFuZGxlci5ndWlkfHwoby5oYW5kbGVyLmd1aWQ9ZC5ndWlk KSksZz9yLnNwbGljZShyLmRlbGVnYXRlQ291bnQrKywwLG8pOnIucHVzaChvKSxm LmV2ZW50Lmdsb2JhbFttXT0hMH1hPW51bGx9fSxnbG9iYWw6e30scmVtb3ZlOmZ1 bmN0aW9uKGEsYixjLGQsZSl7dmFyIGc9Zi5oYXNEYXRhKGEpJiZmLl9kYXRhKGEp LGgsaSxqLGssbCxtLG4sbyxwLHEscixzO2lmKCEhZyYmISEobz1nLmV2ZW50cykp e2I9Zi50cmltKEkoYnx8IiIpKS5zcGxpdCgiICIpO2ZvcihoPTA7aDxiLmxlbmd0 aDtoKyspe2k9QS5leGVjKGJbaF0pfHxbXSxqPWs9aVsxXSxsPWlbMl07aWYoIWop e2ZvcihqIGluIG8pZi5ldmVudC5yZW1vdmUoYSxqK2JbaF0sYyxkLCEwKTtjb250 aW51ZX1wPWYuZXZlbnQuc3BlY2lhbFtqXXx8e30saj0oZD9wLmRlbGVnYXRlVHlw ZTpwLmJpbmRUeXBlKXx8aixyPW9bal18fFtdLG09ci5sZW5ndGgsbD1sP25ldyBS ZWdFeHAoIihefFxcLikiK2wuc3BsaXQoIi4iKS5zb3J0KCkuam9pbigiXFwuKD86 LipcXC4pPyIpKyIoXFwufCQpIik6bnVsbDtmb3Iobj0wO248ci5sZW5ndGg7bisr KXM9cltuXSwoZXx8az09PXMub3JpZ1R5cGUpJiYoIWN8fGMuZ3VpZD09PXMuZ3Vp ZCkmJighbHx8bC50ZXN0KHMubmFtZXNwYWNlKSkmJighZHx8ZD09PXMuc2VsZWN0 b3J8fGQ9PT0iKioiJiZzLnNlbGVjdG9yKSYmKHIuc3BsaWNlKG4tLSwxKSxzLnNl bGVjdG9yJiZyLmRlbGVnYXRlQ291bnQtLSxwLnJlbW92ZSYmcC5yZW1vdmUuY2Fs bChhLHMpKTtyLmxlbmd0aD09PTAmJm0hPT1yLmxlbmd0aCYmKCghcC50ZWFyZG93 bnx8cC50ZWFyZG93bi5jYWxsKGEsbCk9PT0hMSkmJmYucmVtb3ZlRXZlbnQoYSxq LGcuaGFuZGxlKSxkZWxldGUgb1tqXSl9Zi5pc0VtcHR5T2JqZWN0KG8pJiYocT1n LmhhbmRsZSxxJiYocS5lbGVtPW51bGwpLGYucmVtb3ZlRGF0YShhLFsiZXZlbnRz IiwiaGFuZGxlIl0sITApKX19LGN1c3RvbUV2ZW50OntnZXREYXRhOiEwLHNldERh dGE6ITAsY2hhbmdlRGF0YTohMH0sdHJpZ2dlcjpmdW5jdGlvbihjLGQsZSxnKXtp ZighZXx8ZS5ub2RlVHlwZSE9PTMmJmUubm9kZVR5cGUhPT04KXt2YXIgaD1jLnR5 cGV8fGMsaT1bXSxqLGssbCxtLG4sbyxwLHEscixzO2lmKEUudGVzdChoK2YuZXZl bnQudHJpZ2dlcmVkKSlyZXR1cm47aC5pbmRleE9mKCIhIik+PTAmJihoPWguc2xp Y2UoMCwtMSksaz0hMCksaC5pbmRleE9mKCIuIik+PTAmJihpPWguc3BsaXQoIi4i KSxoPWkuc2hpZnQoKSxpLnNvcnQoKSk7aWYoKCFlfHxmLmV2ZW50LmN1c3RvbUV2 ZW50W2hdKSYmIWYuZXZlbnQuZ2xvYmFsW2hdKXJldHVybjtjPXR5cGVvZiBjPT0i b2JqZWN0Ij9jW2YuZXhwYW5kb10/YzpuZXcgZi5FdmVudChoLGMpOm5ldyBmLkV2 ZW50KGgpLGMudHlwZT1oLGMuaXNUcmlnZ2VyPSEwLGMuZXhjbHVzaXZlPWssYy5u YW1lc3BhY2U9aS5qb2luKCIuIiksYy5uYW1lc3BhY2VfcmU9Yy5uYW1lc3BhY2U/ bmV3IFJlZ0V4cCgiKF58XFwuKSIraS5qb2luKCJcXC4oPzouKlxcLik/IikrIihc XC58JCkiKTpudWxsLG89aC5pbmRleE9mKCI6Iik8MD8ib24iK2g6IiI7aWYoIWUp e2o9Zi5jYWNoZTtmb3IobCBpbiBqKWpbbF0uZXZlbnRzJiZqW2xdLmV2ZW50c1to XSYmZi5ldmVudC50cmlnZ2VyKGMsZCxqW2xdLmhhbmRsZS5lbGVtLCEwKTtyZXR1 cm59Yy5yZXN1bHQ9YixjLnRhcmdldHx8KGMudGFyZ2V0PWUpLGQ9ZCE9bnVsbD9m Lm1ha2VBcnJheShkKTpbXSxkLnVuc2hpZnQoYykscD1mLmV2ZW50LnNwZWNpYWxb aF18fHt9O2lmKHAudHJpZ2dlciYmcC50cmlnZ2VyLmFwcGx5KGUsZCk9PT0hMSly ZXR1cm47cj1bW2UscC5iaW5kVHlwZXx8aF1dO2lmKCFnJiYhcC5ub0J1YmJsZSYm IWYuaXNXaW5kb3coZSkpe3M9cC5kZWxlZ2F0ZVR5cGV8fGgsbT1FLnRlc3Qocyto KT9lOmUucGFyZW50Tm9kZSxuPW51bGw7Zm9yKDttO209bS5wYXJlbnROb2RlKXIu cHVzaChbbSxzXSksbj1tO24mJm49PT1lLm93bmVyRG9jdW1lbnQmJnIucHVzaChb bi5kZWZhdWx0Vmlld3x8bi5wYXJlbnRXaW5kb3d8fGEsc10pfWZvcihsPTA7bDxy Lmxlbmd0aCYmIWMuaXNQcm9wYWdhdGlvblN0b3BwZWQoKTtsKyspbT1yW2xdWzBd LGMudHlwZT1yW2xdWzFdLHE9KGYuX2RhdGEobSwiZXZlbnRzIil8fHt9KVtjLnR5 cGVdJiZmLl9kYXRhKG0sImhhbmRsZSIpLHEmJnEuYXBwbHkobSxkKSxxPW8mJm1b b10scSYmZi5hY2NlcHREYXRhKG0pJiZxLmFwcGx5KG0sZCk9PT0hMSYmYy5wcmV2 ZW50RGVmYXVsdCgpO2MudHlwZT1oLCFnJiYhYy5pc0RlZmF1bHRQcmV2ZW50ZWQo KSYmKCFwLl9kZWZhdWx0fHxwLl9kZWZhdWx0LmFwcGx5KGUub3duZXJEb2N1bWVu dCxkKT09PSExKSYmKGghPT0iY2xpY2sifHwhZi5ub2RlTmFtZShlLCJhIikpJiZm LmFjY2VwdERhdGEoZSkmJm8mJmVbaF0mJihoIT09ImZvY3VzIiYmaCE9PSJibHVy Inx8Yy50YXJnZXQub2Zmc2V0V2lkdGghPT0wKSYmIWYuaXNXaW5kb3coZSkmJihu PWVbb10sbiYmKGVbb109bnVsbCksZi5ldmVudC50cmlnZ2VyZWQ9aCxlW2hdKCks Zi5ldmVudC50cmlnZ2VyZWQ9YixuJiYoZVtvXT1uKSk7cmV0dXJuIGMucmVzdWx0 fX0sZGlzcGF0Y2g6ZnVuY3Rpb24oYyl7Yz1mLmV2ZW50LmZpeChjfHxhLmV2ZW50 KTt2YXIgZD0oZi5fZGF0YSh0aGlzLCJldmVudHMiKXx8e30pW2MudHlwZV18fFtd LGU9ZC5kZWxlZ2F0ZUNvdW50LGc9W10uc2xpY2UuY2FsbChhcmd1bWVudHMsMCks

aD0hYy5leGNsdXNpdmUmJiFjLm5hbWVzcGFjZSxpPWYuZXZlbnQuc3BlY2lhbFtj LnR5cGVdfHx7fSxqPVtdLGssbCxtLG4sbyxwLHEscixzLHQsdTtnWzBdPWMsYy5k ZWxlZ2F0ZVRhcmdldD10aGlzO2lmKCFpLnByZURpc3BhdGNofHxpLnByZURpc3Bh dGNoLmNhbGwodGhpcyxjKSE9PSExKXtpZihlJiYoIWMuYnV0dG9ufHxjLnR5cGUh PT0iY2xpY2siKSl7bj1mKHRoaXMpLG4uY29udGV4dD10aGlzLm93bmVyRG9jdW1l bnR8fHRoaXM7Zm9yKG09Yy50YXJnZXQ7bSE9dGhpczttPW0ucGFyZW50Tm9kZXx8 dGhpcylpZihtLmRpc2FibGVkIT09ITApe3A9e30scj1bXSxuWzBdPW07Zm9yKGs9 MDtrPGU7aysrKXM9ZFtrXSx0PXMuc2VsZWN0b3IscFt0XT09PWImJihwW3RdPXMu cXVpY2s/SChtLHMucXVpY2spOm4uaXModCkpLHBbdF0mJnIucHVzaChzKTtyLmxl bmd0aCYmai5wdXNoKHtlbGVtOm0sbWF0Y2hlczpyfSl9fWQubGVuZ3RoPmUmJmou cHVzaCh7ZWxlbTp0aGlzLG1hdGNoZXM6ZC5zbGljZShlKX0pO2ZvcihrPTA7azxq Lmxlbmd0aCYmIWMuaXNQcm9wYWdhdGlvblN0b3BwZWQoKTtrKyspe3E9altrXSxj LmN1cnJlbnRUYXJnZXQ9cS5lbGVtO2ZvcihsPTA7bDxxLm1hdGNoZXMubGVuZ3Ro JiYhYy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpO2wrKyl7cz1xLm1h dGNoZXNbbF07aWYoaHx8IWMubmFtZXNwYWNlJiYhcy5uYW1lc3BhY2V8fGMubmFt ZXNwYWNlX3JlJiZjLm5hbWVzcGFjZV9yZS50ZXN0KHMubmFtZXNwYWNlKSljLmRh dGE9cy5kYXRhLGMuaGFuZGxlT2JqPXMsbz0oKGYuZXZlbnQuc3BlY2lhbFtzLm9y aWdUeXBlXXx8e30pLmhhbmRsZXx8cy5oYW5kbGVyKS5hcHBseShxLmVsZW0sZyks byE9PWImJihjLnJlc3VsdD1vLG89PT0hMSYmKGMucHJldmVudERlZmF1bHQoKSxj LnN0b3BQcm9wYWdhdGlvbigpKSl9fWkucG9zdERpc3BhdGNoJiZpLnBvc3REaXNw YXRjaC5jYWxsKHRoaXMsYyk7cmV0dXJuIGMucmVzdWx0fX0scHJvcHM6ImF0dHJD aGFuZ2UgYXR0ck5hbWUgcmVsYXRlZE5vZGUgc3JjRWxlbWVudCBhbHRLZXkgYnVi YmxlcyBjYW5jZWxhYmxlIGN0cmxLZXkgY3VycmVudFRhcmdldCBldmVudFBoYXNl IG1ldGFLZXkgcmVsYXRlZFRhcmdldCBzaGlmdEtleSB0YXJnZXQgdGltZVN0YW1w IHZpZXcgd2hpY2giLnNwbGl0KCIgIiksZml4SG9va3M6e30sa2V5SG9va3M6e3By b3BzOiJjaGFyIGNoYXJDb2RlIGtleSBrZXlDb2RlIi5zcGxpdCgiICIpLGZpbHRl cjpmdW5jdGlvbihhLGIpe2Eud2hpY2g9PW51bGwmJihhLndoaWNoPWIuY2hhckNv ZGUhPW51bGw/Yi5jaGFyQ29kZTpiLmtleUNvZGUpO3JldHVybiBhfX0sbW91c2VI b29rczp7cHJvcHM6ImJ1dHRvbiBidXR0b25zIGNsaWVudFggY2xpZW50WSBmcm9t RWxlbWVudCBvZmZzZXRYIG9mZnNldFkgcGFnZVggcGFnZVkgc2NyZWVuWCBzY3Jl ZW5ZIHRvRWxlbWVudCIuc3BsaXQoIiAiKSxmaWx0ZXI6ZnVuY3Rpb24oYSxkKXt2 YXIgZSxmLGcsaD1kLmJ1dHRvbixpPWQuZnJvbUVsZW1lbnQ7YS5wYWdlWD09bnVs bCYmZC5jbGllbnRYIT1udWxsJiYoZT1hLnRhcmdldC5vd25lckRvY3VtZW50fHxj LGY9ZS5kb2N1bWVudEVsZW1lbnQsZz1lLmJvZHksYS5wYWdlWD1kLmNsaWVudFgr KGYmJmYuc2Nyb2xsTGVmdHx8ZyYmZy5zY3JvbGxMZWZ0fHwwKS0oZiYmZi5jbGll bnRMZWZ0fHxnJiZnLmNsaWVudExlZnR8fDApLGEucGFnZVk9ZC5jbGllbnRZKyhm JiZmLnNjcm9sbFRvcHx8ZyYmZy5zY3JvbGxUb3B8fDApLShmJiZmLmNsaWVudFRv cHx8ZyYmZy5jbGllbnRUb3B8fDApKSwhYS5yZWxhdGVkVGFyZ2V0JiZpJiYoYS5y ZWxhdGVkVGFyZ2V0PWk9PT1hLnRhcmdldD9kLnRvRWxlbWVudDppKSwhYS53aGlj aCYmaCE9PWImJihhLndoaWNoPWgmMT8xOmgmMj8zOmgmND8yOjApO3JldHVybiBh fX0sZml4OmZ1bmN0aW9uKGEpe2lmKGFbZi5leHBhbmRvXSlyZXR1cm4gYTt2YXIg ZCxlLGc9YSxoPWYuZXZlbnQuZml4SG9va3NbYS50eXBlXXx8e30saT1oLnByb3Bz P3RoaXMucHJvcHMuY29uY2F0KGgucHJvcHMpOnRoaXMucHJvcHM7YT1mLkV2ZW50 KGcpO2ZvcihkPWkubGVuZ3RoO2Q7KWU9aVstLWRdLGFbZV09Z1tlXTthLnRhcmdl dHx8KGEudGFyZ2V0PWcuc3JjRWxlbWVudHx8YyksYS50YXJnZXQubm9kZVR5cGU9 PT0zJiYoYS50YXJnZXQ9YS50YXJnZXQucGFyZW50Tm9kZSksYS5tZXRhS2V5PT09 YiYmKGEubWV0YUtleT1hLmN0cmxLZXkpO3JldHVybiBoLmZpbHRlcj9oLmZpbHRl cihhLGcpOmF9LHNwZWNpYWw6e3JlYWR5OntzZXR1cDpmLmJpbmRSZWFkeX0sbG9h ZDp7bm9CdWJibGU6ITB9LGZvY3VzOntkZWxlZ2F0ZVR5cGU6ImZvY3VzaW4ifSxi bHVyOntkZWxlZ2F0ZVR5cGU6ImZvY3Vzb3V0In0sYmVmb3JldW5sb2FkOntzZXR1 cDpmdW5jdGlvbihhLGIsYyl7Zi5pc1dpbmRvdyh0aGlzKSYmKHRoaXMub25iZWZv cmV1bmxvYWQ9Yyl9LHRlYXJkb3duOmZ1bmN0aW9uKGEsYil7dGhpcy5vbmJlZm9y ZXVubG9hZD09PWImJih0aGlzLm9uYmVmb3JldW5sb2FkPW51bGwpfX19LHNpbXVs YXRlOmZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWYuZXh0ZW5kKG5ldyBmLkV2ZW50 LGMse3R5cGU6YSxpc1NpbXVsYXRlZDohMCxvcmlnaW5hbEV2ZW50Ont9fSk7ZD9m LmV2ZW50LnRyaWdnZXIoZSxudWxsLGIpOmYuZXZlbnQuZGlzcGF0Y2guY2FsbChi LGUpLGUuaXNEZWZhdWx0UHJldmVudGVkKCkmJmMucHJldmVudERlZmF1bHQoKX19 LGYuZXZlbnQuaGFuZGxlPWYuZXZlbnQuZGlzcGF0Y2gsZi5yZW1vdmVFdmVudD1j LnJlbW92ZUV2ZW50TGlzdGVuZXI/ZnVuY3Rpb24oYSxiLGMpe2EucmVtb3ZlRXZl bnRMaXN0ZW5lciYmYS5yZW1vdmVFdmVudExpc3RlbmVyKGIsYywhMSl9OmZ1bmN0

aW9uKGEsYixjKXthLmRldGFjaEV2ZW50JiZhLmRldGFjaEV2ZW50KCJvbiIrYixj KX0sZi5FdmVudD1mdW5jdGlvbihhLGIpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGYu RXZlbnQpKXJldHVybiBuZXcgZi5FdmVudChhLGIpO2EmJmEudHlwZT8odGhpcy5v cmlnaW5hbEV2ZW50PWEsdGhpcy50eXBlPWEudHlwZSx0aGlzLmlzRGVmYXVsdFBy ZXZlbnRlZD1hLmRlZmF1bHRQcmV2ZW50ZWR8fGEucmV0dXJuVmFsdWU9PT0hMXx8 YS5nZXRQcmV2ZW50RGVmYXVsdCYmYS5nZXRQcmV2ZW50RGVmYXVsdCgpP0s6Sik6 dGhpcy50eXBlPWEsYiYmZi5leHRlbmQodGhpcyxiKSx0aGlzLnRpbWVTdGFtcD1h JiZhLnRpbWVTdGFtcHx8Zi5ub3coKSx0aGlzW2YuZXhwYW5kb109ITB9LGYuRXZl bnQucHJvdG90eXBlPXtwcmV2ZW50RGVmYXVsdDpmdW5jdGlvbigpe3RoaXMuaXNE ZWZhdWx0UHJldmVudGVkPUs7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50OyFhfHwo YS5wcmV2ZW50RGVmYXVsdD9hLnByZXZlbnREZWZhdWx0KCk6YS5yZXR1cm5WYWx1 ZT0hMSl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3RoaXMuaXNQcm9wYWdh dGlvblN0b3BwZWQ9Szt2YXIgYT10aGlzLm9yaWdpbmFsRXZlbnQ7IWF8fChhLnN0 b3BQcm9wYWdhdGlvbiYmYS5zdG9wUHJvcGFnYXRpb24oKSxhLmNhbmNlbEJ1YmJs ZT0hMCl9LHN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3RoaXMu aXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ9Syx0aGlzLnN0b3BQcm9wYWdh dGlvbigpfSxpc0RlZmF1bHRQcmV2ZW50ZWQ6Sixpc1Byb3BhZ2F0aW9uU3RvcHBl ZDpKLGlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOkp9LGYuZWFjaCh7bW91 c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCJ9LGZ1bmN0 aW9uKGEsYil7Zi5ldmVudC5zcGVjaWFsW2FdPXtkZWxlZ2F0ZVR5cGU6YixiaW5k VHlwZTpiLGhhbmRsZTpmdW5jdGlvbihhKXt2YXIgYz10aGlzLGQ9YS5yZWxhdGVk VGFyZ2V0LGU9YS5oYW5kbGVPYmosZz1lLnNlbGVjdG9yLGg7aWYoIWR8fGQhPT1j JiYhZi5jb250YWlucyhjLGQpKWEudHlwZT1lLm9yaWdUeXBlLGg9ZS5oYW5kbGVy LmFwcGx5KHRoaXMsYXJndW1lbnRzKSxhLnR5cGU9YjtyZXR1cm4gaH19fSksZi5z dXBwb3J0LnN1Ym1pdEJ1YmJsZXN8fChmLmV2ZW50LnNwZWNpYWwuc3VibWl0PXtz ZXR1cDpmdW5jdGlvbigpe2lmKGYubm9kZU5hbWUodGhpcywiZm9ybSIpKXJldHVy biExO2YuZXZlbnQuYWRkKHRoaXMsImNsaWNrLl9zdWJtaXQga2V5cHJlc3MuX3N1 Ym1pdCIsZnVuY3Rpb24oYSl7dmFyIGM9YS50YXJnZXQsZD1mLm5vZGVOYW1lKGMs ImlucHV0Iil8fGYubm9kZU5hbWUoYywiYnV0dG9uIik/Yy5mb3JtOmI7ZCYmIWQu X3N1Ym1pdF9hdHRhY2hlZCYmKGYuZXZlbnQuYWRkKGQsInN1Ym1pdC5fc3VibWl0 IixmdW5jdGlvbihhKXthLl9zdWJtaXRfYnViYmxlPSEwfSksZC5fc3VibWl0X2F0 dGFjaGVkPSEwKX0pfSxwb3N0RGlzcGF0Y2g6ZnVuY3Rpb24oYSl7YS5fc3VibWl0 X2J1YmJsZSYmKGRlbGV0ZSBhLl9zdWJtaXRfYnViYmxlLHRoaXMucGFyZW50Tm9k ZSYmIWEuaXNUcmlnZ2VyJiZmLmV2ZW50LnNpbXVsYXRlKCJzdWJtaXQiLHRoaXMu cGFyZW50Tm9kZSxhLCEwKSl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7aWYoZi5ub2Rl TmFtZSh0aGlzLCJmb3JtIikpcmV0dXJuITE7Zi5ldmVudC5yZW1vdmUodGhpcywi Ll9zdWJtaXQiKX19KSxmLnN1cHBvcnQuY2hhbmdlQnViYmxlc3x8KGYuZXZlbnQu c3BlY2lhbC5jaGFuZ2U9e3NldHVwOmZ1bmN0aW9uKCl7aWYoei50ZXN0KHRoaXMu bm9kZU5hbWUpKXtpZih0aGlzLnR5cGU9PT0iY2hlY2tib3gifHx0aGlzLnR5cGU9 PT0icmFkaW8iKWYuZXZlbnQuYWRkKHRoaXMsInByb3BlcnR5Y2hhbmdlLl9jaGFu Z2UiLGZ1bmN0aW9uKGEpe2Eub3JpZ2luYWxFdmVudC5wcm9wZXJ0eU5hbWU9PT0i Y2hlY2tlZCImJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITApfSksZi5ldmVudC5hZGQo dGhpcywiY2xpY2suX2NoYW5nZSIsZnVuY3Rpb24oYSl7dGhpcy5fanVzdF9jaGFu Z2VkJiYhYS5pc1RyaWdnZXImJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITEsZi5ldmVu dC5zaW11bGF0ZSgiY2hhbmdlIix0aGlzLGEsITApKX0pO3JldHVybiExfWYuZXZl bnQuYWRkKHRoaXMsImJlZm9yZWFjdGl2YXRlLl9jaGFuZ2UiLGZ1bmN0aW9uKGEp e3ZhciBiPWEudGFyZ2V0O3oudGVzdChiLm5vZGVOYW1lKSYmIWIuX2NoYW5nZV9h dHRhY2hlZCYmKGYuZXZlbnQuYWRkKGIsImNoYW5nZS5fY2hhbmdlIixmdW5jdGlv bihhKXt0aGlzLnBhcmVudE5vZGUmJiFhLmlzU2ltdWxhdGVkJiYhYS5pc1RyaWdn ZXImJmYuZXZlbnQuc2ltdWxhdGUoImNoYW5nZSIsdGhpcy5wYXJlbnROb2RlLGEs ITApfSksYi5fY2hhbmdlX2F0dGFjaGVkPSEwKX0pfSxoYW5kbGU6ZnVuY3Rpb24o YSl7dmFyIGI9YS50YXJnZXQ7aWYodGhpcyE9PWJ8fGEuaXNTaW11bGF0ZWR8fGEu aXNUcmlnZ2VyfHxiLnR5cGUhPT0icmFkaW8iJiZiLnR5cGUhPT0iY2hlY2tib3gi KXJldHVybiBhLmhhbmRsZU9iai5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRz KX0sdGVhcmRvd246ZnVuY3Rpb24oKXtmLmV2ZW50LnJlbW92ZSh0aGlzLCIuX2No YW5nZSIpO3JldHVybiB6LnRlc3QodGhpcy5ub2RlTmFtZSl9fSksZi5zdXBwb3J0 LmZvY3VzaW5CdWJibGVzfHxmLmVhY2goe2ZvY3VzOiJmb2N1c2luIixibHVyOiJm b2N1c291dCJ9LGZ1bmN0aW9uKGEsYil7dmFyIGQ9MCxlPWZ1bmN0aW9uKGEpe2Yu ZXZlbnQuc2ltdWxhdGUoYixhLnRhcmdldCxmLmV2ZW50LmZpeChhKSwhMCl9O2Yu ZXZlbnQuc3BlY2lhbFtiXT17c2V0dXA6ZnVuY3Rpb24oKXtkKys9PT0wJiZjLmFk

ZEV2ZW50TGlzdGVuZXIoYSxlLCEwKX0sdGVhcmRvd246ZnVuY3Rpb24oKXstLWQ9 PT0wJiZjLnJlbW92ZUV2ZW50TGlzdGVuZXIoYSxlLCEwKX19fSksZi5mbi5leHRl bmQoe29uOmZ1bmN0aW9uKGEsYyxkLGUsZyl7dmFyIGgsaTtpZih0eXBlb2YgYT09 Im9iamVjdCIpe3R5cGVvZiBjIT0ic3RyaW5nIiYmKGQ9ZHx8YyxjPWIpO2Zvcihp IGluIGEpdGhpcy5vbihpLGMsZCxhW2ldLGcpO3JldHVybiB0aGlzfWQ9PW51bGwm JmU9PW51bGw/KGU9YyxkPWM9Yik6ZT09bnVsbCYmKHR5cGVvZiBjPT0ic3RyaW5n Ij8oZT1kLGQ9Yik6KGU9ZCxkPWMsYz1iKSk7aWYoZT09PSExKWU9SjtlbHNlIGlm KCFlKXJldHVybiB0aGlzO2c9PT0xJiYoaD1lLGU9ZnVuY3Rpb24oYSl7ZigpLm9m ZihhKTtyZXR1cm4gaC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGUuZ3VpZD1oLmd1 aWR8fChoLmd1aWQ9Zi5ndWlkKyspKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9u KCl7Zi5ldmVudC5hZGQodGhpcyxhLGUsZCxjKX0pfSxvbmU6ZnVuY3Rpb24oYSxi LGMsZCl7cmV0dXJuIHRoaXMub24oYSxiLGMsZCwxKX0sb2ZmOmZ1bmN0aW9uKGEs YyxkKXtpZihhJiZhLnByZXZlbnREZWZhdWx0JiZhLmhhbmRsZU9iail7dmFyIGU9 YS5oYW5kbGVPYmo7ZihhLmRlbGVnYXRlVGFyZ2V0KS5vZmYoZS5uYW1lc3BhY2U/ ZS5vcmlnVHlwZSsiLiIrZS5uYW1lc3BhY2U6ZS5vcmlnVHlwZSxlLnNlbGVjdG9y LGUuaGFuZGxlcik7cmV0dXJuIHRoaXN9aWYodHlwZW9mIGE9PSJvYmplY3QiKXtm b3IodmFyIGcgaW4gYSl0aGlzLm9mZihnLGMsYVtnXSk7cmV0dXJuIHRoaXN9aWYo Yz09PSExfHx0eXBlb2YgYz09ImZ1bmN0aW9uIilkPWMsYz1iO2Q9PT0hMSYmKGQ9 Sik7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2YuZXZlbnQucmVtb3ZlKHRo aXMsYSxkLGMpfSl9LGJpbmQ6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB0aGlzLm9u KGEsbnVsbCxiLGMpfSx1bmJpbmQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5v ZmYoYSxudWxsLGIpfSxsaXZlOmZ1bmN0aW9uKGEsYixjKXtmKHRoaXMuY29udGV4 dCkub24oYSx0aGlzLnNlbGVjdG9yLGIsYyk7cmV0dXJuIHRoaXN9LGRpZTpmdW5j dGlvbihhLGIpe2YodGhpcy5jb250ZXh0KS5vZmYoYSx0aGlzLnNlbGVjdG9yfHwi KioiLGIpO3JldHVybiB0aGlzfSxkZWxlZ2F0ZTpmdW5jdGlvbihhLGIsYyxkKXty ZXR1cm4gdGhpcy5vbihiLGEsYyxkKX0sdW5kZWxlZ2F0ZTpmdW5jdGlvbihhLGIs Yyl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg9PTE/dGhpcy5vZmYoYSwiKioiKTp0 aGlzLm9mZihiLGEsYyl9LHRyaWdnZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhp cy5lYWNoKGZ1bmN0aW9uKCl7Zi5ldmVudC50cmlnZ2VyKGEsYix0aGlzKX0pfSx0 cmlnZ2VySGFuZGxlcjpmdW5jdGlvbihhLGIpe2lmKHRoaXNbMF0pcmV0dXJuIGYu ZXZlbnQudHJpZ2dlcihhLGIsdGhpc1swXSwhMCl9LHRvZ2dsZTpmdW5jdGlvbihh KXt2YXIgYj1hcmd1bWVudHMsYz1hLmd1aWR8fGYuZ3VpZCsrLGQ9MCxlPWZ1bmN0 aW9uKGMpe3ZhciBlPShmLl9kYXRhKHRoaXMsImxhc3RUb2dnbGUiK2EuZ3VpZCl8 fDApJWQ7Zi5fZGF0YSh0aGlzLCJsYXN0VG9nZ2xlIithLmd1aWQsZSsxKSxjLnBy ZXZlbnREZWZhdWx0KCk7cmV0dXJuIGJbZV0uYXBwbHkodGhpcyxhcmd1bWVudHMp fHwhMX07ZS5ndWlkPWM7d2hpbGUoZDxiLmxlbmd0aCliW2QrK10uZ3VpZD1jO3Jl dHVybiB0aGlzLmNsaWNrKGUpfSxob3ZlcjpmdW5jdGlvbihhLGIpe3JldHVybiB0 aGlzLm1vdXNlZW50ZXIoYSkubW91c2VsZWF2ZShifHxhKX19KSxmLmVhY2goImJs dXIgZm9jdXMgZm9jdXNpbiBmb2N1c291dCBsb2FkIHJlc2l6ZSBzY3JvbGwgdW5s b2FkIGNsaWNrIGRibGNsaWNrIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBt b3VzZW92ZXIgbW91c2VvdXQgbW91c2VlbnRlciBtb3VzZWxlYXZlIGNoYW5nZSBz ZWxlY3Qgc3VibWl0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgZXJyb3IgY29udGV4 dG1lbnUiLnNwbGl0KCIgIiksZnVuY3Rpb24oYSxiKXtmLmZuW2JdPWZ1bmN0aW9u KGEsYyl7Yz09bnVsbCYmKGM9YSxhPW51bGwpO3JldHVybiBhcmd1bWVudHMubGVu Z3RoPjA/dGhpcy5vbihiLG51bGwsYSxjKTp0aGlzLnRyaWdnZXIoYil9LGYuYXR0 ckZuJiYoZi5hdHRyRm5bYl09ITApLEMudGVzdChiKSYmKGYuZXZlbnQuZml4SG9v a3NbYl09Zi5ldmVudC5rZXlIb29rcyksRC50ZXN0KGIpJiYoZi5ldmVudC5maXhI b29rc1tiXT1mLmV2ZW50Lm1vdXNlSG9va3MpfSksZnVuY3Rpb24oKXtmdW5jdGlv biB4KGEsYixjLGUsZixnKXtmb3IodmFyIGg9MCxpPWUubGVuZ3RoO2g8aTtoKysp e3ZhciBqPWVbaF07aWYoail7dmFyIGs9ITE7aj1qW2FdO3doaWxlKGope2lmKGpb ZF09PT1jKXtrPWVbai5zaXpzZXRdO2JyZWFrfWlmKGoubm9kZVR5cGU9PT0xKXtn fHwoaltkXT1jLGouc2l6c2V0PWgpO2lmKHR5cGVvZiBiIT0ic3RyaW5nIil7aWYo aj09PWIpe2s9ITA7YnJlYWt9fWVsc2UgaWYobS5maWx0ZXIoYixbal0pLmxlbmd0 aD4wKXtrPWo7YnJlYWt9fWo9althXX1lW2hdPWt9fX1mdW5jdGlvbiB3KGEsYixj LGUsZixnKXtmb3IodmFyIGg9MCxpPWUubGVuZ3RoO2g8aTtoKyspe3ZhciBqPWVb aF07aWYoail7dmFyIGs9ITE7aj1qW2FdO3doaWxlKGope2lmKGpbZF09PT1jKXtr PWVbai5zaXpzZXRdO2JyZWFrfWoubm9kZVR5cGU9PT0xJiYhZyYmKGpbZF09Yyxq LnNpenNldD1oKTtpZihqLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1iKXtrPWo7 YnJlYWt9aj1qW2FdfWVbaF09a319fXZhciBhPS8oKD86XCgoPzpcKFteKCldK1wp fFteKCldKykrXCl8XFsoPzpcW1teXFtcXV0qXF18WyciXVteJyJdKlsnIl18W15c

W1xdJyJdKykrXF18XFwufFteID4rfiwoXFtcXF0rKSt8Wz4rfl0pKFxzKixccyop PygoPzoufFxyfFxuKSopL2csZD0ic2l6Y2FjaGUiKyhNYXRoLnJhbmRvbSgpKyIi KS5yZXBsYWNlKCIuIiwiIiksZT0wLGc9T2JqZWN0LnByb3RvdHlwZS50b1N0cmlu ZyxoPSExLGk9ITAsaj0vXFwvZyxrPS9cclxuL2csbD0vXFcvO1swLDBdLnNvcnQo ZnVuY3Rpb24oKXtpPSExO3JldHVybiAwfSk7dmFyIG09ZnVuY3Rpb24oYixkLGUs Zil7ZT1lfHxbXSxkPWR8fGM7dmFyIGg9ZDtpZihkLm5vZGVUeXBlIT09MSYmZC5u b2RlVHlwZSE9PTkpcmV0dXJuW107aWYoIWJ8fHR5cGVvZiBiIT0ic3RyaW5nIily ZXR1cm4gZTt2YXIgaSxqLGssbCxuLHEscix0LHU9ITAsdj1tLmlzWE1MKGQpLHc9 W10seD1iO2Rve2EuZXhlYygiIiksaT1hLmV4ZWMoeCk7aWYoaSl7eD1pWzNdLHcu cHVzaChpWzFdKTtpZihpWzJdKXtsPWlbM107YnJlYWt9fX13aGlsZShpKTtpZih3 Lmxlbmd0aD4xJiZwLmV4ZWMoYikpaWYody5sZW5ndGg9PT0yJiZvLnJlbGF0aXZl W3dbMF1dKWo9eSh3WzBdK3dbMV0sZCxmKTtlbHNle2o9by5yZWxhdGl2ZVt3WzBd XT9bZF06bSh3LnNoaWZ0KCksZCk7d2hpbGUody5sZW5ndGgpYj13LnNoaWZ0KCks by5yZWxhdGl2ZVtiXSYmKGIrPXcuc2hpZnQoKSksaj15KGIsaixmKX1lbHNleyFm JiZ3Lmxlbmd0aD4xJiZkLm5vZGVUeXBlPT09OSYmIXYmJm8ubWF0Y2guSUQudGVz dCh3WzBdKSYmIW8ubWF0Y2guSUQudGVzdCh3W3cubGVuZ3RoLTFdKSYmKG49bS5m aW5kKHcuc2hpZnQoKSxkLHYpLGQ9bi5leHByP20uZmlsdGVyKG4uZXhwcixuLnNl dClbMF06bi5zZXRbMF0pO2lmKGQpe249Zj97ZXhwcjp3LnBvcCgpLHNldDpzKGYp fTptLmZpbmQody5wb3AoKSx3Lmxlbmd0aD09PTEmJih3WzBdPT09In4ifHx3WzBd PT09IisiKSYmZC5wYXJlbnROb2RlP2QucGFyZW50Tm9kZTpkLHYpLGo9bi5leHBy P20uZmlsdGVyKG4uZXhwcixuLnNldCk6bi5zZXQsdy5sZW5ndGg+MD9rPXMoaik6 dT0hMTt3aGlsZSh3Lmxlbmd0aClxPXcucG9wKCkscj1xLG8ucmVsYXRpdmVbcV0/ cj13LnBvcCgpOnE9IiIscj09bnVsbCYmKHI9ZCksby5yZWxhdGl2ZVtxXShrLHIs dil9ZWxzZSBrPXc9W119a3x8KGs9aiksa3x8bS5lcnJvcihxfHxiKTtpZihnLmNh bGwoayk9PT0iW29iamVjdCBBcnJheV0iKWlmKCF1KWUucHVzaC5hcHBseShlLGsp O2Vsc2UgaWYoZCYmZC5ub2RlVHlwZT09PTEpZm9yKHQ9MDtrW3RdIT1udWxsO3Qr KylrW3RdJiYoa1t0XT09PSEwfHxrW3RdLm5vZGVUeXBlPT09MSYmbS5jb250YWlu cyhkLGtbdF0pKSYmZS5wdXNoKGpbdF0pO2Vsc2UgZm9yKHQ9MDtrW3RdIT1udWxs O3QrKylrW3RdJiZrW3RdLm5vZGVUeXBlPT09MSYmZS5wdXNoKGpbdF0pO2Vsc2Ug cyhrLGUpO2wmJihtKGwsaCxlLGYpLG0udW5pcXVlU29ydChlKSk7cmV0dXJuIGV9 O20udW5pcXVlU29ydD1mdW5jdGlvbihhKXtpZih1KXtoPWksYS5zb3J0KHUpO2lm KGgpZm9yKHZhciBiPTE7YjxhLmxlbmd0aDtiKyspYVtiXT09PWFbYi0xXSYmYS5z cGxpY2UoYi0tLDEpfXJldHVybiBhfSxtLm1hdGNoZXM9ZnVuY3Rpb24oYSxiKXty ZXR1cm4gbShhLG51bGwsbnVsbCxiKX0sbS5tYXRjaGVzU2VsZWN0b3I9ZnVuY3Rp b24oYSxiKXtyZXR1cm4gbShiLG51bGwsbnVsbCxbYV0pLmxlbmd0aD4wfSxtLmZp bmQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnLGgsaTtpZighYSlyZXR1cm5b XTtmb3IoZT0wLGY9by5vcmRlci5sZW5ndGg7ZTxmO2UrKyl7aD1vLm9yZGVyW2Vd O2lmKGc9by5sZWZ0TWF0Y2hbaF0uZXhlYyhhKSl7aT1nWzFdLGcuc3BsaWNlKDEs MSk7aWYoaS5zdWJzdHIoaS5sZW5ndGgtMSkhPT0iXFwiKXtnWzFdPShnWzFdfHwi IikucmVwbGFjZShqLCIiKSxkPW8uZmluZFtoXShnLGIsYyk7aWYoZCE9bnVsbCl7 YT1hLnJlcGxhY2Uoby5tYXRjaFtoXSwiIik7YnJlYWt9fX19ZHx8KGQ9dHlwZW9m IGIuZ2V0RWxlbWVudHNCeVRhZ05hbWUhPSJ1bmRlZmluZWQiP2IuZ2V0RWxlbWVu dHNCeVRhZ05hbWUoIioiKTpbXSk7cmV0dXJue3NldDpkLGV4cHI6YX19LG0uZmls dGVyPWZ1bmN0aW9uKGEsYyxkLGUpe3ZhciBmLGcsaCxpLGosayxsLG4scCxxPWEs cj1bXSxzPWMsdD1jJiZjWzBdJiZtLmlzWE1MKGNbMF0pO3doaWxlKGEmJmMubGVu Z3RoKXtmb3IoaCBpbiBvLmZpbHRlcilpZigoZj1vLmxlZnRNYXRjaFtoXS5leGVj KGEpKSE9bnVsbCYmZlsyXSl7az1vLmZpbHRlcltoXSxsPWZbMV0sZz0hMSxmLnNw bGljZSgxLDEpO2lmKGwuc3Vic3RyKGwubGVuZ3RoLTEpPT09IlxcIiljb250aW51 ZTtzPT09ciYmKHI9W10pO2lmKG8ucHJlRmlsdGVyW2hdKXtmPW8ucHJlRmlsdGVy W2hdKGYscyxkLHIsZSx0KTtpZighZilnPWk9ITA7ZWxzZSBpZihmPT09ITApY29u dGludWV9aWYoZilmb3Iobj0wOyhqPXNbbl0pIT1udWxsO24rKylqJiYoaT1rKGos ZixuLHMpLHA9ZV5pLGQmJmkhPW51bGw/cD9nPSEwOnNbbl09ITE6cCYmKHIucHVz aChqKSxnPSEwKSk7aWYoaSE9PWIpe2R8fChzPXIpLGE9YS5yZXBsYWNlKG8ubWF0 Y2hbaF0sIiIpO2lmKCFnKXJldHVybltdO2JyZWFrfX1pZihhPT09cSlpZihnPT1u dWxsKW0uZXJyb3IoYSk7ZWxzZSBicmVhaztxPWF9cmV0dXJuIHN9LG0uZXJyb3I9 ZnVuY3Rpb24oYSl7dGhyb3cgbmV3IEVycm9yKCJTeW50YXggZXJyb3IsIHVucmVj b2duaXplZCBleHByZXNzaW9uOiAiK2EpfTt2YXIgbj1tLmdldFRleHQ9ZnVuY3Rp b24oYSl7dmFyIGIsYyxkPWEubm9kZVR5cGUsZT0iIjtpZihkKXtpZihkPT09MXx8 ZD09PTl8fGQ9PT0xMSl7aWYodHlwZW9mIGEudGV4dENvbnRlbnQ9PSJzdHJpbmci KXJldHVybiBhLnRleHRDb250ZW50O2lmKHR5cGVvZiBhLmlubmVyVGV4dD09InN0

cmluZyIpcmV0dXJuIGEuaW5uZXJUZXh0LnJlcGxhY2UoaywiIik7Zm9yKGE9YS5m aXJzdENoaWxkO2E7YT1hLm5leHRTaWJsaW5nKWUrPW4oYSl9ZWxzZSBpZihkPT09 M3x8ZD09PTQpcmV0dXJuIGEubm9kZVZhbHVlfWVsc2UgZm9yKGI9MDtjPWFbYl07 YisrKWMubm9kZVR5cGUhPT04JiYoZSs9bihjKSk7cmV0dXJuIGV9LG89bS5zZWxl Y3RvcnM9e29yZGVyOlsiSUQiLCJOQU1FIiwiVEFHIl0sbWF0Y2g6e0lEOi8jKCg/ Oltcd1x1MDBjMC1cdUZGRkZcLV18XFwuKSspLyxDTEFTUzovXC4oKD86W1x3XHUw MGMwLVx1RkZGRlwtXXxcXC4pKykvLE5BTUU6L1xbbmFtZT1bJyJdKigoPzpbXHdc dTAwYzAtXHVGRkZGXC1dfFxcLikrKVsnIl0qXF0vLEFUVFI6L1xbXHMqKCg/Oltc d1x1MDBjMC1cdUZGRkZcLV18XFwuKSspXHMqKD86KFxTPz0pXHMqKD86KFsnIl0p KC4qPylcM3woIz8oPzpbXHdcdTAwYzAtXHVGRkZGXC1dfFxcLikqKXwpfClccypc XS8sVEFHOi9eKCg/Oltcd1x1MDBjMC1cdUZGRkZcKlwtXXxcXC4pKykvLENISUxE Oi86KG9ubHl8bnRofGxhc3R8Zmlyc3QpLWNoaWxkKD86XChccyooZXZlbnxvZGR8 KD86WytcLV0/XGQrfCg/OlsrXC1dP1xkKik/blxzKig/OlsrXC1dXHMqXGQrKT8p KVxzKlwpKT8vLFBPUzovOihudGh8ZXF8Z3R8bHR8Zmlyc3R8bGFzdHxldmVufG9k ZCkoPzpcKChcZCopXCkpPyg/PVteXC1dfCQpLyxQU0VVRE86LzooKD86W1x3XHUw MGMwLVx1RkZGRlwtXXxcXC4pKykoPzpcKChbJyJdPykoKD86XChbXlwpXStcKXxb XlwoXCldKikrKVwyXCkpPy99LGxlZnRNYXRjaDp7fSxhdHRyTWFwOnsiY2xhc3Mi OiJjbGFzc05hbWUiLCJmb3IiOiJodG1sRm9yIn0sYXR0ckhhbmRsZTp7aHJlZjpm dW5jdGlvbihhKXtyZXR1cm4gYS5nZXRBdHRyaWJ1dGUoImhyZWYiKX0sdHlwZTpm dW5jdGlvbihhKXtyZXR1cm4gYS5nZXRBdHRyaWJ1dGUoInR5cGUiKX19LHJlbGF0 aXZlOnsiKyI6ZnVuY3Rpb24oYSxiKXt2YXIgYz10eXBlb2YgYj09InN0cmluZyIs ZD1jJiYhbC50ZXN0KGIpLGU9YyYmIWQ7ZCYmKGI9Yi50b0xvd2VyQ2FzZSgpKTtm b3IodmFyIGY9MCxnPWEubGVuZ3RoLGg7ZjxnO2YrKylpZihoPWFbZl0pe3doaWxl KChoPWgucHJldmlvdXNTaWJsaW5nKSYmaC5ub2RlVHlwZSE9PTEpO2FbZl09ZXx8 aCYmaC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09Yj9ofHwhMTpoPT09Yn1lJiZt LmZpbHRlcihiLGEsITApfSwiPiI6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPXR5cGVv ZiBiPT0ic3RyaW5nIixlPTAsZj1hLmxlbmd0aDtpZihkJiYhbC50ZXN0KGIpKXti PWIudG9Mb3dlckNhc2UoKTtmb3IoO2U8ZjtlKyspe2M9YVtlXTtpZihjKXt2YXIg Zz1jLnBhcmVudE5vZGU7YVtlXT1nLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1i P2c6ITF9fX1lbHNle2Zvcig7ZTxmO2UrKyljPWFbZV0sYyYmKGFbZV09ZD9jLnBh cmVudE5vZGU6Yy5wYXJlbnROb2RlPT09Yik7ZCYmbS5maWx0ZXIoYixhLCEwKX19 LCIiOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxmPWUrKyxnPXg7dHlwZW9mIGI9PSJz dHJpbmciJiYhbC50ZXN0KGIpJiYoYj1iLnRvTG93ZXJDYXNlKCksZD1iLGc9dyks ZygicGFyZW50Tm9kZSIsYixmLGEsZCxjKX0sIn4iOmZ1bmN0aW9uKGEsYixjKXt2 YXIgZCxmPWUrKyxnPXg7dHlwZW9mIGI9PSJzdHJpbmciJiYhbC50ZXN0KGIpJiYo Yj1iLnRvTG93ZXJDYXNlKCksZD1iLGc9dyksZygicHJldmlvdXNTaWJsaW5nIixi LGYsYSxkLGMpfX0sZmluZDp7SUQ6ZnVuY3Rpb24oYSxiLGMpe2lmKHR5cGVvZiBi LmdldEVsZW1lbnRCeUlkIT0idW5kZWZpbmVkIiYmIWMpe3ZhciBkPWIuZ2V0RWxl bWVudEJ5SWQoYVsxXSk7cmV0dXJuIGQmJmQucGFyZW50Tm9kZT9bZF06W119fSxO QU1FOmZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGIuZ2V0RWxlbWVudHNCeU5hbWUh PSJ1bmRlZmluZWQiKXt2YXIgYz1bXSxkPWIuZ2V0RWxlbWVudHNCeU5hbWUoYVsx XSk7Zm9yKHZhciBlPTAsZj1kLmxlbmd0aDtlPGY7ZSsrKWRbZV0uZ2V0QXR0cmli dXRlKCJuYW1lIik9PT1hWzFdJiZjLnB1c2goZFtlXSk7cmV0dXJuIGMubGVuZ3Ro PT09MD9udWxsOmN9fSxUQUc6ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgYi5nZXRF bGVtZW50c0J5VGFnTmFtZSE9InVuZGVmaW5lZCIpcmV0dXJuIGIuZ2V0RWxlbWVu dHNCeVRhZ05hbWUoYVsxXSl9fSxwcmVGaWx0ZXI6e0NMQVNTOmZ1bmN0aW9uKGEs YixjLGQsZSxmKXthPSIgIithWzFdLnJlcGxhY2UoaiwiIikrIiAiO2lmKGYpcmV0 dXJuIGE7Zm9yKHZhciBnPTAsaDsoaD1iW2ddKSE9bnVsbDtnKyspaCYmKGVeKGgu Y2xhc3NOYW1lJiYoIiAiK2guY2xhc3NOYW1lKyIgIikucmVwbGFjZSgvW1x0XG5c cl0vZywiICIpLmluZGV4T2YoYSk+PTApP2N8fGQucHVzaChoKTpjJiYoYltnXT0h MSkpO3JldHVybiExfSxJRDpmdW5jdGlvbihhKXtyZXR1cm4gYVsxXS5yZXBsYWNl KGosIiIpfSxUQUc6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYVsxXS5yZXBsYWNlKGos IiIpLnRvTG93ZXJDYXNlKCl9LENISUxEOmZ1bmN0aW9uKGEpe2lmKGFbMV09PT0i bnRoIil7YVsyXXx8bS5lcnJvcihhWzBdKSxhWzJdPWFbMl0ucmVwbGFjZSgvXlwr fFxzKi9nLCIiKTt2YXIgYj0vKC0/KShcZCopKD86bihbK1wtXT9cZCopKT8vLmV4 ZWMoYVsyXT09PSJldmVuIiYmIjJuInx8YVsyXT09PSJvZGQiJiYiMm4rMSJ8fCEv XEQvLnRlc3QoYVsyXSkmJiIwbisiK2FbMl18fGFbMl0pO2FbMl09YlsxXSsoYlsy XXx8MSktMCxhWzNdPWJbM10tMH1lbHNlIGFbMl0mJm0uZXJyb3IoYVswXSk7YVsw XT1lKys7cmV0dXJuIGF9LEFUVFI6ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3ZhciBn PWFbMV09YVsxXS5yZXBsYWNlKGosIiIpOyFmJiZvLmF0dHJNYXBbZ10mJihhWzFd

PW8uYXR0ck1hcFtnXSksYVs0XT0oYVs0XXx8YVs1XXx8IiIpLnJlcGxhY2Uoaiwi IiksYVsyXT09PSJ+PSImJihhWzRdPSIgIithWzRdKyIgIik7cmV0dXJuIGF9LFBT RVVETzpmdW5jdGlvbihiLGMsZCxlLGYpe2lmKGJbMV09PT0ibm90IilpZigoYS5l eGVjKGJbM10pfHwiIikubGVuZ3RoPjF8fC9eXHcvLnRlc3QoYlszXSkpYlszXT1t KGJbM10sbnVsbCxudWxsLGMpO2Vsc2V7dmFyIGc9bS5maWx0ZXIoYlszXSxjLGQs ITBeZik7ZHx8ZS5wdXNoLmFwcGx5KGUsZyk7cmV0dXJuITF9ZWxzZSBpZihvLm1h dGNoLlBPUy50ZXN0KGJbMF0pfHxvLm1hdGNoLkNISUxELnRlc3QoYlswXSkpcmV0 dXJuITA7cmV0dXJuIGJ9LFBPUzpmdW5jdGlvbihhKXthLnVuc2hpZnQoITApO3Jl dHVybiBhfX0sZmlsdGVyczp7ZW5hYmxlZDpmdW5jdGlvbihhKXtyZXR1cm4gYS5k aXNhYmxlZD09PSExJiZhLnR5cGUhPT0iaGlkZGVuIn0sZGlzYWJsZWQ6ZnVuY3Rp b24oYSl7cmV0dXJuIGEuZGlzYWJsZWQ9PT0hMH0sY2hlY2tlZDpmdW5jdGlvbihh KXtyZXR1cm4gYS5jaGVja2VkPT09ITB9LHNlbGVjdGVkOmZ1bmN0aW9uKGEpe2Eu cGFyZW50Tm9kZSYmYS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXg7cmV0dXJuIGEu c2VsZWN0ZWQ9PT0hMH0scGFyZW50OmZ1bmN0aW9uKGEpe3JldHVybiEhYS5maXJz dENoaWxkfSxlbXB0eTpmdW5jdGlvbihhKXtyZXR1cm4hYS5maXJzdENoaWxkfSxo YXM6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiEhbShjWzNdLGEpLmxlbmd0aH0saGVh ZGVyOmZ1bmN0aW9uKGEpe3JldHVybi9oXGQvaS50ZXN0KGEubm9kZU5hbWUpfSx0 ZXh0OmZ1bmN0aW9uKGEpe3ZhciBiPWEuZ2V0QXR0cmlidXRlKCJ0eXBlIiksYz1h LnR5cGU7cmV0dXJuIGEubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PSJpbnB1dCIm JiJ0ZXh0Ij09PWMmJihiPT09Y3x8Yj09PW51bGwpfSxyYWRpbzpmdW5jdGlvbihh KXtyZXR1cm4gYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09ImlucHV0IiYmInJh ZGlvIj09PWEudHlwZX0sY2hlY2tib3g6ZnVuY3Rpb24oYSl7cmV0dXJuIGEubm9k ZU5hbWUudG9Mb3dlckNhc2UoKT09PSJpbnB1dCImJiJjaGVja2JveCI9PT1hLnR5 cGV9LGZpbGU6ZnVuY3Rpb24oYSl7cmV0dXJuIGEubm9kZU5hbWUudG9Mb3dlckNh c2UoKT09PSJpbnB1dCImJiJmaWxlIj09PWEudHlwZX0scGFzc3dvcmQ6ZnVuY3Rp b24oYSl7cmV0dXJuIGEubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PSJpbnB1dCIm JiJwYXNzd29yZCI9PT1hLnR5cGV9LHN1Ym1pdDpmdW5jdGlvbihhKXt2YXIgYj1h Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuKGI9PT0iaW5wdXQifHxiPT09 ImJ1dHRvbiIpJiYic3VibWl0Ij09PWEudHlwZX0saW1hZ2U6ZnVuY3Rpb24oYSl7 cmV0dXJuIGEubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PSJpbnB1dCImJiJpbWFn ZSI9PT1hLnR5cGV9LHJlc2V0OmZ1bmN0aW9uKGEpe3ZhciBiPWEubm9kZU5hbWUu dG9Mb3dlckNhc2UoKTtyZXR1cm4oYj09PSJpbnB1dCJ8fGI9PT0iYnV0dG9uIikm JiJyZXNldCI9PT1hLnR5cGV9LGJ1dHRvbjpmdW5jdGlvbihhKXt2YXIgYj1hLm5v ZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuIGI9PT0iaW5wdXQiJiYiYnV0dG9u Ij09PWEudHlwZXx8Yj09PSJidXR0b24ifSxpbnB1dDpmdW5jdGlvbihhKXtyZXR1 cm4vaW5wdXR8c2VsZWN0fHRleHRhcmVhfGJ1dHRvbi9pLnRlc3QoYS5ub2RlTmFt ZSl9LGZvY3VzOmZ1bmN0aW9uKGEpe3JldHVybiBhPT09YS5vd25lckRvY3VtZW50 LmFjdGl2ZUVsZW1lbnR9fSxzZXRGaWx0ZXJzOntmaXJzdDpmdW5jdGlvbihhLGIp e3JldHVybiBiPT09MH0sbGFzdDpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gYj09 PWQubGVuZ3RoLTF9LGV2ZW46ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYiUyPT09MH0s b2RkOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGIlMj09PTF9LGx0OmZ1bmN0aW9uKGEs YixjKXtyZXR1cm4gYjxjWzNdLTB9LGd0OmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4g Yj5jWzNdLTB9LG50aDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGNbM10tMD09PWJ9 LGVxOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gY1szXS0wPT09Yn19LGZpbHRlcjp7 UFNFVURPOmZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWJbMV0sZj1vLmZpbHRlcnNb ZV07aWYoZilyZXR1cm4gZihhLGMsYixkKTtpZihlPT09ImNvbnRhaW5zIilyZXR1 cm4oYS50ZXh0Q29udGVudHx8YS5pbm5lclRleHR8fG4oW2FdKXx8IiIpLmluZGV4 T2YoYlszXSk+PTA7aWYoZT09PSJub3QiKXt2YXIgZz1iWzNdO2Zvcih2YXIgaD0w LGk9Zy5sZW5ndGg7aDxpO2grKylpZihnW2hdPT09YSlyZXR1cm4hMTtyZXR1cm4h MH1tLmVycm9yKGUpfSxDSElMRDpmdW5jdGlvbihhLGIpe3ZhciBjLGUsZixnLGgs aSxqLGs9YlsxXSxsPWE7c3dpdGNoKGspe2Nhc2Uib25seSI6Y2FzZSJmaXJzdCI6 d2hpbGUobD1sLnByZXZpb3VzU2libGluZylpZihsLm5vZGVUeXBlPT09MSlyZXR1 cm4hMTtpZihrPT09ImZpcnN0IilyZXR1cm4hMDtsPWE7Y2FzZSJsYXN0Ijp3aGls ZShsPWwubmV4dFNpYmxpbmcpaWYobC5ub2RlVHlwZT09PTEpcmV0dXJuITE7cmV0 dXJuITA7Y2FzZSJudGgiOmM9YlsyXSxlPWJbM107aWYoYz09PTEmJmU9PT0wKXJl dHVybiEwO2Y9YlswXSxnPWEucGFyZW50Tm9kZTtpZihnJiYoZ1tkXSE9PWZ8fCFh Lm5vZGVJbmRleCkpe2k9MDtmb3IobD1nLmZpcnN0Q2hpbGQ7bDtsPWwubmV4dFNp YmxpbmcpbC5ub2RlVHlwZT09PTEmJihsLm5vZGVJbmRleD0rK2kpO2dbZF09Zn1q PWEubm9kZUluZGV4LWU7cmV0dXJuIGM9PT0wP2o9PT0wOmolYz09PTAmJmovYz49 MH19LElEOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGEubm9kZVR5cGU9PT0xJiZhLmdl

dEF0dHJpYnV0ZSgiaWQiKT09PWJ9LFRBRzpmdW5jdGlvbihhLGIpe3JldHVybiBi PT09IioiJiZhLm5vZGVUeXBlPT09MXx8ISFhLm5vZGVOYW1lJiZhLm5vZGVOYW1l LnRvTG93ZXJDYXNlKCk9PT1ifSxDTEFTUzpmdW5jdGlvbihhLGIpe3JldHVybigi ICIrKGEuY2xhc3NOYW1lfHxhLmdldEF0dHJpYnV0ZSgiY2xhc3MiKSkrIiAiKS5p bmRleE9mKGIpPi0xfSxBVFRSOmZ1bmN0aW9uKGEsYil7dmFyIGM9YlsxXSxkPW0u YXR0cj9tLmF0dHIoYSxjKTpvLmF0dHJIYW5kbGVbY10/by5hdHRySGFuZGxlW2Nd KGEpOmFbY10hPW51bGw/YVtjXTphLmdldEF0dHJpYnV0ZShjKSxlPWQrIiIsZj1i WzJdLGc9Yls0XTtyZXR1cm4gZD09bnVsbD9mPT09IiE9IjohZiYmbS5hdHRyP2Qh PW51bGw6Zj09PSI9Ij9lPT09ZzpmPT09Iio9Ij9lLmluZGV4T2YoZyk+PTA6Zj09 PSJ+PSI/KCIgIitlKyIgIikuaW5kZXhPZihnKT49MDpnP2Y9PT0iIT0iP2UhPT1n OmY9PT0iXj0iP2UuaW5kZXhPZihnKT09PTA6Zj09PSIkPSI/ZS5zdWJzdHIoZS5s ZW5ndGgtZy5sZW5ndGgpPT09ZzpmPT09Inw9Ij9lPT09Z3x8ZS5zdWJzdHIoMCxn Lmxlbmd0aCsxKT09PWcrIi0iOiExOmUmJmQhPT0hMX0sUE9TOmZ1bmN0aW9uKGEs YixjLGQpe3ZhciBlPWJbMl0sZj1vLnNldEZpbHRlcnNbZV07aWYoZilyZXR1cm4g ZihhLGMsYixkKX19fSxwPW8ubWF0Y2guUE9TLHE9ZnVuY3Rpb24oYSxiKXtyZXR1 cm4iXFwiKyhiLTArMSl9O2Zvcih2YXIgciBpbiBvLm1hdGNoKW8ubWF0Y2hbcl09 bmV3IFJlZ0V4cChvLm1hdGNoW3JdLnNvdXJjZSsvKD8hW15cW10qXF0pKD8hW15c KF0qXCkpLy5zb3VyY2UpLG8ubGVmdE1hdGNoW3JdPW5ldyBSZWdFeHAoLyheKD86 LnxccnxcbikqPykvLnNvdXJjZStvLm1hdGNoW3JdLnNvdXJjZS5yZXBsYWNlKC9c XChcZCspL2cscSkpO28ubWF0Y2guZ2xvYmFsUE9TPXA7dmFyIHM9ZnVuY3Rpb24o YSxiKXthPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGEsMCk7aWYoYil7Yi5w dXNoLmFwcGx5KGIsYSk7cmV0dXJuIGJ9cmV0dXJuIGF9O3RyeXtBcnJheS5wcm90 b3R5cGUuc2xpY2UuY2FsbChjLmRvY3VtZW50RWxlbWVudC5jaGlsZE5vZGVzLDAp WzBdLm5vZGVUeXBlfWNhdGNoKHQpe3M9ZnVuY3Rpb24oYSxiKXt2YXIgYz0wLGQ9 Ynx8W107aWYoZy5jYWxsKGEpPT09IltvYmplY3QgQXJyYXldIilBcnJheS5wcm90 b3R5cGUucHVzaC5hcHBseShkLGEpO2Vsc2UgaWYodHlwZW9mIGEubGVuZ3RoPT0i bnVtYmVyIilmb3IodmFyIGU9YS5sZW5ndGg7YzxlO2MrKylkLnB1c2goYVtjXSk7 ZWxzZSBmb3IoO2FbY107YysrKWQucHVzaChhW2NdKTtyZXR1cm4gZH19dmFyIHUs djtjLmRvY3VtZW50RWxlbWVudC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj91PWZ1 bmN0aW9uKGEsYil7aWYoYT09PWIpe2g9ITA7cmV0dXJuIDB9aWYoIWEuY29tcGFy ZURvY3VtZW50UG9zaXRpb258fCFiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKXJl dHVybiBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uPy0xOjE7cmV0dXJuIGEuY29t cGFyZURvY3VtZW50UG9zaXRpb24oYikmND8tMToxfToodT1mdW5jdGlvbihhLGIp e2lmKGE9PT1iKXtoPSEwO3JldHVybiAwfWlmKGEuc291cmNlSW5kZXgmJmIuc291 cmNlSW5kZXgpcmV0dXJuIGEuc291cmNlSW5kZXgtYi5zb3VyY2VJbmRleDt2YXIg YyxkLGU9W10sZj1bXSxnPWEucGFyZW50Tm9kZSxpPWIucGFyZW50Tm9kZSxqPWc7 aWYoZz09PWkpcmV0dXJuIHYoYSxiKTtpZighZylyZXR1cm4tMTtpZighaSlyZXR1 cm4gMTt3aGlsZShqKWUudW5zaGlmdChqKSxqPWoucGFyZW50Tm9kZTtqPWk7d2hp bGUoailmLnVuc2hpZnQoaiksaj1qLnBhcmVudE5vZGU7Yz1lLmxlbmd0aCxkPWYu bGVuZ3RoO2Zvcih2YXIgaz0wO2s8YyYmazxkO2srKylpZihlW2tdIT09ZltrXSly ZXR1cm4gdihlW2tdLGZba10pO3JldHVybiBrPT09Yz92KGEsZltrXSwtMSk6dihl W2tdLGIsMSl9LHY9ZnVuY3Rpb24oYSxiLGMpe2lmKGE9PT1iKXJldHVybiBjO3Zh ciBkPWEubmV4dFNpYmxpbmc7d2hpbGUoZCl7aWYoZD09PWIpcmV0dXJuLTE7ZD1k Lm5leHRTaWJsaW5nfXJldHVybiAxfSksZnVuY3Rpb24oKXt2YXIgYT1jLmNyZWF0 ZUVsZW1lbnQoImRpdiIpLGQ9InNjcmlwdCIrKG5ldyBEYXRlKS5nZXRUaW1lKCks ZT1jLmRvY3VtZW50RWxlbWVudDthLmlubmVySFRNTD0iPGEgbmFtZT0nIitkKyIn Lz4iLGUuaW5zZXJ0QmVmb3JlKGEsZS5maXJzdENoaWxkKSxjLmdldEVsZW1lbnRC eUlkKGQpJiYoby5maW5kLklEPWZ1bmN0aW9uKGEsYyxkKXtpZih0eXBlb2YgYy5n ZXRFbGVtZW50QnlJZCE9InVuZGVmaW5lZCImJiFkKXt2YXIgZT1jLmdldEVsZW1l bnRCeUlkKGFbMV0pO3JldHVybiBlP2UuaWQ9PT1hWzFdfHx0eXBlb2YgZS5nZXRB dHRyaWJ1dGVOb2RlIT0idW5kZWZpbmVkIiYmZS5nZXRBdHRyaWJ1dGVOb2RlKCJp ZCIpLm5vZGVWYWx1ZT09PWFbMV0/W2VdOmI6W119fSxvLmZpbHRlci5JRD1mdW5j dGlvbihhLGIpe3ZhciBjPXR5cGVvZiBhLmdldEF0dHJpYnV0ZU5vZGUhPSJ1bmRl ZmluZWQiJiZhLmdldEF0dHJpYnV0ZU5vZGUoImlkIik7cmV0dXJuIGEubm9kZVR5 cGU9PT0xJiZjJiZjLm5vZGVWYWx1ZT09PWJ9KSxlLnJlbW92ZUNoaWxkKGEpLGU9 YT1udWxsfSgpLGZ1bmN0aW9uKCl7dmFyIGE9Yy5jcmVhdGVFbGVtZW50KCJkaXYi KTthLmFwcGVuZENoaWxkKGMuY3JlYXRlQ29tbWVudCgiIikpLGEuZ2V0RWxlbWVu dHNCeVRhZ05hbWUoIioiKS5sZW5ndGg+MCYmKG8uZmluZC5UQUc9ZnVuY3Rpb24o YSxiKXt2YXIgYz1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKGFbMV0pO2lmKGFbMV09 PT0iKiIpe3ZhciBkPVtdO2Zvcih2YXIgZT0wO2NbZV07ZSsrKWNbZV0ubm9kZVR5

cGU9PT0xJiZkLnB1c2goY1tlXSk7Yz1kfXJldHVybiBjfSksYS5pbm5lckhUTUw9 IjxhIGhyZWY9JyMnPjwvYT4iLGEuZmlyc3RDaGlsZCYmdHlwZW9mIGEuZmlyc3RD aGlsZC5nZXRBdHRyaWJ1dGUhPSJ1bmRlZmluZWQiJiZhLmZpcnN0Q2hpbGQuZ2V0 QXR0cmlidXRlKCJocmVmIikhPT0iIyImJihvLmF0dHJIYW5kbGUuaHJlZj1mdW5j dGlvbihhKXtyZXR1cm4gYS5nZXRBdHRyaWJ1dGUoImhyZWYiLDIpfSksYT1udWxs fSgpLGMucXVlcnlTZWxlY3RvckFsbCYmZnVuY3Rpb24oKXt2YXIgYT1tLGI9Yy5j cmVhdGVFbGVtZW50KCJkaXYiKSxkPSJfX3NpenpsZV9fIjtiLmlubmVySFRNTD0i PHAgY2xhc3M9J1RFU1QnPjwvcD4iO2lmKCFiLnF1ZXJ5U2VsZWN0b3JBbGx8fGIu cXVlcnlTZWxlY3RvckFsbCgiLlRFU1QiKS5sZW5ndGghPT0wKXttPWZ1bmN0aW9u KGIsZSxmLGcpe2U9ZXx8YztpZighZyYmIW0uaXNYTUwoZSkpe3ZhciBoPS9eKFx3 KyQpfF5cLihbXHdcLV0rJCl8XiMoW1x3XC1dKyQpLy5leGVjKGIpO2lmKGgmJihl Lm5vZGVUeXBlPT09MXx8ZS5ub2RlVHlwZT09PTkpKXtpZihoWzFdKXJldHVybiBz KGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYiksZik7aWYoaFsyXSYmby5maW5kLkNM QVNTJiZlLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpcmV0dXJuIHMoZS5nZXRFbGVt ZW50c0J5Q2xhc3NOYW1lKGhbMl0pLGYpfWlmKGUubm9kZVR5cGU9PT05KXtpZihi PT09ImJvZHkiJiZlLmJvZHkpcmV0dXJuIHMoW2UuYm9keV0sZik7aWYoaCYmaFsz XSl7dmFyIGk9ZS5nZXRFbGVtZW50QnlJZChoWzNdKTtpZighaXx8IWkucGFyZW50 Tm9kZSlyZXR1cm4gcyhbXSxmKTtpZihpLmlkPT09aFszXSlyZXR1cm4gcyhbaV0s Zil9dHJ5e3JldHVybiBzKGUucXVlcnlTZWxlY3RvckFsbChiKSxmKX1jYXRjaChq KXt9fWVsc2UgaWYoZS5ub2RlVHlwZT09PTEmJmUubm9kZU5hbWUudG9Mb3dlckNh c2UoKSE9PSJvYmplY3QiKXt2YXIgaz1lLGw9ZS5nZXRBdHRyaWJ1dGUoImlkIiks bj1sfHxkLHA9ZS5wYXJlbnROb2RlLHE9L15ccypbK35dLy50ZXN0KGIpO2w/bj1u LnJlcGxhY2UoLycvZywiXFwkJiIpOmUuc2V0QXR0cmlidXRlKCJpZCIsbikscSYm cCYmKGU9ZS5wYXJlbnROb2RlKTt0cnl7aWYoIXF8fHApcmV0dXJuIHMoZS5xdWVy eVNlbGVjdG9yQWxsKCJbaWQ9JyIrbisiJ10gIitiKSxmKX1jYXRjaChyKXt9Zmlu YWxseXtsfHxrLnJlbW92ZUF0dHJpYnV0ZSgiaWQiKX19fXJldHVybiBhKGIsZSxm LGcpfTtmb3IodmFyIGUgaW4gYSltW2VdPWFbZV07Yj1udWxsfX0oKSxmdW5jdGlv bigpe3ZhciBhPWMuZG9jdW1lbnRFbGVtZW50LGI9YS5tYXRjaGVzU2VsZWN0b3J8 fGEubW96TWF0Y2hlc1NlbGVjdG9yfHxhLndlYmtpdE1hdGNoZXNTZWxlY3Rvcnx8 YS5tc01hdGNoZXNTZWxlY3RvcjtpZihiKXt2YXIgZD0hYi5jYWxsKGMuY3JlYXRl RWxlbWVudCgiZGl2IiksImRpdiIpLGU9ITE7dHJ5e2IuY2FsbChjLmRvY3VtZW50 RWxlbWVudCwiW3Rlc3QhPScnXTpzaXp6bGUiKX1jYXRjaChmKXtlPSEwfW0ubWF0 Y2hlc1NlbGVjdG9yPWZ1bmN0aW9uKGEsYyl7Yz1jLnJlcGxhY2UoL1w9XHMqKFte JyJcXV0qKVxzKlxdL2csIj0nJDEnXSIpO2lmKCFtLmlzWE1MKGEpKXRyeXtpZihl fHwhby5tYXRjaC5QU0VVRE8udGVzdChjKSYmIS8hPS8udGVzdChjKSl7dmFyIGY9 Yi5jYWxsKGEsYyk7aWYoZnx8IWR8fGEuZG9jdW1lbnQmJmEuZG9jdW1lbnQubm9k ZVR5cGUhPT0xMSlyZXR1cm4gZn19Y2F0Y2goZyl7fXJldHVybiBtKGMsbnVsbCxu dWxsLFthXSkubGVuZ3RoPjB9fX0oKSxmdW5jdGlvbigpe3ZhciBhPWMuY3JlYXRl RWxlbWVudCgiZGl2Iik7YS5pbm5lckhUTUw9IjxkaXYgY2xhc3M9J3Rlc3QgZSc+ PC9kaXY+PGRpdiBjbGFzcz0ndGVzdCc+PC9kaXY+IjtpZighIWEuZ2V0RWxlbWVu dHNCeUNsYXNzTmFtZSYmYS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJlIikubGVu Z3RoIT09MCl7YS5sYXN0Q2hpbGQuY2xhc3NOYW1lPSJlIjtpZihhLmdldEVsZW1l bnRzQnlDbGFzc05hbWUoImUiKS5sZW5ndGg9PT0xKXJldHVybjtvLm9yZGVyLnNw bGljZSgxLDAsIkNMQVNTIiksby5maW5kLkNMQVNTPWZ1bmN0aW9uKGEsYixjKXtp Zih0eXBlb2YgYi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lIT0idW5kZWZpbmVkIiYm IWMpcmV0dXJuIGIuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShhWzFdKX0sYT1udWxs fX0oKSxjLmRvY3VtZW50RWxlbWVudC5jb250YWlucz9tLmNvbnRhaW5zPWZ1bmN0 aW9uKGEsYil7cmV0dXJuIGEhPT1iJiYoYS5jb250YWlucz9hLmNvbnRhaW5zKGIp OiEwKX06Yy5kb2N1bWVudEVsZW1lbnQuY29tcGFyZURvY3VtZW50UG9zaXRpb24/ bS5jb250YWlucz1mdW5jdGlvbihhLGIpe3JldHVybiEhKGEuY29tcGFyZURvY3Vt ZW50UG9zaXRpb24oYikmMTYpfTptLmNvbnRhaW5zPWZ1bmN0aW9uKCl7cmV0dXJu ITF9LG0uaXNYTUw9ZnVuY3Rpb24oYSl7dmFyIGI9KGE/YS5vd25lckRvY3VtZW50 fHxhOjApLmRvY3VtZW50RWxlbWVudDtyZXR1cm4gYj9iLm5vZGVOYW1lIT09IkhU TUwiOiExfTt2YXIgeT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT1bXSxmPSIiLGc9 Yi5ub2RlVHlwZT9bYl06Yjt3aGlsZShkPW8ubWF0Y2guUFNFVURPLmV4ZWMoYSkp Zis9ZFswXSxhPWEucmVwbGFjZShvLm1hdGNoLlBTRVVETywiIik7YT1vLnJlbGF0 aXZlW2FdP2ErIioiOmE7Zm9yKHZhciBoPTAsaT1nLmxlbmd0aDtoPGk7aCsrKW0o YSxnW2hdLGUsYyk7cmV0dXJuIG0uZmlsdGVyKGYsZSl9O20uYXR0cj1mLmF0dHIs bS5zZWxlY3RvcnMuYXR0ck1hcD17fSxmLmZpbmQ9bSxmLmV4cHI9bS5zZWxlY3Rv cnMsZi5leHByWyI6Il09Zi5leHByLmZpbHRlcnMsZi51bmlxdWU9bS51bmlxdWVT

b3J0LGYudGV4dD1tLmdldFRleHQsZi5pc1hNTERvYz1tLmlzWE1MLGYuY29udGFp bnM9bS5jb250YWluc30oKTt2YXIgTD0vVW50aWwkLyxNPS9eKD86cGFyZW50c3xw cmV2VW50aWx8cHJldkFsbCkvLE49LywvLE89L14uW146I1xbXC4sXSokLyxQPUFy cmF5LnByb3RvdHlwZS5zbGljZSxRPWYuZXhwci5tYXRjaC5nbG9iYWxQT1MsUj17 Y2hpbGRyZW46ITAsY29udGVudHM6ITAsbmV4dDohMCxwcmV2OiEwfTtmLmZuLmV4 dGVuZCh7ZmluZDpmdW5jdGlvbihhKXt2YXIgYj10aGlzLGMsZDtpZih0eXBlb2Yg YSE9InN0cmluZyIpcmV0dXJuIGYoYSkuZmlsdGVyKGZ1bmN0aW9uKCl7Zm9yKGM9 MCxkPWIubGVuZ3RoO2M8ZDtjKyspaWYoZi5jb250YWlucyhiW2NdLHRoaXMpKXJl dHVybiEwfSk7dmFyIGU9dGhpcy5wdXNoU3RhY2soIiIsImZpbmQiLGEpLGcsaCxp O2ZvcihjPTAsZD10aGlzLmxlbmd0aDtjPGQ7YysrKXtnPWUubGVuZ3RoLGYuZmlu ZChhLHRoaXNbY10sZSk7aWYoYz4wKWZvcihoPWc7aDxlLmxlbmd0aDtoKyspZm9y KGk9MDtpPGc7aSsrKWlmKGVbaV09PT1lW2hdKXtlLnNwbGljZShoLS0sMSk7YnJl YWt9fXJldHVybiBlfSxoYXM6ZnVuY3Rpb24oYSl7dmFyIGI9ZihhKTtyZXR1cm4g dGhpcy5maWx0ZXIoZnVuY3Rpb24oKXtmb3IodmFyIGE9MCxjPWIubGVuZ3RoO2E8 YzthKyspaWYoZi5jb250YWlucyh0aGlzLGJbYV0pKXJldHVybiEwfSl9LG5vdDpm dW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soVCh0aGlzLGEsITEpLCJu b3QiLGEpfSxmaWx0ZXI6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucHVzaFN0YWNr KFQodGhpcyxhLCEwKSwiZmlsdGVyIixhKX0saXM6ZnVuY3Rpb24oYSl7cmV0dXJu ISFhJiYodHlwZW9mIGE9PSJzdHJpbmciP1EudGVzdChhKT9mKGEsdGhpcy5jb250 ZXh0KS5pbmRleCh0aGlzWzBdKT49MDpmLmZpbHRlcihhLHRoaXMpLmxlbmd0aD4w OnRoaXMuZmlsdGVyKGEpLmxlbmd0aD4wKX0sY2xvc2VzdDpmdW5jdGlvbihhLGIp e3ZhciBjPVtdLGQsZSxnPXRoaXNbMF07aWYoZi5pc0FycmF5KGEpKXt2YXIgaD0x O3doaWxlKGcmJmcub3duZXJEb2N1bWVudCYmZyE9PWIpe2ZvcihkPTA7ZDxhLmxl bmd0aDtkKyspZihnKS5pcyhhW2RdKSYmYy5wdXNoKHtzZWxlY3RvcjphW2RdLGVs ZW06ZyxsZXZlbDpofSk7Zz1nLnBhcmVudE5vZGUsaCsrfXJldHVybiBjfXZhciBp PVEudGVzdChhKXx8dHlwZW9mIGEhPSJzdHJpbmciP2YoYSxifHx0aGlzLmNvbnRl eHQpOjA7Zm9yKGQ9MCxlPXRoaXMubGVuZ3RoO2Q8ZTtkKyspe2c9dGhpc1tkXTt3 aGlsZShnKXtpZihpP2kuaW5kZXgoZyk+LTE6Zi5maW5kLm1hdGNoZXNTZWxlY3Rv cihnLGEpKXtjLnB1c2goZyk7YnJlYWt9Zz1nLnBhcmVudE5vZGU7aWYoIWd8fCFn Lm93bmVyRG9jdW1lbnR8fGc9PT1ifHxnLm5vZGVUeXBlPT09MTEpYnJlYWt9fWM9 Yy5sZW5ndGg+MT9mLnVuaXF1ZShjKTpjO3JldHVybiB0aGlzLnB1c2hTdGFjayhj LCJjbG9zZXN0IixhKX0saW5kZXg6ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIHRo aXNbMF0mJnRoaXNbMF0ucGFyZW50Tm9kZT90aGlzLnByZXZBbGwoKS5sZW5ndGg6 LTE7aWYodHlwZW9mIGE9PSJzdHJpbmciKXJldHVybiBmLmluQXJyYXkodGhpc1sw XSxmKGEpKTtyZXR1cm4gZi5pbkFycmF5KGEuanF1ZXJ5P2FbMF06YSx0aGlzKX0s YWRkOmZ1bmN0aW9uKGEsYil7dmFyIGM9dHlwZW9mIGE9PSJzdHJpbmciP2YoYSxi KTpmLm1ha2VBcnJheShhJiZhLm5vZGVUeXBlP1thXTphKSxkPWYubWVyZ2UodGhp cy5nZXQoKSxjKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soUyhjWzBdKXx8UyhkWzBd KT9kOmYudW5pcXVlKGQpKX0sYW5kU2VsZjpmdW5jdGlvbigpe3JldHVybiB0aGlz LmFkZCh0aGlzLnByZXZPYmplY3QpfX0pLGYuZWFjaCh7cGFyZW50OmZ1bmN0aW9u KGEpe3ZhciBiPWEucGFyZW50Tm9kZTtyZXR1cm4gYiYmYi5ub2RlVHlwZSE9PTEx P2I6bnVsbH0scGFyZW50czpmdW5jdGlvbihhKXtyZXR1cm4gZi5kaXIoYSwicGFy ZW50Tm9kZSIpfSxwYXJlbnRzVW50aWw6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBm LmRpcihhLCJwYXJlbnROb2RlIixjKX0sbmV4dDpmdW5jdGlvbihhKXtyZXR1cm4g Zi5udGgoYSwyLCJuZXh0U2libGluZyIpfSxwcmV2OmZ1bmN0aW9uKGEpe3JldHVy biBmLm50aChhLDIsInByZXZpb3VzU2libGluZyIpfSxuZXh0QWxsOmZ1bmN0aW9u KGEpe3JldHVybiBmLmRpcihhLCJuZXh0U2libGluZyIpfSxwcmV2QWxsOmZ1bmN0 aW9uKGEpe3JldHVybiBmLmRpcihhLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dFVu dGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZi5kaXIoYSwibmV4dFNpYmxpbmci LGMpfSxwcmV2VW50aWw6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBmLmRpcihhLCJw cmV2aW91c1NpYmxpbmciLGMpfSxzaWJsaW5nczpmdW5jdGlvbihhKXtyZXR1cm4g Zi5zaWJsaW5nKChhLnBhcmVudE5vZGV8fHt9KS5maXJzdENoaWxkLGEpfSxjaGls ZHJlbjpmdW5jdGlvbihhKXtyZXR1cm4gZi5zaWJsaW5nKGEuZmlyc3RDaGlsZCl9 LGNvbnRlbnRzOmZ1bmN0aW9uKGEpe3JldHVybiBmLm5vZGVOYW1lKGEsImlmcmFt ZSIpP2EuY29udGVudERvY3VtZW50fHxhLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ6 Zi5tYWtlQXJyYXkoYS5jaGlsZE5vZGVzKX19LGZ1bmN0aW9uKGEsYil7Zi5mblth XT1mdW5jdGlvbihjLGQpe3ZhciBlPWYubWFwKHRoaXMsYixjKTtMLnRlc3QoYSl8 fChkPWMpLGQmJnR5cGVvZiBkPT0ic3RyaW5nIiYmKGU9Zi5maWx0ZXIoZCxlKSks ZT10aGlzLmxlbmd0aD4xJiYhUlthXT9mLnVuaXF1ZShlKTplLCh0aGlzLmxlbmd0 aD4xfHxOLnRlc3QoZCkpJiZNLnRlc3QoYSkmJihlPWUucmV2ZXJzZSgpKTtyZXR1

cm4gdGhpcy5wdXNoU3RhY2soZSxhLFAuY2FsbChhcmd1bWVudHMpLmpvaW4oIiwi KSl9fSksZi5leHRlbmQoe2ZpbHRlcjpmdW5jdGlvbihhLGIsYyl7YyYmKGE9Ijpu b3QoIithKyIpIik7cmV0dXJuIGIubGVuZ3RoPT09MT9mLmZpbmQubWF0Y2hlc1Nl bGVjdG9yKGJbMF0sYSk/W2JbMF1dOltdOmYuZmluZC5tYXRjaGVzKGEsYil9LGRp cjpmdW5jdGlvbihhLGMsZCl7dmFyIGU9W10sZz1hW2NdO3doaWxlKGcmJmcubm9k ZVR5cGUhPT05JiYoZD09PWJ8fGcubm9kZVR5cGUhPT0xfHwhZihnKS5pcyhkKSkp Zy5ub2RlVHlwZT09PTEmJmUucHVzaChnKSxnPWdbY107cmV0dXJuIGV9LG50aDpm dW5jdGlvbihhLGIsYyxkKXtiPWJ8fDE7dmFyIGU9MDtmb3IoO2E7YT1hW2NdKWlm KGEubm9kZVR5cGU9PT0xJiYrK2U9PT1iKWJyZWFrO3JldHVybiBhfSxzaWJsaW5n OmZ1bmN0aW9uKGEsYil7dmFyIGM9W107Zm9yKDthO2E9YS5uZXh0U2libGluZylh Lm5vZGVUeXBlPT09MSYmYSE9PWImJmMucHVzaChhKTtyZXR1cm4gY319KTt2YXIg Vj0iYWJicnxhcnRpY2xlfGFzaWRlfGF1ZGlvfGJkaXxjYW52YXN8ZGF0YXxkYXRh bGlzdHxkZXRhaWxzfGZpZ2NhcHRpb258ZmlndXJlfGZvb3RlcnxoZWFkZXJ8aGdy b3VwfG1hcmt8bWV0ZXJ8bmF2fG91dHB1dHxwcm9ncmVzc3xzZWN0aW9ufHN1bW1h cnl8dGltZXx2aWRlbyIsVz0vIGpRdWVyeVxkKz0iKD86XGQrfG51bGwpIi9nLFg9 L15ccysvLFk9LzwoPyFhcmVhfGJyfGNvbHxlbWJlZHxocnxpbWd8aW5wdXR8bGlu a3xtZXRhfHBhcmFtKSgoW1x3Ol0rKVtePl0qKVwvPi9pZyxaPS88KFtcdzpdKykv LCQ9Lzx0Ym9keS9pLF89Lzx8JiM/XHcrOy8sYmE9LzwoPzpzY3JpcHR8c3R5bGUp L2ksYmI9LzwoPzpzY3JpcHR8b2JqZWN0fGVtYmVkfG9wdGlvbnxzdHlsZSkvaSxi Yz1uZXcgUmVnRXhwKCI8KD86IitWKyIpW1xccy8+XSIsImkiKSxiZD0vY2hlY2tl ZFxzKig/OltePV18PVxzKi5jaGVja2VkLikvaSxiZT0vXC8oamF2YXxlY21hKXNj cmlwdC9pLGJmPS9eXHMqPCEoPzpcW0NEQVRBXFt8XC1cLSkvLGJnPXtvcHRpb246 WzEsIjxzZWxlY3QgbXVsdGlwbGU9J211bHRpcGxlJz4iLCI8L3NlbGVjdD4iXSxs ZWdlbmQ6WzEsIjxmaWVsZHNldD4iLCI8L2ZpZWxkc2V0PiJdLHRoZWFkOlsxLCI8 dGFibGU+IiwiPC90YWJsZT4iXSx0cjpbMiwiPHRhYmxlPjx0Ym9keT4iLCI8L3Ri b2R5PjwvdGFibGU+Il0sdGQ6WzMsIjx0YWJsZT48dGJvZHk+PHRyPiIsIjwvdHI+ PC90Ym9keT48L3RhYmxlPiJdLGNvbDpbMiwiPHRhYmxlPjx0Ym9keT48L3Rib2R5 Pjxjb2xncm91cD4iLCI8L2NvbGdyb3VwPjwvdGFibGU+Il0sYXJlYTpbMSwiPG1h cD4iLCI8L21hcD4iXSxfZGVmYXVsdDpbMCwiIiwiIl19LGJoPVUoYyk7Ymcub3B0 Z3JvdXA9Ymcub3B0aW9uLGJnLnRib2R5PWJnLnRmb290PWJnLmNvbGdyb3VwPWJn LmNhcHRpb249YmcudGhlYWQsYmcudGg9YmcudGQsZi5zdXBwb3J0Lmh0bWxTZXJp YWxpemV8fChiZy5fZGVmYXVsdD1bMSwiZGl2PGRpdj4iLCI8L2Rpdj4iXSksZi5m bi5leHRlbmQoe3RleHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGYuYWNjZXNzKHRoaXMs ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1iP2YudGV4dCh0aGlzKTp0aGlzLmVtcHR5 KCkuYXBwZW5kKCh0aGlzWzBdJiZ0aGlzWzBdLm93bmVyRG9jdW1lbnR8fGMpLmNy ZWF0ZVRleHROb2RlKGEpKX0sbnVsbCxhLGFyZ3VtZW50cy5sZW5ndGgpfSx3cmFw QWxsOmZ1bmN0aW9uKGEpe2lmKGYuaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5l YWNoKGZ1bmN0aW9uKGIpe2YodGhpcykud3JhcEFsbChhLmNhbGwodGhpcyxiKSl9 KTtpZih0aGlzWzBdKXt2YXIgYj1mKGEsdGhpc1swXS5vd25lckRvY3VtZW50KS5l cSgwKS5jbG9uZSghMCk7dGhpc1swXS5wYXJlbnROb2RlJiZiLmluc2VydEJlZm9y ZSh0aGlzWzBdKSxiLm1hcChmdW5jdGlvbigpe3ZhciBhPXRoaXM7d2hpbGUoYS5m aXJzdENoaWxkJiZhLmZpcnN0Q2hpbGQubm9kZVR5cGU9PT0xKWE9YS5maXJzdENo aWxkO3JldHVybiBhfSkuYXBwZW5kKHRoaXMpfXJldHVybiB0aGlzfSx3cmFwSW5u ZXI6ZnVuY3Rpb24oYSl7aWYoZi5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVh Y2goZnVuY3Rpb24oYil7Zih0aGlzKS53cmFwSW5uZXIoYS5jYWxsKHRoaXMsYikp fSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPWYodGhpcyksYz1i LmNvbnRlbnRzKCk7Yy5sZW5ndGg/Yy53cmFwQWxsKGEpOmIuYXBwZW5kKGEpfSl9 LHdyYXA6ZnVuY3Rpb24oYSl7dmFyIGI9Zi5pc0Z1bmN0aW9uKGEpO3JldHVybiB0 aGlzLmVhY2goZnVuY3Rpb24oYyl7Zih0aGlzKS53cmFwQWxsKGI/YS5jYWxsKHRo aXMsYyk6YSl9KX0sdW53cmFwOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50 KCkuZWFjaChmdW5jdGlvbigpe2Yubm9kZU5hbWUodGhpcywiYm9keSIpfHxmKHRo aXMpLnJlcGxhY2VXaXRoKHRoaXMuY2hpbGROb2Rlcyl9KS5lbmQoKX0sYXBwZW5k OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLCEwLGZ1 bmN0aW9uKGEpe3RoaXMubm9kZVR5cGU9PT0xJiZ0aGlzLmFwcGVuZENoaWxkKGEp fSl9LHByZXBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1 bWVudHMsITAsZnVuY3Rpb24oYSl7dGhpcy5ub2RlVHlwZT09PTEmJnRoaXMuaW5z ZXJ0QmVmb3JlKGEsdGhpcy5maXJzdENoaWxkKX0pfSxiZWZvcmU6ZnVuY3Rpb24o KXtpZih0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGUpcmV0dXJuIHRoaXMuZG9t TWFuaXAoYXJndW1lbnRzLCExLGZ1bmN0aW9uKGEpe3RoaXMucGFyZW50Tm9kZS5p bnNlcnRCZWZvcmUoYSx0aGlzKX0pO2lmKGFyZ3VtZW50cy5sZW5ndGgpe3ZhciBh

PWYKLmNsZWFuKGFyZ3VtZW50cyk7YS5wdXNoLmFwcGx5KGEsdGhpcy50b0FycmF5 KCkpO3JldHVybiB0aGlzLnB1c2hTdGFjayhhLCJiZWZvcmUiLGFyZ3VtZW50cyl9 fSxhZnRlcjpmdW5jdGlvbigpe2lmKHRoaXNbMF0mJnRoaXNbMF0ucGFyZW50Tm9k ZSlyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsITEsZnVuY3Rpb24oYSl7 dGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLHRoaXMubmV4dFNpYmxpbmcp fSk7aWYoYXJndW1lbnRzLmxlbmd0aCl7dmFyIGE9dGhpcy5wdXNoU3RhY2sodGhp cywiYWZ0ZXIiLGFyZ3VtZW50cyk7YS5wdXNoLmFwcGx5KGEsZi5jbGVhbihhcmd1 bWVudHMpKTtyZXR1cm4gYX19LHJlbW92ZTpmdW5jdGlvbihhLGIpe2Zvcih2YXIg Yz0wLGQ7KGQ9dGhpc1tjXSkhPW51bGw7YysrKWlmKCFhfHxmLmZpbHRlcihhLFtk XSkubGVuZ3RoKSFiJiZkLm5vZGVUeXBlPT09MSYmKGYuY2xlYW5EYXRhKGQuZ2V0 RWxlbWVudHNCeVRhZ05hbWUoIioiKSksZi5jbGVhbkRhdGEoW2RdKSksZC5wYXJl bnROb2RlJiZkLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZCk7cmV0dXJuIHRoaXN9 LGVtcHR5OmZ1bmN0aW9uKCl7Zm9yKHZhciBhPTAsYjsoYj10aGlzW2FdKSE9bnVs bDthKyspe2Iubm9kZVR5cGU9PT0xJiZmLmNsZWFuRGF0YShiLmdldEVsZW1lbnRz QnlUYWdOYW1lKCIqIikpO3doaWxlKGIuZmlyc3RDaGlsZCliLnJlbW92ZUNoaWxk KGIuZmlyc3RDaGlsZCl9cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKGEsYil7 YT1hPT1udWxsPyExOmEsYj1iPT1udWxsP2E6YjtyZXR1cm4gdGhpcy5tYXAoZnVu Y3Rpb24oKXtyZXR1cm4gZi5jbG9uZSh0aGlzLGEsYil9KX0saHRtbDpmdW5jdGlv bihhKXtyZXR1cm4gZi5hY2Nlc3ModGhpcyxmdW5jdGlvbihhKXt2YXIgYz10aGlz WzBdfHx7fSxkPTAsZT10aGlzLmxlbmd0aDtpZihhPT09YilyZXR1cm4gYy5ub2Rl VHlwZT09PTE/Yy5pbm5lckhUTUwucmVwbGFjZShXLCIiKTpudWxsO2lmKHR5cGVv ZiBhPT0ic3RyaW5nIiYmIWJhLnRlc3QoYSkmJihmLnN1cHBvcnQubGVhZGluZ1do aXRlc3BhY2V8fCFYLnRlc3QoYSkpJiYhYmdbKFouZXhlYyhhKXx8WyIiLCIiXSlb MV0udG9Mb3dlckNhc2UoKV0pe2E9YS5yZXBsYWNlKFksIjwkMT48LyQyPiIpO3Ry eXtmb3IoO2Q8ZTtkKyspYz10aGlzW2RdfHx7fSxjLm5vZGVUeXBlPT09MSYmKGYu Y2xlYW5EYXRhKGMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSksYy5pbm5lckhU TUw9YSk7Yz0wfWNhdGNoKGcpe319YyYmdGhpcy5lbXB0eSgpLmFwcGVuZChhKX0s bnVsbCxhLGFyZ3VtZW50cy5sZW5ndGgpfSxyZXBsYWNlV2l0aDpmdW5jdGlvbihh KXtpZih0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGUpe2lmKGYuaXNGdW5jdGlv bihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe3ZhciBjPWYodGhpcyks ZD1jLmh0bWwoKTtjLnJlcGxhY2VXaXRoKGEuY2FsbCh0aGlzLGIsZCkpfSk7dHlw ZW9mIGEhPSJzdHJpbmciJiYoYT1mKGEpLmRldGFjaCgpKTtyZXR1cm4gdGhpcy5l YWNoKGZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5uZXh0U2libGluZyxjPXRoaXMucGFy ZW50Tm9kZTtmKHRoaXMpLnJlbW92ZSgpLGI/ZihiKS5iZWZvcmUoYSk6ZihjKS5h cHBlbmQoYSl9KX1yZXR1cm4gdGhpcy5sZW5ndGg/dGhpcy5wdXNoU3RhY2soZihm LmlzRnVuY3Rpb24oYSk/YSgpOmEpLCJyZXBsYWNlV2l0aCIsYSk6dGhpc30sZGV0 YWNoOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnJlbW92ZShhLCEwKX0sZG9tTWFu aXA6ZnVuY3Rpb24oYSxjLGQpe3ZhciBlLGcsaCxpLGo9YVswXSxrPVtdO2lmKCFm LnN1cHBvcnQuY2hlY2tDbG9uZSYmYXJndW1lbnRzLmxlbmd0aD09PTMmJnR5cGVv ZiBqPT0ic3RyaW5nIiYmYmQudGVzdChqKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0 aW9uKCl7Zih0aGlzKS5kb21NYW5pcChhLGMsZCwhMCl9KTtpZihmLmlzRnVuY3Rp b24oaikpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihlKXt2YXIgZz1mKHRoaXMp O2FbMF09ai5jYWxsKHRoaXMsZSxjP2cuaHRtbCgpOmIpLGcuZG9tTWFuaXAoYSxj LGQpfSk7aWYodGhpc1swXSl7aT1qJiZqLnBhcmVudE5vZGUsZi5zdXBwb3J0LnBh cmVudE5vZGUmJmkmJmkubm9kZVR5cGU9PT0xMSYmaS5jaGlsZE5vZGVzLmxlbmd0 aD09PXRoaXMubGVuZ3RoP2U9e2ZyYWdtZW50Oml9OmU9Zi5idWlsZEZyYWdtZW50 KGEsdGhpcyxrKSxoPWUuZnJhZ21lbnQsaC5jaGlsZE5vZGVzLmxlbmd0aD09PTE/ Zz1oPWguZmlyc3RDaGlsZDpnPWguZmlyc3RDaGlsZDtpZihnKXtjPWMmJmYubm9k ZU5hbWUoZywidHIiKTtmb3IodmFyIGw9MCxtPXRoaXMubGVuZ3RoLG49bS0xO2w8 bTtsKyspZC5jYWxsKGM/YmkodGhpc1tsXSxnKTp0aGlzW2xdLGUuY2FjaGVhYmxl fHxtPjEmJmw8bj9mLmNsb25lKGgsITAsITApOmgpfWsubGVuZ3RoJiZmLmVhY2go ayxmdW5jdGlvbihhLGIpe2Iuc3JjP2YuYWpheCh7dHlwZToiR0VUIixnbG9iYWw6 ITEsdXJsOmIuc3JjLGFzeW5jOiExLGRhdGFUeXBlOiJzY3JpcHQifSk6Zi5nbG9i YWxFdmFsKChiLnRleHR8fGIudGV4dENvbnRlbnR8fGIuaW5uZXJIVE1MfHwiIiku cmVwbGFjZShiZiwiLyokMCovIikpLGIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2Rl LnJlbW92ZUNoaWxkKGIpfSl9cmV0dXJuIHRoaXN9fSksZi5idWlsZEZyYWdtZW50 PWZ1bmN0aW9uKGEsYixkKXt2YXIgZSxnLGgsaSxqPWFbMF07YiYmYlswXSYmKGk9 YlswXS5vd25lckRvY3VtZW50fHxiWzBdKSxpLmNyZWF0ZURvY3VtZW50RnJhZ21l bnR8fChpPWMpLGEubGVuZ3RoPT09MSYmdHlwZW9mIGo9PSJzdHJpbmciJiZqLmxl bmd0aDw1MTImJmk9PT1jJiZqLmNoYXJBdCgwKT09PSI8IiYmIWJiLnRlc3Qoaikm

JihmLnN1cHBvcnQuY2hlY2tDbG9uZXx8IWJkLnRlc3QoaikpJiYoZi5zdXBwb3J0 Lmh0bWw1Q2xvbmV8fCFiYy50ZXN0KGopKSYmKGc9ITAsaD1mLmZyYWdtZW50c1tq XSxoJiZoIT09MSYmKGU9aCkpLGV8fChlPWkuY3JlYXRlRG9jdW1lbnRGcmFnbWVu dCgpLGYuY2xlYW4oYSxpLGUsZCkpLGcmJihmLmZyYWdtZW50c1tqXT1oP2U6MSk7 cmV0dXJue2ZyYWdtZW50OmUsY2FjaGVhYmxlOmd9fSxmLmZyYWdtZW50cz17fSxm LmVhY2goe2FwcGVuZFRvOiJhcHBlbmQiLHByZXBlbmRUbzoicHJlcGVuZCIsaW5z ZXJ0QmVmb3JlOiJiZWZvcmUiLGluc2VydEFmdGVyOiJhZnRlciIscmVwbGFjZUFs bDoicmVwbGFjZVdpdGgifSxmdW5jdGlvbihhLGIpe2YuZm5bYV09ZnVuY3Rpb24o Yyl7dmFyIGQ9W10sZT1mKGMpLGc9dGhpcy5sZW5ndGg9PT0xJiZ0aGlzWzBdLnBh cmVudE5vZGU7aWYoZyYmZy5ub2RlVHlwZT09PTExJiZnLmNoaWxkTm9kZXMubGVu Z3RoPT09MSYmZS5sZW5ndGg9PT0xKXtlW2JdKHRoaXNbMF0pO3JldHVybiB0aGlz fWZvcih2YXIgaD0wLGk9ZS5sZW5ndGg7aDxpO2grKyl7dmFyIGo9KGg+MD90aGlz LmNsb25lKCEwKTp0aGlzKS5nZXQoKTtmKGVbaF0pW2JdKGopLGQ9ZC5jb25jYXQo ail9cmV0dXJuIHRoaXMucHVzaFN0YWNrKGQsYSxlLnNlbGVjdG9yKX19KSxmLmV4 dGVuZCh7Y2xvbmU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZyxoPWYuc3VwcG9y dC5odG1sNUNsb25lfHxmLmlzWE1MRG9jKGEpfHwhYmMudGVzdCgiPCIrYS5ub2Rl TmFtZSsiPiIpP2EuY2xvbmVOb2RlKCEwKTpibyhhKTtpZigoIWYuc3VwcG9ydC5u b0Nsb25lRXZlbnR8fCFmLnN1cHBvcnQubm9DbG9uZUNoZWNrZWQpJiYoYS5ub2Rl VHlwZT09PTF8fGEubm9kZVR5cGU9PT0xMSkmJiFmLmlzWE1MRG9jKGEpKXtiayhh LGgpLGQ9YmwoYSksZT1ibChoKTtmb3IoZz0wO2RbZ107KytnKWVbZ10mJmJrKGRb Z10sZVtnXSl9aWYoYil7YmooYSxoKTtpZihjKXtkPWJsKGEpLGU9YmwoaCk7Zm9y KGc9MDtkW2ddOysrZyliaihkW2ddLGVbZ10pfX1kPWU9bnVsbDtyZXR1cm4gaH0s Y2xlYW46ZnVuY3Rpb24oYSxiLGQsZSl7dmFyIGcsaCxpLGo9W107Yj1ifHxjLHR5 cGVvZiBiLmNyZWF0ZUVsZW1lbnQ9PSJ1bmRlZmluZWQiJiYoYj1iLm93bmVyRG9j dW1lbnR8fGJbMF0mJmJbMF0ub3duZXJEb2N1bWVudHx8Yyk7Zm9yKHZhciBrPTAs bDsobD1hW2tdKSE9bnVsbDtrKyspe3R5cGVvZiBsPT0ibnVtYmVyIiYmKGwrPSIi KTtpZighbCljb250aW51ZTtpZih0eXBlb2YgbD09InN0cmluZyIpaWYoIV8udGVz dChsKSlsPWIuY3JlYXRlVGV4dE5vZGUobCk7ZWxzZXtsPWwucmVwbGFjZShZLCI8 JDE+PC8kMj4iKTt2YXIgbT0oWi5leGVjKGwpfHxbIiIsIiJdKVsxXS50b0xvd2Vy Q2FzZSgpLG49YmdbbV18fGJnLl9kZWZhdWx0LG89blswXSxwPWIuY3JlYXRlRWxl bWVudCgiZGl2IikscT1iaC5jaGlsZE5vZGVzLHI7Yj09PWM/YmguYXBwZW5kQ2hp bGQocCk6VShiKS5hcHBlbmRDaGlsZChwKSxwLmlubmVySFRNTD1uWzFdK2wrblsy XTt3aGlsZShvLS0pcD1wLmxhc3RDaGlsZDtpZighZi5zdXBwb3J0LnRib2R5KXt2 YXIgcz0kLnRlc3QobCksdD1tPT09InRhYmxlIiYmIXM/cC5maXJzdENoaWxkJiZw LmZpcnN0Q2hpbGQuY2hpbGROb2RlczpuWzFdPT09Ijx0YWJsZT4iJiYhcz9wLmNo aWxkTm9kZXM6W107Zm9yKGk9dC5sZW5ndGgtMTtpPj0wOy0taSlmLm5vZGVOYW1l KHRbaV0sInRib2R5IikmJiF0W2ldLmNoaWxkTm9kZXMubGVuZ3RoJiZ0W2ldLnBh cmVudE5vZGUucmVtb3ZlQ2hpbGQodFtpXSl9IWYuc3VwcG9ydC5sZWFkaW5nV2hp dGVzcGFjZSYmWC50ZXN0KGwpJiZwLmluc2VydEJlZm9yZShiLmNyZWF0ZVRleHRO b2RlKFguZXhlYyhsKVswXSkscC5maXJzdENoaWxkKSxsPXAuY2hpbGROb2Rlcyxw JiYocC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHApLHEubGVuZ3RoPjAmJihyPXFb cS5sZW5ndGgtMV0sciYmci5wYXJlbnROb2RlJiZyLnBhcmVudE5vZGUucmVtb3Zl Q2hpbGQocikpKX12YXIgdTtpZighZi5zdXBwb3J0LmFwcGVuZENoZWNrZWQpaWYo bFswXSYmdHlwZW9mICh1PWwubGVuZ3RoKT09Im51bWJlciIpZm9yKGk9MDtpPHU7 aSsrKWJuKGxbaV0pO2Vsc2UgYm4obCk7bC5ub2RlVHlwZT9qLnB1c2gobCk6aj1m Lm1lcmdlKGosbCl9aWYoZCl7Zz1mdW5jdGlvbihhKXtyZXR1cm4hYS50eXBlfHxi ZS50ZXN0KGEudHlwZSl9O2ZvcihrPTA7altrXTtrKyspe2g9altrXTtpZihlJiZm Lm5vZGVOYW1lKGgsInNjcmlwdCIpJiYoIWgudHlwZXx8YmUudGVzdChoLnR5cGUp KSllLnB1c2goaC5wYXJlbnROb2RlP2gucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCho KTpoKTtlbHNle2lmKGgubm9kZVR5cGU9PT0xKXt2YXIgdj1mLmdyZXAoaC5nZXRF bGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IiksZyk7ai5zcGxpY2UuYXBwbHkoaixb aysxLDBdLmNvbmNhdCh2KSl9ZC5hcHBlbmRDaGlsZChoKX19fXJldHVybiBqfSxj bGVhbkRhdGE6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPWYuY2FjaGUsZT1mLmV2ZW50 LnNwZWNpYWwsZz1mLnN1cHBvcnQuZGVsZXRlRXhwYW5kbztmb3IodmFyIGg9MCxp OyhpPWFbaF0pIT1udWxsO2grKyl7aWYoaS5ub2RlTmFtZSYmZi5ub0RhdGFbaS5u b2RlTmFtZS50b0xvd2VyQ2FzZSgpXSljb250aW51ZTtjPWlbZi5leHBhbmRvXTtp ZihjKXtiPWRbY107aWYoYiYmYi5ldmVudHMpe2Zvcih2YXIgaiBpbiBiLmV2ZW50 cyllW2pdP2YuZXZlbnQucmVtb3ZlKGksaik6Zi5yZW1vdmVFdmVudChpLGosYi5o YW5kbGUpO2IuaGFuZGxlJiYoYi5oYW5kbGUuZWxlbT1udWxsKX1nP2RlbGV0ZSBp W2YuZXhwYW5kb106aS5yZW1vdmVBdHRyaWJ1dGUmJmkucmVtb3ZlQXR0cmlidXRl

KGYuZXhwYW5kbyksZGVsZXRlIGRbY119fX19KTt2YXIgYnA9L2FscGhhXChbXild KlwpL2ksYnE9L29wYWNpdHk9KFteKV0qKS8sYnI9LyhbQS1aXXxebXMpL2csYnM9 L15bXC0rXT8oPzpcZCpcLik/XGQrJC9pLGJ0PS9eLT8oPzpcZCpcLik/XGQrKD8h cHgpW15cZFxzXSskL2ksYnU9L14oW1wtK10pPShbXC0rLlxkZV0rKS8sYnY9L15t YXJnaW4vLGJ3PXtwb3NpdGlvbjoiYWJzb2x1dGUiLHZpc2liaWxpdHk6ImhpZGRl biIsZGlzcGxheToiYmxvY2sifSxieD1bIlRvcCIsIlJpZ2h0IiwiQm90dG9tIiwi TGVmdCJdLGJ5LGJ6LGJBO2YuZm4uY3NzPWZ1bmN0aW9uKGEsYyl7cmV0dXJuIGYu YWNjZXNzKHRoaXMsZnVuY3Rpb24oYSxjLGQpe3JldHVybiBkIT09Yj9mLnN0eWxl KGEsYyxkKTpmLmNzcyhhLGMpfSxhLGMsYXJndW1lbnRzLmxlbmd0aD4xKX0sZi5l eHRlbmQoe2Nzc0hvb2tzOntvcGFjaXR5OntnZXQ6ZnVuY3Rpb24oYSxiKXtpZihi KXt2YXIgYz1ieShhLCJvcGFjaXR5Iik7cmV0dXJuIGM9PT0iIj8iMSI6Y31yZXR1 cm4gYS5zdHlsZS5vcGFjaXR5fX19LGNzc051bWJlcjp7ZmlsbE9wYWNpdHk6ITAs Zm9udFdlaWdodDohMCxsaW5lSGVpZ2h0OiEwLG9wYWNpdHk6ITAsb3JwaGFuczoh MCx3aWRvd3M6ITAsekluZGV4OiEwLHpvb206ITB9LGNzc1Byb3BzOnsiZmxvYXQi OmYuc3VwcG9ydC5jc3NGbG9hdD8iY3NzRmxvYXQiOiJzdHlsZUZsb2F0In0sc3R5 bGU6ZnVuY3Rpb24oYSxjLGQsZSl7aWYoISFhJiZhLm5vZGVUeXBlIT09MyYmYS5u b2RlVHlwZSE9PTgmJiEhYS5zdHlsZSl7dmFyIGcsaCxpPWYuY2FtZWxDYXNlKGMp LGo9YS5zdHlsZSxrPWYuY3NzSG9va3NbaV07Yz1mLmNzc1Byb3BzW2ldfHxpO2lm KGQ9PT1iKXtpZihrJiYiZ2V0ImluIGsmJihnPWsuZ2V0KGEsITEsZSkpIT09Yily ZXR1cm4gZztyZXR1cm4galtjXX1oPXR5cGVvZiBkLGg9PT0ic3RyaW5nIiYmKGc9 YnUuZXhlYyhkKSkmJihkPSsoZ1sxXSsxKSorZ1syXStwYXJzZUZsb2F0KGYuY3Nz KGEsYykpLGg9Im51bWJlciIpO2lmKGQ9PW51bGx8fGg9PT0ibnVtYmVyIiYmaXNO YU4oZCkpcmV0dXJuO2g9PT0ibnVtYmVyIiYmIWYuY3NzTnVtYmVyW2ldJiYoZCs9 InB4Iik7aWYoIWt8fCEoInNldCJpbiBrKXx8KGQ9ay5zZXQoYSxkKSkhPT1iKXRy eXtqW2NdPWR9Y2F0Y2gobCl7fX19LGNzczpmdW5jdGlvbihhLGMsZCl7dmFyIGUs ZztjPWYuY2FtZWxDYXNlKGMpLGc9Zi5jc3NIb29rc1tjXSxjPWYuY3NzUHJvcHNb Y118fGMsYz09PSJjc3NGbG9hdCImJihjPSJmbG9hdCIpO2lmKGcmJiJnZXQiaW4g ZyYmKGU9Zy5nZXQoYSwhMCxkKSkhPT1iKXJldHVybiBlO2lmKGJ5KXJldHVybiBi eShhLGMpfSxzd2FwOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD17fSxlLGY7Zm9yKGYg aW4gYilkW2ZdPWEuc3R5bGVbZl0sYS5zdHlsZVtmXT1iW2ZdO2U9Yy5jYWxsKGEp O2ZvcihmIGluIGIpYS5zdHlsZVtmXT1kW2ZdO3JldHVybiBlfX0pLGYuY3VyQ1NT PWYuY3NzLGMuZGVmYXVsdFZpZXcmJmMuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRT dHlsZSYmKGJ6PWZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGcsaD1hLnN0eWxlO2I9 Yi5yZXBsYWNlKGJyLCItJDEiKS50b0xvd2VyQ2FzZSgpLChkPWEub3duZXJEb2N1 bWVudC5kZWZhdWx0VmlldykmJihlPWQuZ2V0Q29tcHV0ZWRTdHlsZShhLG51bGwp KSYmKGM9ZS5nZXRQcm9wZXJ0eVZhbHVlKGIpLGM9PT0iIiYmIWYuY29udGFpbnMo YS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxhKSYmKGM9Zi5zdHlsZShh LGIpKSksIWYuc3VwcG9ydC5waXhlbE1hcmdpbiYmZSYmYnYudGVzdChiKSYmYnQu dGVzdChjKSYmKGc9aC53aWR0aCxoLndpZHRoPWMsYz1lLndpZHRoLGgud2lkdGg9 Zyk7cmV0dXJuIGN9KSxjLmRvY3VtZW50RWxlbWVudC5jdXJyZW50U3R5bGUmJihi QT1mdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmPWEuY3VycmVudFN0eWxlJiZhLmN1 cnJlbnRTdHlsZVtiXSxnPWEuc3R5bGU7Zj09bnVsbCYmZyYmKGU9Z1tiXSkmJihm PWUpLGJ0LnRlc3QoZikmJihjPWcubGVmdCxkPWEucnVudGltZVN0eWxlJiZhLnJ1 bnRpbWVTdHlsZS5sZWZ0LGQmJihhLnJ1bnRpbWVTdHlsZS5sZWZ0PWEuY3VycmVu dFN0eWxlLmxlZnQpLGcubGVmdD1iPT09ImZvbnRTaXplIj8iMWVtIjpmLGY9Zy5w aXhlbExlZnQrInB4IixnLmxlZnQ9YyxkJiYoYS5ydW50aW1lU3R5bGUubGVmdD1k KSk7cmV0dXJuIGY9PT0iIj8iYXV0byI6Zn0pLGJ5PWJ6fHxiQSxmLmVhY2goWyJo ZWlnaHQiLCJ3aWR0aCJdLGZ1bmN0aW9uKGEsYil7Zi5jc3NIb29rc1tiXT17Z2V0 OmZ1bmN0aW9uKGEsYyxkKXtpZihjKXJldHVybiBhLm9mZnNldFdpZHRoIT09MD9i QihhLGIsZCk6Zi5zd2FwKGEsYncsZnVuY3Rpb24oKXtyZXR1cm4gYkIoYSxiLGQp fSl9LHNldDpmdW5jdGlvbihhLGIpe3JldHVybiBicy50ZXN0KGIpP2IrInB4Ijpi fX19KSxmLnN1cHBvcnQub3BhY2l0eXx8KGYuY3NzSG9va3Mub3BhY2l0eT17Z2V0 OmZ1bmN0aW9uKGEsYil7cmV0dXJuIGJxLnRlc3QoKGImJmEuY3VycmVudFN0eWxl P2EuY3VycmVudFN0eWxlLmZpbHRlcjphLnN0eWxlLmZpbHRlcil8fCIiKT9wYXJz ZUZsb2F0KFJlZ0V4cC4kMSkvMTAwKyIiOmI/IjEiOiIifSxzZXQ6ZnVuY3Rpb24o YSxiKXt2YXIgYz1hLnN0eWxlLGQ9YS5jdXJyZW50U3R5bGUsZT1mLmlzTnVtZXJp YyhiKT8iYWxwaGEob3BhY2l0eT0iK2IqMTAwKyIpIjoiIixnPWQmJmQuZmlsdGVy fHxjLmZpbHRlcnx8IiI7Yy56b29tPTE7aWYoYj49MSYmZi50cmltKGcucmVwbGFj ZShicCwiIikpPT09IiIpe2MucmVtb3ZlQXR0cmlidXRlKCJmaWx0ZXIiKTtpZihk JiYhZC5maWx0ZXIpcmV0dXJufWMuZmlsdGVyPWJwLnRlc3QoZyk/Zy5yZXBsYWNl

KGJwLGUpOmcrIiAiK2V9fSksZihmdW5jdGlvbigpe2Yuc3VwcG9ydC5yZWxpYWJs ZU1hcmdpblJpZ2h0fHwoZi5jc3NIb29rcy5tYXJnaW5SaWdodD17Z2V0OmZ1bmN0 aW9uKGEsYil7cmV0dXJuIGYuc3dhcChhLHtkaXNwbGF5OiJpbmxpbmUtYmxvY2si fSxmdW5jdGlvbigpe3JldHVybiBiP2J5KGEsIm1hcmdpbi1yaWdodCIpOmEuc3R5 bGUubWFyZ2luUmlnaHR9KX19KX0pLGYuZXhwciYmZi5leHByLmZpbHRlcnMmJihm LmV4cHIuZmlsdGVycy5oaWRkZW49ZnVuY3Rpb24oYSl7dmFyIGI9YS5vZmZzZXRX aWR0aCxjPWEub2Zmc2V0SGVpZ2h0O3JldHVybiBiPT09MCYmYz09PTB8fCFmLnN1 cHBvcnQucmVsaWFibGVIaWRkZW5PZmZzZXRzJiYoYS5zdHlsZSYmYS5zdHlsZS5k aXNwbGF5fHxmLmNzcyhhLCJkaXNwbGF5IikpPT09Im5vbmUifSxmLmV4cHIuZmls dGVycy52aXNpYmxlPWZ1bmN0aW9uKGEpe3JldHVybiFmLmV4cHIuZmlsdGVycy5o aWRkZW4oYSl9KSxmLmVhY2goe21hcmdpbjoiIixwYWRkaW5nOiIiLGJvcmRlcjoi V2lkdGgifSxmdW5jdGlvbihhLGIpe2YuY3NzSG9va3NbYStiXT17ZXhwYW5kOmZ1 bmN0aW9uKGMpe3ZhciBkLGU9dHlwZW9mIGM9PSJzdHJpbmciP2Muc3BsaXQoIiAi KTpbY10sZj17fTtmb3IoZD0wO2Q8NDtkKyspZlthK2J4W2RdK2JdPWVbZF18fGVb ZC0yXXx8ZVswXTtyZXR1cm4gZn19fSk7dmFyIGJDPS8lMjAvZyxiRD0vXFtcXSQv LGJFPS9ccj9cbi9nLGJGPS8jLiokLyxiRz0vXiguKj8pOlsgXHRdKihbXlxyXG5d Kilccj8kL21nLGJIPS9eKD86Y29sb3J8ZGF0ZXxkYXRldGltZXxkYXRldGltZS1s b2NhbHxlbWFpbHxoaWRkZW58bW9udGh8bnVtYmVyfHBhc3N3b3JkfHJhbmdlfHNl YXJjaHx0ZWx8dGV4dHx0aW1lfHVybHx3ZWVrKSQvaSxiST0vXig/OmFib3V0fGFw cHxhcHBcLXN0b3JhZ2V8LitcLWV4dGVuc2lvbnxmaWxlfHJlc3x3aWRnZXQpOiQv LGJKPS9eKD86R0VUfEhFQUQpJC8sYks9L15cL1wvLyxiTD0vXD8vLGJNPS88c2Ny aXB0XGJbXjxdKig/Oig/ITxcL3NjcmlwdD4pPFtePF0qKSo8XC9zY3JpcHQ+L2dp LGJOPS9eKD86c2VsZWN0fHRleHRhcmVhKS9pLGJPPS9ccysvLGJQPS8oWz8mXSlf PVteJl0qLyxiUT0vXihbXHdcK1wuXC1dKzopKD86XC9cLyhbXlwvPyM6XSopKD86 OihcZCspKT8pPy8sYlI9Zi5mbi5sb2FkLGJTPXt9LGJUPXt9LGJVLGJWLGJXPVsi Ki8iXStbIioiXTt0cnl7YlU9ZS5ocmVmfWNhdGNoKGJYKXtiVT1jLmNyZWF0ZUVs ZW1lbnQoImEiKSxiVS5ocmVmPSIiLGJVPWJVLmhyZWZ9YlY9YlEuZXhlYyhiVS50 b0xvd2VyQ2FzZSgpKXx8W10sZi5mbi5leHRlbmQoe2xvYWQ6ZnVuY3Rpb24oYSxj LGQpe2lmKHR5cGVvZiBhIT0ic3RyaW5nIiYmYlIpcmV0dXJuIGJSLmFwcGx5KHRo aXMsYXJndW1lbnRzKTtpZighdGhpcy5sZW5ndGgpcmV0dXJuIHRoaXM7dmFyIGU9 YS5pbmRleE9mKCIgIik7aWYoZT49MCl7dmFyIGc9YS5zbGljZShlLGEubGVuZ3Ro KTthPWEuc2xpY2UoMCxlKX12YXIgaD0iR0VUIjtjJiYoZi5pc0Z1bmN0aW9uKGMp PyhkPWMsYz1iKTp0eXBlb2YgYz09Im9iamVjdCImJihjPWYucGFyYW0oYyxmLmFq YXhTZXR0aW5ncy50cmFkaXRpb25hbCksaD0iUE9TVCIpKTt2YXIgaT10aGlzO2Yu YWpheCh7dXJsOmEsdHlwZTpoLGRhdGFUeXBlOiJodG1sIixkYXRhOmMsY29tcGxl dGU6ZnVuY3Rpb24oYSxiLGMpe2M9YS5yZXNwb25zZVRleHQsYS5pc1Jlc29sdmVk KCkmJihhLmRvbmUoZnVuY3Rpb24oYSl7Yz1hfSksaS5odG1sKGc/ZigiPGRpdj4i KS5hcHBlbmQoYy5yZXBsYWNlKGJNLCIiKSkuZmluZChnKTpjKSksZCYmaS5lYWNo KGQsW2MsYixhXSl9fSk7cmV0dXJuIHRoaXN9LHNlcmlhbGl6ZTpmdW5jdGlvbigp e3JldHVybiBmLnBhcmFtKHRoaXMuc2VyaWFsaXplQXJyYXkoKSl9LHNlcmlhbGl6 ZUFycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7cmV0 dXJuIHRoaXMuZWxlbWVudHM/Zi5tYWtlQXJyYXkodGhpcy5lbGVtZW50cyk6dGhp c30pLmZpbHRlcihmdW5jdGlvbigpe3JldHVybiB0aGlzLm5hbWUmJiF0aGlzLmRp c2FibGVkJiYodGhpcy5jaGVja2VkfHxiTi50ZXN0KHRoaXMubm9kZU5hbWUpfHxi SC50ZXN0KHRoaXMudHlwZSkpfSkubWFwKGZ1bmN0aW9uKGEsYil7dmFyIGM9Zih0 aGlzKS52YWwoKTtyZXR1cm4gYz09bnVsbD9udWxsOmYuaXNBcnJheShjKT9mLm1h cChjLGZ1bmN0aW9uKGEsYyl7cmV0dXJue25hbWU6Yi5uYW1lLHZhbHVlOmEucmVw bGFjZShiRSwiXHJcbiIpfX0pOntuYW1lOmIubmFtZSx2YWx1ZTpjLnJlcGxhY2Uo YkUsIlxyXG4iKX19KS5nZXQoKX19KSxmLmVhY2goImFqYXhTdGFydCBhamF4U3Rv cCBhamF4Q29tcGxldGUgYWpheEVycm9yIGFqYXhTdWNjZXNzIGFqYXhTZW5kIi5z cGxpdCgiICIpLGZ1bmN0aW9uKGEsYil7Zi5mbltiXT1mdW5jdGlvbihhKXtyZXR1 cm4gdGhpcy5vbihiLGEpfX0pLGYuZWFjaChbImdldCIsInBvc3QiXSxmdW5jdGlv bihhLGMpe2ZbY109ZnVuY3Rpb24oYSxkLGUsZyl7Zi5pc0Z1bmN0aW9uKGQpJiYo Zz1nfHxlLGU9ZCxkPWIpO3JldHVybiBmLmFqYXgoe3R5cGU6Yyx1cmw6YSxkYXRh OmQsc3VjY2VzczplLGRhdGFUeXBlOmd9KX19KSxmLmV4dGVuZCh7Z2V0U2NyaXB0 OmZ1bmN0aW9uKGEsYyl7cmV0dXJuIGYuZ2V0KGEsYixjLCJzY3JpcHQiKX0sZ2V0 SlNPTjpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGYuZ2V0KGEsYixjLCJqc29uIil9 LGFqYXhTZXR1cDpmdW5jdGlvbihhLGIpe2I/YiQoYSxmLmFqYXhTZXR0aW5ncyk6 KGI9YSxhPWYuYWpheFNldHRpbmdzKSxiJChhLGIpO3JldHVybiBhfSxhamF4U2V0 dGluZ3M6e3VybDpiVSxpc0xvY2FsOmJJLnRlc3QoYlZbMV0pLGdsb2JhbDohMCx0

eXBlOiJHRVQiLGNvbnRlbnRUeXBlOiJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVy bGVuY29kZWQ7IGNoYXJzZXQ9VVRGLTgiLHByb2Nlc3NEYXRhOiEwLGFzeW5jOiEw LGFjY2VwdHM6e3htbDoiYXBwbGljYXRpb24veG1sLCB0ZXh0L3htbCIsaHRtbDoi dGV4dC9odG1sIix0ZXh0OiJ0ZXh0L3BsYWluIixqc29uOiJhcHBsaWNhdGlvbi9q c29uLCB0ZXh0L2phdmFzY3JpcHQiLCIqIjpiV30sY29udGVudHM6e3htbDoveG1s LyxodG1sOi9odG1sLyxqc29uOi9qc29uL30scmVzcG9uc2VGaWVsZHM6e3htbDoi cmVzcG9uc2VYTUwiLHRleHQ6InJlc3BvbnNlVGV4dCJ9LGNvbnZlcnRlcnM6eyIq IHRleHQiOmEuU3RyaW5nLCJ0ZXh0IGh0bWwiOiEwLCJ0ZXh0IGpzb24iOmYucGFy c2VKU09OLCJ0ZXh0IHhtbCI6Zi5wYXJzZVhNTH0sZmxhdE9wdGlvbnM6e2NvbnRl eHQ6ITAsdXJsOiEwfX0sYWpheFByZWZpbHRlcjpiWShiUyksYWpheFRyYW5zcG9y dDpiWShiVCksYWpheDpmdW5jdGlvbihhLGMpe2Z1bmN0aW9uIHcoYSxjLGwsbSl7 aWYocyE9PTIpe3M9MixxJiZjbGVhclRpbWVvdXQocSkscD1iLG49bXx8IiIsdi5y ZWFkeVN0YXRlPWE+MD80OjA7dmFyIG8scix1LHc9Yyx4PWw/Y2EoZCx2LGwpOmIs eSx6O2lmKGE+PTIwMCYmYTwzMDB8fGE9PT0zMDQpe2lmKGQuaWZNb2RpZmllZCl7 aWYoeT12LmdldFJlc3BvbnNlSGVhZGVyKCJMYXN0LU1vZGlmaWVkIikpZi5sYXN0 TW9kaWZpZWRba109eTtpZih6PXYuZ2V0UmVzcG9uc2VIZWFkZXIoIkV0YWciKSlm LmV0YWdba109en1pZihhPT09MzA0KXc9Im5vdG1vZGlmaWVkIixvPSEwO2Vsc2Ug dHJ5e3I9Y2IoZCx4KSx3PSJzdWNjZXNzIixvPSEwfWNhdGNoKEEpe3c9InBhcnNl cmVycm9yIix1PUF9fWVsc2V7dT13O2lmKCF3fHxhKXc9ImVycm9yIixhPDAmJihh PTApfXYuc3RhdHVzPWEsdi5zdGF0dXNUZXh0PSIiKyhjfHx3KSxvP2gucmVzb2x2 ZVdpdGgoZSxbcix3LHZdKTpoLnJlamVjdFdpdGgoZSxbdix3LHVdKSx2LnN0YXR1 c0NvZGUoaiksaj1iLHQmJmcudHJpZ2dlcigiYWpheCIrKG8/IlN1Y2Nlc3MiOiJF cnJvciIpLFt2LGQsbz9yOnVdKSxpLmZpcmVXaXRoKGUsW3Ysd10pLHQmJihnLnRy aWdnZXIoImFqYXhDb21wbGV0ZSIsW3YsZF0pLC0tZi5hY3RpdmV8fGYuZXZlbnQu dHJpZ2dlcigiYWpheFN0b3AiKSl9fXR5cGVvZiBhPT0ib2JqZWN0IiYmKGM9YSxh PWIpLGM9Y3x8e307dmFyIGQ9Zi5hamF4U2V0dXAoe30sYyksZT1kLmNvbnRleHR8 fGQsZz1lIT09ZCYmKGUubm9kZVR5cGV8fGUgaW5zdGFuY2VvZiBmKT9mKGUpOmYu ZXZlbnQsaD1mLkRlZmVycmVkKCksaT1mLkNhbGxiYWNrcygib25jZSBtZW1vcnki KSxqPWQuc3RhdHVzQ29kZXx8e30sayxsPXt9LG09e30sbixvLHAscSxyLHM9MCx0 LHUsdj17cmVhZHlTdGF0ZTowLHNldFJlcXVlc3RIZWFkZXI6ZnVuY3Rpb24oYSxi KXtpZighcyl7dmFyIGM9YS50b0xvd2VyQ2FzZSgpO2E9bVtjXT1tW2NdfHxhLGxb YV09Yn1yZXR1cm4gdGhpc30sZ2V0QWxsUmVzcG9uc2VIZWFkZXJzOmZ1bmN0aW9u KCl7cmV0dXJuIHM9PT0yP246bnVsbH0sZ2V0UmVzcG9uc2VIZWFkZXI6ZnVuY3Rp b24oYSl7dmFyIGM7aWYocz09PTIpe2lmKCFvKXtvPXt9O3doaWxlKGM9YkcuZXhl YyhuKSlvW2NbMV0udG9Mb3dlckNhc2UoKV09Y1syXX1jPW9bYS50b0xvd2VyQ2Fz ZSgpXX1yZXR1cm4gYz09PWI/bnVsbDpjfSxvdmVycmlkZU1pbWVUeXBlOmZ1bmN0 aW9uKGEpe3N8fChkLm1pbWVUeXBlPWEpO3JldHVybiB0aGlzfSxhYm9ydDpmdW5j dGlvbihhKXthPWF8fCJhYm9ydCIscCYmcC5hYm9ydChhKSx3KDAsYSk7cmV0dXJu IHRoaXN9fTtoLnByb21pc2Uodiksdi5zdWNjZXNzPXYuZG9uZSx2LmVycm9yPXYu ZmFpbCx2LmNvbXBsZXRlPWkuYWRkLHYuc3RhdHVzQ29kZT1mdW5jdGlvbihhKXtp ZihhKXt2YXIgYjtpZihzPDIpZm9yKGIgaW4gYSlqW2JdPVtqW2JdLGFbYl1dO2Vs c2UgYj1hW3Yuc3RhdHVzXSx2LnRoZW4oYixiKX1yZXR1cm4gdGhpc30sZC51cmw9 KChhfHxkLnVybCkrIiIpLnJlcGxhY2UoYkYsIiIpLnJlcGxhY2UoYkssYlZbMV0r Ii8vIiksZC5kYXRhVHlwZXM9Zi50cmltKGQuZGF0YVR5cGV8fCIqIikudG9Mb3dl ckNhc2UoKS5zcGxpdChiTyksZC5jcm9zc0RvbWFpbj09bnVsbCYmKHI9YlEuZXhl YyhkLnVybC50b0xvd2VyQ2FzZSgpKSxkLmNyb3NzRG9tYWluPSEoIXJ8fHJbMV09 PWJWWzFdJiZyWzJdPT1iVlsyXSYmKHJbM118fChyWzFdPT09Imh0dHA6Ij84MDo0 NDMpKT09KGJWWzNdfHwoYlZbMV09PT0iaHR0cDoiPzgwOjQ0MykpKSksZC5kYXRh JiZkLnByb2Nlc3NEYXRhJiZ0eXBlb2YgZC5kYXRhIT0ic3RyaW5nIiYmKGQuZGF0 YT1mLnBhcmFtKGQuZGF0YSxkLnRyYWRpdGlvbmFsKSksYlooYlMsZCxjLHYpO2lm KHM9PT0yKXJldHVybiExO3Q9ZC5nbG9iYWwsZC50eXBlPWQudHlwZS50b1VwcGVy Q2FzZSgpLGQuaGFzQ29udGVudD0hYkoudGVzdChkLnR5cGUpLHQmJmYuYWN0aXZl Kys9PT0wJiZmLmV2ZW50LnRyaWdnZXIoImFqYXhTdGFydCIpO2lmKCFkLmhhc0Nv bnRlbnQpe2QuZGF0YSYmKGQudXJsKz0oYkwudGVzdChkLnVybCk/IiYiOiI/Iikr ZC5kYXRhLGRlbGV0ZSBkLmRhdGEpLGs9ZC51cmw7aWYoZC5jYWNoZT09PSExKXt2 YXIgeD1mLm5vdygpLHk9ZC51cmwucmVwbGFjZShiUCwiJDFfPSIreCk7ZC51cmw9 eSsoeT09PWQudXJsPyhiTC50ZXN0KGQudXJsKT8iJiI6Ij8iKSsiXz0iK3g6IiIp fX0oZC5kYXRhJiZkLmhhc0NvbnRlbnQmJmQuY29udGVudFR5cGUhPT0hMXx8Yy5j b250ZW50VHlwZSkmJnYuc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIixk LmNvbnRlbnRUeXBlKSxkLmlmTW9kaWZpZWQmJihrPWt8fGQudXJsLGYubGFzdE1v

ZGlmaWVkW2tdJiZ2LnNldFJlcXVlc3RIZWFkZXIoIklmLU1vZGlmaWVkLVNpbmNl IixmLmxhc3RNb2RpZmllZFtrXSksZi5ldGFnW2tdJiZ2LnNldFJlcXVlc3RIZWFk ZXIoIklmLU5vbmUtTWF0Y2giLGYuZXRhZ1trXSkpLHYuc2V0UmVxdWVzdEhlYWRl cigiQWNjZXB0IixkLmRhdGFUeXBlc1swXSYmZC5hY2NlcHRzW2QuZGF0YVR5cGVz WzBdXT9kLmFjY2VwdHNbZC5kYXRhVHlwZXNbMF1dKyhkLmRhdGFUeXBlc1swXSE9 PSIqIj8iLCAiK2JXKyI7IHE9MC4wMSI6IiIpOmQuYWNjZXB0c1siKiJdKTtmb3Io dSBpbiBkLmhlYWRlcnMpdi5zZXRSZXF1ZXN0SGVhZGVyKHUsZC5oZWFkZXJzW3Vd KTtpZihkLmJlZm9yZVNlbmQmJihkLmJlZm9yZVNlbmQuY2FsbChlLHYsZCk9PT0h MXx8cz09PTIpKXt2LmFib3J0KCk7cmV0dXJuITF9Zm9yKHUgaW57c3VjY2Vzczox LGVycm9yOjEsY29tcGxldGU6MX0pdlt1XShkW3VdKTtwPWJaKGJULGQsYyx2KTtp ZighcCl3KC0xLCJObyBUcmFuc3BvcnQiKTtlbHNle3YucmVhZHlTdGF0ZT0xLHQm JmcudHJpZ2dlcigiYWpheFNlbmQiLFt2LGRdKSxkLmFzeW5jJiZkLnRpbWVvdXQ+ MCYmKHE9c2V0VGltZW91dChmdW5jdGlvbigpe3YuYWJvcnQoInRpbWVvdXQiKX0s ZC50aW1lb3V0KSk7dHJ5e3M9MSxwLnNlbmQobCx3KX1jYXRjaCh6KXtpZihzPDIp dygtMSx6KTtlbHNlIHRocm93IHp9fXJldHVybiB2fSxwYXJhbTpmdW5jdGlvbihh LGMpe3ZhciBkPVtdLGU9ZnVuY3Rpb24oYSxiKXtiPWYuaXNGdW5jdGlvbihiKT9i KCk6YixkW2QubGVuZ3RoXT1lbmNvZGVVUklDb21wb25lbnQoYSkrIj0iK2VuY29k ZVVSSUNvbXBvbmVudChiKX07Yz09PWImJihjPWYuYWpheFNldHRpbmdzLnRyYWRp dGlvbmFsKTtpZihmLmlzQXJyYXkoYSl8fGEuanF1ZXJ5JiYhZi5pc1BsYWluT2Jq ZWN0KGEpKWYuZWFjaChhLGZ1bmN0aW9uKCl7ZSh0aGlzLm5hbWUsdGhpcy52YWx1 ZSl9KTtlbHNlIGZvcih2YXIgZyBpbiBhKWJfKGcsYVtnXSxjLGUpO3JldHVybiBk LmpvaW4oIiYiKS5yZXBsYWNlKGJDLCIrIil9fSksZi5leHRlbmQoe2FjdGl2ZTow LGxhc3RNb2RpZmllZDp7fSxldGFnOnt9fSk7dmFyIGNjPWYubm93KCksY2Q9Lyhc PSlcPygmfCQpfFw/XD8vaTtmLmFqYXhTZXR1cCh7anNvbnA6ImNhbGxiYWNrIixq c29ucENhbGxiYWNrOmZ1bmN0aW9uKCl7cmV0dXJuIGYuZXhwYW5kbysiXyIrY2Mr K319KSxmLmFqYXhQcmVmaWx0ZXIoImpzb24ganNvbnAiLGZ1bmN0aW9uKGIsYyxk KXt2YXIgZT10eXBlb2YgYi5kYXRhPT0ic3RyaW5nIiYmL15hcHBsaWNhdGlvblwv eFwtd3d3XC1mb3JtXC11cmxlbmNvZGVkLy50ZXN0KGIuY29udGVudFR5cGUpO2lm KGIuZGF0YVR5cGVzWzBdPT09Impzb25wInx8Yi5qc29ucCE9PSExJiYoY2QudGVz dChiLnVybCl8fGUmJmNkLnRlc3QoYi5kYXRhKSkpe3ZhciBnLGg9Yi5qc29ucENh bGxiYWNrPWYuaXNGdW5jdGlvbihiLmpzb25wQ2FsbGJhY2spP2IuanNvbnBDYWxs YmFjaygpOmIuanNvbnBDYWxsYmFjayxpPWFbaF0saj1iLnVybCxrPWIuZGF0YSxs PSIkMSIraCsiJDIiO2IuanNvbnAhPT0hMSYmKGo9ai5yZXBsYWNlKGNkLGwpLGIu dXJsPT09aiYmKGUmJihrPWsucmVwbGFjZShjZCxsKSksYi5kYXRhPT09ayYmKGor PSgvXD8vLnRlc3Qoaik/IiYiOiI/IikrYi5qc29ucCsiPSIraCkpKSxiLnVybD1q LGIuZGF0YT1rLGFbaF09ZnVuY3Rpb24oYSl7Zz1bYV19LGQuYWx3YXlzKGZ1bmN0 aW9uKCl7YVtoXT1pLGcmJmYuaXNGdW5jdGlvbihpKSYmYVtoXShnWzBdKX0pLGIu Y29udmVydGVyc1sic2NyaXB0IGpzb24iXT1mdW5jdGlvbigpe2d8fGYuZXJyb3Io aCsiIHdhcyBub3QgY2FsbGVkIik7cmV0dXJuIGdbMF19LGIuZGF0YVR5cGVzWzBd PSJqc29uIjtyZXR1cm4ic2NyaXB0In19KSxmLmFqYXhTZXR1cCh7YWNjZXB0czp7 c2NyaXB0OiJ0ZXh0L2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2phdmFzY3JpcHQs IGFwcGxpY2F0aW9uL2VjbWFzY3JpcHQsIGFwcGxpY2F0aW9uL3gtZWNtYXNjcmlw dCJ9LGNvbnRlbnRzOntzY3JpcHQ6L2phdmFzY3JpcHR8ZWNtYXNjcmlwdC99LGNv bnZlcnRlcnM6eyJ0ZXh0IHNjcmlwdCI6ZnVuY3Rpb24oYSl7Zi5nbG9iYWxFdmFs KGEpO3JldHVybiBhfX19KSxmLmFqYXhQcmVmaWx0ZXIoInNjcmlwdCIsZnVuY3Rp b24oYSl7YS5jYWNoZT09PWImJihhLmNhY2hlPSExKSxhLmNyb3NzRG9tYWluJiYo YS50eXBlPSJHRVQiLGEuZ2xvYmFsPSExKX0pLGYuYWpheFRyYW5zcG9ydCgic2Ny aXB0IixmdW5jdGlvbihhKXtpZihhLmNyb3NzRG9tYWluKXt2YXIgZCxlPWMuaGVh ZHx8Yy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdfHxjLmRvY3VtZW50 RWxlbWVudDtyZXR1cm57c2VuZDpmdW5jdGlvbihmLGcpe2Q9Yy5jcmVhdGVFbGVt ZW50KCJzY3JpcHQiKSxkLmFzeW5jPSJhc3luYyIsYS5zY3JpcHRDaGFyc2V0JiYo ZC5jaGFyc2V0PWEuc2NyaXB0Q2hhcnNldCksZC5zcmM9YS51cmwsZC5vbmxvYWQ9 ZC5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oYSxjKXtpZihjfHwhZC5yZWFk eVN0YXRlfHwvbG9hZGVkfGNvbXBsZXRlLy50ZXN0KGQucmVhZHlTdGF0ZSkpZC5v bmxvYWQ9ZC5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbCxlJiZkLnBhcmVudE5vZGUm JmUucmVtb3ZlQ2hpbGQoZCksZD1iLGN8fGcoMjAwLCJzdWNjZXNzIil9LGUuaW5z ZXJ0QmVmb3JlKGQsZS5maXJzdENoaWxkKX0sYWJvcnQ6ZnVuY3Rpb24oKXtkJiZk Lm9ubG9hZCgwLDEpfX19fSk7dmFyIGNlPWEuQWN0aXZlWE9iamVjdD9mdW5jdGlv bigpe2Zvcih2YXIgYSBpbiBjZyljZ1thXSgwLDEpfTohMSxjZj0wLGNnO2YuYWph eFNldHRpbmdzLnhocj1hLkFjdGl2ZVhPYmplY3Q/ZnVuY3Rpb24oKXtyZXR1cm4h

dGhpcy5pc0xvY2FsJiZjaCgpfHxjaSgpfTpjaCxmdW5jdGlvbihhKXtmLmV4dGVu ZChmLnN1cHBvcnQse2FqYXg6ISFhLGNvcnM6ISFhJiYid2l0aENyZWRlbnRpYWxz ImluIGF9KX0oZi5hamF4U2V0dGluZ3MueGhyKCkpLGYuc3VwcG9ydC5hamF4JiZm LmFqYXhUcmFuc3BvcnQoZnVuY3Rpb24oYyl7aWYoIWMuY3Jvc3NEb21haW58fGYu c3VwcG9ydC5jb3JzKXt2YXIgZDtyZXR1cm57c2VuZDpmdW5jdGlvbihlLGcpe3Zh ciBoPWMueGhyKCksaSxqO2MudXNlcm5hbWU/aC5vcGVuKGMudHlwZSxjLnVybCxj LmFzeW5jLGMudXNlcm5hbWUsYy5wYXNzd29yZCk6aC5vcGVuKGMudHlwZSxjLnVy bCxjLmFzeW5jKTtpZihjLnhockZpZWxkcylmb3IoaiBpbiBjLnhockZpZWxkcylo W2pdPWMueGhyRmllbGRzW2pdO2MubWltZVR5cGUmJmgub3ZlcnJpZGVNaW1lVHlw ZSYmaC5vdmVycmlkZU1pbWVUeXBlKGMubWltZVR5cGUpLCFjLmNyb3NzRG9tYWlu JiYhZVsiWC1SZXF1ZXN0ZWQtV2l0aCJdJiYoZVsiWC1SZXF1ZXN0ZWQtV2l0aCJd PSJYTUxIdHRwUmVxdWVzdCIpO3RyeXtmb3IoaiBpbiBlKWguc2V0UmVxdWVzdEhl YWRlcihqLGVbal0pfWNhdGNoKGspe31oLnNlbmQoYy5oYXNDb250ZW50JiZjLmRh dGF8fG51bGwpLGQ9ZnVuY3Rpb24oYSxlKXt2YXIgaixrLGwsbSxuO3RyeXtpZihk JiYoZXx8aC5yZWFkeVN0YXRlPT09NCkpe2Q9YixpJiYoaC5vbnJlYWR5c3RhdGVj aGFuZ2U9Zi5ub29wLGNlJiZkZWxldGUgY2dbaV0pO2lmKGUpaC5yZWFkeVN0YXRl IT09NCYmaC5hYm9ydCgpO2Vsc2V7aj1oLnN0YXR1cyxsPWguZ2V0QWxsUmVzcG9u c2VIZWFkZXJzKCksbT17fSxuPWgucmVzcG9uc2VYTUwsbiYmbi5kb2N1bWVudEVs ZW1lbnQmJihtLnhtbD1uKTt0cnl7bS50ZXh0PWgucmVzcG9uc2VUZXh0fWNhdGNo KGEpe310cnl7az1oLnN0YXR1c1RleHR9Y2F0Y2gobyl7az0iIn0haiYmYy5pc0xv Y2FsJiYhYy5jcm9zc0RvbWFpbj9qPW0udGV4dD8yMDA6NDA0Omo9PT0xMjIzJiYo aj0yMDQpfX19Y2F0Y2gocCl7ZXx8ZygtMSxwKX1tJiZnKGosayxtLGwpfSwhYy5h c3luY3x8aC5yZWFkeVN0YXRlPT09ND9kKCk6KGk9KytjZixjZSYmKGNnfHwoY2c9 e30sZihhKS51bmxvYWQoY2UpKSxjZ1tpXT1kKSxoLm9ucmVhZHlzdGF0ZWNoYW5n ZT1kKX0sYWJvcnQ6ZnVuY3Rpb24oKXtkJiZkKDAsMSl9fX19KTt2YXIgY2o9e30s Y2ssY2wsY209L14oPzp0b2dnbGV8c2hvd3xoaWRlKSQvLGNuPS9eKFsrXC1dPSk/ KFtcZCsuXC1dKykoW2EteiVdKikkL2ksY28sY3A9W1siaGVpZ2h0IiwibWFyZ2lu VG9wIiwibWFyZ2luQm90dG9tIiwicGFkZGluZ1RvcCIsInBhZGRpbmdCb3R0b20i XSxbIndpZHRoIiwibWFyZ2luTGVmdCIsIm1hcmdpblJpZ2h0IiwicGFkZGluZ0xl ZnQiLCJwYWRkaW5nUmlnaHQiXSxbIm9wYWNpdHkiXV0sY3E7Zi5mbi5leHRlbmQo e3Nob3c6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGU7aWYoYXx8YT09PTApcmV0dXJu IHRoaXMuYW5pbWF0ZShjdCgic2hvdyIsMyksYSxiLGMpO2Zvcih2YXIgZz0wLGg9 dGhpcy5sZW5ndGg7ZzxoO2crKylkPXRoaXNbZ10sZC5zdHlsZSYmKGU9ZC5zdHls ZS5kaXNwbGF5LCFmLl9kYXRhKGQsIm9sZGRpc3BsYXkiKSYmZT09PSJub25lIiYm KGU9ZC5zdHlsZS5kaXNwbGF5PSIiKSwoZT09PSIiJiZmLmNzcyhkLCJkaXNwbGF5 Iik9PT0ibm9uZSJ8fCFmLmNvbnRhaW5zKGQub3duZXJEb2N1bWVudC5kb2N1bWVu dEVsZW1lbnQsZCkpJiZmLl9kYXRhKGQsIm9sZGRpc3BsYXkiLGN1KGQubm9kZU5h bWUpKSk7Zm9yKGc9MDtnPGg7ZysrKXtkPXRoaXNbZ107aWYoZC5zdHlsZSl7ZT1k LnN0eWxlLmRpc3BsYXk7aWYoZT09PSIifHxlPT09Im5vbmUiKWQuc3R5bGUuZGlz cGxheT1mLl9kYXRhKGQsIm9sZGRpc3BsYXkiKXx8IiJ9fXJldHVybiB0aGlzfSxo aWRlOmZ1bmN0aW9uKGEsYixjKXtpZihhfHxhPT09MClyZXR1cm4gdGhpcy5hbmlt YXRlKGN0KCJoaWRlIiwzKSxhLGIsYyk7dmFyIGQsZSxnPTAsaD10aGlzLmxlbmd0 aDtmb3IoO2c8aDtnKyspZD10aGlzW2ddLGQuc3R5bGUmJihlPWYuY3NzKGQsImRp c3BsYXkiKSxlIT09Im5vbmUiJiYhZi5fZGF0YShkLCJvbGRkaXNwbGF5IikmJmYu X2RhdGEoZCwib2xkZGlzcGxheSIsZSkpO2ZvcihnPTA7ZzxoO2crKyl0aGlzW2dd LnN0eWxlJiYodGhpc1tnXS5zdHlsZS5kaXNwbGF5PSJub25lIik7cmV0dXJuIHRo aXN9LF90b2dnbGU6Zi5mbi50b2dnbGUsdG9nZ2xlOmZ1bmN0aW9uKGEsYixjKXt2 YXIgZD10eXBlb2YgYT09ImJvb2xlYW4iO2YuaXNGdW5jdGlvbihhKSYmZi5pc0Z1 bmN0aW9uKGIpP3RoaXMuX3RvZ2dsZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6YT09 bnVsbHx8ZD90aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1kP2E6Zih0aGlzKS5p cygiOmhpZGRlbiIpO2YodGhpcylbYj8ic2hvdyI6ImhpZGUiXSgpfSk6dGhpcy5h bmltYXRlKGN0KCJ0b2dnbGUiLDMpLGEsYixjKTtyZXR1cm4gdGhpc30sZmFkZVRv OmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLmZpbHRlcigiOmhpZGRlbiIp LmNzcygib3BhY2l0eSIsMCkuc2hvdygpLmVuZCgpLmFuaW1hdGUoe29wYWNpdHk6 Yn0sYSxjLGQpfSxhbmltYXRlOmZ1bmN0aW9uKGEsYixjLGQpe2Z1bmN0aW9uIGco KXtlLnF1ZXVlPT09ITEmJmYuX21hcmsodGhpcyk7dmFyIGI9Zi5leHRlbmQoe30s ZSksYz10aGlzLm5vZGVUeXBlPT09MSxkPWMmJmYodGhpcykuaXMoIjpoaWRkZW4i KSxnLGgsaSxqLGssbCxtLG4sbyxwLHE7Yi5hbmltYXRlZFByb3BlcnRpZXM9e307 Zm9yKGkgaW4gYSl7Zz1mLmNhbWVsQ2FzZShpKSxpIT09ZyYmKGFbZ109YVtpXSxk ZWxldGUgYVtpXSk7aWYoKGs9Zi5jc3NIb29rc1tnXSkmJiJleHBhbmQiaW4gayl7

bD1rLmV4cGFuZChhW2ddKSxkZWxldGUgYVtnXTtmb3IoaSBpbiBsKWkgaW4gYXx8 KGFbaV09bFtpXSl9fWZvcihnIGluIGEpe2g9YVtnXSxmLmlzQXJyYXkoaCk/KGIu YW5pbWF0ZWRQcm9wZXJ0aWVzW2ddPWhbMV0saD1hW2ddPWhbMF0pOmIuYW5pbWF0 ZWRQcm9wZXJ0aWVzW2ddPWIuc3BlY2lhbEVhc2luZyYmYi5zcGVjaWFsRWFzaW5n W2ddfHxiLmVhc2luZ3x8InN3aW5nIjtpZihoPT09ImhpZGUiJiZkfHxoPT09InNo b3ciJiYhZClyZXR1cm4gYi5jb21wbGV0ZS5jYWxsKHRoaXMpO2MmJihnPT09Imhl aWdodCJ8fGc9PT0id2lkdGgiKSYmKGIub3ZlcmZsb3c9W3RoaXMuc3R5bGUub3Zl cmZsb3csdGhpcy5zdHlsZS5vdmVyZmxvd1gsdGhpcy5zdHlsZS5vdmVyZmxvd1ld LGYuY3NzKHRoaXMsImRpc3BsYXkiKT09PSJpbmxpbmUiJiZmLmNzcyh0aGlzLCJm bG9hdCIpPT09Im5vbmUiJiYoIWYuc3VwcG9ydC5pbmxpbmVCbG9ja05lZWRzTGF5 b3V0fHxjdSh0aGlzLm5vZGVOYW1lKT09PSJpbmxpbmUiP3RoaXMuc3R5bGUuZGlz cGxheT0iaW5saW5lLWJsb2NrIjp0aGlzLnN0eWxlLnpvb209MSkpfWIub3ZlcmZs b3chPW51bGwmJih0aGlzLnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iKTtmb3IoaSBp biBhKWo9bmV3IGYuZngodGhpcyxiLGkpLGg9YVtpXSxjbS50ZXN0KGgpPyhxPWYu X2RhdGEodGhpcywidG9nZ2xlIitpKXx8KGg9PT0idG9nZ2xlIj9kPyJzaG93Ijoi aGlkZSI6MCkscT8oZi5fZGF0YSh0aGlzLCJ0b2dnbGUiK2kscT09PSJzaG93Ij8i aGlkZSI6InNob3ciKSxqW3FdKCkpOmpbaF0oKSk6KG09Y24uZXhlYyhoKSxuPWou Y3VyKCksbT8obz1wYXJzZUZsb2F0KG1bMl0pLHA9bVszXXx8KGYuY3NzTnVtYmVy W2ldPyIiOiJweCIpLHAhPT0icHgiJiYoZi5zdHlsZSh0aGlzLGksKG98fDEpK3Ap LG49KG98fDEpL2ouY3VyKCkqbixmLnN0eWxlKHRoaXMsaSxuK3ApKSxtWzFdJiYo bz0obVsxXT09PSItPSI/LTE6MSkqbytuKSxqLmN1c3RvbShuLG8scCkpOmouY3Vz dG9tKG4saCwiIikpO3JldHVybiEwfXZhciBlPWYuc3BlZWQoYixjLGQpO2lmKGYu aXNFbXB0eU9iamVjdChhKSlyZXR1cm4gdGhpcy5lYWNoKGUuY29tcGxldGUsWyEx XSk7YT1mLmV4dGVuZCh7fSxhKTtyZXR1cm4gZS5xdWV1ZT09PSExP3RoaXMuZWFj aChnKTp0aGlzLnF1ZXVlKGUucXVldWUsZyl9LHN0b3A6ZnVuY3Rpb24oYSxjLGQp e3R5cGVvZiBhIT0ic3RyaW5nIiYmKGQ9YyxjPWEsYT1iKSxjJiZhIT09ITEmJnRo aXMucXVldWUoYXx8ImZ4IixbXSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigp e2Z1bmN0aW9uIGgoYSxiLGMpe3ZhciBlPWJbY107Zi5yZW1vdmVEYXRhKGEsYywh MCksZS5zdG9wKGQpfXZhciBiLGM9ITEsZT1mLnRpbWVycyxnPWYuX2RhdGEodGhp cyk7ZHx8Zi5fdW5tYXJrKCEwLHRoaXMpO2lmKGE9PW51bGwpZm9yKGIgaW4gZyln W2JdJiZnW2JdLnN0b3AmJmIuaW5kZXhPZigiLnJ1biIpPT09Yi5sZW5ndGgtNCYm aCh0aGlzLGcsYik7ZWxzZSBnW2I9YSsiLnJ1biJdJiZnW2JdLnN0b3AmJmgodGhp cyxnLGIpO2ZvcihiPWUubGVuZ3RoO2ItLTspZVtiXS5lbGVtPT09dGhpcyYmKGE9 PW51bGx8fGVbYl0ucXVldWU9PT1hKSYmKGQ/ZVtiXSghMCk6ZVtiXS5zYXZlU3Rh dGUoKSxjPSEwLGUuc3BsaWNlKGIsMSkpOyghZHx8IWMpJiZmLmRlcXVldWUodGhp cyxhKX0pfX0pLGYuZWFjaCh7c2xpZGVEb3duOmN0KCJzaG93IiwxKSxzbGlkZVVw OmN0KCJoaWRlIiwxKSxzbGlkZVRvZ2dsZTpjdCgidG9nZ2xlIiwxKSxmYWRlSW46 e29wYWNpdHk6InNob3cifSxmYWRlT3V0OntvcGFjaXR5OiJoaWRlIn0sZmFkZVRv Z2dsZTp7b3BhY2l0eToidG9nZ2xlIn19LGZ1bmN0aW9uKGEsYil7Zi5mblthXT1m dW5jdGlvbihhLGMsZCl7cmV0dXJuIHRoaXMuYW5pbWF0ZShiLGEsYyxkKX19KSxm LmV4dGVuZCh7c3BlZWQ6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEmJnR5cGVvZiBh PT0ib2JqZWN0Ij9mLmV4dGVuZCh7fSxhKTp7Y29tcGxldGU6Y3x8IWMmJmJ8fGYu aXNGdW5jdGlvbihhKSYmYSxkdXJhdGlvbjphLGVhc2luZzpjJiZifHxiJiYhZi5p c0Z1bmN0aW9uKGIpJiZifTtkLmR1cmF0aW9uPWYuZngub2ZmPzA6dHlwZW9mIGQu ZHVyYXRpb249PSJudW1iZXIiP2QuZHVyYXRpb246ZC5kdXJhdGlvbiBpbiBmLmZ4 LnNwZWVkcz9mLmZ4LnNwZWVkc1tkLmR1cmF0aW9uXTpmLmZ4LnNwZWVkcy5fZGVm YXVsdDtpZihkLnF1ZXVlPT1udWxsfHxkLnF1ZXVlPT09ITApZC5xdWV1ZT0iZngi O2Qub2xkPWQuY29tcGxldGUsZC5jb21wbGV0ZT1mdW5jdGlvbihhKXtmLmlzRnVu Y3Rpb24oZC5vbGQpJiZkLm9sZC5jYWxsKHRoaXMpLGQucXVldWU/Zi5kZXF1ZXVl KHRoaXMsZC5xdWV1ZSk6YSE9PSExJiZmLl91bm1hcmsodGhpcyl9O3JldHVybiBk fSxlYXNpbmc6e2xpbmVhcjpmdW5jdGlvbihhKXtyZXR1cm4gYX0sc3dpbmc6ZnVu Y3Rpb24oYSl7cmV0dXJuLU1hdGguY29zKGEqTWF0aC5QSSkvMisuNX19LHRpbWVy czpbXSxmeDpmdW5jdGlvbihhLGIsYyl7dGhpcy5vcHRpb25zPWIsdGhpcy5lbGVt PWEsdGhpcy5wcm9wPWMsYi5vcmlnPWIub3JpZ3x8e319fSksZi5meC5wcm90b3R5 cGU9e3VwZGF0ZTpmdW5jdGlvbigpe3RoaXMub3B0aW9ucy5zdGVwJiZ0aGlzLm9w dGlvbnMuc3RlcC5jYWxsKHRoaXMuZWxlbSx0aGlzLm5vdyx0aGlzKSwoZi5meC5z dGVwW3RoaXMucHJvcF18fGYuZnguc3RlcC5fZGVmYXVsdCkodGhpcyl9LGN1cjpm dW5jdGlvbigpe2lmKHRoaXMuZWxlbVt0aGlzLnByb3BdIT1udWxsJiYoIXRoaXMu ZWxlbS5zdHlsZXx8dGhpcy5lbGVtLnN0eWxlW3RoaXMucHJvcF09PW51bGwpKXJl dHVybiB0aGlzLmVsZW1bdGhpcy5wcm9wXTt2YXIgYSxiPWYuY3NzKHRoaXMuZWxl

bSx0aGlzLnByb3ApO3JldHVybiBpc05hTihhPXBhcnNlRmxvYXQoYikpPyFifHxi PT09ImF1dG8iPzA6YjphfSxjdXN0b206ZnVuY3Rpb24oYSxjLGQpe2Z1bmN0aW9u IGgoYSl7cmV0dXJuIGUuc3RlcChhKX12YXIgZT10aGlzLGc9Zi5meDt0aGlzLnN0 YXJ0VGltZT1jcXx8Y3IoKSx0aGlzLmVuZD1jLHRoaXMubm93PXRoaXMuc3RhcnQ9 YSx0aGlzLnBvcz10aGlzLnN0YXRlPTAsdGhpcy51bml0PWR8fHRoaXMudW5pdHx8 KGYuY3NzTnVtYmVyW3RoaXMucHJvcF0/IiI6InB4IiksaC5xdWV1ZT10aGlzLm9w dGlvbnMucXVldWUsaC5lbGVtPXRoaXMuZWxlbSxoLnNhdmVTdGF0ZT1mdW5jdGlv bigpe2YuX2RhdGEoZS5lbGVtLCJmeHNob3ciK2UucHJvcCk9PT1iJiYoZS5vcHRp b25zLmhpZGU/Zi5fZGF0YShlLmVsZW0sImZ4c2hvdyIrZS5wcm9wLGUuc3RhcnQp OmUub3B0aW9ucy5zaG93JiZmLl9kYXRhKGUuZWxlbSwiZnhzaG93IitlLnByb3As ZS5lbmQpKX0saCgpJiZmLnRpbWVycy5wdXNoKGgpJiYhY28mJihjbz1zZXRJbnRl cnZhbChnLnRpY2ssZy5pbnRlcnZhbCkpfSxzaG93OmZ1bmN0aW9uKCl7dmFyIGE9 Zi5fZGF0YSh0aGlzLmVsZW0sImZ4c2hvdyIrdGhpcy5wcm9wKTt0aGlzLm9wdGlv bnMub3JpZ1t0aGlzLnByb3BdPWF8fGYuc3R5bGUodGhpcy5lbGVtLHRoaXMucHJv cCksdGhpcy5vcHRpb25zLnNob3c9ITAsYSE9PWI/dGhpcy5jdXN0b20odGhpcy5j dXIoKSxhKTp0aGlzLmN1c3RvbSh0aGlzLnByb3A9PT0id2lkdGgifHx0aGlzLnBy b3A9PT0iaGVpZ2h0Ij8xOjAsdGhpcy5jdXIoKSksZih0aGlzLmVsZW0pLnNob3co KX0saGlkZTpmdW5jdGlvbigpe3RoaXMub3B0aW9ucy5vcmlnW3RoaXMucHJvcF09 Zi5fZGF0YSh0aGlzLmVsZW0sImZ4c2hvdyIrdGhpcy5wcm9wKXx8Zi5zdHlsZSh0 aGlzLmVsZW0sdGhpcy5wcm9wKSx0aGlzLm9wdGlvbnMuaGlkZT0hMCx0aGlzLmN1 c3RvbSh0aGlzLmN1cigpLDApfSxzdGVwOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxl PWNxfHxjcigpLGc9ITAsaD10aGlzLmVsZW0saT10aGlzLm9wdGlvbnM7aWYoYXx8 ZT49aS5kdXJhdGlvbit0aGlzLnN0YXJ0VGltZSl7dGhpcy5ub3c9dGhpcy5lbmQs dGhpcy5wb3M9dGhpcy5zdGF0ZT0xLHRoaXMudXBkYXRlKCksaS5hbmltYXRlZFBy b3BlcnRpZXNbdGhpcy5wcm9wXT0hMDtmb3IoYiBpbiBpLmFuaW1hdGVkUHJvcGVy dGllcylpLmFuaW1hdGVkUHJvcGVydGllc1tiXSE9PSEwJiYoZz0hMSk7aWYoZyl7 aS5vdmVyZmxvdyE9bnVsbCYmIWYuc3VwcG9ydC5zaHJpbmtXcmFwQmxvY2tzJiZm LmVhY2goWyIiLCJYIiwiWSJdLGZ1bmN0aW9uKGEsYil7aC5zdHlsZVsib3ZlcmZs b3ciK2JdPWkub3ZlcmZsb3dbYV19KSxpLmhpZGUmJmYoaCkuaGlkZSgpO2lmKGku aGlkZXx8aS5zaG93KWZvcihiIGluIGkuYW5pbWF0ZWRQcm9wZXJ0aWVzKWYuc3R5 bGUoaCxiLGkub3JpZ1tiXSksZi5yZW1vdmVEYXRhKGgsImZ4c2hvdyIrYiwhMCks Zi5yZW1vdmVEYXRhKGgsInRvZ2dsZSIrYiwhMCk7ZD1pLmNvbXBsZXRlLGQmJihp LmNvbXBsZXRlPSExLGQuY2FsbChoKSl9cmV0dXJuITF9aS5kdXJhdGlvbj09SW5m aW5pdHk/dGhpcy5ub3c9ZTooYz1lLXRoaXMuc3RhcnRUaW1lLHRoaXMuc3RhdGU9 Yy9pLmR1cmF0aW9uLHRoaXMucG9zPWYuZWFzaW5nW2kuYW5pbWF0ZWRQcm9wZXJ0 aWVzW3RoaXMucHJvcF1dKHRoaXMuc3RhdGUsYywwLDEsaS5kdXJhdGlvbiksdGhp cy5ub3c9dGhpcy5zdGFydCsodGhpcy5lbmQtdGhpcy5zdGFydCkqdGhpcy5wb3Mp LHRoaXMudXBkYXRlKCk7cmV0dXJuITB9fSxmLmV4dGVuZChmLmZ4LHt0aWNrOmZ1 bmN0aW9uKCl7dmFyIGEsYj1mLnRpbWVycyxjPTA7Zm9yKDtjPGIubGVuZ3RoO2Mr KylhPWJbY10sIWEoKSYmYltjXT09PWEmJmIuc3BsaWNlKGMtLSwxKTtiLmxlbmd0 aHx8Zi5meC5zdG9wKCl9LGludGVydmFsOjEzLHN0b3A6ZnVuY3Rpb24oKXtjbGVh ckludGVydmFsKGNvKSxjbz1udWxsfSxzcGVlZHM6e3Nsb3c6NjAwLGZhc3Q6MjAw LF9kZWZhdWx0OjQwMH0sc3RlcDp7b3BhY2l0eTpmdW5jdGlvbihhKXtmLnN0eWxl KGEuZWxlbSwib3BhY2l0eSIsYS5ub3cpfSxfZGVmYXVsdDpmdW5jdGlvbihhKXth LmVsZW0uc3R5bGUmJmEuZWxlbS5zdHlsZVthLnByb3BdIT1udWxsP2EuZWxlbS5z dHlsZVthLnByb3BdPWEubm93K2EudW5pdDphLmVsZW1bYS5wcm9wXT1hLm5vd319 fSksZi5lYWNoKGNwLmNvbmNhdC5hcHBseShbXSxjcCksZnVuY3Rpb24oYSxiKXti LmluZGV4T2YoIm1hcmdpbiIpJiYoZi5meC5zdGVwW2JdPWZ1bmN0aW9uKGEpe2Yu c3R5bGUoYS5lbGVtLGIsTWF0aC5tYXgoMCxhLm5vdykrYS51bml0KX0pfSksZi5l eHByJiZmLmV4cHIuZmlsdGVycyYmKGYuZXhwci5maWx0ZXJzLmFuaW1hdGVkPWZ1 bmN0aW9uKGEpe3JldHVybiBmLmdyZXAoZi50aW1lcnMsZnVuY3Rpb24oYil7cmV0 dXJuIGE9PT1iLmVsZW19KS5sZW5ndGh9KTt2YXIgY3YsY3c9L150KD86YWJsZXxk fGgpJC9pLGN4PS9eKD86Ym9keXxodG1sKSQvaTsiZ2V0Qm91bmRpbmdDbGllbnRS ZWN0ImluIGMuZG9jdW1lbnRFbGVtZW50P2N2PWZ1bmN0aW9uKGEsYixjLGQpe3Ry eXtkPWEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9Y2F0Y2goZSl7fWlmKCFkfHwh Zi5jb250YWlucyhjLGEpKXJldHVybiBkP3t0b3A6ZC50b3AsbGVmdDpkLmxlZnR9 Ont0b3A6MCxsZWZ0OjB9O3ZhciBnPWIuYm9keSxoPWN5KGIpLGk9Yy5jbGllbnRU b3B8fGcuY2xpZW50VG9wfHwwLGo9Yy5jbGllbnRMZWZ0fHxnLmNsaWVudExlZnR8 fDAsaz1oLnBhZ2VZT2Zmc2V0fHxmLnN1cHBvcnQuYm94TW9kZWwmJmMuc2Nyb2xs VG9wfHxnLnNjcm9sbFRvcCxsPWgucGFnZVhPZmZzZXR8fGYuc3VwcG9ydC5ib3hN

b2RlbCYmYy5zY3JvbGxMZWZ0fHxnLnNjcm9sbExlZnQsbT1kLnRvcCtrLWksbj1k LmxlZnQrbC1qO3JldHVybnt0b3A6bSxsZWZ0Om59fTpjdj1mdW5jdGlvbihhLGIs Yyl7dmFyIGQsZT1hLm9mZnNldFBhcmVudCxnPWEsaD1iLmJvZHksaT1iLmRlZmF1 bHRWaWV3LGo9aT9pLmdldENvbXB1dGVkU3R5bGUoYSxudWxsKTphLmN1cnJlbnRT dHlsZSxrPWEub2Zmc2V0VG9wLGw9YS5vZmZzZXRMZWZ0O3doaWxlKChhPWEucGFy ZW50Tm9kZSkmJmEhPT1oJiZhIT09Yyl7aWYoZi5zdXBwb3J0LmZpeGVkUG9zaXRp b24mJmoucG9zaXRpb249PT0iZml4ZWQiKWJyZWFrO2Q9aT9pLmdldENvbXB1dGVk U3R5bGUoYSxudWxsKTphLmN1cnJlbnRTdHlsZSxrLT1hLnNjcm9sbFRvcCxsLT1h LnNjcm9sbExlZnQsYT09PWUmJihrKz1hLm9mZnNldFRvcCxsKz1hLm9mZnNldExl ZnQsZi5zdXBwb3J0LmRvZXNOb3RBZGRCb3JkZXImJighZi5zdXBwb3J0LmRvZXNB ZGRCb3JkZXJGb3JUYWJsZUFuZENlbGxzfHwhY3cudGVzdChhLm5vZGVOYW1lKSkm JihrKz1wYXJzZUZsb2F0KGQuYm9yZGVyVG9wV2lkdGgpfHwwLGwrPXBhcnNlRmxv YXQoZC5ib3JkZXJMZWZ0V2lkdGgpfHwwKSxnPWUsZT1hLm9mZnNldFBhcmVudCks Zi5zdXBwb3J0LnN1YnRyYWN0c0JvcmRlckZvck92ZXJmbG93Tm90VmlzaWJsZSYm ZC5vdmVyZmxvdyE9PSJ2aXNpYmxlIiYmKGsrPXBhcnNlRmxvYXQoZC5ib3JkZXJU b3BXaWR0aCl8fDAsbCs9cGFyc2VGbG9hdChkLmJvcmRlckxlZnRXaWR0aCl8fDAp LGo9ZH1pZihqLnBvc2l0aW9uPT09InJlbGF0aXZlInx8ai5wb3NpdGlvbj09PSJz dGF0aWMiKWsrPWgub2Zmc2V0VG9wLGwrPWgub2Zmc2V0TGVmdDtmLnN1cHBvcnQu Zml4ZWRQb3NpdGlvbiYmai5wb3NpdGlvbj09PSJmaXhlZCImJihrKz1NYXRoLm1h eChjLnNjcm9sbFRvcCxoLnNjcm9sbFRvcCksbCs9TWF0aC5tYXgoYy5zY3JvbGxM ZWZ0LGguc2Nyb2xsTGVmdCkpO3JldHVybnt0b3A6ayxsZWZ0Omx9fSxmLmZuLm9m ZnNldD1mdW5jdGlvbihhKXtpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiBhPT09 Yj90aGlzOnRoaXMuZWFjaChmdW5jdGlvbihiKXtmLm9mZnNldC5zZXRPZmZzZXQo dGhpcyxhLGIpfSk7dmFyIGM9dGhpc1swXSxkPWMmJmMub3duZXJEb2N1bWVudDtp ZighZClyZXR1cm4gbnVsbDtpZihjPT09ZC5ib2R5KXJldHVybiBmLm9mZnNldC5i b2R5T2Zmc2V0KGMpO3JldHVybiBjdihjLGQsZC5kb2N1bWVudEVsZW1lbnQpfSxm Lm9mZnNldD17Ym9keU9mZnNldDpmdW5jdGlvbihhKXt2YXIgYj1hLm9mZnNldFRv cCxjPWEub2Zmc2V0TGVmdDtmLnN1cHBvcnQuZG9lc05vdEluY2x1ZGVNYXJnaW5J bkJvZHlPZmZzZXQmJihiKz1wYXJzZUZsb2F0KGYuY3NzKGEsIm1hcmdpblRvcCIp KXx8MCxjKz1wYXJzZUZsb2F0KGYuY3NzKGEsIm1hcmdpbkxlZnQiKSl8fDApO3Jl dHVybnt0b3A6YixsZWZ0OmN9fSxzZXRPZmZzZXQ6ZnVuY3Rpb24oYSxiLGMpe3Zh ciBkPWYuY3NzKGEsInBvc2l0aW9uIik7ZD09PSJzdGF0aWMiJiYoYS5zdHlsZS5w b3NpdGlvbj0icmVsYXRpdmUiKTt2YXIgZT1mKGEpLGc9ZS5vZmZzZXQoKSxoPWYu Y3NzKGEsInRvcCIpLGk9Zi5jc3MoYSwibGVmdCIpLGo9KGQ9PT0iYWJzb2x1dGUi fHxkPT09ImZpeGVkIikmJmYuaW5BcnJheSgiYXV0byIsW2gsaV0pPi0xLGs9e30s bD17fSxtLG47aj8obD1lLnBvc2l0aW9uKCksbT1sLnRvcCxuPWwubGVmdCk6KG09 cGFyc2VGbG9hdChoKXx8MCxuPXBhcnNlRmxvYXQoaSl8fDApLGYuaXNGdW5jdGlv bihiKSYmKGI9Yi5jYWxsKGEsYyxnKSksYi50b3AhPW51bGwmJihrLnRvcD1iLnRv cC1nLnRvcCttKSxiLmxlZnQhPW51bGwmJihrLmxlZnQ9Yi5sZWZ0LWcubGVmdCtu KSwidXNpbmciaW4gYj9iLnVzaW5nLmNhbGwoYSxrKTplLmNzcyhrKX19LGYuZm4u ZXh0ZW5kKHtwb3NpdGlvbjpmdW5jdGlvbigpe2lmKCF0aGlzWzBdKXJldHVybiBu dWxsO3ZhciBhPXRoaXNbMF0sYj10aGlzLm9mZnNldFBhcmVudCgpLGM9dGhpcy5v ZmZzZXQoKSxkPWN4LnRlc3QoYlswXS5ub2RlTmFtZSk/e3RvcDowLGxlZnQ6MH06 Yi5vZmZzZXQoKTtjLnRvcC09cGFyc2VGbG9hdChmLmNzcyhhLCJtYXJnaW5Ub3Ai KSl8fDAsYy5sZWZ0LT1wYXJzZUZsb2F0KGYuY3NzKGEsIm1hcmdpbkxlZnQiKSl8 fDAsZC50b3ArPXBhcnNlRmxvYXQoZi5jc3MoYlswXSwiYm9yZGVyVG9wV2lkdGgi KSl8fDAsZC5sZWZ0Kz1wYXJzZUZsb2F0KGYuY3NzKGJbMF0sImJvcmRlckxlZnRX aWR0aCIpKXx8MDtyZXR1cm57dG9wOmMudG9wLWQudG9wLGxlZnQ6Yy5sZWZ0LWQu bGVmdH19LG9mZnNldFBhcmVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChm dW5jdGlvbigpe3ZhciBhPXRoaXMub2Zmc2V0UGFyZW50fHxjLmJvZHk7d2hpbGUo YSYmIWN4LnRlc3QoYS5ub2RlTmFtZSkmJmYuY3NzKGEsInBvc2l0aW9uIik9PT0i c3RhdGljIilhPWEub2Zmc2V0UGFyZW50O3JldHVybiBhfSl9fSksZi5lYWNoKHtz Y3JvbGxMZWZ0OiJwYWdlWE9mZnNldCIsc2Nyb2xsVG9wOiJwYWdlWU9mZnNldCJ9 LGZ1bmN0aW9uKGEsYyl7dmFyIGQ9L1kvLnRlc3QoYyk7Zi5mblthXT1mdW5jdGlv bihlKXtyZXR1cm4gZi5hY2Nlc3ModGhpcyxmdW5jdGlvbihhLGUsZyl7dmFyIGg9 Y3koYSk7aWYoZz09PWIpcmV0dXJuIGg/YyBpbiBoP2hbY106Zi5zdXBwb3J0LmJv eE1vZGVsJiZoLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtlXXx8aC5kb2N1bWVu dC5ib2R5W2VdOmFbZV07aD9oLnNjcm9sbFRvKGQ/ZihoKS5zY3JvbGxMZWZ0KCk6 ZyxkP2c6ZihoKS5zY3JvbGxUb3AoKSk6YVtlXT1nfSxhLGUsYXJndW1lbnRzLmxl bmd0aCxudWxsKX19KSxmLmVhY2goe0hlaWdodDoiaGVpZ2h0IixXaWR0aDoid2lk

dGgifSxmdW5jdGlvbihhLGMpe3ZhciBkPSJjbGllbnQiK2EsZT0ic2Nyb2xsIith LGc9Im9mZnNldCIrYTtmLmZuWyJpbm5lciIrYV09ZnVuY3Rpb24oKXt2YXIgYT10 aGlzWzBdO3JldHVybiBhP2Euc3R5bGU/cGFyc2VGbG9hdChmLmNzcyhhLGMsInBh ZGRpbmciKSk6dGhpc1tjXSgpOm51bGx9LGYuZm5bIm91dGVyIithXT1mdW5jdGlv bihhKXt2YXIgYj10aGlzWzBdO3JldHVybiBiP2Iuc3R5bGU/cGFyc2VGbG9hdChm LmNzcyhiLGMsYT8ibWFyZ2luIjoiYm9yZGVyIikpOnRoaXNbY10oKTpudWxsfSxm LmZuW2NdPWZ1bmN0aW9uKGEpe3JldHVybiBmLmFjY2Vzcyh0aGlzLGZ1bmN0aW9u KGEsYyxoKXt2YXIgaSxqLGssbDtpZihmLmlzV2luZG93KGEpKXtpPWEuZG9jdW1l bnQsaj1pLmRvY3VtZW50RWxlbWVudFtkXTtyZXR1cm4gZi5zdXBwb3J0LmJveE1v ZGVsJiZqfHxpLmJvZHkmJmkuYm9keVtkXXx8an1pZihhLm5vZGVUeXBlPT09OSl7 aT1hLmRvY3VtZW50RWxlbWVudDtpZihpW2RdPj1pW2VdKXJldHVybiBpW2RdO3Jl dHVybiBNYXRoLm1heChhLmJvZHlbZV0saVtlXSxhLmJvZHlbZ10saVtnXSl9aWYo aD09PWIpe2s9Zi5jc3MoYSxjKSxsPXBhcnNlRmxvYXQoayk7cmV0dXJuIGYuaXNO dW1lcmljKGwpP2w6a31mKGEpLmNzcyhjLGgpfSxjLGEsYXJndW1lbnRzLmxlbmd0 aCxudWxsKX19KSxhLmpRdWVyeT1hLiQ9Zix0eXBlb2YgZGVmaW5lPT0iZnVuY3Rp b24iJiZkZWZpbmUuYW1kJiZkZWZpbmUuYW1kLmpRdWVyeSYmZGVmaW5lKCJqcXVl cnkiLFtdLGZ1bmN0aW9uKCl7cmV0dXJuIGZ9KX0pKHdpbmRvdyk7CmpRdWVyeS5u b0NvbmZsaWN0KCk7CjsKalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigk KSB7CgkkKCcuYnVtcC12aWV3JykuY2xpY2soIGZ1bmN0aW9uKCBldmVudCApIHsK CQl2YXIgJHRoaXMgPSAkKHRoaXMpLCBzdGF0YXJnID0gIndyZWY9Iiwgc3RhdHZh bCA9ICR0aGlzLmRhdGEoICdidW1wVmlldycgKSwgaHJlZiA9ICR0aGlzLmF0dHIo ICdocmVmJyApOwoJCSR0aGlzLmF0dHIoICdocmVmJywgaHJlZiArICggaHJlZi5p bmRleE9mKCAnPycgKSAhPSAtMSA/ICImIiA6ICI/IiApICsgc3RhdGFyZyArIHN0 YXR2YWwgKTsKCX0pOwp9KTs7Cg== ------------O3s3W5V3w14LQe7kOhsc0M Content-Disposition: inline; filename=favicon.ico Content-Type: image/x-icon; name=favicon.ico Content-Location: http://s2.wp.com/i/favicon.ico?m=1311976024g Content-Transfer-Encoding: Base64 AAABAAQAMDAAAAEAIABoJgAARgAAACAgAAABACAAKBEAAK4mAAAYGAAAAQAgALgJ AADWNwAAEBAAAAEAIABoBAAAjkEAACgAAAAwAAAAYAAAAAEAIAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAACsgiUArIIlAKyCJQCsgiUArIIlAKyCJQCsgiUArIIlAKyC JQCsgiUArIIlAKyCJQCsgiUArIIlAKyCJQCsgiUArIIlAKyCJUCsgiWArIIlv6yC Jd+sgiX/rIIl/6yCJf+sgiX/rIIl/6yCJf+sgiXPrIIlr6yCJYCsgiUwrIIlAKyC JQCsgiUArIIlAKyCJQCsgiUArIIlAKyCJQCsgiUArIIlAKyCJQCsgiUArIIlAKyC JQCsgiUArIIlAKyCJQCsgiUArIIlAKyCJQCsgiUArIIlAKyCJQCsgiUArIIlAKyC JQCsgiUArIIlAKyCJQCsgiUArIIlAKyCJTCsgiWfrIIl76yCJf+sgiX/rIIl/8Cg Wv3GqWn/1cCS/9XAkv/VwJL/1cCS/8apaf/AoFr9rIIl/6yCJf+sgiX/rIIl76yC JY+sgiUgrIIlAKyCJQCsgiUArIIlAKyCJQCsgiUArIIlAKyCJQCsgiUArIIlAKyC JQCsgiUArIIlAKyCJQCrgSQAq4EkAKuBJACrgSQAq4EkAKuBJACrgSQAq4EkAKuB JACrgSQAq4EkAKuBJACrgSRAq4Ekv6uBJP+rgST/uphM/NrIn//v59b///////// /////////////////////////////////////////////+rfyP/VwJH/tZA+/auB JP+rgST/q4Ekv6uBJDCrgSQAq4EkAKuBJACrgSQAq4EkAKuBJACrgSQAq4EkAKuB JACrgSQAq4EkAKuBJACrgSQAq4EkAKuBJACrgSQAq4EkAKuBJACrgSQAq4EkAKuB JACrgSQAq4EkEKuBJK+rgST/q4Ek/8uwdv/v59b//////////////////////+/n 1v/q38j/2sif/9XAkf/VwJH/2sif/+rfyP/v59b//////////////////////+rf yP/LsHb/q4Ek/6uBJP+rgSSfq4EkEKuBJACrgSQAq4EkAKuBJACrgSQAq4EkAKuB JACrgSQAq4EkAKuBJACrgSQAq4EkAKuBJACrgSQAq4EkAKuBJACrgSQAq4EkAKuB JACrgSRQq4El8KuBJP/AoFr+9O/k///////////////////////LsHb/q4Ek/6uB JP+rgST/q4Ek/6uBJP+rgST/q4Ek/6uBJP+rgST/sIky/8Wpaf/l17r///////// ////////7+fW/8CgWv6rgST/q4El8KuBJECrgSQAq4EkAKuBJACrgSQAq4EkAKuB JACrgSQAq4EkAKuBJACrgSQAq4EkAKuBJACrgSQAq4EkAKuBJACrgSQAq4EkAKuB JICrgST/sIgw/eXXuv////////////Tv5P/07+T////////////LsHb/q4Ek/6uB JP+rgST/q4Ek/6uBJP+rgST/q4Ek/6uBJP+rgST/q4Ek/6uBJP/LsHb///////// ///////////////////ayJ//sIgw/auBJP+rgSRwq4EkAKuBJACrgSQAq4EkAKuB JACrgSQAq4EkAKuBJACqgSQAqoEkAKqBJACqgSQAqoEkAKqBJACqgSQAqoEkn6qB JP+5mEz99O/k///////69/H/yrB2/6+JMv/69/H////////////k17r/qoEk/6qB JP+qgST/qoEk/6qBJP+qgST/qoEk/6qBJP+qgST/qoEk/6qBJP/v59b/////////

////////1MCR//r38f//////7+fW/7mYTP2qgST/qoEkn6qBJACqgSQAqoEkAKqB JACqgSQAqoEkAKqBJACqgCQAqoAkAKqAJACqgCQAqoAkAKqAJACqgCSfqoAk/7qX TP769/H//////+rfyP+viDL/qoAk/8qwdv//////////////////////tZA//6qA JP+qgCT/qoAk/6qAJP+qgCT/qoAk/6qAJP+qgCT/qoAk/7WQP/////////////// ////////yrB2/7WQP//v59b///////r38f+6l0z+qoAk/6qAJJ+qgCQAqoAkAKqA JACqgCQAqoAkAKqAJACqgCQAqoAkAKqAJACqgCQAqoAkAKqAJICqgCT/uphN//r3 8f//////38+t/6qAJP+qgCT/qoAk/+TXuv//////////////////////z7iE/6qA JP+qgCT/qoAk/6qAJP+qgCT/qoAk/6qAJP+qgCT/qoAk/9S/kf////////////// ////////5Ne6/6qAJP+qgCT/38+t///////69/H/uphN/6qAJP+qgCRgqoAkAKqA JACqgCQAqoAkAKqAJACpgCQAqYAkAKmAJACpgCQAqYAkUKmAJP+5l0z++vfx//// ///fz63/qYAk/6mAJP+pgCT/tJA/////////////////////////////7+fW/6mA JP+pgCT/qYAk/6mAJP+pgCT/qYAk/6mAJP+pgCT/qYAk//Tv5P////////////// /////////////66IMv+pgCT/qYAk/9/Prf//////+vfx/7OPP/6pgCT/qYAkQKmA JACpgCQAqYAkAKmAJACpgCQAqYAkAKmAJACpgCQQqYAl8K6HMP307+T//////9/P rf+pgCT/qYAk/6mAJP+pgCT/z7iE/////////////////////////////////7SQ P/+pgCT/qYAk/6mAJP+pgCT/qYAk/6mAJP+pgCT/uZhN//////////////////// /////////////8mwdv+pgCT/qYAk/6mAJP/fz63//////+/n1v+uhzD9qoEm4amA JBCpgCQAqYAkAKmAJACpfyQAqX8kAKl/JACpfySvqX8k/+TXuv//////6d/I/6l/ JP+pfyT/qX8k/6l/JP+pfyT/7+fW///////////////////////07+T/+vfx/8+3 hP+pfyT/qX8k/6l/JP+pfyT/qX8k/6l/JP+pfyT/38+t//////////////////// ///69/H/9O/k/+TXuv+pfyT/qX8k/6l/JP+pfyT/7+fW///////Zx5//qX8k/6l/ JI+pfyQAqX8kAKl/JACofyQAqH8kAKh/JECofyT/vp9b///////69/H/rYcy/6h/ JP+ofyT/qH8k/6h/JP+4l03////////////////////////////Ot4T/3s+t/+/n 1v+ofyT/qH8k/6h/JP+ofyT/qH8k/6h/JP+ofyT/+vfx//////////////////// ///ez63/07+R//////+zjz//qH8k/6h/JP+ofyT/s48///r38f//////vp9b/6h/ JP+ofyQgqH8kAKh/JACofyQAqH8kAKh/JL+ofyT/9O/k///////Jr3b/qH8k/6h/ JP+ofyT/qH8k/6h/JP/Zx5////////////////////////////+zjz//w6dp//// //+zjz//qH8k/6h/JP+ofyT/qH8k/6h/JP/Jr3b///////////////////////// ///Dp2n/uJdN///////Ot4T/qH8k/6h/JP+ofyT/qH8k/9O/kf//////6d/I/6h/ JP+ofySfqH8kAKh/JACnfiQAp34kMKd+JP/Ir3b///////Tv5P+nfiT/p34k/6d+ JP+nfiT/p34k/6d+JP/59/H//////////////////////+7n1v+nfiT/p34k//n3 8f/Ot4T/p34k/6d+JP+nfiT/p34k/6d+JP/j17r///////////////////////n3 8f+nfiT/p34k//Tv5P/u59b/p34k/6d+JP+nfiT/p34k/6d+JP/07+T//////72e W/+nfiT/p34kIKd+JACnfiQAp34kn6d+JP/u59b//////8ivdv+nfiT/p34k/6d+ JP+nfiT/p34k/8Omaf///////////////////////////863hP+nfiT/p34k/97O rf/07+T/p34k/6d+JP+nfiT/p34k/62GMv///////////////////////////97O rf+nfiT/p34k/97Orf//////so4//6d+JP+nfiT/p34k/6d+JP/Ir3b//////+PX uv+nfiT/p34kgKd+JACnfiMAp38k8LeWTP7/////+ffx/6d+I/+nfiP/p34j/6d+ I/+nfiP/p34j/97OrP///////////////////////////62GMf+nfiP/p34j/8Om aP//////uJZM/6d+I/+nfiP/p34j/863hP///////////////////////////8Om aP+nfiP/p34j/8OmaP//////zreE/6d+I/+nfiP/p34j/6d+I/+thjH/+ffx//// //+yjj7+qH8l4ad+IwCmfSNApn0j/9jGnv//////2Mae/6Z9I/+mfSP/pn0j/6Z9 I/+mfSP/rIUx////////////////////////////49a6/6Z9I/+mfSP/pn0j/6Z9 I//59/H/2Mae/6Z9I/+mfSP/pn0j/+7n1v//////////////////////+ffx/6Z9 I/+mfSP/pn0j/6Z9I///////7ufW/6Z9I/+mfSP/pn0j/6Z9I/+mfSP/3c6s//// ///NtoT/pn0j/6Z9IzCmfSOApn0j/+7n1v//////vJ5a/6Z9I/+mfSP/pn0j/6Z9 I/+mfSP/yK52////////////////////////////yK52/6Z9I/+mfSP/pn0j/6Z9 I//dzqz/9O/j/6Z9I/+mfSP/sY0/////////////////////////////3c6s/6Z9 I/+mfSP/pn0j/6Z9I//j1rr//////7GNP/+mfSP/pn0j/6Z9I/+mfSP/yK52//// ///j1rr/pn0j/6Z9I3ClfSO/pX0j////////////pX0j/6V9I/+lfSP/pX0j/6V9 I/+lfSP/6N7I////////////////////////////q4Ux/6V9I/+lfSP/pX0j/6V9 I//Bpmj//////7aVTP+lfSP/18ae////////////////////////////waZo/6V9 I/+lfSP/pX0j/6V9I//Hrnb//////9K+kf+lfSP/pX0j/6V9I/+lfSP/sI0///// ///59/H/pX0j/6V9I5+lfCPfu5xY/f/////u5tb/pXwj/6V8I/+lfCP/pXwj/6V8 I/+wjD/////////////////////////////j1rr/pXwj/6V8I/+lfCP/pXwj/6V8 I/+lfCP/+ffx/9fFnv+lfCP/9O/j///////////////////////59/H/pXwj/6V8 I/+lfCP/pXwj/6V8I/+wjD////////Tv4/+lfCP/pXwj/6V8I/+lfCP/pXwj//n3 8f//////sIw+/qV9JMCkfCP/waVo///////o3sj/pHwj/6R8I/+kfCP/pHwj/6R8 I//MtoT////////////////////////////GrXb/pHwj/6R8I/+kfCP/pHwj/6R8 I/+kfCP/3c6s//Tv4/+7nVr////////////////////////////dzqz/pHwj/6R8

I/+kfCP/pHwj/6R8I/+kfCP/7ubW//////+1lUz/pHwj/6R8I/+kfCP/pHwj/+je yP//////u51a/6V9JfGkfCP/0b2R///////RvZH/pHwj/6R8I/+kfCP/pHwj/6R8 I//07+P///////////////////////////+qhDH/pHwj/6R8I/+kfCP/pHwj/6R8 I/+kfCP/waVo///////07+P////////////////////////////BpWj/pHwj/6R8 I/+kfCP/pHwj/6R8I/+kfCP/18We///////XxZ7/pHwj/6R8I/+kfCP/pHwj/+je yP//////xq12/6R8I/+jeyP/0b2R///////RvZH/o3sj/6N7I/+jeyP/o3sj/7SU TP///////////////////////////+LWuv+jeyP/o3sj/6N7I/+jeyP/o3sj/6N7 I/+jeyP/o3sj//n38f////////////////////////////n38f+jeyP/o3sj/6N7 I/+jeyP/o3sj/6N7I/+jeyP/wKRo///////z7uP/o3sj/6N7I/+jeyP/o3sj/+LW uv//////0b2R/6N7I/+jeyP/0b2R///////RvZH/o3sj/6N7I/+jeyP/o3sj/9fF nv///////////////////////////8atdv+jeyP/o3sj/6N7I/+jeyP/o3sj/6N7 I/+jeyP/o3sj/9zNrP///////////////////////////9zNrP+jeyP/o3sj/6N7 I/+jeyP/o3sj/6N7I/+jeyP/upxa////////////tJRM/6N7I/+jeyP/o3sj/9zN rP//////0b2R/6N7I/+jeyP/0b2R///////RvZH/o3sj/6N7I/+jeyP/o3sj//n3 8f///////////////////////////6mDMf+jeyP/o3sj/6N7I/+jeyP/o3sj/6N7 I/+jeyP/o3sj/+LWuv///////////////////////////8CkaP+jeyP/o3sj/6N7 I/+jeyP/o3sj/6N7I/+jeyP/upxa////////////3M2s/6N7I/+jeyP/o3sj/+je yP//////xq12/6N7I/+ieiP/v6Ro///////o3sj/onoj/6J6I/+ieiP/v6Ro//// ////////////////////////4tW6/6J6I/+ieiP/onoj/6J6I/+ieiP/onoj/6J6 I/+ieiP/qIIx////////////////////////////+ffx/6J6I/+ieiP/onoj/6J6 I/+ieiP/onoj/6J6I/+ieiP/uZta////////////+ffx/6J6I/+ieiP/onoj/+je yP//////uZta/6N7JfGieiLfuZpY/f/////t5tX/onoi/6J6Iv+ieiL/3M2s//// ////////////////////////xax1/6J6Iv+ieiL/onoi/6J6Iv+ieiL/onoi/6J6 Iv+ieiL/y7SD////////////////////////////3M2s/6J6Iv+ieiL/onoi/6J6 Iv+ieiL/onoi/6J6Iv+ieiL/0LyQ/////////////////7STTP+ieiL/onoi//n3 8f//////rYo9/qJ7I8CheiK/oXoi////////////oXoi/6F6Iv+ngjD///////// ////////////////////////p4Iw/6F6Iv+heiL/oXoi/6F6Iv+heiL/oXoi/6F6 Iv+heiL/7ebV////////////////////////////vqRn/6F6Iv+heiL/oXoi/6F6 Iv+heiL/oXoi/6F6Iv+heiL/7ebV/////////////////8q0g/+heiL/p4Iw//// ////////oXoi/6F6Ip+heSKAoXki/+3m1f//////uZtZ/6F5Iv/Eq3X///////// ///////////////////i1br/oXki/6F5Iv+heSL/oXki/6F5Iv+heSL/oXki/6F5 Iv+tij7////////////////////////////59/H/oXki/6F5Iv+heSL/oXki/6F5 Iv+heSL/oXki/6F5Iv+5m1n//////////////////////9zNrP+heSL/vqNn//// ///n3cj/oXki/6F5InCgeSJAoHki/9XEnv//////1cSe/6B5Iv/n3cj///////// ///////////////////Eq3X/oHki/6B5Iv+geSL/oHki/6B5Iv+geSL/oHki/6B5 Iv/VxJ7////////////////////////////bzaz/oHki/6B5Iv+geSL/oHki/6B5 Iv+geSL/oHki/6B5Iv/n3cj//////////////////////+fdyP+geSL/282s//// ///KtIP/oHki/6B5IjCgeSIAoHoj8LKSS/7/////+ffx/6yKPv////////////// //////////////////+mgTD/oHki/6B5Iv+geSL/oHki/6B5Iv+geSL/oHki/6B5 Iv/z7uP///////////////////////////++o2f/oHki/6B5Iv+geSL/oHki/6B5 Iv+geSL/oHki/76jZ////////////////////////////+fdyP+mgTD/+ffx//// //+siT3+oXok4aB5IgCgeCIAoHgin6B4Iv/t5tX//////+3m1f////////////// /////////////+HVuv+geCL/oHgi/6B4Iv+geCL/oHgi/6B4Iv+geCL/oHgi/7ia Wf////////////////////////////n38f+geCL/oHgi/6B4Iv+geCL/oHgi/6B4 Iv+geCL/poAw//Pu4////////////////////////////+fdyP/Eq3X//////+fd yP+geCL/oHgij6B4IgCfeCIAn3giMJ94Iv/Dq3X///////////////////////// /////////////9vMrP+3mln/t5pZ/594Iv+feCL/n3gi/594Iv+3mln/t5pZ/+HV uv///////////////////////////+3m1f+3mln/t5pZ/6WAMP+feCL/n3gi/594 Iv+feCL/ybOD/////////////////////////////////+fdyP/z7uP//////7ea Wf+feCL/n3giIJ94IgCfeCIAn3giAJ94Ir+feCL/8+7j//////////////////// /////////////////////////////8mzg/+feCL/n3gi/8mzg/////////////// /////////////////////////////////////////////9vMrP+feCL/n3gi/594 Iv+feCL/593I////////////////////////////////////////////593I/594 Iv+feCKfn3giAJ94IgCeeCIAnngiAJ54IkCeeCL/tppZ////////////pIAw/554 Iv+eeCL/nngi/7CRTP+2mln/tppZ/6SAMP+eeCL/nngi/6SAMP+2mln/tppZ/6qJ Pv+eeCL/nngi/554Iv+eeCL/nngi/6qJPv+2mln/tppZ/6qJPv+eeCL/nngi/554 Iv+eeCL/8+7j////////////////////////////////////////////tppZ/554 Iv+eeCIgnngiAJ54IgCedyIAnnciAJ53IgCedyKvnnci/+HUuv//////593I/553 Iv+edyL/nnci/553Iv+edyL/nnci/553Iv+edyL/nnci/553Iv+edyL/nnci/553 Iv+edyL/nnci/553Iv+edyL/nnci/553Iv+edyL/nnci/553Iv+edyL/nnci/553

Iv+edyL/4dS6///////////////////////////////////////Uw57/nnci/553 Io+edyIAnnciAJ53IgCedyIAnnciAJ53IgCedyIQnngj8KN+Lv3z7uP//////9rM rP+edyL/nnci/553Iv+edyL/nnci/553Iv+edyL/nnci/553Iv+edyL/nnci/553 Iv+edyL/nnci/553Iv+edyL/nnci/553Iv+edyL/nnci/553Iv+edyL/nnci/553 Iv+edyL/sJFM//n28f///////////////////////////+3l1f+jfi79n3gk4Z53 IhCedyIAnnciAJ53IgCddyIAnXciAJ13IgCddyIAnXciUJ13Iv+vkEv++fbx//// ///CqnX/nXci/513Iv+ddyL/nXci/513Iv+ddyL/nXci/513Iv+ddyL/nXci/513 Iv+ddyL/nXci/513Iv+ddyL/nXci/513Iv+ddyL/nXci/513Iv+ddyL/nXci/513 Iv+ddyL/nXci/6+RTP/g1Lr/////////////////+fbx/6+QS/6ddyL/nXciQJ13 IgCddyIAnXciAJ13IgCddyEAnXchAJ13IQCddyEAnXchAJ13IY+ddyH/tplZ//// ////////2syr/513If+ddyH/nXch/513If+ddyH/nXch/513If+ddyH/nXch/513 If+ddyH/nXch/513If+ddyH/nXch/513If+ddyH/nXch/513If+ddyH/nXch/513 If+ddyH/nXch/513If+ddyH/2syr///////59vH/r5FL/513If+ddyFwnXchAJ13 IQCddyEAnXchAJ13IQCddiEAnXYhAJ12IQCddiEAnXYhAJ12IQCddiGfnXYh/7ug Zv759vH//////+bdx/+jfy//nXYh/512If+ddiH/nXYh/512If+ddiH/nXYh/512 If+ddiH/nXYh/512If+ddiH/nXYh/512If+ddiH/nXYh/512If+ddiH/nXYh/512 If+ddiH/nXYh/6mHPf/t5dX///////n28f+vj0r+nXYh/512IZ+ddiEAnXYhAJ12 IQCddiEAnXYhAJ12IQCcdiEAnHYhAJx2IQCcdiEAnHYhAJx2IQCcdiEAnHYhn5x2 If+uj0n88+7j///////59vH/wap1/5x2If+cdiH/nHYh/5x2If+cdiH/nHYh/5x2 If+cdiH/nHYh/5x2If+cdiH/nHYh/5x2If+cdiH/nHYh/5x2If+cdiH/nHYh/5x2 If+cdiH/x7KD//n28f//////7OXV/66PSfycdiH/nHYhn5x2IQCcdiEAnHYhAJx2 IQCcdiEAnHYhAJx2IQCcdiEAnHYhAJx2IQCcdiEAnHYhAJx2IQCcdiEAnHYhAJx2 IY+cdiH/oX4t/eDUuf///////////+zl1f/BqnX/nHYh/5x2If+cdiH/nHYh/5x2 If+cdiH/nHYh/5x2If+cdiH/nHYh/5x2If+cdiH/nHYh/5x2If+cdiH/nHYh/8Gq df/z7uP////////////Uw53/oX4t/Zx2If+cdiFwnHYhAJx2IQCcdiEAnHYhAJx2 IQCcdiEAnHYhAJx2IQCcdiEAnHYhAJx2IQCcdiEAnHYhAJx2IQCcdiEAnHYhAJx2 IQCcdiFQnHci8Jx2If+7oGb+8+7j////////////8+7j/9TDnf+1mFn/nHYh/5x2 If+cdiH/nHYh/5x2If+cdiH/nHYh/5x2If+cdiH/nHYh/7WYWf/Uw53/+fbx//// ////////8+7j/7SYWP6cdiH/nHci8Jx2IUCcdiEAnHYhAJx2IQCcdiEAnHYhAJx2 IQCcdiEAnHYhAJx2IQCcdSEAnHUhAJx1IQCcdSEAnHUhAJx1IQCcdSEAnHUhAJx1 IQCcdSEAnHUhIJx1Ia+cdSH/nHUh/8Gpdf/s5dX//////////////////////+bc x//m3Mf/zbqQ/826kP/NupD/zbqQ/+bcx//s5dX//////////////////////+zl 1f/BqXX/nHUh/5x1If+cdSGfnHUhEJx1IQCcdSEAnHUhAJx1IQCcdSEAnHUhAJx1 IQCcdSEAnHUhAJx1IQCbdSEAm3UhAJt1IQCbdSEAm3UhAJt1IQCbdSEAm3UhAJt1 IQCbdSEAm3UhAJt1IQCbdSFAm3Uhv5t1If+bdSH/rY5J/NPCnf/s5dX///////// /////////////////////////////////////////////+zl1f/Twp3/rY5J/Jt1 If+bdSH/m3Uhv5t1IUCbdSEAm3UhAJt1IQCbdSEAm3UhAJt1IQCbdSEAm3UhAJt1 IQCbdSEAm3UhAJt1IQCbdSEAm3UhAJt1IQCbdSEAm3UhAJt1IQCbdSEAm3UhAJt1 IQCbdSEAm3UhAJt1IQCbdSEAm3UhAJt1IUCbdSGfm3Uh75t1If+bdSH/oHws/LOX V/zBqXX/zbqQ/826kP/NupD/zbqQ/8Gpdf+zl1f8m3Uh/5t1If+bdSH/m3Uh75t1 IZ+bdSEwm3UhAJt1IQCbdSEAm3UhAJt1IQCbdSEAm3UhAJt1IQCbdSEAm3UhAJt1 IQCbdSEAm3UhAJt1IQCbdSEAm3UhAJt1IQCbdSEAm3UhAJt1IQCbdSEAm3UhAJt1 IQCbdSEAm3UhAJt1IQCbdSEAm3UhAJt1IQCbdSEAm3UhAJt1IUCbdSGAm3Uhv5t1 Id+bdSH/m3Uh/5t1If+bdSH/m3Uh/5t1If+bdSHfm3Uhv5t1IYCbdSFAm3UhAJt1 IQCbdSEAm3UhAJt1IQCbdSEAm3UhAJt1IQCbdSEAm3UhAJt1IQCbdSEAm3UhAJt1 IQCbdSEAm3UhAJt1IQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAoAAAAIAAAAEAAAAABACAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAA////AP///wD///8AAAAACAAAABEAAAAaAAAAIwAAACwAAAAzAAAAMxAM AzhpTxZvh2YdqZRvH9aUbx/Zm3Uh/5t1If+Ubx/ZlG8f1odmHalpTxZvEAwDOAAA

ADMAAAAzAAAALAAAACMAAAAaAAAAEQAAAAj///8A////AP///wD///8A////AP// /wD///8A////AP///wD///8A////AJt1IRibdSGZnHYj8qWDONbJtIbB8evezvbz 6+3////6////+vbz6+3x697OybSGwaWDONacdiPym3UhmZt1IRj///8A////AP// /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AJt1 IQmbdSGHnHck8L2kbMP8+/jh/////////v/59/L/7OTU/+nhz//p4c//7ebX//n3 8v///v7///////z7+OG9pGzDnHck8Jt1IYebdSEJ////AP///wD///8A////AP// /wD///8A////AP///wD///8A////AP///wCbdSEYm3Uhya2NSMv59/Le//////// ////////wqp4/6J+Lf+ogi7/rocv/6+HL/+ogS3/pH8s/6aDN//u59n///////// ///6+PTerY5KyZt1IcmbdSEY////AP///wD///8A////AP///wD///8A////AP// /wD///8Am3UhM5x3JOfHsoPC//////n38v/g1bz////////////WyKz/o4E1/6+H L/+2iyv/t4wr/7OKLf+qhTL/ooM8//n49P////////////r59f//////x7KDwpx3 JOebdSEz////AP///wD///8A////AP///wD///8A////AJt1ISScdiPs3M6wu/// ///q4c//oX0v/+7p3/////////////z7+f+khD3/rYYw/7eLK/+5jCr/tIos/6iE Mv+3nmf/////////////////0cKe/+rhz///////3M6wu5x2I+ybdSEk////AP// /wD///8A////AP///wCbdSEJm3Uh1cizhcH/////3M+y/6N+Lv+qkFb///////// /////////////7efaP+pgzL/tIks/7eLKv+why7/o4E0/9rPtv////////////// ///08en/oX8x/9zPsv//////ybWHv5t1IdWbdSEJ////AP///wD///8A////AJt1 IYSsjUfN/////+rhz/+mgCv/nX43/86+nf/////////////////29fT/29C3/6OB NP+vhy7/soks/6uFMP+lhkP//fz7/////////////Pz8//z8/P+tlFv/o34t/+rh z///////rI1HzZt1IYT///8A////AP///wCbdSEbnHck8Pr49N349fD/pX8s/6OB M/+efzr/9/bz////////////9PDm/7iumf/9/Pv/pIVA/6qEL/+thi7/pYIy/8Cr fv/////////////////Pxa//7u7t/8/An/+cfTf/pH8s//j28P/6+PTdnXck7pt1 IRv///8A////AJt1IZa+pW7B/////8KqdP+lgTH/ooAz/7Wea/////////////// ///QwqX/oYta//P09P+8p3b/o4Ay/6WCMf+efjX/6OHT////////////+/r4/5mA SP/W08v/9/Xv/51/PP+ffjT/wql0//////++pW7Bm3Uhk////wCbdSEMnHYj8vz7 +OHz7uP/pX8r/6WBMP+efjT/3NK6/////////////////6qVZP+bfTv/39zW/+DY w/+cfTb/nn40/6iOUf/////////////////k2cT/jnQ6/7Snif//////s5tn/55+ NP+kfiv/8+7j//z7+OGcdiPym3UhDJt1IVqohj3O/////8awf/+kgDH/o4Ax/6SF Rv/9/Pz////////////59/L/lHg5/519Nf++sZL//////6CESP+Yejj/ybqX//// /////////////76th/+WeTf/o4xZ//b29v/Wy6//nHw1/59+M//HsID//////6iG Pc6bdSFam3UhmdC+lrv//v7/o34r/6SAMP+gfjL/wq6E/////////////////9nO t/+ZeTT/oX4x/6yTWv/19fX/wK6G/5N5O//z8ej////////////+/f3/oIdO/518 NP+cfDb/4+Da//r59v+efz3/nn0z/6J9Kv///v7/0L6Wu5t1IZmbdSHG8evg0/j1 7/+ifSv/on4w/5t7NP/q5Nf/////////////////s6Bz/6B9Mf+mgC7/o4E2/+He 1//o49T/rJZm/////////////////+zm1/+WdzX/on8w/6F+Mf/BtZn//////7ik df+cezT/oX0s//j17//x6+DTm3Uhxpt1Ier8+/nr6+PT/6B9Lv+efDH/qZBX//// //////////////z8+v+ZfT3/o38u/6mCK/+jfy7/wLOU///////n4NH///////// ////////yryd/517Mv+lgC3/pH8u/6yVY//6+vv/3tTB/5h5Nf+dfDD/6+TT//z7 +eubdSHqm3Uh+f7+/frk2sP/nXsw/5p6M//OwaP/////////////////39XC/5p5 Mv+mgCv/q4Io/6aAK/+qklr/9fX2//////////////////////+nkFz/oH0v/6iB Kv+mgCv/n4E8//Ly8f/+/fz/nIFD/5l5M//l28X//v79+pt1IfmbdSH5/v79+uTb xP+aeTL/lno4//b07/////////////////+8q4b/nnww/6iBKf+sgif/poAr/5x8 Nf/k4tz/////////////////8u/m/5V3Nf+jfiz/qYEo/6aAK/+bejL/5N/U//// ///Arob/lXc1/+Xbxf/+/v36m3Uh+Zt1Ier8+/nr7OTU/5l4MP+zn3D///////// /////////Pz6/5t/Q/+hfS3/qoEo/6uBJ/+kfiv/mXo0//Hv6v////////////// ///VyrL/mnox/6V/Kv+qgSj/pX8r/5p5Mv/i3M///////+jj1v+VdjP/6+TT//z7 +eubdSHqm3UhxvHr4NP49e//mngu/97Ww//////////////////n4NP/l3gx/6N9 K/+pgCf/p4Ao/598Lf+slWH//////////////////////6+abP+dey7/pn8p/6iA KP+hfSz/lncz//Px6////////v79/518N//49e//8evg05t1IcabdSGZz72VvP/+ /v+jgTf//Pv7/////////////////8S0lP+beS//pH4o/6h/Jv+kfin/mnkv/9TJ sP/////////////////49vL/lHc2/6B8K/+mfyf/pX4o/516Lf+tl2T///////// ////////spZV///+/v/PvZW8m3UhmZt1IVqohj3O/////93Rtv////////////// ///+/v7/m4JJ/516Lf+kfSj/pX4n/597K/+WeDX/9/by/////////////////93V w/+XdzH/oXwq/6V+J/+hfCr/l3cx/+ni1P/////////////////bza7//////6iG Pc6bdSFam3UhDJt2IvT8+vjh/f38//////////////////Hu5/+TdTX/nHot/6J8 Kf+gfCr/mXgv/7Cbbf//////////////////////taN9/5d3Mf+feyv/oXwp/5t5 Lv+3o3X///////////////////////j28f/8+/jhnHYj8pt1IQz///8Am3Uhk72k bMP/////////////////////8O3l/8u8nP+mi0v/nXos/6uPUP/MvJv/6+fb//// //////////////7+/v/KvZ//wK6E/5t5Lf+deiz/lXYx//Ht5f////////////// /////////////72kbMObdSGT////AP///wCbdSEbnHck8Pr49N/+/v3/9fHq//r6

9//29O//9fLs/8m5k/+aeCz/0MCf//Xy7P/08ez/8u/o/+Hay//q5Nn/9PHs//Ty 6//y7uX/m3ox/5p4LP+YfDz////////////////////////////6+PTdnHck8Jt1 IRv///8A////AP///wCbdSGErI1Hzf/////q4tH/kXEq/4luMv+OcC7/l3Ur/5x5 Kv+WdSr/kHAs/45wLv+NcC7/j3Ev/45wLv+Nby//jnAu/5FyK/+ceSr/mngr/5R3 Nf/9/fz//////////////////////6yNR82bdSGE////AP///wD///8A////AJt1 IQabdSHJx7KDwP/////cz7L/mXYp/5Z2Lf+ceCn/n3on/596J/+deSj/nHkp/5x5 Kf+deSj/nHkp/5x4Kf+deSj/nnkn/596J/+deSj/lXUu/8u/pf////////////// ///HsoPAm3UhyZt1IQb///8A////AP///wD///8A////AJt1IRicdyTn3M6wu/// ///q4tH/n3wt/5h3K/+ceSj/n3om/596Jv+geyX/oHsl/6F7Jf+heyX/oHsl/6B7 Jf+geiX/n3om/5t4Kf+VdS7/m3ou/+3n2P//////3M6wu5x3JOebdSEY////AP// /wD///8A////AP///wD///8A////AJt1ITCcdyTkx7KDwv/////6+PP/v6Zy/5l2 J/+Zdir/m3go/514J/+feSX/n3kl/595Jf+eeSb/nXgn/5t4KP+Zdir/mXYn/7+m cv/59/L//////8eyg8KcdyTnm3UhMP///wD///8A////AP///wD///8A////AP// /wD///8A////AJt1IRibdSHJq4tE0Pn38t7/////9PDn/8y5jv+jgDX/mXYo/5h1 KP+Xdir/l3Yq/5d1Kf+Zdij/o4A1/8y5jv/18Of///////n38t6ri0TQm3UhyZt1 IRj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AJt1 IQmbdSGEnXck7ryja8T8+vjh/////////v/69/P/7ebX/+ri0f/q4tH/7+nc//r3 8/////7///////z6+OG8o2vEnXck7pt1IYSbdSEJ////AP///wD///8A////AP// /wD///8A////AP///wD///8A////AP///wD///8A////AP///wCbdSEYm3UhmZx2 I/KlgzjWybSGwfDq3c/28uvs//7++v/+/vr28uvs8Ordz8m0hsGlgzjWnHYj8pt1 IZmbdSEY////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// /wD///8A////AP///wD///8A////AP///wD///8Am3UhA5t1IUibdSGNm3UhyZt1 IcybdSH8m3Uh/Jt1IcybdSHJm3UhjZt1IUibdSED////AP///wD///8A////AP// /wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAGAAAADAA AAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wAAAAAHAAAAEgAA AB8AAAAsAAAAM2lWLGeaezfTnHkr9p15K/ubdSH/m3Uh/515K/uceSv2mns302lW LGcAAAAzAAAALAAAAB8AAAASAAAAB////wD///8A////AP///wD///8A////AP// /wCbdSEznHYi2p55J/HQvZXg8Ozf7/r49P78+/j//Pv4//n28f7x7eHvz7yT4J55 J/GcdiLam3UhM////wD///8A////AP///wD///8A////AP///wD///8A////AJt1 IYScdyT139K34v79+///////z72V/6+OQ/+zjTj/s4w3/7GPQ//ErXr/9/Xv//7+ /f/f07jhnHck9Zt1IYT///8A////AP///wD///8A////AP///wD///8Am3UhrqOA NOz49e/77+nc//j18f//////yLaO/6mFNf+5ji3/u48s/7CIMf+khD7/+ff1//// ///39e7/+Pbw+6OANOybdSGu////AP///wD///8A////AP///wCbdSGEo4A07Pr4 9P7Ouo//tJlf//39/f//////7ejb/6SCNv+2iyv/uowp/62HMv+6om7//v7+//// ///p4c7/zruS//v59f6jgDTsm3UhhP///wD///8A////AJt1ITOcdyT19/Tu/dG+ k/+gfzb/zb6b////////////+fj4/7GVV/+viDD/tYor/6SCNP/f1b////////// ///4+PX/qIpL/9G/lf/49vH9nHck9Zt1ITP///8A////AJt2Itfdz7Ll7ujZ/6aC MP+hgz//9vbz///////s6N//zMKu/8++mf+ngjP/q4Yw/6iKSP/7+/r//////9vS vv/l4t7/wK6E/6B/NP/u6dr/39K25Jt2Itf///8AqopESZ55KfL7+fb/rYxB/6OB Nf+6pHP////////////KvJ3/qJVk/+vo4v+kgTj/oIA3/8Wxh////////////7mm e/+0qIz/6uXY/5x9OP+si0L/+/n2/596KfGqikRJp4Y80dHAmdzq4s7/poEu/59+ Nf/g2MP///////////+slF7/mHw//+7s6f+0m2b/lXk5/+zn2v///////v39/5+E SP+fiVX/9/f3/66TWf+gfzT/6uLO/9PCndunhjzRoHws9vLs4fHFrnf/o4Ay/6eK S//8/Pv///////bz7v+dfjn/oH81/9PHrP/Owqj/p5Bc////////////5uDR/5d6 Nv+dfjf/7erm/9DBnv+cfDb/xKx3//Lu4/GhfS31nnkn/fn38v2ujET/nn01/8i3 kf///////////9TJr/+cezH/q4Qu/7KbaP/v7+z/28+2////////////yruZ/559 Mv+ifzD/zcCj//Lv6P+afTj/qYlG//n38v2eeSf9nHYi//z7+P+hgDj/mXw3/+3q 3////////////7ijdf+jfy//rYMo/6GAN//r6uT////////////+/v7/qZBZ/6aB Lf+ogS3/tZ9s//39/f+ymmj/nH47//z7+P+cdiL/nHYi//z7+P+cfjr/rZZj//// ////////+Pf0/52AP/+qgiv/rIMm/6B+MP/RyLL////////////v7OP/mXo1/6mC Kf+pgSv/pYhL//v7+//Vya7/mHw8//z7+P+cdiL/nnkn/fn38v2jhUf/1Mmv//// ////////4NjG/5l5Mf+rgif/qoIn/5t6Mf/o49f////////////Sx67/nHsw/6uB J/+lfyv/o4hL//z8/f/18uz/p4xP//r48/2eeSf9oHws9vHs4PHGsYT/+fj0//// ////////v66I/6B9Lf+qgSX/pX8q/6mPWP/8/Pv///////////+vmWf/oHwt/6mB Jv+efC7/v62E//////////7/0L6Y//Hs4vGhfS31p4Y80dG/l9718ef/////////

///7+vn/lns7/6J9Kv+mfib/mnox/8y/n/////////////Ty7v+WeDX/on4q/6V+ KP+YejT/////////////////8u3i/9C+lt6nhjzRrIxGRJ55KPL+/v7///////// ///08uz/n4NF/556LP+ffC3/pYpO//Px6v///////////+Pcy/+ZfD3/n3sr/5x5 Lv/KvJv//////////////////fz6/596KfGsjEZE////AJt2Itfi17/n/v39//v6 +P/29fH/7Oje/6GDP/+6pXb/8e7o//Ty7P/u6uT/8O3n//Lv6v/p5Nj/nHox/5R2 Mv/z7+j/////////////////4NS645t2Itf///8A////AJt1ITOcdyT0+PXv/c+/ nv+Sdzn/mXw9/516LP+dezD/m306/5V3Nf+Rci7/kXIu/5Z4N/+dfzv/nXoq/5Z2 Lv/s593/////////////////nHck9Jt1ITP///8A////AP///wCbdSGEo4A06/r4 9f7Nu5P/mXcr/515Kf+geib/oXsm/6B7Jv+heyb/oXsm/6B7Jv+heyb/oXol/5h3 LP+5pXn/8u3i//39+/6jgDTrm3UhhP///wD///8A////AP///wD///8Am3UhrqOA NOz49vD77+nb/6iKRP+bdyj/nHgn/555J/+feSb/n3km/555J/+ceCf/m3co/6eJ Rf/u59n/+PXv+6OANOybdSGu////AP///wD///8A////AP///wD///8A////AJt1 IXycdyT23M+y4vv59v/p4dH/wq5//6aIRf+hgDj/oH84/6aIRf/Crn//6eHQ//v5 9v/cz7LinHck9pt1IXz///8A////AP///wD///8A////AP///wD///8A////AP// /wCbdSEunHYi1514JvLNu5Hg8Ove7/r48/78/Pn//Pz5//n28f7w6t7vzbuR4J14 JvKcdiLXm3UhLv///wD///8A////AP///wD///8A////AP///wD///8A////AP// /wD///8A////ALGTUUGqikLIoX0u9KB9LfqbdiL/m3Yi/6B9LfqhfS70qopCyLGT UUH///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAABAAAAAgAAAAAQAgAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAWAAAAJgAAADc8LQ1leVsatY5r HuN8Xhr/fF4a/45rHuN5Wxq1PC0NZQAAADcAAAAmAAAAFgAAAAqbdSEAyqJZAP// /wCbdSFynXck7r2kbb/l28XN////7f///+3l28XNvaRtv513JO6bdSFy////AMqi WQCbdSEAm3UhAJt1IQabdSG3qIc+1u/n2Nv79/H/6dvC/76aWv+7m17/1sGa//// ///v59jbqYg/1Jt1IbebdSEGm3UhAJt1IQCbdSGTq4xGzfn06/PTs3j/+/n1//fy 6v+qiUv/nn9G/9jKsf/+/v//2sag//Xv5fOrjEbNm3UhkJt1IQCbdSEtnXgl7Pfy 69nTsnb/28GR//7+/v/18er/qpJk/4txQf/18+7//v3+/+TXw/+ylmP/9vHq2J14 JeybdSEtm3Uhk76lbr3l07T/x59Y/+3hy//+/v7/xKx//8CzmP+Vg2P//v7//+ff 0//q4tj/pIdS/82+pP++pW69m3UhkJt1Idvn38vMz7B3/8ilZP/9/fz/7+fY/6+M Tf/f18j/yMCw//7+/v/Dr4z/zsKr/825lf+vlWb/59/LzJt1IdWbdSH5+fbx7sCb Wf/ZxJ7//v7+/9bBm/+1kVD/2Mmt//7+/v/8/Pv/s5Nb/8apc//y6+D/uZhb//r4 9O6bdSHzm3Uh+f38+u26llX/8+zh//z7+f+9m13/t5JQ/862jf/+/v7/593K/7SQ T/+8nF///////8qufP/59vHum3Uh8Jt1Idjn38vMzreN///////r4tH/s5BP/7KP T//n28f//////8uziP+yj0//x6x8///////g0rj/59/LzJt1IdWbdSGQvqVuvfv6 9///////5NrH/7GQVP/JsYf//v7+///////CqHj/rYtM/+ri0f//////9PDp/76l br2bdSGNm3UhLZ13JO769/PXy7aQ/8mzjP+sjFL/x7GI/8mzjP/Js4z/wKd6/6mH Sv/7+vj///////v59uKddyTum3UhKpt1IQCbdSGQq4tFz/Tw6PK1mmj/pYRJ/6WE Sf+lhEn/pYRJ/6WESf+lhEn/yLSO//////ari0XPm3UhjZt1IQCbdSEAm3UhBpt1 IbemhTrZ7ufY29XFqf+3nW//pYZO/6KCR/+0mmr/2Mmu//Dq3dqmhTrZm3Uht5t1 IQabdSEAm3UhAMqiWQDKolkAm3Uhcp13JO68omrA49nBzuLh4O/i4eDv49nBzryi asCddyTum3UhcsqiWQDKolkAm3UhAJt1IQCbdSEAm3UhAJt1IQCbdSEnm3UhjZt1 IcybdSH8m3Uh/Jt1IcybdSGNm3UhJ5t1IQCbdSEAm3UhAJt1IQAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAA ------------O3s3W5V3w14LQe7kOhsc0M Content-Disposition: inline; filename=form.js Content-Type: application/x-javascript; charset=UTF-8; name=form.js Content-Location: http://s2.wp.com/wp-content/mu-plugins/akismet-2.5/form.js?m=1 308783962g Content-Transfer-Encoding: Base64 alF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpe3ZhciB0aW1pbmc9bmV3 IERhdGUoKTt2YXIgYWtfanM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FrX2pz Jyk7aWYoYWtfanMpe2FrX2pzLnZhbHVlPXRpbWluZy5nZXRUaW1lKCk7cmV0dXJu O30KdmFyIGlucHV0PSc8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0iYWtfanMiIG5h bWU9ImFrX2pzIiB2YWx1ZT0iJwordGltaW5nLmdldFRpbWUoKSsnIi8+Jzt2YXIg ZGl2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO2Rpdi5pbm5lckhUTUw9 aW5wdXQKalF1ZXJ5KCcjY29tbWVudGZvcm0nKS5hcHBlbmQoZGl2KTtqUXVlcnko

JyNyZXBseXJvdyB0ZCcpLmFwcGVuZChpbnB1dCk7fSk7 ------------O3s3W5V3w14LQe7kOhsc0M Content-Disposition: inline; filename=default.htm Content-Type: text/html; charset=utf-8; name=default.htm Content-Location: http://www.stumbleupon.com/badge/embed/1/?url=http%3A%2F%2Fsut risno2629.wordpress.com%2F2009%2F05%2F12%2Fkiat-mencegah-persalinan-prematur%2F& title=Kiat%20Mencegah%20Persalinan%20Prematur Content-Transfer-Encoding: 8bit <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN "http://www.w3.org/TR/xh tml1/DTD/xhtml1-strict.dtd"><html lang="en" xml:lang="en" xmlns="http://www.w3.o rg/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset =utf-8"></meta><script type="text/javascript" src="http://cdn.stumble-upon.com/j s/badge_su.js?v=20120613"></script><link type="text/css" media="screen, projecti on" rel="stylesheet" href="http://cdn.stumble-upon.com/css/badges_su.css?v=20120 613"></link><title>StumbleUpon Badge</title></head><body class="badge1"><div id= "wrapper"><ul class="suHostedBadge"><li><a class="logo" target="_blank" onclick= "" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fsutrisno2629.wordpre ss.com%2F2009%2F05%2F12%2Fkiat-mencegah-persalinan-prematur%2F">StumbleUpon</a>< /li><li><a class="count" target="_blank" onclick="" href="http://www.stumbleupon .com/submit?url=http%3A%2F%2Fsutrisno2629.wordpress.com%2F2009%2F05%2F12%2Fkiatmencegah-persalinan-prematur%2F">Submit</a></li></ul></div><span class="13481545 57" id="__su_server_time__"></span></body></html> ------------O3s3W5V3w14LQe7kOhsc0M Content-Disposition: inline; filename=badge_su.js Content-Type: application/javascript; charset=utf-8; name=badge_su.js Content-Location: http://cdn.stumble-upon.com/js/badge_su.js?v=20120613 Content-Transfer-Encoding: Base64 dmFyIFNVSlMgPSB7fTsKCVNVSlMuYnV0dG9uV2luID0gZnVuY3Rpb24oKXsJCgl2 YXIgdyA9IDQyNSwKCQloID0gMzcwLAoJCWlzX2Nocm9tZSA9IG5hdmlnYXRvci51 c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5pbmRleE9mKCdjaHJvbWUnKSA+IC0xLAoJ CWxlZnQsCgkJdG9wLAoJCXRpdGxlID0gJ1N0dW1ibGVVcG9uJywKCQkvL3BvcFN0 YXRlID0gJ25vcm1hbCcsCgkJdGFyZ2V0V2luOwoJCQoJaWYgKGlzX2Nocm9tZSl7 CgkJdyA9IDQyNTsKCQloID0gNDcwOwoJfSAKCWxlZnQgPSAoc2NyZWVuLndpZHRo LzIpLSh3LzIpOwoJdG9wID0gKHNjcmVlbi5oZWlnaHQvMiktKGgvMik7CgkgCgly ZXR1cm4gewoJCW9wZW4gOiBmdW5jdGlvbiAocGFnZVVSTCkgewoJCQl0YXJnZXRX aW4gPSB3aW5kb3cub3BlbiAocGFnZVVSTCwgdGl0bGUsICd0b29sYmFyPW5vLCBs b2NhdGlvbj1ubywgZGlyZWN0b3JpZXM9bm8sIHN0YXR1cz1ubywgbWVudWJhcj1u bywgc2Nyb2xsYmFycz1ubywgcmVzaXphYmxlPW5vLCBjb3B5aGlzdG9yeT1ubywg Y2hyb21lPW5vLCB3aWR0aD0nK3crJywgaGVpZ2h0PScraCsnLCB0b3A9Jyt0b3Ar JywgbGVmdD0nK2xlZnQpOwkJCQkJCQoJCQl0YXJnZXRXaW4uZm9jdXMoKTsJCQkK CQl9LAoJCQoJCWNsb3NlIDogZnVuY3Rpb24gKCkgewoJCQl0YXJnZXRXaW4uY2xv c2UoKTsKCQl9CQoJfQp9KCk7CgppZiAodHlwZW9mKCQpICE9ICJ1bmRlZmluZWQi KXsKCSQoZnVuY3Rpb24oKSB7CgkJY2JPcGVuZXIgPSBmdW5jdGlvbiAoY2JUaGlz KSB7CgkJCWxvY2F0aW9uLnJlbG9hZCgpOwoJCQljYlRoaXMoKTsKCQl9OwoJCXZh ciAkYnRuUmF0ZSA9ICQoJyN3cmFwcGVyIC5yYXRlIGEnKTsKCQlpZiAoJGJ0blJh dGUuaGFzQ2xhc3MoJ2xvZ2dlZEluJykpCgkJewoJCQkkYnRuUmF0ZS5jbGljayhm dW5jdGlvbiAoKSB7CgkJCQl2YXIgYWN0aW9uID0gJ2xpa2UnOwoJCQkJaWYgKCRi dG5SYXRlLmhhc0NsYXNzKCdhY3RpdmUnKSkKCQkJCQlhY3Rpb24gPSAndW5saWtl JzsKCgkJCQkkYnRuUmF0ZS50b2dnbGVDbGFzcygnYWN0aXZlJyk7CgkJCQl2YXIg cHVibGljaWQgPSAkYnRuUmF0ZS5hdHRyKCdpZCcpOwoJCQkJJC5hamF4KHsKCQkJ CQl1cmw6ICIvYmFkZ2UvYWpheC8iK3B1YmxpY2lkKyIvIithY3Rpb24rIi8iLAoJ CQkJCXR5cGU6ICJQT1NUIiwKCQkJCQlkYXRhOiB7IAoJCQkJCQl0b2tlbjogX19T VUpTdG9rZW4KCQkJCQl9LAoJCQkJCQkJIAoJCQkJCXN1Y2Nlc3M6IGZ1bmN0aW9u KHJlc3BvbnNlKSB7CgkJCQkJCWlmIChyZXNwb25zZS5zdGF0dXMgPT0gJ2ZhaWwn KQoJCQkJCQl7CgkJCQkJCQl3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7CgkJCQkJ CX0KCQkJCQl9LAkJCQoJCQkJCWVycm9yOiBmdW5jdGlvbigpIHsKCQkJCQkJaWYo JGJ0blJhdGUuaGFzQ2xhc3MoJ2FjdGl2ZScpKQoJCQkJCQl7CgkJCQkJCQkkYnRu

UmF0ZS5yZW1vdmVDbGFzcygnYWN0aXZlJyk7CgkJCQkJCX0KCQkJCQkJZWxzZQoJ CQkJCQl7CgkJCQkJCQkkYnRuUmF0ZS5hZGRDbGFzcygnYWN0aXZlJyk7CgkJCQkJ CX0KCQkJCQl9LAoJCQkJCWRhdGFUeXBlOiAnanNvbicKCQkJCX0pOwoJCQl9KTsK CQl9Cgl9KTsgCn0K ------------O3s3W5V3w14LQe7kOhsc0M Content-Disposition: inline Content-Type: image/png Content-Location: http://cdn.stumble-upon.com/i/badges/badgeRect74x18.png?v5 Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAEoAAAASCAYAAAD8DUjrAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAA AAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5U Y3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6 eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8w Mi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpE ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5h ZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRv YmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0 dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1l bnRJRD0ieG1wLmRpZDozRUYwNUYyOUQxMjA2ODExQUIwOEM1NDdCOEMwNjhBRSIg eG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3QkQ2MTQ0ODEyRTIxMUUxOUQwOTlG MTRDMTg4QjgzQSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3QkQ2MTQ0NzEy RTIxMUUxOUQwOTlGMTRDMTg4QjgzQSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQ aG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJl ZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjNGRjA1RjI5RDEyMDY4MTFBQjA4QzU0N0I4 QzA2OEFFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjNFRjA1RjI5RDEyMDY4 MTFBQjA4QzU0N0I4QzA2OEFFIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpS REY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+0BDn3QAABB1JREFU eNqcWL1PFEEUf2/vljuinGj8KLRRbCw0VIJ/AAmdX6WFXGlnbOjU2GliTGwsxcLS iJUkNHRAY4wWfgSkwUIhUSEn3C23z9m52b2Z2Xmzi3OZ3dv5nt+893vvDYKVNiZH hsXrtsiXRR61qt+L/ELkmWNzq7/1CiKS77VfrYNRtzu304nGuxRXQBQjmoOQeqP2 dNeS/MJsDsdYzPioj6ba2OUofum6Zb01ViUIuvUwXBqoVCbRAmlKvJ6IPAz+lIDU FGDN2kB93fyzOFCtjg/V68lExiL0hD0cQC9GbZPZptINgNnW7mNDXtTWN0b6vxvH sL3bhs5etBRoIN0Xr+clQALV5rUC1kg7UXQxAakqQEJt1Qhm1lfMyRRpHzYY6FiU Dbr+Hx31yICX9k320KjXQGjHxUCTpHuw//Rc9L2iF8QxBYkk2SdEjk0RmCrh2ig5 vtECEz1g+cYhXboZKQvEXmKiIFCc9IRDonLilMwFYA1DiQWSCzTKb5hTEU7VfCC4 pMoGVqcFbt5AEbdT3Rp3n8HhmQWZh+488qnhlEtajA2gCSAy4m5vHF0chvlxdBD6 gPV0nlwqbUkSMgesA3XZtfv6xHUYuDSRfdcmrhnfVrrJnT5aXAOM5BDXD/PWjJOA vCRixo8G+A40qOCgAocL0Ks4cVK+/758CjuzMz1yGznHATUKHn6xpYyU2fdZIBsU cqhOWcuWA4FK8JbVt1qGsXcFUJ3FeYg+LJdojXyJJiZkuQlFHOHjLVviXJJqg1HE Z2StzQAqvDAGhx6+lIBEH5dzapeAFZ4fk+3+TN9ggCPe5KsH6q5mAZmji1fIdyxu vwoYaUSP5Uz9t+QZOE/vYAPwQMMoq545J8uSOihxspzVSaUJkecnvT6nRsQD4fOb jLlw/3pRVWGJ5Jj4x/cMlCSnZXhgSP4fvNIzbtTagr3VT/o4CxzPsGAS7xcVOZKF BsDjobuMATIciFqrQMVuPZf9xzpsPbglwUnASIh8d/6VJPOU0JO67cfTsl5Lb6DA arhcAx8p98U+rxZYIMXocT/I4XI4OdAaAJWzuFYydOHivtNH367IIPnd+gaNHD9a GFaQJ85CcHvrHKcA8N69r7zIUqfp289NCNQtQBP+PzX1m4TUR/GZWqdZt8Qgtzn0 jIF+g0CMVCIjnWg7x9jzo0DdAjT/E6RZcxKkrnVVQGWid8rfMLgGQZdkktst8IFD PgOkGYw4jkW8h3Fm9cSGExK6qlSpjLpdVX2MNBiGn1vtNms90OEhk3WKVBAMc5v0 EbluRakggNYPtdXpQK0SfkHm4m5KhSW2176giNt3cXekvRct/21HZ9P4jnKXdGRY PiGFsn8GHLkjehtyvY/Pj+rPY17ayRghm6u/Un3cwYFwpVYNx/4JMADQAPA/gFlP HQAAAABJRU5ErkJggg== ------------O3s3W5V3w14LQe7kOhsc0M Content-Disposition: inline; filename=badges_su.css Content-Type: text/css; charset=utf-8; name=badges_su.css Content-Location: http://cdn.stumble-upon.com/css/badges_su.css?v=20120613 Content-Transfer-Encoding: 8bit

/* CSS buttons Stylesheet Header @ used for dynamic badges */ /* @group global assignments */ * { padding: 0; margin: 0; } ul.suHostedBadge { list-style-position: outside; list-style-type: none; } .suHostedBadge a { display: block; overflow: hidden; border: 0; cursor: pointer; color: #258DB1; font-weight: bold; font-family: Arial, Helvetica, sans-serif; font-size:11px; text-decoration:none; line-height: 18px; } .suHostedBadge a.logo { text-indent: -999em; } /* @end */ /* @group badge1 */ .badge1 .suHostedBadge { width: 74px; height: 18px; z-index: 999; } .badge1 li { float: left; display: inline; } .badge1 .suHostedBadge a { background: transparent url(http://cdn.stumble-upon.com/i/badges/badgeRe ct74x18.png?v5) no-repeat 0 0; } .badge1 .suHostedBadge a.logo { width: 20px; height: 18px; background-position: 0 0; } .badge1 .suHostedBadge a.count { width:54px; height:18px; text-align: center; background-position: 100% 0; } /* @end */ /* @group badge2 */ .badge2 .suHostedBadge { width: 65px; height: 18px;

z-index: 999; } .badge2 li { float: left; display: inline; } .badge2 .suHostedBadge a { background: transparent url(http://cdn.stumble-upon.com/i/badges/badgeRo und65x18.png?v5) no-repeat 0 0; } .badge2 .suHostedBadge a.logo { width: 18px; height: 18px; background-position: 0 0; } .badge2 .suHostedBadge a.count { width:47px; height:18px; text-align: center; background-position: 100% 0; } /* @end */ /* @group Badge 3 */ .badge3 .suHostedBadge { width: 65px; height: 18px; z-index: 999; } .badge3 li { float: left; display: inline; } .badge3 .suHostedBadge a { background: transparent url(http://cdn.stumble-upon.com/i/badges/badgeLo go18x18.png?v5) no-repeat 0 0; } .badge3 .suHostedBadge a.logo { width: 18px; height: 18px; background-position: 0 0; } .badge3 .suHostedBadge a.count { width:47px; height:18px; text-align: center; background: transparent none; } /* @end */ /* @group badge4 */ .badge4 .suHostedBadge { width: 18px; height: 18px; z-index: 999; } .badge4 li { float: left; display: inline; } .badge4 .suHostedBadge a { background: transparent url(http://cdn.stumble-upon.com/i/badges/badgeLo

go18x18.png?v5) no-repeat 0 0; } .badge4 .suHostedBadge a.logo { width: 18px; height: 18px; background-position: 0 0; } .badge4 .suHostedBadge a.count { width:47px; height:18px; text-align: center; background: transparent none; } /* @end */ /* @group badge5 */ .badge5 .suHostedBadge { width: 50px; height: 60px; z-index: 999; } .badge5 li { float: none; } .badge5 .suHostedBadge a { background: transparent url(http://cdn.stumble-upon.com/i/badges/badgeRe ct50x60.png?v5) no-repeat 0 0; } .badge5 .suHostedBadge a.logo { width: 50px; height: 40px; background-position: 0 0; } .badge5 .suHostedBadge a.count { width: 50px; height: 20px; text-align: center; background-position: 0 100%; } /* @end */ /* @group badge6 */ .badge6 .suHostedBadge { width: 30px; height: 31px; z-index: 999; } .badge6 li { float: left; display: inline; } .badge6 .suHostedBadge a { background: transparent url(http://cdn.stumble-upon.com/i/badges/badgeLo go30x31.png?v5) no-repeat 0 0; } .badge6 .suHostedBadge a.logo { width: 30px; height: 31px; background-position: 0 0; } .badge6 .suHostedBadge a.count { width:47px;

} /* @end */ /* @group badge200+ custom badges */ .badge200 .suHostedBadge, .badge210 .suHostedBadge, .badge300 .suHostedBadge { width: 108px; height: 20px; z-index: 999; } .badge200 li, .badge210 li, .badge300 li { float: left; display: inline; } .badge200 .suHostedBadge a, .badge200 .suHostedBadge .rate a span, .badge210 .suHostedBadge a, .badge210 .suHostedBadge .rate a span, .badge300 .suHostedBadge a, .badge300 .suHostedBadge .rate a span { outline: none; background: transparent url(http://cdn.stumble-upon.com/i/badges/badgeCu stom.png?v5) no-repeat 0 0; } .badge300 .suHostedBadge a { font-weight: normal; } .badge200 .suHostedBadge a.text, .badge210 .suHostedBadge a.text, .badge300 .suHostedBadge a.text { width: 60px; height: 20px; padding-left: 22px; text-align: center; line-height: 20px; background-position: 0 0; } .badge200 .suHostedBadge a.text:hover, .badge210 .suHostedBadge a.text:hover, .badge300 .suHostedBadge a.text:hover { background-position: 0 -21px; } .badge200 .suHostedBadge .rate a, .badge210 .suHostedBadge .rate a, .badge300 .suHostedBadge .rate a { width: 25px; height: 20px; background-position: -82px 0; } .badge200 .suHostedBadge .rate a:hover, .badge210 .suHostedBadge .rate a:hover, .badge300 .suHostedBadge .rate a:hover { background-position: -82px -21px; } .badge200 .suHostedBadge .rate a span,

height:18px; text-align: center; background: transparent none;

.badge210 .suHostedBadge .rate a span, .badge300 .suHostedBadge .rate a span { height: 20px; width: 22px; display: block; background-position: -115px 0; } .badge200 .suHostedBadge .rate a.active span, .badge210 .suHostedBadge .rate a.active span, .badge300 .suHostedBadge .rate a.active span { background-position: -115px -21px; } /* @end */ /* @group Badge 3 */ .badge310 .suHostedBadge { width: 128px; height: 18px; z-index: 999; } .badge310 li { float: left; display: inline; } .badge310 .suHostedBadge a { } .badge310 .suHostedBadge a.logo { width: 20px; height: 18px; background: transparent url(http://cdn.stumble-upon.com/i/badges/badgeLo go18x18.png?v5) no-repeat 0 0; } .badge310 .suHostedBadge a.count { width:47px; height:18px; text-align: center; background: transparent none; } /* @end */ ------------O3s3W5V3w14LQe7kOhsc0M Content-Disposition: inline; filename=like.htm Content-Type: text/html; charset=utf-8; name=like.htm Content-Location: http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fsut risno2629.wordpress.com%2F2009%2F05%2F12%2Fkiat-mencegah-persalinan-prematur%2F& layout=button_count&show_faces=false&action=like&colorscheme=light&height=21&wid th=90 Content-Transfer-Encoding: Quoted-Printable <!DOCTYPE html> <html lang=3D"en" id=3D"facebook" class=3D"no_js"> <head><meta charset=3D"utf-8" /><meta name=3D"robots" content=3D"noodp, = noydir" /><meta name=3D"referrer" content=3D"default" id=3D"meta_referre= r" /><meta name=3D"description" content=3D" Facebook is a social utility= that connects people with friends and others who work, study and live a= round them. People use Facebook to keep up with friends, upload an unlim= ited number of photos, post links and videos, and learn more about the p= eople they meet." /><script></script><title>Facebook</title><style>body.= plugin{background:transparent;overflow:hidden} body{background:#fff;font-size:11px;font-family:'lucida grande',tahoma,v= erdana,arial,sans-serif;color:#333;line-height:1.28;margin:0;padding:0;t=

ext-align:left;direction:ltr;unicode-bidi:embed} h1, h2, h3, h4, h5, h6{font-size:13px;color:#333;margin:0;padding:0} h1{font-size:14px} h4, h5, h6{font-size:11px} p{margin:1em 0} a{cursor:pointer;color:#3b5998;text-decoration:none} a:hover{text-decoration:underline} img{border:0} td, td.label{font-size:11px;text-align:left} dd{color:#000} dt{color:#777} ul{list-style-type:none;margin:0;padding:0} abbr{border-bottom:none} hr{background:#d9d9d9;border-width:0;color:#d9d9d9;height:1px} .clearfix:after{clear:both;content:".";display:block;font-size:0;height:= 0;line-height:0;visibility:hidden} .clearfix{zoom:1} .datawrap{word-wrap:break-word} .word_break{display:inline-block} .ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .img_loading{position:absolute;top:-9999999px} .aero{opacity:.5} .column{float:left} .center{margin-left:auto;margin-right:auto} #facebook .hidden_elem{display:none !important} #facebook .invisible_elem{visibility:hidden} #facebook .accessible_elem{left:-9999px;position:fixed} .direction_ltr{direction:ltr} .direction_rtl{direction:rtl} .text_align_ltr{text-align:left} .text_align_rtl{text-align:right} .uiGrid{border:0;border-collapse:collapse;border-spacing:0} .uiGridFixed{table-layout:fixed;width:100%} .uiGrid .vTop{vertical-align:top} .uiGrid .vMid{vertical-align:middle} .uiGrid .vBot{vertical-align:bottom} .uiGrid .hLeft{text-align:left} .uiGrid .hCent{text-align:center} .uiGrid .hRght{text-align:right} .pluginErrorLink{color:#f03d25} .fss{font-size:9px} .fsm{font-size:11px} .fsl{font-size:13px} .fsxl{font-size:16px} .fsxxl{font-size:18px} .fwn{font-weight:normal} .fwb{font-weight:bold} .fcb{color:#333} .fcg{color:gray} form{margin:0;padding:0} label{cursor:pointer;color:#666;font-weight:bold;vertical-align:middle} label input{font-weight:normal} textarea, .inputtext, .inputpassword{border:1px solid #bdc7d8;font-famil= y:'lucida grande',tahoma,verdana,arial,sans-serif;font-size:11px;margin:= 0;padding:3px} textarea{max-width:100%} select{border:1px solid #bdc7d8;font-family:'lucida grande',tahoma,verda= na,arial,sans-serif;font-size:11px;padding:2px} .inputtext, .inputpassword{padding-bottom:4px} .inputradio{padding:0;margin:0 5px 0 0;vertical-align:middle}

.inputcheckbox{border:0;vertical-align:middle} .inputbutton, .inputsubmit{border-style:solid;border-width:1px;border-co= lor:#d9dfea #0e1f5b #0e1f5b #d9dfea;background-color:#3b5998;color:#fff;= padding:2px 15px 3px 15px;text-align:center} .inputsubmit_disabled{background-color:#999;border-bottom:1px solid #000= ;border-right:1px solid #666;color:#fff} .inputaux{background:#f0f0f0;border-color:#e7e7e7 #666 #666 #e7e7e7;colo= r:#000} .inputaux_disabled{color:#999} .inputsearch{background:#fff url(http://static.ak.fbcdn.net/rsrc.php/v2/= y7/x/IJYgcESal33.png) no-repeat left 4px;padding-left:17px} .pluginButton{background:#eceef5;border-radius:3px;border:1px solid #cad= 4e7;cursor:pointer;padding:2px 6px 4px;white-space:nowrap;color:#3b5998}= .pluginButtonInline{display:inline-block} .pluginButtonX{cursor:default} .pluginButton button{background:transparent;border:0;margin:-1px;padding= :0;font:inherit;color:inherit;cursor:pointer} .pluginButtonIcon{position:relative;top:3px;margin-right:3px} .pluginButtonSmall{padding:0 5px 2px 5px} .pluginButtonSmall .pluginButtonIcon{margin-right:2px} .pluginButton:hover{border-color:#9dacce} .pluginButtonPressed, .pluginButtonPressed:hover{background-color:#eee;b= order-color:#ddd;color:#aaa} .pluginSkinDark .pluginButton{background-color:#c7c7c7;border-color:#999= ;color:#333} .pluginSkinDark .pluginButton:hover{background-color:#d9d9d9;border-colo= r:#ddd} .pluginSkinDark .pluginButtonPressed, .pluginSkinDark .pluginButtonPress= ed:hover{background-color:#444;border-color:#555;color:#666} .pluginButtonErrorLink{color:#a00;font-weight:bold} .pluginButtonX .pluginButtonXOff, .pluginButtonX button:hover .pluginBut= tonXOn{display:inline-block} .pluginButtonX .pluginButtonXOn, .pluginButtonX button:hover .pluginButt= onXOff{display:none} .pluginButton .pluginButtonThrobber, form.async_saving .pluginButtonIcon= WithThrobber{display:none} form.async_saving .pluginButtonThrobber{display:inline-block;margin-top:= 2px;margin-bottom:1px;max-width:14px} .sp_like{background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/yI/= x/1dQf_ATK831.png);background-repeat:no-repeat;display:inline-block;heig= ht:14px;width:14px} .sx_like_fav{background-position:-0px -0px} .sx_like_ch{background-position:-0px -15px} .sx_like_x{background-position:-0px -30px} .sx_like_thumb{background-position:-0px -45px} i.img u{position:absolute;top:-9999999px} .pluginCountButton{background:#fff;border:1px solid #c1c1c1;display:inli= ne-block;height:14px;line-height:14px;margin-left:6px;min-width:15px;pad= ding:1px 2px;text-align:center;white-space:nowrap} .pluginCountButtonNub{height:0;left:2px;position:relative;top:-14px;widt= h:5px;z-index:2} .pluginCountButtonNub s, .pluginCountButtonNub i{border-color:transparen= t #D7D7D7 transparent;border-style:solid;border-width:4px 5px 4px 0;disp= lay:block;position:relative;top:1px} .pluginCountButtonNub i{border-right-color:#fff;left:2px;top:-7px} .pluginCountButtonDark{background:#d7d7d7;border-color:#d7d7d7;color:#33= 3} .pluginCountButtonDarkNub i{display:none} .pluginCountTextConnected,

.pluginCountConnected .pluginCountTextDisconnected{display:none} .pluginCountConnected .pluginCountTextConnected{display:inline} </style><script>var ServerJSQueue=3D(function(){var a=3D[];return {add:f= unction(b){a.push(b);},run:function(){if(!window.require)return;var b=3D= new (window.require('ServerJS'))();for(var c=3D0;c<a.length;c++)b.handle= (a[c]);}};}()); document.write=3Dfunction(){};var onloadRegister_DEPRECATED=3Dfunction()= {},onafterloadRegister_DEPRECATED=3Dfunction(){},AsyncLoaderLazy=3D(func= tion(){var a=3Dfalse,b=3Dfalse,c=3D{loaded:1,complete:1},d=3Dfunction(){= },e=3Ddocument,f=3Dfalse;function g(){if(e.readyState in c){e.detachEven= t('onreadystatechange',g);d('t_domcontent');}}function h(){if(window._ca= valry&&a&&b){d('t_layout');d('t_onload');d('t_paint');_cavalry.send();wi= ndow._cavalry=3Dfalse;}}function i(){if(!f&&a&&b){ServerJSQueue.run();f=3D= true;}}function j(l,m){if('onreadystatechange' in l){l.onreadystatechang= e=3Dfunction(){if(l.readyState in c){l.onreadystatechange=3Dnull;m();}};= }else if(l.addEventListener)l.addEventListener('load',m,false);}function= k(l){var m=3De.createElement("script");if(m.readyState&&m.readyState=3D= =3D=3D"uninitialized"){j(m,function(){b=3Dtrue;h();});m.src=3Dl;return t= rue;}else if(typeof XMLHttpRequest!=3D=3D'undefined'){var n=3Dnew XMLHtt= pRequest();if("withCredentials" in n){n.onloadend=3Dfunction(){b=3Dtrue;= h();};n.open("GET",l,true);n.send(null);return true;}}}if(window._cavalr= y){d=3Dfunction(l){_cavalry.log(l);};if(window.addEventListener){window.= addEventListener('DOMContentLoaded',function(){d('t_domcontent');},false= );}else if(e.attachEvent)e.attachEvent('onreadystatechange',g);}window.o= nload=3Dfunction(){a=3Dtrue;i();h();};return {run:function(l){this.file=3D= l;this.execute();},load:function(l){this.file=3Dl;if(!k(l)){this.run(l);= return;}window.onload=3Dfunction(){a=3Dtrue;h();};e.onkeydown=3De.onmous= eover=3De.onclick=3Donfocus=3Dfunction(){e.onkeydown=3De.onmouseover=3De= .onclick=3Donfocus=3Dnull;AsyncLoaderLazy.execute();};},execute:function= (l){var m=3De.createElement('script');m.src=3DAsyncLoaderLazy.file;m.asy= nc=3Dtrue;j(m,function(){b=3Dtrue;i();l&&l();h();});e.getElementsByTagNa= me('head')[0].appendChild(m);},wakeUp:function(l,m,n){function o(){windo= w.require("Arbiter").inform(l,m,n);}if(f){o();}else this.execute(o);}};}= )(); AsyncLoaderLazy.load("http:\/\/static.ak.fbcdn.net\/rsrc.php\/v2\/ya\/r\= /PkxZ5HmDV5z.js");</script><script>ServerJSQueue.add({"require":[["lower= Domain"],["Primer"]]});</script></head><body class=3D"plugin opera win L= ocale_en_US"><div id=3D"FB_HiddenContainer" style=3D"position:absolute; = top:-10000px; width:0px; height:0px;"></div><div class=3D"pluginSkinLigh= t"><div><table class=3D"uiGrid pluginConnectButtonLayoutRoot" cellspacin= g=3D"0" cellpadding=3D"0"><tbody><tr><td class=3D"hCent"><div><form rel=3D= "async" ajaxify=3D"/plugins/like/connect" method=3D"post" action=3D"/plu= gins/like/connect" onsubmit=3D"return window.Event &amp;&amp; Event.__in= lineSubmit &amp;&amp; Event.__inlineSubmit(this,event)" id=3D"u1qvby61">= <input type=3D"hidden" name=3D"fb_dtsg" value=3D"AQDjtpCK" autocomplete=3D= "off" /><input type=3D"hidden" autocomplete=3D"off" name=3D"href" value=3D= "http://sutrisno2629.wordpress.com/2009/05/12/kiat-mencegah-persalinan-p= rematur/" /><input type=3D"hidden" autocomplete=3D"off" name=3D"action" = value=3D"like" /><input type=3D"hidden" autocomplete=3D"off" name=3D"nob= ootload" /><input type=3D"hidden" autocomplete=3D"off" name=3D"iframe_re= ferer" value=3D"http://sutrisno2629.wordpress.com/2009/05/12/kiat-menceg= ah-persalinan-prematur/" /><input type=3D"hidden" autocomplete=3D"off" n= ame=3D"ref" /><div class=3D"pluginConnectButton"><div class=3D"pluginBut= ton pluginButtonSmall pluginConnectButtonDisconnected" title=3D""><div><= button type=3D"submit"><i class=3D"pluginButtonIcon img sp_like sx_like_= fav"></i>Like</button></div></div><div class=3D"pluginButton pluginButto= nSmall pluginButtonPressed pluginButtonX pluginConnectButtonConnected hi= dden_elem" title=3D""><div><button type=3D"submit"><i class=3D"pluginBut= tonIcon pluginButtonXOff img sp_like sx_like_ch"></i><i class=3D"pluginB= uttonIcon pluginButtonXOn img sp_like sx_like_x" title=3D""></i></button=

>Like</div></div></div></form></div></td><td><div><div class=3D"pluginCo= untButton pluginCountNum"><span id=3D"u1qvby62"><span class=3D"pluginCou= ntTextConnected">2</span><span class=3D"pluginCountTextDisconnected">1</= span></span></div><div class=3D"pluginCountButtonNub"><s></s><i></i></di= v></div></td></tr></tbody></table></div></div><script>function envFlush(= a){function b(c){for(var d in a)c[d]=3Da[d];}if(window.requireLazy){requ= ireLazy(['Env'],b);}else{Env=3Dwindow.Env||{};b(Env);}} envFlush({"fb_dtsg":"AQDjtpCK","ajaxpipe_token":"AXjrh9aNA9YS-W5g","lhsh= ":"AAQFDnHFM","user":"1276416069"});</script><script> ServerJSQueue.add({"instances":[["m679337_2",["PluginConnectButton","m67= 9337_1"],[{"plugin":"like","identifier":"http:\/\/sutrisno2629.wordpress= .com\/2009\/05\/12\/kiat-mencegah-persalinan-prematur\/","connected":fal= se,"canpersonalize":true,"autosubmit":false,"form":{"__m":"m679337_1"}}]= ,1]],"elements":[["m679337_1","u1qvby61",2],["m679337_3","u1qvby61",2],[= "m679337_4","u1qvby62",2]],"require":[["m679337_2"],["PluginConnection",= "init",["m679337_4"],[[["http:\/\/sutrisno2629.wordpress.com\/2009\/05\/= 12\/kiat-mencegah-persalinan-prematur\/",{"__m":"m679337_4"},"pluginCoun= tConnected"]]]]]}); </script> ------------O3s3W5V3w14LQe7kOhsc0M Content-Disposition: inline Content-Type: image/png Content-Location: http://static.ak.fbcdn.net/rsrc.php/v2/yI/x/1dQf_ATK831.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAA8AAAA8CAMAAACO5hB7AAAA7VBMVEX+/f8AAAA7 WZk/XZv///82WJn+/v67u7tzirY6WJg6WZlYcql1i7g5V5g7WZlFYp9NaaM2VZdX cqlfd6w8WppJZaBthbXAwMA4VpeNoMVEYZ5TbqZVcak6WJm0v9iqt9Ned66kpKSM ncNKaKRqgbJbdKrP1+bS2ehmfrBTbaY8Wpk3VZetudROaaOrt9P7+/1xh7V0ibZL Z6FWcah0ire3w9pbdKl2i7jb4OxshLWFmcH7/P2+yd5pgrM5WJhfeKxDYJ4zUpU0 U5U+XJvDzODk6PHx8/je4+6bq8s3Vpc+W5q4w9rCyt/s7/W2wNz9u+mpAAAABHRS TlMAAMfHMihwAAAAAPVJREFUeF6t0eWqAzEQgNG0ncn61t3turu72/s/TjvZ7tCk 7IVCP8iPwzAhEJHSEiKVDlV323knTQ6jdg8Ojxx2u9wBOM+zg/H+2mAzYJfuofvo hrGfX17h7X30Gfvr+wJ+1zdqvL9VhJ2gFJJdZ1rtDPaeHJecLXied3wCp81Clpyr TLu8ur65reTImQZVLjYfGhmyllhllkHLSqDF5ElE3kzY5YiryfzfRVf7cVVlwqzY oA4bAOiwCUR2NDXn5n7i/Zz5vmX+F4cae1I3Spznh60bpUREnxaRkiqkSb2uxLbt /+0vzhHtH3Jrdr8Qfz4iEpdsAoODIEza5Vp0AAAAAElFTkSuQmCC ------------O3s3W5V3w14LQe7kOhsc0M Content-Disposition: inline; filename=tweet_button.html Content-Type: text/html; charset=utf-8; name=tweet_button.html Content-Location: http://platform.twitter.com/widgets/tweet_button.html?url=http %3A%2F%2Fwp.me%2FpoeP1-1it&counturl=http%3A%2F%2Fsutrisno2629.wordpress.com%2F20 09%2F05%2F12%2Fkiat-mencegah-persalinan-prematur%2F&count=horizontal&text=Kiat%2 0Mencegah%20Persalinan%20Prematur%3A&via=wordpressdotcom&related=wordpressdotcom Content-Transfer-Encoding: 8bit <!DOCTYPE html><html><head><meta charset="utf-8"><link rel="dns-prefetch" href=" //twitter.com"><title>Twitter Tweet Button</title><style type="text/css">html{ma rgin:0;padding:0;font:normal normal normal 11px/18px 'Helvetica Neue',Arial,sans -serif;color:#333;-webkit-user-select:none;-ms-user-select:none;-moz-user-select :none;-o-user-select:none;user-select:none;}body{margin:0;padding:0;background:t ransparent;visibility:hidden;}a{outline:none;text-decoration:none;}body.ready{vi sibility:visible;}body.rtl{direction:rtl;}#widget{white-space:nowrap;overflow:hi dden;text-align:left;}.rtl #widget{text-align:right;}.btn-o,.count-o,.btn,.btn . label,#count{display:-moz-inline-stack;display:inline-block;vertical-align:top;z oom:1;*display:inline;}.right #widget{text-align:right;}.left #widget{text-align

:left;}.btn-o{max-width:100%;}.btn{position:relative;background-color:#f8f8f8;ba ckground-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#deded e));background-image:-moz-linear-gradient(top,#fff,#dedede);background-image:-olinear-gradient(top,#fff,#dedede);background-image:-ms-linear-gradient(top,#fff, #dedede);background-image:linear-gradient(top,#fff,#dedede);border:#ccc solid 1p x;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;color:#333; font-weight:bold;text-shadow:0 1px 0 rgba(255,255,255,.5);-webkit-user-select:no ne;-moz-user-select:none;-o-user-select:none;user-select:none;cursor:pointer;hei ght:18px;max-width:98%;overflow:hidden;}.btn:focus,.btn:hover,.btn:active{border -color:#bbb;background-color:#f8f8f8;background-image:-webkit-gradient(linear,le ft top,left bottom,from(#f8f8f8),to(#d9d9d9));background-image:-moz-linear-gradi ent(top,#f8f8f8,#d9d9d9);background-image:-o-linear-gradient(top,#f8f8f8,#d9d9d9 );background-image:-ms-linear-gradient(top,#f8f8f8,#d9d9d9);background-image:lin ear-gradient(top,#f8f8f8,#d9d9d9);-webkit-box-shadow:none;-moz-box-shadow:none;b ox-shadow:none;}.btn:active{background-color:#efefef;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 3px 5px rgba(0,0,0,0.1);box-shad ow:inset 0 3px 5px rgba(0,0,0,0.1);}.xl .btn:active{-webkit-box-shadow:inset 0 3 px 7px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 3px 7px rgba(0,0,0,0.1);box-shado w:inset 0 3px 7px rgba(0,0,0,0.1);}.btn i{position:absolute;top:50%;left:2px;mar gin-top:-5px;width:16px;height:13px;background:transparent url(/widgets/images/b tn.27237bab4db188ca749164efd38861b0.png) 0 0 no-repeat;background-image:url(data :image/png;base64,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);*background-image:url(/w idgets/images/btn.27237bab4db188ca749164efd38861b0.png);_background-image:url(/w idgets/images/btn.80461603b10bcad420939ef5204c466a.gif);}.btn .label{padding:0 3 px 0 19px;white-space:nowrap;}.btn .label b{font-weight:bold;white-space:nowrap; }.rtl .btn .label{padding:0 19px 0 3px;}.rtl .btn i{left:auto;right:2px;}.rtl .b tn .label b{display:inline-block;direction:ltr;}.xl{font-size:13px;line-height:2 6px;}.xl .btn{-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px ;height:26px;}.xl .btn i{background-position:-24px 0;width:21px;height:16px;left :4px;margin-top:-6px;}.xl .btn .label{padding:0 7px 0 29px;}.xl .rtl .btn .label {padding:0 29px 0 7px;}.xl .rtl .btn i{left:auto;right:6px;}@media(-webkit-min-d evice-pixel-ratio:2){.btn i{background-image:url(data:image/png;base64,iVBORw0KG

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);background-size:45p

x 40px;margin-top:-6px;}.xl .btn i{margin-top:-7px;left:4px;}.xl .rtl .btn i{lef t:auto;right:3px;}.xl .btn .label{top:-1.5px;}}.aria{position:absolute;left:-999 em;}.rtl .aria{left:auto;right:-999em;}.following .btn{color:#888;background:#ee e;border:#ccc solid 1px;}.following .btn:active,.following .btn:hover{border:#bb b solid 1px;}.following .btn i{background-position:0 -20px;}.xl .following .btn i{background-position:-25px -25px;}.btn:focus,.following .btn:focus{border-color :#0089CB;}.count-o{position:relative;background:#fff;border:#bbb solid 1px;-mozborder-radius:3px;-webkit-border-radius:3px;border-radius:3px;visibility:hidden; min-height:18px;_height:18px;min-width:15px;_width:15px;}#count{white-space:nowr ap;text-align:center;color:#333;}#count:hover,#count:focus{color:#333;text-decor ation:underline;}.ncount .count-o{display:none;}.count-ready .count-o{visibility :visible;}.count-o i,.count-o u{position:absolute;zoom:1;line-height:0;width:0;h eight:0;left:0;top:50%;margin:-4px 0 0 -4px;border:4px transparent solid;_border -color:pink;_filter:chroma(color=pink);border-right-color:#aaa;border-left:0;}.c ount-o u{margin-left:-3px;border-right-color:#fff;}.rtl .count-o i,.rtl .count-o u{left:auto;right:0;margin:-4px -4px 0 0;border:4px transparent solid;_border-r ight-color:pink;border-left-color:#aaa;border-right:0;}.rtl .count-o u{margin-ri ght:-3px;border-left-color:#fff;}.following .count-o i{border-right-color:#bbb;} .following.rtl .count-o i{border-left-color:#bbb;}.following .count-o{background :#f9f9f9;border-color:#ccc;}.following #count{color:#666;}.hcount .count-o{margi n:0 0 0 5px;}.hcount.rtl .count-o{margin:0 5px 0 0;}.hcount #count{padding:0 3px ;}.xl .count-o{-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4p x;_line-height:26px;margin:0 0 0 6px;}.xl .rtl .count-o{margin:0 6px 0 0;}.xl .c ount-o i,.xl .count-o u{margin:-5px 0 0 -5px;border-width:5px 5px 5px 0;}.xl .co unt-o u{margin-left:-4px;}.xl .rtl .count-o i,.xl .rtl .count-o u{margin:-5px -5 px 0 0;border-width:5px 0 5px 5px;}.xl .rtl .count-o u{margin-right:-4px;}.xl #c ount{padding:0 5px;*line-height:26px;}.vcount #widget{width:100%;_width:97%;padd ing-bottom:5px;}.vcount .btn-o{position:absolute;margin-top:42px;left:0;right:0; width:100%;}.vcount .btn{display:block;margin:0 auto;}.vcount .count-o{display:b lock;padding:0 5px;}.vcount .count-o i,.rtl.vcount .count-o i,.vcount .count-o u ,.rtl.vcount .count-o u{line-height:0;top:auto;left:50%;bottom:0;right:auto;marg in:0 0 -4px -4px;border:4px transparent solid;_border-color:pink;border-top-colo r:#aaa;border-bottom:0;}.rtl.vcount .count-o u,.vcount .count-o u{margin-bottom: -3px;border-top-color:#fff;}.vcount #count{font-size:16px;width:100%;height:34px ;line-height:34px;}@media(min-width:0){.btn,.hcount .count-o{-moz-box-sizing:bor der-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:borde r-box;height:20px;max-width:100%;}.xl .btn,.xl .hcount .count-o{height:28px;}}</ style><!--[if lte IE 9]><style type="text/css">.btn{filter:progid:DXImageTransfo rm.Microsoft.gradient(startColorstr='#ffffff',endColorstr='#dedede');-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff',endColorstr= '#dedede')";}.btn:hover,.btn:focus{filter:progid:DXImageTransform.Microsoft.grad ient(startColorstr='#f8f8f8',endColorstr='#d9d9d9');-ms-filter:"progid:DXImageTr ansform.Microsoft.gradient(startColorstr='#f8f8f8',endColorstr='#d9d9d9')";}.btn :active{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8 ',endColorstr='#d9d9d9');-ms-filter:"progid:DXImageTransform.Microsoft.gradient( startColorstr='#f8f8f8',endColorstr='#d9d9d9')";}.btn i{_background-image:url(/w idgets/images/btn.80461603b10bcad420939ef5204c466a.gif);}</style><![endif]--></h ead><body><div id="widget"><div class="btn-o"><a href="https://twitter.com/share " class="btn" id="b" target="_blank"><i></i><span class="label" id="l">Tweet</sp an></a></div><div class="count-o" id="c"><i></i><u></u><a href="#" id="count" ta rget="_blank"></a></div></div><script type="text/javascript" charset="utf-8">doc ument.domain = 'twitter.com';</script><script type="text/javascript">function _( e,t){return e=twttr.lang&&i18n[twttr.lang]&&i18n[twttr.lang][e]||e,t?e.replace(/ \%\{([a-z0-9_]+)\}/gi,function(e,n){return t[n]||e}):e}window.twttr=window.twttr ||{};var i18n={sv:{"%{followers_count} followers":"%{followers_count} fljare","%{n ame} on Twitter":"%{name} p Twitter",",":",",".":".","100K+":"100K+","10M+":"10M+" ,"10k unit":"10k",Follow:"Flj","Follow %{name} on Twitter":"Flj %{name} p Twitter","Fo llow %{screen_name}":"Flj %{screen_name}",K:"K",M:"M","This page has been shared % {tweets} times. View these Tweets.":"Den hr sidan har delats %{tweets} gnger. Visa d essa tweets.",Tweet:"Tweeta","Tweet %{hashtag}":"Tweeta %{hashtag}","Tweet to %{

name}":"Tweeta till %{name}","You are following %{name} on Twitter":"Du fljer %{na me} p Twitter",ltr:"ltr"},it:{"%{followers_count} followers":"%{followers_count} f ollower","%{name} on Twitter":"%{name} su Twitter",",":".",".":",","100K+":"100K +","10M+":"10M+","10k unit":"10k unit",Follow:"Segui","Follow %{name} on Twitter": "Segui %{name} su Twitter","Follow %{screen_name}":"Segui %{screen_name}",K:"K", M:"M","This page has been shared %{tweets} times. View these Tweets.":"Questa pa gina stata condivisa %{tweets} volte. Visualizza questi Tweet.",Tweet:"Tweet","Tw eet %{hashtag}":"Twitta %{hashtag}","Tweet to %{name}":"Twitta a %{name}","You a re following %{name} on Twitter":"Stai seguendo %{name} su Twitter",ltr:"ltr"},i d:{"%{followers_count} followers":"%{followers_count} pengikut","%{name} on Twit ter":"%{name} di Twitter",",":".",".":",","100K+":"100 ribu+","10M+":"10 juta+", "10k unit":"10 ribu unit",Follow:"Ikuti","Follow %{name} on Twitter":"Ikuti %{na me} di Twitter","Follow %{screen_name}":"Ikuti %{screen_name}",K:"&nbsp;ribu",M: "&nbsp;juta","This page has been shared %{tweets} times. View these Tweets.":"Ha laman ini telah disebarkan %{tweets} kali. Lihat Tweet ini.",Tweet:"Tweet","Twee t %{hashtag}":"Tweet %{hashtag}","Tweet to %{name}":"Tweet ke %{name}","You are following %{name} on Twitter":"Anda mengikuti %{name} di Twitter",ltr:"ltr"},ko: {"%{followers_count} followers":"%{followers_count} ","%{name} on Twitter":" 00 ","10M+":"1000 ","10k unit":" ",Follow:" ","Follow %{na } times. View these Tweets.":" %{tweets} . ame} on Twitter":"%{name} ",",":" ",".":".","100K+":"+100 ","10M+":"+10 name}":" %{screen_name}",K:" ",M:" ","This page has been shared %{tweet %{name} on Twitter":" %{name} ",ltr:"rtl"},fr:{"%{followers_ name} on Twitter":"%{name} sur Twitter",",":" ",".":",","100K+":"100K+","10M+":" 10M+","10k unit":"unit de 10k",Follow:"Suivre","Follow %{name} on Twitter":"Suivre %{name} sur Twitter","Follow %{screen_name}":"Suivre %{screen_name}",K:"K",M:"M ","This page has been shared %{tweets} times. View these Tweets.":"Cette page a t pa rtage %{tweets} fois. Voir ces Tweets.",Tweet:"Tweeter","Tweet %{hashtag}":"Tweete r %{hashtag}","Tweet to %{name}":"Tweeter %{name}","You are following %{name} on Twitter":"Vous suivez %{name} sur Twitter",ltr:"ltr"},pl:{"%{followers_count} fo llowers":"%{followers_count} obserwuj cych","%{name} on Twitter":"%{name} na Twitte rze",",":",",".":".","100K+":"100 tys.+","10M+":"10 mln+","10k unit":"10 tys.",F ollow:"Obserwuj","Follow %{name} on Twitter":"Obserwuj %{name} na Twitterze","Fo llow %{screen_name}":"Obserwuj %{screen_name}",K:"tys.",M:"mln","This page has b een shared %{tweets} times. View these Tweets.":"Ta strona zosta a udost pniona %{twee ts} razy. Zobacz te tweety.",Tweet:"Tweetnij","Tweet %{hashtag}":"Tweetnij %{has htag}","Tweet to %{name}":"Tweetnij do %{name}","You are following %{name} on Tw itter":"Obserwujesz %{name} na Twitterze",ltr:"ltr"},pt:{"%{followers_count} fol lowers":"%{followers_count} seguidores","%{name} on Twitter":"%{name} no Twitter ",",":".",".":".","100K+":"+100 mil","10M+":"+10 milhes","10k unit":"10 mil unidad es",Follow:"Seguir","Follow %{name} on Twitter":"Siga %{name} no Twitter","Follo w %{screen_name}":"Seguir %{screen_name}",K:"Mil",M:"M","This page has been shar ed %{tweets} times. View these Tweets.":"Est pgina foi compartilhada %{tweets} vezes . Veja todos os Tweets.",Tweet:"Tweetar","Tweet %{hashtag}":"Tweetar %{hashtag}" ,"Tweet to %{name}":"Tweetar para %{name}","You are following %{name} on Twitter ":"Voc est seguindo %{name} no Twitter",ltr:"ltr"},fa:{"%{followers_count} followers ":"%{followers_count} ","%{name} on Twitter":"%{name} these Tweets.":" %{tweets} :".","100K+":"10 +","10M+":"1000 +","10k unit":"1 ",Follow:" ","Follow %{nam w %{screen_name}":" %{screen_name}",K:" ",M:" ","This page has been shared %{twe these Tweets.":" %{tweets} ",Tweet:" r:{"%{followers_count} followers":"%{followers_count} ","%{name} on Twitter":"%{n K+":"1 +","10M+":" ","10k unit":" ", " %{name} ",ltr:"rtl"},hi:{"%{followers_c e} on Twitter":" %{name} ","Follow %{screen_name}":" ese Tweets.":" %{tweets} (). ter":"%{name} a Twitteren",",":",",".":".","100K+":"100E+","10M+":"10M+","10k un it":"10E+",Follow:"Kvets","Follow %{name} on Twitter":"Kvesd t a Twitteren: %{name}!" ollow %{screen_name}":"%{screen_name} kvetse",K:"E",M:"M","This page has been shared %{tweets} times. View these Tweets.":"Ezt az oldalt %{tweets} alkalommal osztot

tk meg. Nzd meg ezeket a tweeteket! ",Tweet:"Tweet","Tweet %{hashtag}":"%{hashtag} t weetelse","Tweet to %{name}":"Tweet kldse neki: %{name}","You are following %{name} on Twitter":"Kveted t a Twitteren: %{name}",ltr:"ltr"},he:{"%{followers_count} followe rs":"%{followers_count} ","%{name} on Twitter":"%{name} ",",":","," %{tweets} times. View these Tweets.":" %{tweets} . me} ",ltr:"rtl"},es:{"%{followers_count} followe itter",",":",",".":".","100K+":"100K+","10M+":"10M+","10k unit":"10k unidad",Fol low:"Seguir","Follow %{name} on Twitter":"Sigue a %{name} en Twitter","Follow %{ screen_name}":"Seguir a %{screen_name}",K:"K",M:"M","This page has been shared % {tweets} times. View these Tweets.":"Esta pgina ha sido compartida %{tweets} veces . Ver estos Tweets.",Tweet:"Twittear","Tweet %{hashtag}":"Twittear %{hashtag}"," Tweet to %{name}":"Twittear a %{name}","You are following %{name} on Twitter":"E sts siguiendo a %{name} en Twitter",ltr:"ltr"},fil:{"%{followers_count} followers" :"%{followers_count} mga tagasunod","%{name} on Twitter":"%{name} sa Twitter",", ":",",".":".","100K+":"100K+","10M+":"10M+","10k unit":"10k yunit",Follow:"Sunda n","Follow %{name} on Twitter":"Sundan si %{name} sa Twitter","Follow %{screen_n ame}":"Sundan si %{screen_name}",K:"K",M:"M","This page has been shared %{tweets } times. View these Tweets.":"Ang pahinang ito ay ibinahagi nang %{tweets} beses . Tingnan ang mga Tweet na ito.",Tweet:"I-tweet","Tweet %{hashtag}":"I-tweet ang %{hashtag}","Tweet to %{name}":"Mag-Tweet kay %{name}","You are following %{nam e} on Twitter":"Sinusundan mo si %{name} sa Twitter",ltr:"ltr"},msa:{"%{follower s_count} followers":"%{followers_count} pengikut","%{name} on Twitter":"%{name} di Twitter",",":",",".":".","100K+":"100 ribu+","10M+":"10 juta+","10k unit":"10 ribu unit",Follow:"Ikut","Follow %{name} on Twitter":"Ikuti %{name} di Twitter" ,"Follow %{screen_name}":"Ikut %{screen_name}",K:"ribu",M:"juta","This page has been shared %{tweets} times. View these Tweets.":"Halaman ini telah dikongsi seb anyak %{tweets} kali. Lihat Tweet-tweet ini.",Tweet:"Tweet","Tweet %{hashtag}":" Tweet %{hashtag}","Tweet to %{name}":"Tweet kepada %{name}","You are following % {name} on Twitter":"Anda mengikuti %{name} di Twitter",ltr:"ltr"},ja:{"%{followe rs_count} followers":"%{followers_count} ","%{name} on Twitter":"%{name} ter":"Twitter %{name} ","Follow %{screen_name}":"%{scree wers_count} takipi","%{name} on Twitter":"Twitter'da %{name}",",":",",".":".","100 K+":"+100 bin","10M+":"+10 milyon","10k unit":"10 bin birim",Follow:"Takip et"," Follow %{name} on Twitter":"%{name} adl ki iyi Twitter'da takip et","Follow %{screen_ name}":"Takip et: %{screen_name}",K:"bin",M:"milyon","This page has been shared %{tweets} times. View these Tweets.":"Bu sayfa %{tweets} defa payla ld. Tweetleri gr eet:"Tweetle","Tweet %{hashtag}":"Tweetle: %{hashtag}","Tweet to %{name}":"Tweet le: %{name}","You are following %{name} on Twitter":"Twitter'da %{name} adl ki iyi ta kip ediyorsun",ltr:"soldan sa a"},th:{"%{followers_count} followers":"%{followers_c ount} ","%{name} on Twitter":"%{name} ":" Twitter %{name}","Follow %{screen_name}":" %{screen_name}",K:" ",M:" } times. View these Tweets.":" %{tweets} , ",Tweet tter":" Twitter %{name}",ltr:"ltr"},de:{"%{followers_count} followers":"%{fol ,"%{name} on Twitter":"%{name} auf Twitter",",":",",".":".","100K+":"100Tsd+","1 0M+":"10M+","10k unit":"10tsd-Einheit",Follow:"Folgen","Follow %{name} on Twitte r":"Folge %{name} auf Twitter.","Follow %{screen_name}":"%{screen_name} folgen", K:"Tsd",M:"M","This page has been shared %{tweets} times. View these Tweets.":"D iese Seite wurde bisher %{tweets} mal geteilt. Diese Tweets anzeigen.",Tweet:"Tw ittern","Tweet %{hashtag}":"Tweet %{hashtag}","Tweet to %{name}":"Tweet an %{nam e}","You are following %{name} on Twitter":"Du folgst %{name} auf Twitter.",ltr: "ltr"},da:{"%{followers_count} followers":"%{followers_count} flgere","%{name} on Twitter":"%{name} p Twitter",",":".",".":",","100K+":"100K+","10M+":"10M+","10k un it":"10k enhed",Follow:"Flg","Follow %{name} on Twitter":"Flg %{name} p Twitter","Foll ow %{screen_name}":"Flg %{screen_name}",K:"K",M:"M","This page has been shared %{t weets} times. View these Tweets.":"Denne side er blevet delt %{tweets} gange. Vi s disse tweets.",Tweet:"Tweet","Tweet %{hashtag}":"Tweet %{hashtag}","Tweet to % {name}":"Tweet til %{name}","You are following %{name} on Twitter":"Du flger %{nam e} p Twitter",ltr:"ltr"},no:{"%{followers_count} followers":"%{followers_count} flge re","%{name} on Twitter":"%{name} p Twitter",",":",",".":".","100K+":"100K+","10M+ ":"10M+","10k unit":"10k ",Follow:"Flg","Follow %{name} on Twitter":"Flg %{name} p Twi

tter","Follow %{screen_name}":"Flg %{screen_name}",K:"K",M:"M","This page has been shared %{tweets} times. View these Tweets.":"Denne siden har blitt delt %{tweet s} ganger. Se tweetene her.",Tweet:"Tweet","Tweet %{hashtag}":"Tweet %{hashtag}" ,"Tweet to %{name}":"Send tweet til %{name}","You are following %{name} on Twitt er":"Du flger %{name} p Twitter",ltr:"ltr"},nl:{"%{followers_count} followers":"%{fo llowers_count} volgers","%{name} on Twitter":"%{name} op Twitter",",":".",".":", ","100K+":"100k+","10M+":"10 mln.+","10k unit":"10k-eenheid",Follow:"Volgen","Fo llow %{name} on Twitter":"%{name} volgen op Twitter","Follow %{screen_name}":"%{ screen_name} volgen",K:"k",M:" mln.","This page has been shared %{tweets} times. View these Tweets.":"Deze pagina is %{tweets} keer gedeeld. Deze tweets weergev en.",Tweet:"Tweeten","Tweet %{hashtag}":"%{hashtag} tweeten","Tweet to %{name}": "Tweeten naar %{name}","You are following %{name} on Twitter":"Je volgt %{name} op Twitter",ltr:"Itr"},fi:{"%{followers_count} followers":"%{followers_count} se uraajaa","%{name} on Twitter":"%{name} Twitteriss",",":",",".":".","100K+":"100 00 0+","10M+":"10+ milj.","10k unit":"10 000 yksikk",Follow:"Seuraa","Follow %{name} on Twitter":"Seuraa kyttj %{name} Twitteriss","Follow %{screen_name}":"Seuraa kytt K:"tuhatta",M:"milj.","This page has been shared %{tweets} times. View these Twe ets.":"Tm sivu on jaettu %{tweets} kertaa. Nyt nm twiitit.",Tweet:"Twiittaa","Twe g}":"Twiittaa %{hashtag}","Tweet to %{name}":"Twiittaa kyttjlle %{name}","You are foll owing %{name} on Twitter":"Seuraat kyttj %{name} Twitteriss",ltr:"ltr"}};</script>< type="text/javascript">(function(e,t){function y(e){for(var t=1,n;n=arguments[t] ;t++)for(var r in n)e[r]=n[r];return e}function b(e){return Array.prototype.slic e.call(e)}function E(e,t){for(var n=0,r;r=e[n];n++)if(t==r)return n;return-1}fun ction S(){var e=b(arguments),t=[];for(var n=0,r=e.length;n<r;n++)e[n].length>0&& t.push(e[n].replace(/\/$/,""));return t.join("/")}function x(e,t,n){var r=t.spli t("/"),i=e;while(r.length>1){var s=r.shift();i=i[s]=i[s]||{}}i[r[0]]=n}function T(){}function N(e,t){this.id=this.path=e,this.force=!!t}function C(e,t){this.id= e,this.body=t,typeof t=="undefined"&&(this.path=this.resolvePath(e))}function k( e,t){this.deps=e,this.collectResults=t,this.deps.length==0&&this.complete()}func tion L(e,t){this.deps=e,this.collectResults=t}function A(){for(var e in r)if(r[e ].readyState=="interactive")return c[r[e].id]}function O(e,t){var r;return!e&&n& &(r=l||A()),r?(delete c[r.scriptId],r.body=t,r.execute()):(f=r=new C(e,t),a[r.id ]=r),r}function M(){var e=b(arguments),t,n;return typeof e[0]=="string"&&(t=e.sh ift()),n=e.shift(),O(t,n)}function _(e,t){var n=t.id||"",r=n.split("/");r.pop(); var i=r.join("/");return e.replace(/^\./,i)}function D(e,t){function r(e){return C.exports[_(e,t)]}var n=[];for(var i=0,s=e.length;i<s;i++){if(e[i]=="require"){ n.push(r);continue}if(e[i]=="exports"){t.exports=t.exports||{},n.push(t.exports) ;continue}n.push(r(e[i]))}return n}function P(){var e=b(arguments),t=[],n,r;retu rn typeof e[0]=="string"&&(n=e.shift()),w(e[0])&&(t=e.shift()),r=e.shift(),O(n,f unction(e){function s(){var i=D(b(t),n),s;typeof r=="function"?s=r.apply(n,i):s= r,typeof s=="undefined"&&(s=n.exports),e(s)}var n=this,i=[];for(var o=0,u=t.leng th;o<u;o++){var a=t[o];E(["require","exports"],a)==-1&&i.push(_(a,n))}i.length>0 ?H.apply(this,i.concat(s)):s()})}function H(){var e=b(arguments),t,n;typeof e[e. length-1]=="function"&&(t=e.pop()),typeof e[e.length-1]=="boolean"&&(n=e.pop()); var r=new k(B(e,n),n);return t&&r.then(t),r}function B(e,t){var n=[];for(var r=0 ,i;i=e[r];r++)typeof i=="string"&&(i=j(i)),w(i)&&(i=new L(B(i,t),t)),n.push(i);r eturn n}function j(e){var t,n;for(var r=0,i;i=H.matchers[r];r++){var s=i[0],o=i[ 1];if(t=e.match(s))return o(e)}throw new Error(e+" was not recognised by loader" )}function I(){return e.using=h,e.provide=p,e.define=d,e.loadrunner=v,F}function q(e){for(var t=0;t<H.bundles.length;t++)for(var n in H.bundles[t])if(n!=e&&E(H. bundles[t][n],e)>-1)return n}var n=e.attachEvent&&!e.opera,r=t.getElementsByTagN ame("script"),i=0,s,o=t.createElement("script"),u={},a={},f,l,c={},h=e.using,p=e .provide,d=e.define,v=e.loadrunner;for(var m=0,g;g=r[m];m++)if(g.src.match(/load runner\.js(\?|#|$)/)){s=g;break}var w=Array.isArray||function(e){return e.constr uctor==Array};T.prototype.then=function(t){var n=this;return this.started||(this .started=!0,this.start()),this.completed?t.apply(e,this.results):(this.callbacks =this.callbacks||[],this.callbacks.push(t)),this},T.prototype.start=function(){} ,T.prototype.complete=function(){if(!this.completed){this.results=b(arguments),t his.completed=!0;if(this.callbacks)for(var t=0,n;n=this.callbacks[t];t++)n.apply (e,this.results)}},N.loaded=[],N.prototype=new T,N.prototype.start=function(){va

r e=this,t,n,r;return(r=a[this.id])?(r.then(function(){e.complete()}),this):((t= u[this.id])?t.then(function(){e.loaded()}):!this.force&&E(N.loaded,this.id)>-1?t his.loaded():(n=q(this.id))?H(n,function(){e.loaded()}):this.load(),this)},N.pro totype.load=function(){var t=this;u[this.id]=t;var n=o.cloneNode(!1);this.script Id=n.id="LR"+ ++i,n.type="text/javascript",n.async=!0,n.onerror=function(){throw new Error(t.path+" not loaded")},n.onreadystatechange=n.onload=function(n){n=e. event||n;if(n.type=="load"||E(["loaded","complete"],this.readyState)>-1)this.onr eadystatechange=null,t.loaded()},n.src=this.path,l=this,r[0].parentNode.insertBe fore(n,r[0]),l=null,c[n.id]=this},N.prototype.loaded=function(){this.complete()} ,N.prototype.complete=function(){E(N.loaded,this.id)==-1&&N.loaded.push(this.id) ,delete u[this.id],T.prototype.complete.apply(this,arguments)},C.exports={},C.pr ototype=new N,C.prototype.resolvePath=function(e){return S(H.path,e+".js")},C.pr ototype.start=function(){var e,t,n=this,r;this.body?this.execute():(e=C.exports[ this.id])?this.exp(e):(t=a[this.id])?t.then(function(e){n.exp(e)}):(bundle=q(thi s.id))?H(bundle,function(){n.start()}):(a[this.id]=this,this.load())},C.prototyp e.loaded=function(){var e,t,r=this;n?(t=C.exports[this.id])?this.exp(t):(e=a[thi s.id])&&e.then(function(e){r.exp(e)}):(e=f,f=null,e.id=e.id||this.id,e.then(func tion(e){r.exp(e)}))},C.prototype.complete=function(){delete a[this.id],N.prototy pe.complete.apply(this,arguments)},C.prototype.execute=function(){var e=this;typ eof this.body=="object"?this.exp(this.body):typeof this.body=="function"&&this.b ody.apply(window,[function(t){e.exp(t)}])},C.prototype.exp=function(e){this.comp lete(this.exports=C.exports[this.id]=e||{})},k.prototype=new T,k.prototype.start =function(){function t(){var t=[];e.collectResults&&(t[0]={});for(var n=0,r;r=e. deps[n];n++){if(!r.completed)return;r.results.length>0&&(e.collectResults?r inst anceof L?y(t[0],r.results[0]):x(t[0],r.id,r.results[0]):t=t.concat(r.results))}e .complete.apply(e,t)}var e=this;for(var n=0,r;r=this.deps[n];n++)r.then(t);retur n this},L.prototype=new T,L.prototype.start=function(){var e=this,t=0,n=[];retur n e.collectResults&&(n[0]={}),function r(){var i=e.deps[t++];i?i.then(function(t ){i.results.length>0&&(e.collectResults?i instanceof L?y(n[0],i.results[0]):x(n[ 0],i.id,i.results[0]):n.push(i.results[0])),r()}):e.complete.apply(e,n)}(),this} ,P.amd={};var F=function(e){return e(H,M,F,define)};F.Script=N,F.Module=C,F.Coll ection=k,F.Sequence=L,F.Dependency=T,F.noConflict=I,e.loadrunner=F,e.using=H,e.p rovide=M,e.define=P,H.path="",H.matchers=[],H.matchers.add=function(e,t){this.un shift([e,t])},H.matchers.add(/(^script!|\.js$)/,function(e){var t=new N(e.replac e(/^\$/,H.path.replace(/\/$/,"")+"/").replace(/^script!/,""),!1);return t.id=e,t }),H.matchers.add(/^[a-zA-Z0-9_\-\/]+$/,function(e){return new C(e)}),H.bundles= [],s&&(H.path=s.getAttribute("data-path")||s.src.split(/loadrunner\.js/)[0]||"", (main=s.getAttribute("data-main"))&&H.apply(e,main.split(/\s*,\s*/)).then(functi on(){}))})(this,document);;var __twttrlr = loadrunner.noConflict();__twttrlr(fun ction(using, provide, loadrunner, define) {provide("i18n/languages",function(a){ a(["ko","ar","sv","it","id","fr","fi","pl","pt","fa","zh-cn","ur","hi","ru","hu" ,"he","es","fil","msa","ja","tr","th","zh-tw","de","da","no","nl"])});provide("u til/querystring",function(a){function b(a){return encodeURIComponent(a).replace( /\+/g,"%2B")}function c(a){return decodeURIComponent(a)}function d(a){var c=[],d ;for(d in a)a[d]!==null&&typeof a[d]!="undefined"&&c.push(b(d)+"="+b(a[d]));retu rn c.sort().join("&")}function e(a){var b={},d,e,f,g;if(a){d=a.split("&");for(g= 0;f=d[g];g++)e=f.split("="),e.length==2&&(b[c(e[0])]=c(e[1]))}return b}function f(a,b){var c=d(b);return c.length>0?a.indexOf("?")>=0?a+"&"+d(b):a+"?"+d(b):a}fu nction g(a){var b=a&&a.split("?");return b.length==2?e(b[1]):{}}a({url:f,decodeU RL:g,decode:e,encode:d,encodePart:b,decodePart:c})});provide("util/params",funct ion(a){using("util/querystring",function(b){var c=function(a){var c=a.search.sub str(1);return b.decode(c)},d=function(a){var c=a.href,d=c.indexOf("#"),e=d<0?"": c.substring(d+1);return b.decode(e)},e=function(a){var b={},e=c(a),f=d(a);for(va r g in e)e.hasOwnProperty(g)&&(b[g]=e[g]);for(var g in f)f.hasOwnProperty(g)&&(b [g]=f[g]);return b};a({combined:e,fromQuery:c,fromFragment:d})})});provide("tfw/ widget/env",function(a){using("util/params",function(b){function d(){var a=36e5, d=b.combined(document.location)._;return c!==undefined?c:(c=!1,d&&/^\d+$/.test(d )&&(c=+(new Date)-parseInt(d)<a),c)}var c;a({isDynamicWidget:d})})});provide("xd /detection",function(a){function b(){try{return!!navigator.plugins["Shockwave Fl ash"]||!!(new ActiveXObject("ShockwaveFlash.ShockwaveFlash"))}catch(a){return!1}

}a({getFlashEnabled:b,hasPostMessage:!!window.postMessage,isIE:!!navigator.userA gent.match("MSIE")})});provide("util/widgetrpc",function(a){using("xd/detection" ,"tfw/widget/env",function(b,c){function k(){if(f)return f;if(!c.isDynamicWidget ())return;var a=0,d=parent.frames.length,g;try{f=parent.frames[e];if(f)return f} catch(h){}if(!b.isIE)return;for(;a<d;a++)try{g=parent.frames[a];if(g&&typeof g.o penIntent=="function")return f=g}catch(h){}}function l(){var a={};(typeof argume nts[0]).toLowerCase()==="function"?a.success=arguments[0]:a=arguments[0];var b=a .success||function(){},d=a.timeout||function(){},e=a.nohub||function(){},f=a.com plete||function(){},m=a.attempt!==undefined?a.attempt:j;if(!c.isDynamicWidget()| |g)return e(),f(),!1;var n=k();m--;try{if(n&&n.trigger){b(n),f();return}}catch(o ){}if(m<=0){g=!0,d(),f();return}if(+(new Date)-h>i*j){g=!0,e();return}window.set Timeout(function(){l({success:b,timeout:d,nohub:e,attempt:m,complete:f})},i)}var d="twttrHubFrameSecure",e=document.location.protocol=="http:"?"twttrHubFrame":d ,f,g,h=+(new Date),i=100,j=20;a({withHub:l,contextualHubId:e,secureHubId:d})})}) ;provide("util/decider",function(a){function c(a){var c=b[a]||!1;if(!c)return!1; if(c===!0||c===100)return!0;var d=Math.random()*100,e=c>=d;return b[a]=e,e}var b ={force_new_cookie:100,rufous_pixel:100,decider_fixture:12.34};a({isAvailable:c} )});provide("util/util",function(a){function b(a){var b=1,c,d;for(;c=arguments[b ];b++)for(d in c)a[d]=c[d];return a}function c(a){return b([],a)}function d(a){f or(var b in a)a.hasOwnProperty(b)&&!a[b]&&a[b]!==!1&&a[b]!==0&&delete a[b]}funct ion e(a,b){var c=0,d;for(;d=a[c];c++)if(b==d)return c;return-1}function f(a,b){i f(!a)return null;if(a.filter)return a.filter.apply(a,[b]);if(!b)return a;var c=[ ],d=0,e;for(;e=a[d];d++)b(e)&&c.push(e);return c}function g(a,b){if(!a)return nu ll;if(a.map)return a.map.apply(a,[b]);if(!b)return a;var c=[],d=0,e;for(;e=a[d]; d++)c.push(b(e));return c}function h(a){return{}.toString.call(a).match(/\s([a-z A-Z]+)/)[1].toLowerCase()}function i(a){return a&&String(a).toLowerCase().indexO f("[native code]")>-1}function j(a,b){if(a.contains)return a.contains(b);var c=b .parentNode;while(c){if(c===a)return!0;c=c.parentNode}return!1}a({array:c,aug:b, compact:d,containsElement:j,filter:f,map:g,indexOf:e,isNative:i,toType:h})});pro vide("dom/cookie",function(a){using("util/util",function(b){a(function(a,c,d){va r e=b.aug({},d);if(arguments.length>1&&String(c)!=="[object Object]"){if(c===nul l||c===undefined)e.expires=-1;if(typeof e.expires=="number"){var f=e.expires,g=n ew Date((new Date).getTime()+f*60*1e3);e.expires=g}return c=String(c),document.c ookie=[encodeURIComponent(a),"=",e.raw?c:encodeURIComponent(c),e.expires?"; expi res="+e.expires.toUTCString():"",e.path?"; path="+e.path:"",e.domain?"; domain=" +e.domain:"",e.secure?"; secure":""].join("")}e=c||{};var h,i=e.raw?function(a){ return a}:decodeURIComponent;return(h=(new RegExp("(?:^|; )"+encodeURIComponent( a)+"=([^;]*)")).exec(document.cookie))?i(h[1]):null})})});provide("util/donottra ck",function(a){using("dom/cookie",function(b){a(function(a){var c=/\.(gov|mil)( :\d+)?$/i,d=/https?:\/\/([^\/]+).*/i;return a=a||document.referrer,a=d.test(a)&& d.exec(a)[1],b("dnt")?!0:c.test(document.location.host)?!0:a&&c.test(a)?!0:docum ent.navigator?document.navigator["doNotTrack"]==1:navigator?navigator["doNotTrac k"]==1||navigator["msDoNotTrack"]==1:!1})})});provide("tfw/widget/guest_cookie", function(a){using("dom/cookie","util/donottrack","util/decider",function(b,c,d){ function f(){var a=b(e)||!1;if(!a)return;a.match(/^v3\:/)||g()}function g(){b(e) &&b(e,null,{domain:".twitter.com",path:"/"})}function h(){c()&&g()}var e="pid";a ({set:h,destroy:g,forceNewCookie:f,guest_id_cookie:e})})});provide("$xd/json2.js ", function(exports) {window.JSON||(window.JSON={}),function(){function f(a){ret urn a<10?"0"+a:a}function quote(a){return escapable.lastIndex=0,escapable.test(a )?'"'+a.replace(escapable,function(a){var b=meta[a];return typeof b=="string"?b: "\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function s tr(a,b){var c,d,e,f,g=gap,h,i=b[a];i&&typeof i=="object"&&typeof i.toJSON=="func tion"&&(i=i.toJSON(a)),typeof rep=="function"&&(i=rep.call(b,a,i));switch(typeof i){case"string":return quote(i);case"number":return isFinite(i)?String(i):"null ";case"boolean":case"null":return String(i);case"object":if(!i)return"null";gap+ =indent,h=[];if(Object.prototype.toString.apply(i)==="[object Array]"){f=i.lengt h;for(c=0;c<f;c+=1)h[c]=str(c,i)||"null";return e=h.length===0?"[]":gap?"[\n"+ga p+h.join(",\n"+gap)+"\n"+g+"]":"["+h.join(",")+"]",gap=g,e}if(rep&&typeof rep==" object"){f=rep.length;for(c=0;c<f;c+=1)d=rep[c],typeof d=="string"&&(e=str(d,i), e&&h.push(quote(d)+(gap?": ":":")+e))}else for(d in i)Object.hasOwnProperty.call

(i,d)&&(e=str(d,i),e&&h.push(quote(d)+(gap?": ":":")+e));return e=h.length===0?" {}":gap?"{\n"+gap+h.join(",\n"+gap)+"\n"+g+"}":"{"+h.join(",")+"}",gap=g,e}}type of Date.prototype.toJSON!="function"&&(Date.prototype.toJSON=function(a){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f (this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f( this.getUTCSeconds())+"Z":null},String.prototype.toJSON=Number.prototype.toJSON= Boolean.prototype.toJSON=function(a){return this.valueOf()});var cx=/[\u0000\u00 ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\u fff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4 \u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,m eta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\ "},rep;typeof JSON.stringify!="function"&&(JSON.stringify=function(a,b,c){var d; gap="",indent="";if(typeof c=="number")for(d=0;d<c;d+=1)indent+=" ";else typeof c=="string"&&(indent=c);rep=b;if(!b||typeof b=="function"||typeof b=="object"&&t ypeof b.length=="number")return str("",{"":a});throw new Error("JSON.stringify") }),typeof JSON.parse!="function"&&(JSON.parse=function(text,reviver){function wa lk(a,b){var c,d,e=a[b];if(e&&typeof e=="object")for(c in e)Object.hasOwnProperty .call(e,c)&&(d=walk(e,c),d!==undefined?e[c]=d:delete e[c]);return reviver.call(a ,b,e)}var j;cx.lastIndex=0,cx.test(text)&&(text=text.replace(cx,function(a){retu rn"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.te st(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]* "|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?: \s*\[)+/g,"")))return j=eval("("+text+")"),typeof reviver=="function"?walk({"":j },""):j;throw new SyntaxError("JSON.parse")})}();exports();loadrunner.Script.loa ded.push("$xd/json2.js")});provide("$vendor/domready/ready.js", function(exports ) {!function(a){function k(){b=1;for(var a=0,d=c.length;a<d;a++)c[a]()}var b=0,c =[],d,e,f=!1,g=a.createElement("a"),h="DOMContentLoaded",i="addEventListener",j= "onreadystatechange";/^loade|c/.test(a.readyState)&&(b=1),a[i]&&a[i](h,e=functio n(){a.removeEventListener(h,e,f),k()},f),g.doScroll&&a.attachEvent(j,d=function( ){/^c/.test(a.readyState)&&(a.detachEvent(j,d),k())});var l=g.doScroll?function( a){self!=top?b?a():c.push(a):!function(){try{g.doScroll("left")}catch(b){return setTimeout(function(){l(a)},50)}a()}()}:function(a){b?a():c.push(a)};typeof modu le!="undefined"&&module.exports?module.exports={domReady:l}:window.domReady=l}(d ocument);exports();loadrunner.Script.loaded.push("$vendor/domready/ready.js")}); provide("util/domready",function(a){using("$vendor/domready/ready.js",function() {a(domReady)})});provide("dom/sandbox",function(a){using("util/domready",functio n(b){function d(a,b){var c,d,e;if(a.name){try{e=document.createElement('<iframe name="'+a.name+'"></iframe>')}catch(f){e=document.createElement("iframe"),e.name =a.name}delete a.name}else e=document.createElement("iframe");a.id&&(e.id=a.id,d elete a.id);for(c in a)a.hasOwnProperty(c)&&e.setAttribute(c,a[c]);e.allowtransp arency="true",e.scrolling="no",e.setAttribute("frameBorder",0);for(d in b||{})b. hasOwnProperty(d)&&(e.style[d]=b[d]);return e}function e(a,b,c,e){var f;this.att rs=b||{},this.styles=c||{},this.appender=e,this.onReady=a,this.sandbox={},f=d(th is.attrs,this.styles),f.onreadystatechange=f.onload=this.getCallback(this.onLoad ),this.sandbox.frame=f,e?e(f):document.body.appendChild(f)}function f(a,c,d,f){b (function(){new e(a,c,d,f)})}var c=0;window.twttr||(window.twttr={}),window.twtt r.sandbox||(window.twttr.sandbox={}),e.prototype.getCallback=function(a){var b=t his,c=!1;return function(){c||(c=!0,a.call(b))}},e.prototype.registerCallback=fu nction(a){var b="cb"+c++;return window.twttr.sandbox[b]=a,b},e.prototype.onLoad= function(){try{this.sandbox.frame.contentWindow.document}catch(a){this.setDocDom ain();return}this.sandbox.win=this.sandbox.frame.contentWindow,this.sandbox.doc= this.sandbox.frame.contentWindow.document,this.writeStandardsDoc(),this.sandbox. body=this.sandbox.frame.contentWindow.document.body,this.onReady(this.sandbox)}, e.prototype.setDocDomain=function(){var a,b=this.registerCallback(this.getCallba ck(this.onLoad));a=["javascript:",'document.write("");',"try { window.parent.doc ument; }","catch (e) {",'document.domain="'+document.domain+'";',"}",'window.par ent.twttr.sandbox["'+b+'"]();'].join(""),this.sandbox.frame.parentNode.removeChi ld(this.sandbox.frame),this.sandbox.frame=null,this.sandbox.frame=d(this.attrs,t his.styles),this.sandbox.frame.src=a,this.appender?this.appender(this.sandbox.fr ame):document.body.appendChild(this.sandbox.frame)},e.prototype.writeStandardsDo

c=function(){var a=["<!DOCTYPE html>","<html>","<head>","<scr","ipt>","try { win dow.parent.document; }",'catch (e) {document.domain="'+document.domain+'";}',"</ scr","ipt>","</head>","<body></body>","</html>"].join("");this.sandbox.doc.write (a),this.sandbox.doc.close()},a(f)})});provide("tfw/widget/tracking",function(a) {using("dom/cookie","dom/sandbox","util/donottrack","tfw/widget/guest_cookie","t fw/widget/env","util/util","$xd/json2.js",function(b,c,d,e,f,g,h){function u(){f unction a(a){t=a.frame,s=a.doc,r=a.doc.body,n=D(),o=E();while(p[0])y.apply(this, p.shift());q&&z()}t=document.getElementById("rufous-sandbox"),t?(s=t.contentWind ow.document,r=s.body):c(a,{id:"rufous-sandbox"},{display:"none"})}function v(a,b ,c){var d=i+b;if(!a)return;return a[d]=c,a}function w(a,c,g,h,i){var k=j[g],l,m= {},n;if(!k)return;c||(c={}),i=!!i,h=!!h,n=c.original_redirect_referrer||document .referrer,i=i||d(n);for(l in c)m[l]=c[l];h||(v(m,"referrer",n),v(m,"widget",+f.i sDynamicWidget()),v(m,"hask",+!!b("k")),v(m,"li",+!!b("twid")),v(m,e.guest_id_co okie,b(e.guest_id_cookie)||"")),i&&(v(m,"dnt",1),G(m)),F(a,k+"?"+C(m)),x(a,c,g,h ,i)}function x(a,b,c,d,e){var f=B(b,c,d,e),g="//r.twimg.com/jot?";if(!f)return;g +=C({l:H(f)}),f.dnt&&(g+="&dnt="+ +f.dnt),F(a,g)}function y(a,b,c,d){var e,f,g,h ;if(!r){p.push([a,b,c,d]);return}e=B(a,b,c,d),f=n.firstChild;if(!e)return;g=s.cr eateElement("input"),f.value=+f.value||+e.dnt,h=H(e),g.type="hidden",g.name="l", g.value=h,n.appendChild(g)}function z(){if(!n){q=!0;return}if(n.children.length< =1)return;r.appendChild(n),r.appendChild(o),n.submit(),window.setTimeout(A(n,o), 6e4),n=D(),o=E()}function A(a,b){return function(){var c=a.parentNode;c.removeCh ild(a),c.removeChild(b)}}function B(a,c,h,i){var j={_category_:"tfw_widgets"},l, m,n,o,p;c=~g.indexOf(k,c)&&c;if(!c)return;a||(a={}),h=!!h,i=!!i,j.event_name=c+" :impression",p=a.original_redirect_referrer||document.referrer,j.dnt=i=i||d(p);f or(l in a)a.hasOwnProperty(l)&&(j[l]=a[l]);return h||(j.logged_in=!!b("twid"),j. referrer=p,j.widget=f.isDynamicWidget(),j.pid=b(e.guest_id_cookie)||""),i&&G(j), j}function C(a){var b=[],c,d,e;for(c in a)a.hasOwnProperty(c)&&(d=encodeURICompo nent(c),e=encodeURIComponent(a[c]),e=e.replace(/'/g,"%27"),b.push(d+"="+e));retu rn b.join("&")}function D(){var a=s.createElement("form"),b=s.createElement("inp ut");return m++,a.action="//r.twimg.com/jot",a.method="POST",a.target="rufous-fr ame-"+m,a.id="rufous-form-"+m,b.type="hidden",b.name="dnt",b.value=0,a.appendChi ld(b),a}function E(){var a,b="rufous-frame-"+m,c=0;try{a=s.createElement("<ifram e name="+b+">")}catch(d){a=s.createElement("iframe"),a.name=b}return a.id=b,a.st yle.display="none",a.width=0,a.height=0,a.border=0,a}function F(a,b){var c=a.own erDocument.createElement("img");c.src=b,c.alt="",c.style.position="absolute",c.s tyle.height="1px",c.style.width="1px",c.style.top="-9999px",c.style.left="-9999p x",a.appendChild(c)}function G(a){var b;for(b in a)~g.indexOf(l,b)&&delete a[b]} function H(a){var b=Array.prototype.toJSON,c;return delete Array.prototype.toJSO N,c=JSON.stringify(a),Array.prototype.toJSON=b,c}var i="twttr_",j={tweetbutton:" //p.twitter.com/t.gif",followbutton:"//p.twitter.com/f.gif",tweetembed:"//p.twit ter.com/e.gif"},k=["tweetbutton","followbutton","tweetembed","tweetbox","timelin e","timeline-poll"],l=["hask","li","logged_in","pid",e.guest_id_cookie,i+"hask", i+"li",i+e.guest_id_cookie],m=0,n,o,p=[],q,r,s,t;e.forceNewCookie(),a({enqueue:y ,flush:z,initPostLogging:u,addPixel:w,addRufousPixel:x,addVar:v})})});using("uti l/domready","util/util","util/querystring","util/params","tfw/widget/tracking"," tfw/widget/guest_cookie","util/widgetrpc","i18n/languages",function(a,b,c,d,e,f, g,h){function z(a){i=a,k.innerHTML=F(i)}function A(){a(function(){if(n.url&&n.co unt!=="none"){var a=j.createElement("script");a.type="text/javascript",a.src=twt tr.config.countURL+"?url="+c.encodePart(t)+"&callback=twttr.receiveCount",j.body .appendChild(a)}})}function B(){switch(n.type){case"hashtag":return _("Tweet %{h ashtag}",{hashtag:"<b>#"+n.button_hashtag+"</b>"});case"mention":return _("Tweet to %{name}",{name:"<b>@"+n.screen_name+"</b>"});default:return _("Tweet")}}func tion C(){var a=j.getElementById("l");j.title=_("Tweet Button"),a.innerHTML=B()}f unction D(a,b){var c=a.id+"-desc",d=document.createElement("p");d.id=c,d.classNa me="aria",d.innerHTML=b,j.body.appendChild(d),a.setAttribute("aria-describedby", c)}function E(a){var b="scrollbars=yes,resizable=yes,toolbar=no,location=yes",c= 550,d=420,e=screen.height,f=screen.width,g=Math.round(f/2-c/2),h=0;return e>d&&( h=Math.round(e/2-d/2)),window.open(a,null,b+",width="+c+",height="+d+",left="+g+ ",top="+h)}function F(a){var b,c,d=parseInt(a,10),e=new RegExp("^\\"+_(",")),f={ ja:1,ko:1};return isNaN(d)?"":d<1e4?d.toString().split("").reverse().join("").re

place(/(\d{3})/g,"$1"+_(",")).split("").reverse().join("").replace(e,""):d<1e5?f [n.lang]?(c=(Math.floor(d/100)/100).toString(),c+_("10k unit")):(b=(Math.round(d /100)/10).toString(),b.replace(/\./,_("."))+_("K")):_("100K+")}function G(a){ret urn a=a||window.event,a&&a.preventDefault?a.preventDefault():a.returnValue=!1,a& &a.stopPropagation?a.stopPropagation():a.cancelBubble=!0,!1}function H(a){return a.replace(/(<)|(>)/g,function(a){var b;return a[0]==="<"?b="&lt;":b="&gt;",b})} function I(a){for(var b=0,c=a.length;b<c;b++)a[b]=H(a[b]);return a}function J(a, b){a.className+=" "+b}f.set(),twttr.config=b.aug({countURL:"//cdn.api.twitter.co m/1/urls/count.json",intentURL:"https://twitter.com/intent/tweet"},twttr.config| |{});var i=0,j=document,k=j.getElementById("count"),l=j.getElementById("b"),m,n= I(d.combined(j.location)),o={vertical:"vcount",horizontal:"hcount",none:"ncount" },p={l:"xl",m:"regular"},q=["share","mention","hashtag"],r=[],s,t,u,v,w,x,y;n.la ng=n.lang&&n.lang.toLowerCase(),j.body.parentNode.lang=twttr.lang=n.lang=~b.inde xOf(h,n.lang)?n.lang:"en",rtl=_("ltr"),twttr.receiveCount=function(a){typeof a.c ount=="number"&&(z(a.count),J(j.body,"count-ready"),a.count>0&&(k.title=_("This page has been shared %{tweets} times. View these Tweets.",{tweets:a.count}),D(k, k.title)))},n.type=~b.indexOf(q,n.type)?n.type:"share",n.size=p[n.size]?n.size:" m",J(j.documentElement,p[n.size]||""),n.align=="right"&&J(j.body,"right");if(n.t ype=="mention"||n.screen_name)(y=(n.screen_name||"").match(/^\s*@?([\w_]{1,20})\ s*$/i))?n.screen_name=y[1]:(delete n.screen_name,n.type=="mention"&&(n.type="sha re",n.count="none"));n.type=="hashtag"||n.button_hashtag?((x=(n.button_hashtag|| "").match(/^\s*#?([^.,<>!\s\/#\-\(\)\'\"]+)\s*$/i))?(n.button_hashtag=x[1],n.has htags=n.button_hashtag+","+(n.hashtags||"")):(delete n.button_hashtag,n.type="sh are"),n.count="none"):n.type=="share"?(n.url=n.url||j.referrer,t=n.counturl||n.u rl,u=t&&"http://twitter.com/search?q="+c.encodePart(t),n.size=="l"&&n.count=="ve rtical"&&(n.count="none"),r.push(o[n.count]||"hcount"),A()):n.count="none",r.pus h(rtl),J(j.body,r.join(" ")),C(),J(j.body,"ready"),s={text:n.text,screen_name:n. screen_name,hashtags:n.hashtags,url:n.url,via:n.via,related:n.related,placeid:n. placeid,original_referer:j.referrer,source:"tweetbutton"},v=twttr.config.intentU RL+"?"+c.encode(s),w=n.dnt&&n.dnt.toLowerCase()==="true",e.addPixel(document.bod y,n,"tweetbutton",!1,w),k.href=u,l.href=v,l.onclick=function(a){return g.withHub ({nohub:function(){E(v,n.id)},timeout:function(){E(v,n.id)},success:function(a){ a.openIntent(v,n.id),a.trigger("click",{region:"tweet"},n.id)}}),G(a)},n.searchl ink!="disabled"?(J(k.parentNode,"enabled"),k.onclick=function(a){return window.o pen(u),g.withHub(function(a){a.trigger("click",{region:"tweetcount"},n.id)}),G(a )}):k.onclick=function(a){G(a)}})});;</script></body></html> ------------O3s3W5V3w14LQe7kOhsc0M Content-Disposition: inline Content-Type: image/png Content-Location: data:image/png;base64,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 Content-Transfer-Encoding: Base64 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 uMa+L2z+BexZXK+OBaruAAAAAElFTkSuQmCC ------------O3s3W5V3w14LQe7kOhsc0M Content-Disposition: inline; filename=button1.html Content-Type: text/html; charset=utf-8; name=button1.html Content-Location: http://www.reddit.com/static/button/button1.html?width=120&url =http%3A%2F%2Fsutrisno2629.wordpress.com%2F2009%2F05%2F12%2Fkiat-mencegah-persal inan-prematur%2F&title=Kiat%20Mencegah%20Persalinan%20Prematur Content-Transfer-Encoding: 8bit <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or g/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en" > <head> <title>reddit buttons</title>

/>

<meta name="keywords" content=" reddit, reddit.com, vote, comment, submit "

<meta name="title" content=" reddit buttons " /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" typ e="text/javascript"></script> <script src="../button.js" type="text/javascript"></script> <script type="text/javascript"> var reddit = {}; point_label = function(x) { if (x == 1) { return x + " point"; } return x + " points"; } </script> <link rel="stylesheet" href="../reddit.css" type="text/css" /> <link rel='shortcut icon' href="../favicon.ico" type="image/x-icon" /> <!--[if lt IE 7]> <link rel="stylesheet" href="../reddit-ie6-hax.css" type="text/css" /> <![endif]--> <!--[if lt IE 8]> <link rel="stylesheet" href="../reddit-ie7-hax.css" type="text/css" /> <![endif]--> </head> <body class="button-body"> <div class="button thing"> <div class="blog blog1 entry"> <div class="headimgcell bling"> <a href="/" target="_parent"> <img src="../blog_head.png" alt=""/> </a> </div> <div class="arrow up"></div> <div class="arrow down"></div> <div class="score dislikes"> <a class="r" href="/" target="_top">reddit</a> </div> <div class="score unvoted"> <a class="r" href="/" target="_top">reddit</a> </div> <div class="score likes"> <a class="r" href="/" target="_top">reddit</a> </div> <div class="clear"> </div> </div> </div> </body> </html> ------------O3s3W5V3w14LQe7kOhsc0M Content-Disposition: inline; filename=jquery.min.js Content-Type: text/javascript; charset=UTF-8; name=jquery.min.js Content-Location: http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.j s Content-Transfer-Encoding: Base64 LyohCiAqIGpRdWVyeSBKYXZhU2NyaXB0IExpYnJhcnkgdjEuNi4xCiAqIGh0dHA6 Ly9qcXVlcnkuY29tLwogKgogKiBDb3B5cmlnaHQgMjAxMSwgSm9obiBSZXNpZwog

KiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBs aWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBJbmNs dWRlcyBTaXp6bGUuanMKICogaHR0cDovL3NpenpsZWpzLmNvbS8KICogQ29weXJp Z2h0IDIwMTEsIFRoZSBEb2pvIEZvdW5kYXRpb24KICogUmVsZWFzZWQgdW5kZXIg dGhlIE1JVCwgQlNELCBhbmQgR1BMIExpY2Vuc2VzLgogKgogKiBEYXRlOiBUaHUg TWF5IDEyIDE1OjA0OjM2IDIwMTEgLTA0MDAKICovCihmdW5jdGlvbihhLGIpe2Z1 bmN0aW9uIGN5KGEpe3JldHVybiBmLmlzV2luZG93KGEpP2E6YS5ub2RlVHlwZT09 PTk/YS5kZWZhdWx0Vmlld3x8YS5wYXJlbnRXaW5kb3c6ITF9ZnVuY3Rpb24gY3Yo YSl7aWYoIWNqW2FdKXt2YXIgYj1mKCI8IithKyI+IikuYXBwZW5kVG8oImJvZHki KSxkPWIuY3NzKCJkaXNwbGF5Iik7Yi5yZW1vdmUoKTtpZihkPT09Im5vbmUifHxk PT09IiIpe2NrfHwoY2s9Yy5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKSxjay5mcmFt ZUJvcmRlcj1jay53aWR0aD1jay5oZWlnaHQ9MCksYy5ib2R5LmFwcGVuZENoaWxk KGNrKTtpZighY2x8fCFjay5jcmVhdGVFbGVtZW50KWNsPShjay5jb250ZW50V2lu ZG93fHxjay5jb250ZW50RG9jdW1lbnQpLmRvY3VtZW50LGNsLndyaXRlKCI8IWRv Y3R5cGU+PGh0bWw+PGJvZHk+PC9ib2R5PjwvaHRtbD4iKTtiPWNsLmNyZWF0ZUVs ZW1lbnQoYSksY2wuYm9keS5hcHBlbmRDaGlsZChiKSxkPWYuY3NzKGIsImRpc3Bs YXkiKSxjLmJvZHkucmVtb3ZlQ2hpbGQoY2spfWNqW2FdPWR9cmV0dXJuIGNqW2Fd fWZ1bmN0aW9uIGN1KGEsYil7dmFyIGM9e307Zi5lYWNoKGNwLmNvbmNhdC5hcHBs eShbXSxjcC5zbGljZSgwLGIpKSxmdW5jdGlvbigpe2NbdGhpc109YX0pO3JldHVy biBjfWZ1bmN0aW9uIGN0KCl7Y3E9Yn1mdW5jdGlvbiBjcygpe3NldFRpbWVvdXQo Y3QsMCk7cmV0dXJuIGNxPWYubm93KCl9ZnVuY3Rpb24gY2koKXt0cnl7cmV0dXJu IG5ldyBhLkFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxIVFRQIil9Y2F0Y2go Yil7fX1mdW5jdGlvbiBjaCgpe3RyeXtyZXR1cm4gbmV3IGEuWE1MSHR0cFJlcXVl c3R9Y2F0Y2goYil7fX1mdW5jdGlvbiBjYihhLGMpe2EuZGF0YUZpbHRlciYmKGM9 YS5kYXRhRmlsdGVyKGMsYS5kYXRhVHlwZSkpO3ZhciBkPWEuZGF0YVR5cGVzLGU9 e30sZyxoLGk9ZC5sZW5ndGgsaixrPWRbMF0sbCxtLG4sbyxwO2ZvcihnPTE7Zzxp O2crKyl7aWYoZz09PTEpZm9yKGggaW4gYS5jb252ZXJ0ZXJzKXR5cGVvZiBoPT0i c3RyaW5nIiYmKGVbaC50b0xvd2VyQ2FzZSgpXT1hLmNvbnZlcnRlcnNbaF0pO2w9 ayxrPWRbZ107aWYoaz09PSIqIilrPWw7ZWxzZSBpZihsIT09IioiJiZsIT09ayl7 bT1sKyIgIitrLG49ZVttXXx8ZVsiKiAiK2tdO2lmKCFuKXtwPWI7Zm9yKG8gaW4g ZSl7aj1vLnNwbGl0KCIgIik7aWYoalswXT09PWx8fGpbMF09PT0iKiIpe3A9ZVtq WzFdKyIgIitrXTtpZihwKXtvPWVbb10sbz09PSEwP249cDpwPT09ITAmJihuPW8p O2JyZWFrfX19fSFuJiYhcCYmZi5lcnJvcigiTm8gY29udmVyc2lvbiBmcm9tICIr bS5yZXBsYWNlKCIgIiwiIHRvICIpKSxuIT09ITAmJihjPW4/bihjKTpwKG8oYykp KX19cmV0dXJuIGN9ZnVuY3Rpb24gY2EoYSxjLGQpe3ZhciBlPWEuY29udGVudHMs Zj1hLmRhdGFUeXBlcyxnPWEucmVzcG9uc2VGaWVsZHMsaCxpLGosaztmb3IoaSBp biBnKWkgaW4gZCYmKGNbZ1tpXV09ZFtpXSk7d2hpbGUoZlswXT09PSIqIilmLnNo aWZ0KCksaD09PWImJihoPWEubWltZVR5cGV8fGMuZ2V0UmVzcG9uc2VIZWFkZXIo ImNvbnRlbnQtdHlwZSIpKTtpZihoKWZvcihpIGluIGUpaWYoZVtpXSYmZVtpXS50 ZXN0KGgpKXtmLnVuc2hpZnQoaSk7YnJlYWt9aWYoZlswXWluIGQpaj1mWzBdO2Vs c2V7Zm9yKGkgaW4gZCl7aWYoIWZbMF18fGEuY29udmVydGVyc1tpKyIgIitmWzBd XSl7aj1pO2JyZWFrfWt8fChrPWkpfWo9anx8a31pZihqKXtqIT09ZlswXSYmZi51 bnNoaWZ0KGopO3JldHVybiBkW2pdfX1mdW5jdGlvbiBiXyhhLGIsYyxkKXtpZihm LmlzQXJyYXkoYikpZi5lYWNoKGIsZnVuY3Rpb24oYixlKXtjfHxiRi50ZXN0KGEp P2QoYSxlKTpiXyhhKyJbIisodHlwZW9mIGU9PSJvYmplY3QifHxmLmlzQXJyYXko ZSk/YjoiIikrIl0iLGUsYyxkKX0pO2Vsc2UgaWYoIWMmJmIhPW51bGwmJnR5cGVv ZiBiPT0ib2JqZWN0Iilmb3IodmFyIGUgaW4gYiliXyhhKyJbIitlKyJdIixiW2Vd LGMsZCk7ZWxzZSBkKGEsYil9ZnVuY3Rpb24gYiQoYSxjLGQsZSxmLGcpe2Y9Znx8 Yy5kYXRhVHlwZXNbMF0sZz1nfHx7fSxnW2ZdPSEwO3ZhciBoPWFbZl0saT0wLGo9 aD9oLmxlbmd0aDowLGs9YT09PWJVLGw7Zm9yKDtpPGomJihrfHwhbCk7aSsrKWw9 aFtpXShjLGQsZSksdHlwZW9mIGw9PSJzdHJpbmciJiYoIWt8fGdbbF0/bD1iOihj LmRhdGFUeXBlcy51bnNoaWZ0KGwpLGw9YiQoYSxjLGQsZSxsLGcpKSk7KGt8fCFs KSYmIWdbIioiXSYmKGw9YiQoYSxjLGQsZSwiKiIsZykpO3JldHVybiBsfWZ1bmN0 aW9uIGJaKGEpe3JldHVybiBmdW5jdGlvbihiLGMpe3R5cGVvZiBiIT0ic3RyaW5n IiYmKGM9YixiPSIqIik7aWYoZi5pc0Z1bmN0aW9uKGMpKXt2YXIgZD1iLnRvTG93 ZXJDYXNlKCkuc3BsaXQoYlEpLGU9MCxnPWQubGVuZ3RoLGgsaSxqO2Zvcig7ZTxn O2UrKyloPWRbZV0saj0vXlwrLy50ZXN0KGgpLGomJihoPWguc3Vic3RyKDEpfHwi KiIpLGk9YVtoXT1hW2hdfHxbXSxpW2o/InVuc2hpZnQiOiJwdXNoIl0oYyl9fX1m dW5jdGlvbiBiRChhLGIsYyl7dmFyIGQ9Yj09PSJ3aWR0aCI/Yng6YnksZT1iPT09 IndpZHRoIj9hLm9mZnNldFdpZHRoOmEub2Zmc2V0SGVpZ2h0O2lmKGM9PT0iYm9y

ZGVyIilyZXR1cm4gZTtmLmVhY2goZCxmdW5jdGlvbigpe2N8fChlLT1wYXJzZUZs b2F0KGYuY3NzKGEsInBhZGRpbmciK3RoaXMpKXx8MCksYz09PSJtYXJnaW4iP2Ur PXBhcnNlRmxvYXQoZi5jc3MoYSwibWFyZ2luIit0aGlzKSl8fDA6ZS09cGFyc2VG bG9hdChmLmNzcyhhLCJib3JkZXIiK3RoaXMrIldpZHRoIikpfHwwfSk7cmV0dXJu IGV9ZnVuY3Rpb24gYm4oYSxiKXtiLnNyYz9mLmFqYXgoe3VybDpiLnNyYyxhc3lu YzohMSxkYXRhVHlwZToic2NyaXB0In0pOmYuZ2xvYmFsRXZhbCgoYi50ZXh0fHxi LnRleHRDb250ZW50fHxiLmlubmVySFRNTHx8IiIpLnJlcGxhY2UoYmYsIi8qJDAq LyIpKSxiLnBhcmVudE5vZGUmJmIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChiKX1m dW5jdGlvbiBibShhKXtmLm5vZGVOYW1lKGEsImlucHV0Iik/YmwoYSk6YS5nZXRF bGVtZW50c0J5VGFnTmFtZSYmZi5ncmVwKGEuZ2V0RWxlbWVudHNCeVRhZ05hbWUo ImlucHV0IiksYmwpfWZ1bmN0aW9uIGJsKGEpe2lmKGEudHlwZT09PSJjaGVja2Jv eCJ8fGEudHlwZT09PSJyYWRpbyIpYS5kZWZhdWx0Q2hlY2tlZD1hLmNoZWNrZWR9 ZnVuY3Rpb24gYmsoYSl7cmV0dXJuImdldEVsZW1lbnRzQnlUYWdOYW1lImluIGE/ YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpOiJxdWVyeVNlbGVjdG9yQWxsImlu IGE/YS5xdWVyeVNlbGVjdG9yQWxsKCIqIik6W119ZnVuY3Rpb24gYmooYSxiKXt2 YXIgYztpZihiLm5vZGVUeXBlPT09MSl7Yi5jbGVhckF0dHJpYnV0ZXMmJmIuY2xl YXJBdHRyaWJ1dGVzKCksYi5tZXJnZUF0dHJpYnV0ZXMmJmIubWVyZ2VBdHRyaWJ1 dGVzKGEpLGM9Yi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO2lmKGM9PT0ib2JqZWN0 IiliLm91dGVySFRNTD1hLm91dGVySFRNTDtlbHNlIGlmKGMhPT0iaW5wdXQifHxh LnR5cGUhPT0iY2hlY2tib3giJiZhLnR5cGUhPT0icmFkaW8iKXtpZihjPT09Im9w dGlvbiIpYi5zZWxlY3RlZD1hLmRlZmF1bHRTZWxlY3RlZDtlbHNlIGlmKGM9PT0i aW5wdXQifHxjPT09InRleHRhcmVhIiliLmRlZmF1bHRWYWx1ZT1hLmRlZmF1bHRW YWx1ZX1lbHNlIGEuY2hlY2tlZCYmKGIuZGVmYXVsdENoZWNrZWQ9Yi5jaGVja2Vk PWEuY2hlY2tlZCksYi52YWx1ZSE9PWEudmFsdWUmJihiLnZhbHVlPWEudmFsdWUp O2IucmVtb3ZlQXR0cmlidXRlKGYuZXhwYW5kbyl9fWZ1bmN0aW9uIGJpKGEsYil7 aWYoYi5ub2RlVHlwZT09PTEmJiEhZi5oYXNEYXRhKGEpKXt2YXIgYz1mLmV4cGFu ZG8sZD1mLmRhdGEoYSksZT1mLmRhdGEoYixkKTtpZihkPWRbY10pe3ZhciBnPWQu ZXZlbnRzO2U9ZVtjXT1mLmV4dGVuZCh7fSxkKTtpZihnKXtkZWxldGUgZS5oYW5k bGUsZS5ldmVudHM9e307Zm9yKHZhciBoIGluIGcpZm9yKHZhciBpPTAsaj1nW2hd Lmxlbmd0aDtpPGo7aSsrKWYuZXZlbnQuYWRkKGIsaCsoZ1toXVtpXS5uYW1lc3Bh Y2U/Ii4iOiIiKStnW2hdW2ldLm5hbWVzcGFjZSxnW2hdW2ldLGdbaF1baV0uZGF0 YSl9fX19ZnVuY3Rpb24gYmgoYSxiKXtyZXR1cm4gZi5ub2RlTmFtZShhLCJ0YWJs ZSIpP2EuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRib2R5IilbMF18fGEuYXBwZW5k Q2hpbGQoYS5vd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRib2R5IikpOmF9 ZnVuY3Rpb24gWChhLGIsYyl7Yj1ifHwwO2lmKGYuaXNGdW5jdGlvbihiKSlyZXR1 cm4gZi5ncmVwKGEsZnVuY3Rpb24oYSxkKXt2YXIgZT0hIWIuY2FsbChhLGQsYSk7 cmV0dXJuIGU9PT1jfSk7aWYoYi5ub2RlVHlwZSlyZXR1cm4gZi5ncmVwKGEsZnVu Y3Rpb24oYSxkKXtyZXR1cm4gYT09PWI9PT1jfSk7aWYodHlwZW9mIGI9PSJzdHJp bmciKXt2YXIgZD1mLmdyZXAoYSxmdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlVHlw ZT09PTF9KTtpZihTLnRlc3QoYikpcmV0dXJuIGYuZmlsdGVyKGIsZCwhYyk7Yj1m LmZpbHRlcihiLGQpfXJldHVybiBmLmdyZXAoYSxmdW5jdGlvbihhLGQpe3JldHVy biBmLmluQXJyYXkoYSxiKT49MD09PWN9KX1mdW5jdGlvbiBXKGEpe3JldHVybiFh fHwhYS5wYXJlbnROb2RlfHxhLnBhcmVudE5vZGUubm9kZVR5cGU9PT0xMX1mdW5j dGlvbiBPKGEsYil7cmV0dXJuKGEmJmEhPT0iKiI/YSsiLiI6IiIpK2IucmVwbGFj ZShBLCJgIikucmVwbGFjZShCLCImIil9ZnVuY3Rpb24gTihhKXt2YXIgYixjLGQs ZSxnLGgsaSxqLGssbCxtLG4sbyxwPVtdLHE9W10scj1mLl9kYXRhKHRoaXMsImV2 ZW50cyIpO2lmKCEoYS5saXZlRmlyZWQ9PT10aGlzfHwhcnx8IXIubGl2ZXx8YS50 YXJnZXQuZGlzYWJsZWR8fGEuYnV0dG9uJiZhLnR5cGU9PT0iY2xpY2siKSl7YS5u YW1lc3BhY2UmJihuPW5ldyBSZWdFeHAoIihefFxcLikiK2EubmFtZXNwYWNlLnNw bGl0KCIuIikuam9pbigiXFwuKD86LipcXC4pPyIpKyIoXFwufCQpIikpLGEubGl2 ZUZpcmVkPXRoaXM7dmFyIHM9ci5saXZlLnNsaWNlKDApO2ZvcihpPTA7aTxzLmxl bmd0aDtpKyspZz1zW2ldLGcub3JpZ1R5cGUucmVwbGFjZSh5LCIiKT09PWEudHlw ZT9xLnB1c2goZy5zZWxlY3Rvcik6cy5zcGxpY2UoaS0tLDEpO2U9ZihhLnRhcmdl dCkuY2xvc2VzdChxLGEuY3VycmVudFRhcmdldCk7Zm9yKGo9MCxrPWUubGVuZ3Ro O2o8aztqKyspe209ZVtqXTtmb3IoaT0wO2k8cy5sZW5ndGg7aSsrKXtnPXNbaV07 aWYobS5zZWxlY3Rvcj09PWcuc2VsZWN0b3ImJighbnx8bi50ZXN0KGcubmFtZXNw YWNlKSkmJiFtLmVsZW0uZGlzYWJsZWQpe2g9bS5lbGVtLGQ9bnVsbDtpZihnLnBy ZVR5cGU9PT0ibW91c2VlbnRlciJ8fGcucHJlVHlwZT09PSJtb3VzZWxlYXZlIilh LnR5cGU9Zy5wcmVUeXBlLGQ9ZihhLnJlbGF0ZWRUYXJnZXQpLmNsb3Nlc3QoZy5z ZWxlY3RvcilbMF0sZCYmZi5jb250YWlucyhoLGQpJiYoZD1oKTsoIWR8fGQhPT1o

KSYmcC5wdXNoKHtlbGVtOmgsaGFuZGxlT2JqOmcsbGV2ZWw6bS5sZXZlbH0pfX19 Zm9yKGo9MCxrPXAubGVuZ3RoO2o8aztqKyspe2U9cFtqXTtpZihjJiZlLmxldmVs PmMpYnJlYWs7YS5jdXJyZW50VGFyZ2V0PWUuZWxlbSxhLmRhdGE9ZS5oYW5kbGVP YmouZGF0YSxhLmhhbmRsZU9iaj1lLmhhbmRsZU9iaixvPWUuaGFuZGxlT2JqLm9y aWdIYW5kbGVyLmFwcGx5KGUuZWxlbSxhcmd1bWVudHMpO2lmKG89PT0hMXx8YS5p c1Byb3BhZ2F0aW9uU3RvcHBlZCgpKXtjPWUubGV2ZWwsbz09PSExJiYoYj0hMSk7 aWYoYS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpKWJyZWFrfX1yZXR1 cm4gYn19ZnVuY3Rpb24gTChhLGMsZCl7dmFyIGU9Zi5leHRlbmQoe30sZFswXSk7 ZS50eXBlPWEsZS5vcmlnaW5hbEV2ZW50PXt9LGUubGl2ZUZpcmVkPWIsZi5ldmVu dC5oYW5kbGUuY2FsbChjLGUpLGUuaXNEZWZhdWx0UHJldmVudGVkKCkmJmRbMF0u cHJldmVudERlZmF1bHQoKX1mdW5jdGlvbiBGKCl7cmV0dXJuITB9ZnVuY3Rpb24g RSgpe3JldHVybiExfWZ1bmN0aW9uIG0oYSxjLGQpe3ZhciBlPWMrImRlZmVyIixn PWMrInF1ZXVlIixoPWMrIm1hcmsiLGk9Zi5kYXRhKGEsZSxiLCEwKTtpJiYoZD09 PSJxdWV1ZSJ8fCFmLmRhdGEoYSxnLGIsITApKSYmKGQ9PT0ibWFyayJ8fCFmLmRh dGEoYSxoLGIsITApKSYmc2V0VGltZW91dChmdW5jdGlvbigpeyFmLmRhdGEoYSxn LGIsITApJiYhZi5kYXRhKGEsaCxiLCEwKSYmKGYucmVtb3ZlRGF0YShhLGUsITAp LGkucmVzb2x2ZSgpKX0sMCl9ZnVuY3Rpb24gbChhKXtmb3IodmFyIGIgaW4gYSlp ZihiIT09InRvSlNPTiIpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gayhhLGMs ZCl7aWYoZD09PWImJmEubm9kZVR5cGU9PT0xKXt2YXIgZT0iZGF0YS0iK2MucmVw bGFjZShqLCIkMS0kMiIpLnRvTG93ZXJDYXNlKCk7ZD1hLmdldEF0dHJpYnV0ZShl KTtpZih0eXBlb2YgZD09InN0cmluZyIpe3RyeXtkPWQ9PT0idHJ1ZSI/ITA6ZD09 PSJmYWxzZSI/ITE6ZD09PSJudWxsIj9udWxsOmYuaXNOYU4oZCk/aS50ZXN0KGQp P2YucGFyc2VKU09OKGQpOmQ6cGFyc2VGbG9hdChkKX1jYXRjaChnKXt9Zi5kYXRh KGEsYyxkKX1lbHNlIGQ9Yn1yZXR1cm4gZH12YXIgYz1hLmRvY3VtZW50LGQ9YS5u YXZpZ2F0b3IsZT1hLmxvY2F0aW9uLGY9ZnVuY3Rpb24oKXtmdW5jdGlvbiBIKCl7 aWYoIWUuaXNSZWFkeSl7dHJ5e2MuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsKCJs ZWZ0Iil9Y2F0Y2goYSl7c2V0VGltZW91dChILDEpO3JldHVybn1lLnJlYWR5KCl9 fXZhciBlPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBlLmZuLmluaXQoYSxiLGgp fSxmPWEualF1ZXJ5LGc9YS4kLGgsaT0vXig/OltePF0qKDxbXHdcV10rPilbXj5d KiR8IyhbXHdcLV0qKSQpLyxqPS9cUy8saz0vXlxzKy8sbD0vXHMrJC8sbT0vXGQv LG49L148KFx3KylccypcLz8+KD86PFwvXDE+KT8kLyxvPS9eW1xdLDp7fVxzXSok LyxwPS9cXCg/OlsiXFxcL2JmbnJ0XXx1WzAtOWEtZkEtRl17NH0pL2cscT0vIlte IlxcXG5ccl0qInx0cnVlfGZhbHNlfG51bGx8LT9cZCsoPzpcLlxkKik/KD86W2VF XVsrXC1dP1xkKyk/L2cscj0vKD86Xnw6fCwpKD86XHMqXFspKy9nLHM9Lyh3ZWJr aXQpWyBcL10oW1x3Ll0rKS8sdD0vKG9wZXJhKSg/Oi4qdmVyc2lvbik/WyBcL10o W1x3Ll0rKS8sdT0vKG1zaWUpIChbXHcuXSspLyx2PS8obW96aWxsYSkoPzouKj8g cnY6KFtcdy5dKykpPy8sdz1kLnVzZXJBZ2VudCx4LHkseixBPU9iamVjdC5wcm90 b3R5cGUudG9TdHJpbmcsQj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5 LEM9QXJyYXkucHJvdG90eXBlLnB1c2gsRD1BcnJheS5wcm90b3R5cGUuc2xpY2Us RT1TdHJpbmcucHJvdG90eXBlLnRyaW0sRj1BcnJheS5wcm90b3R5cGUuaW5kZXhP ZixHPXt9O2UuZm49ZS5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmUsaW5pdDpmdW5j dGlvbihhLGQsZil7dmFyIGcsaCxqLGs7aWYoIWEpcmV0dXJuIHRoaXM7aWYoYS5u b2RlVHlwZSl7dGhpcy5jb250ZXh0PXRoaXNbMF09YSx0aGlzLmxlbmd0aD0xO3Jl dHVybiB0aGlzfWlmKGE9PT0iYm9keSImJiFkJiZjLmJvZHkpe3RoaXMuY29udGV4 dD1jLHRoaXNbMF09Yy5ib2R5LHRoaXMuc2VsZWN0b3I9YSx0aGlzLmxlbmd0aD0x O3JldHVybiB0aGlzfWlmKHR5cGVvZiBhPT0ic3RyaW5nIil7YS5jaGFyQXQoMCkh PT0iPCJ8fGEuY2hhckF0KGEubGVuZ3RoLTEpIT09Ij4ifHxhLmxlbmd0aDwzP2c9 aS5leGVjKGEpOmc9W251bGwsYSxudWxsXTtpZihnJiYoZ1sxXXx8IWQpKXtpZihn WzFdKXtkPWQgaW5zdGFuY2VvZiBlP2RbMF06ZCxrPWQ/ZC5vd25lckRvY3VtZW50 fHxkOmMsaj1uLmV4ZWMoYSksaj9lLmlzUGxhaW5PYmplY3QoZCk/KGE9W2MuY3Jl YXRlRWxlbWVudChqWzFdKV0sZS5mbi5hdHRyLmNhbGwoYSxkLCEwKSk6YT1bay5j cmVhdGVFbGVtZW50KGpbMV0pXTooaj1lLmJ1aWxkRnJhZ21lbnQoW2dbMV1dLFtr XSksYT0oai5jYWNoZWFibGU/ZS5jbG9uZShqLmZyYWdtZW50KTpqLmZyYWdtZW50 KS5jaGlsZE5vZGVzKTtyZXR1cm4gZS5tZXJnZSh0aGlzLGEpfWg9Yy5nZXRFbGVt ZW50QnlJZChnWzJdKTtpZihoJiZoLnBhcmVudE5vZGUpe2lmKGguaWQhPT1nWzJd KXJldHVybiBmLmZpbmQoYSk7dGhpcy5sZW5ndGg9MSx0aGlzWzBdPWh9dGhpcy5j b250ZXh0PWMsdGhpcy5zZWxlY3Rvcj1hO3JldHVybiB0aGlzfXJldHVybiFkfHxk LmpxdWVyeT8oZHx8ZikuZmluZChhKTp0aGlzLmNvbnN0cnVjdG9yKGQpLmZpbmQo YSl9aWYoZS5pc0Z1bmN0aW9uKGEpKXJldHVybiBmLnJlYWR5KGEpO2Euc2VsZWN0 b3IhPT1iJiYodGhpcy5zZWxlY3Rvcj1hLnNlbGVjdG9yLHRoaXMuY29udGV4dD1h

LmNvbnRleHQpO3JldHVybiBlLm1ha2VBcnJheShhLHRoaXMpfSxzZWxlY3Rvcjoi IixqcXVlcnk6IjEuNi4xIixsZW5ndGg6MCxzaXplOmZ1bmN0aW9uKCl7cmV0dXJu IHRoaXMubGVuZ3RofSx0b0FycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIEQuY2FsbCh0 aGlzLDApfSxnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PW51bGw/dGhpcy50b0Fy cmF5KCk6YTwwP3RoaXNbdGhpcy5sZW5ndGgrYV06dGhpc1thXX0scHVzaFN0YWNr OmZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLmNvbnN0cnVjdG9yKCk7ZS5pc0Fy cmF5KGEpP0MuYXBwbHkoZCxhKTplLm1lcmdlKGQsYSksZC5wcmV2T2JqZWN0PXRo aXMsZC5jb250ZXh0PXRoaXMuY29udGV4dCxiPT09ImZpbmQiP2Quc2VsZWN0b3I9 dGhpcy5zZWxlY3RvcisodGhpcy5zZWxlY3Rvcj8iICI6IiIpK2M6YiYmKGQuc2Vs ZWN0b3I9dGhpcy5zZWxlY3RvcisiLiIrYisiKCIrYysiKSIpO3JldHVybiBkfSxl YWNoOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGUuZWFjaCh0aGlzLGEsYil9LHJlYWR5 OmZ1bmN0aW9uKGEpe2UuYmluZFJlYWR5KCkseS5kb25lKGEpO3JldHVybiB0aGlz fSxlcTpmdW5jdGlvbihhKXtyZXR1cm4gYT09PS0xP3RoaXMuc2xpY2UoYSk6dGhp cy5zbGljZShhLCthKzEpfSxmaXJzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVx KDApfSxsYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoLTEpfSxzbGljZTpm dW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhELmFwcGx5KHRoaXMsYXJn dW1lbnRzKSwic2xpY2UiLEQuY2FsbChhcmd1bWVudHMpLmpvaW4oIiwiKSl9LG1h cDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soZS5tYXAodGhpcyxm dW5jdGlvbihiLGMpe3JldHVybiBhLmNhbGwoYixjLGIpfSkpfSxlbmQ6ZnVuY3Rp b24oKXtyZXR1cm4gdGhpcy5wcmV2T2JqZWN0fHx0aGlzLmNvbnN0cnVjdG9yKG51 bGwpfSxwdXNoOkMsc29ydDpbXS5zb3J0LHNwbGljZTpbXS5zcGxpY2V9LGUuZm4u aW5pdC5wcm90b3R5cGU9ZS5mbixlLmV4dGVuZD1lLmZuLmV4dGVuZD1mdW5jdGlv bigpe3ZhciBhLGMsZCxmLGcsaCxpPWFyZ3VtZW50c1swXXx8e30saj0xLGs9YXJn dW1lbnRzLmxlbmd0aCxsPSExO3R5cGVvZiBpPT0iYm9vbGVhbiImJihsPWksaT1h cmd1bWVudHNbMV18fHt9LGo9MiksdHlwZW9mIGkhPSJvYmplY3QiJiYhZS5pc0Z1 bmN0aW9uKGkpJiYoaT17fSksaz09PWomJihpPXRoaXMsLS1qKTtmb3IoO2o8aztq KyspaWYoKGE9YXJndW1lbnRzW2pdKSE9bnVsbClmb3IoYyBpbiBhKXtkPWlbY10s Zj1hW2NdO2lmKGk9PT1mKWNvbnRpbnVlO2wmJmYmJihlLmlzUGxhaW5PYmplY3Qo Zil8fChnPWUuaXNBcnJheShmKSkpPyhnPyhnPSExLGg9ZCYmZS5pc0FycmF5KGQp P2Q6W10pOmg9ZCYmZS5pc1BsYWluT2JqZWN0KGQpP2Q6e30saVtjXT1lLmV4dGVu ZChsLGgsZikpOmYhPT1iJiYoaVtjXT1mKX1yZXR1cm4gaX0sZS5leHRlbmQoe25v Q29uZmxpY3Q6ZnVuY3Rpb24oYil7YS4kPT09ZSYmKGEuJD1nKSxiJiZhLmpRdWVy eT09PWUmJihhLmpRdWVyeT1mKTtyZXR1cm4gZX0saXNSZWFkeTohMSxyZWFkeVdh aXQ6MSxob2xkUmVhZHk6ZnVuY3Rpb24oYSl7YT9lLnJlYWR5V2FpdCsrOmUucmVh ZHkoITApfSxyZWFkeTpmdW5jdGlvbihhKXtpZihhPT09ITAmJiEtLWUucmVhZHlX YWl0fHxhIT09ITAmJiFlLmlzUmVhZHkpe2lmKCFjLmJvZHkpcmV0dXJuIHNldFRp bWVvdXQoZS5yZWFkeSwxKTtlLmlzUmVhZHk9ITA7aWYoYSE9PSEwJiYtLWUucmVh ZHlXYWl0PjApcmV0dXJuO3kucmVzb2x2ZVdpdGgoYyxbZV0pLGUuZm4udHJpZ2dl ciYmZShjKS50cmlnZ2VyKCJyZWFkeSIpLnVuYmluZCgicmVhZHkiKX19LGJpbmRS ZWFkeTpmdW5jdGlvbigpe2lmKCF5KXt5PWUuX0RlZmVycmVkKCk7aWYoYy5yZWFk eVN0YXRlPT09ImNvbXBsZXRlIilyZXR1cm4gc2V0VGltZW91dChlLnJlYWR5LDEp O2lmKGMuYWRkRXZlbnRMaXN0ZW5lciljLmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNv bnRlbnRMb2FkZWQiLHosITEpLGEuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsZS5y ZWFkeSwhMSk7ZWxzZSBpZihjLmF0dGFjaEV2ZW50KXtjLmF0dGFjaEV2ZW50KCJv bnJlYWR5c3RhdGVjaGFuZ2UiLHopLGEuYXR0YWNoRXZlbnQoIm9ubG9hZCIsZS5y ZWFkeSk7dmFyIGI9ITE7dHJ5e2I9YS5mcmFtZUVsZW1lbnQ9PW51bGx9Y2F0Y2go ZCl7fWMuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsJiZiJiZIKCl9fX0saXNGdW5j dGlvbjpmdW5jdGlvbihhKXtyZXR1cm4gZS50eXBlKGEpPT09ImZ1bmN0aW9uIn0s aXNBcnJheTpBcnJheS5pc0FycmF5fHxmdW5jdGlvbihhKXtyZXR1cm4gZS50eXBl KGEpPT09ImFycmF5In0saXNXaW5kb3c6ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJnR5 cGVvZiBhPT0ib2JqZWN0IiYmInNldEludGVydmFsImluIGF9LGlzTmFOOmZ1bmN0 aW9uKGEpe3JldHVybiBhPT1udWxsfHwhbS50ZXN0KGEpfHxpc05hTihhKX0sdHlw ZTpmdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbD9TdHJpbmcoYSk6R1tBLmNhbGwo YSldfHwib2JqZWN0In0saXNQbGFpbk9iamVjdDpmdW5jdGlvbihhKXtpZighYXx8 ZS50eXBlKGEpIT09Im9iamVjdCJ8fGEubm9kZVR5cGV8fGUuaXNXaW5kb3coYSkp cmV0dXJuITE7aWYoYS5jb25zdHJ1Y3RvciYmIUIuY2FsbChhLCJjb25zdHJ1Y3Rv ciIpJiYhQi5jYWxsKGEuY29uc3RydWN0b3IucHJvdG90eXBlLCJpc1Byb3RvdHlw ZU9mIikpcmV0dXJuITE7dmFyIGM7Zm9yKGMgaW4gYSk7cmV0dXJuIGM9PT1ifHxC LmNhbGwoYSxjKX0saXNFbXB0eU9iamVjdDpmdW5jdGlvbihhKXtmb3IodmFyIGIg aW4gYSlyZXR1cm4hMTtyZXR1cm4hMH0sZXJyb3I6ZnVuY3Rpb24oYSl7dGhyb3cg

YX0scGFyc2VKU09OOmZ1bmN0aW9uKGIpe2lmKHR5cGVvZiBiIT0ic3RyaW5nInx8 IWIpcmV0dXJuIG51bGw7Yj1lLnRyaW0oYik7aWYoYS5KU09OJiZhLkpTT04ucGFy c2UpcmV0dXJuIGEuSlNPTi5wYXJzZShiKTtpZihvLnRlc3QoYi5yZXBsYWNlKHAs IkAiKS5yZXBsYWNlKHEsIl0iKS5yZXBsYWNlKHIsIiIpKSlyZXR1cm4obmV3IEZ1 bmN0aW9uKCJyZXR1cm4gIitiKSkoKTtlLmVycm9yKCJJbnZhbGlkIEpTT046ICIr Yil9LHBhcnNlWE1MOmZ1bmN0aW9uKGIsYyxkKXthLkRPTVBhcnNlcj8oZD1uZXcg RE9NUGFyc2VyLGM9ZC5wYXJzZUZyb21TdHJpbmcoYiwidGV4dC94bWwiKSk6KGM9 bmV3IEFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxET00iKSxjLmFzeW5jPSJm YWxzZSIsYy5sb2FkWE1MKGIpKSxkPWMuZG9jdW1lbnRFbGVtZW50LCghZHx8IWQu bm9kZU5hbWV8fGQubm9kZU5hbWU9PT0icGFyc2VyZXJyb3IiKSYmZS5lcnJvcigi SW52YWxpZCBYTUw6ICIrYik7cmV0dXJuIGN9LG5vb3A6ZnVuY3Rpb24oKXt9LGds b2JhbEV2YWw6ZnVuY3Rpb24oYil7YiYmai50ZXN0KGIpJiYoYS5leGVjU2NyaXB0 fHxmdW5jdGlvbihiKXthLmV2YWwuY2FsbChhLGIpfSkoYil9LG5vZGVOYW1lOmZ1 bmN0aW9uKGEsYil7cmV0dXJuIGEubm9kZU5hbWUmJmEubm9kZU5hbWUudG9VcHBl ckNhc2UoKT09PWIudG9VcHBlckNhc2UoKX0sZWFjaDpmdW5jdGlvbihhLGMsZCl7 dmFyIGYsZz0wLGg9YS5sZW5ndGgsaT1oPT09Ynx8ZS5pc0Z1bmN0aW9uKGEpO2lm KGQpe2lmKGkpe2ZvcihmIGluIGEpaWYoYy5hcHBseShhW2ZdLGQpPT09ITEpYnJl YWt9ZWxzZSBmb3IoO2c8aDspaWYoYy5hcHBseShhW2crK10sZCk9PT0hMSlicmVh a31lbHNlIGlmKGkpe2ZvcihmIGluIGEpaWYoYy5jYWxsKGFbZl0sZixhW2ZdKT09 PSExKWJyZWFrfWVsc2UgZm9yKDtnPGg7KWlmKGMuY2FsbChhW2ddLGcsYVtnKytd KT09PSExKWJyZWFrO3JldHVybiBhfSx0cmltOkU/ZnVuY3Rpb24oYSl7cmV0dXJu IGE9PW51bGw/IiI6RS5jYWxsKGEpfTpmdW5jdGlvbihhKXtyZXR1cm4gYT09bnVs bD8iIjooYSsiIikucmVwbGFjZShrLCIiKS5yZXBsYWNlKGwsIiIpfSxtYWtlQXJy YXk6ZnVuY3Rpb24oYSxiKXt2YXIgYz1ifHxbXTtpZihhIT1udWxsKXt2YXIgZD1l LnR5cGUoYSk7YS5sZW5ndGg9PW51bGx8fGQ9PT0ic3RyaW5nInx8ZD09PSJmdW5j dGlvbiJ8fGQ9PT0icmVnZXhwInx8ZS5pc1dpbmRvdyhhKT9DLmNhbGwoYyxhKTpl Lm1lcmdlKGMsYSl9cmV0dXJuIGN9LGluQXJyYXk6ZnVuY3Rpb24oYSxiKXtpZihG KXJldHVybiBGLmNhbGwoYixhKTtmb3IodmFyIGM9MCxkPWIubGVuZ3RoO2M8ZDtj KyspaWYoYltjXT09PWEpcmV0dXJuIGM7cmV0dXJuLTF9LG1lcmdlOmZ1bmN0aW9u KGEsYyl7dmFyIGQ9YS5sZW5ndGgsZT0wO2lmKHR5cGVvZiBjLmxlbmd0aD09Im51 bWJlciIpZm9yKHZhciBmPWMubGVuZ3RoO2U8ZjtlKyspYVtkKytdPWNbZV07ZWxz ZSB3aGlsZShjW2VdIT09YilhW2QrK109Y1tlKytdO2EubGVuZ3RoPWQ7cmV0dXJu IGF9LGdyZXA6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU7Yz0hIWM7Zm9yKHZh ciBmPTAsZz1hLmxlbmd0aDtmPGc7ZisrKWU9ISFiKGFbZl0sZiksYyE9PWUmJmQu cHVzaChhW2ZdKTtyZXR1cm4gZH0sbWFwOmZ1bmN0aW9uKGEsYyxkKXt2YXIgZixn LGg9W10saT0wLGo9YS5sZW5ndGgsaz1hIGluc3RhbmNlb2YgZXx8aiE9PWImJnR5 cGVvZiBqPT0ibnVtYmVyIiYmKGo+MCYmYVswXSYmYVtqLTFdfHxqPT09MHx8ZS5p c0FycmF5KGEpKTtpZihrKWZvcig7aTxqO2krKylmPWMoYVtpXSxpLGQpLGYhPW51 bGwmJihoW2gubGVuZ3RoXT1mKTtlbHNlIGZvcihnIGluIGEpZj1jKGFbZ10sZyxk KSxmIT1udWxsJiYoaFtoLmxlbmd0aF09Zik7cmV0dXJuIGguY29uY2F0LmFwcGx5 KFtdLGgpfSxndWlkOjEscHJveHk6ZnVuY3Rpb24oYSxjKXtpZih0eXBlb2YgYz09 InN0cmluZyIpe3ZhciBkPWFbY107Yz1hLGE9ZH1pZighZS5pc0Z1bmN0aW9uKGEp KXJldHVybiBiO3ZhciBmPUQuY2FsbChhcmd1bWVudHMsMiksZz1mdW5jdGlvbigp e3JldHVybiBhLmFwcGx5KGMsZi5jb25jYXQoRC5jYWxsKGFyZ3VtZW50cykpKX07 Zy5ndWlkPWEuZ3VpZD1hLmd1aWR8fGcuZ3VpZHx8ZS5ndWlkKys7cmV0dXJuIGd9 LGFjY2VzczpmdW5jdGlvbihhLGMsZCxmLGcsaCl7dmFyIGk9YS5sZW5ndGg7aWYo dHlwZW9mIGM9PSJvYmplY3QiKXtmb3IodmFyIGogaW4gYyllLmFjY2VzcyhhLGos Y1tqXSxmLGcsZCk7cmV0dXJuIGF9aWYoZCE9PWIpe2Y9IWgmJmYmJmUuaXNGdW5j dGlvbihkKTtmb3IodmFyIGs9MDtrPGk7aysrKWcoYVtrXSxjLGY/ZC5jYWxsKGFb a10sayxnKGFba10sYykpOmQsaCk7cmV0dXJuIGF9cmV0dXJuIGk/ZyhhWzBdLGMp OmJ9LG5vdzpmdW5jdGlvbigpe3JldHVybihuZXcgRGF0ZSkuZ2V0VGltZSgpfSx1 YU1hdGNoOmZ1bmN0aW9uKGEpe2E9YS50b0xvd2VyQ2FzZSgpO3ZhciBiPXMuZXhl YyhhKXx8dC5leGVjKGEpfHx1LmV4ZWMoYSl8fGEuaW5kZXhPZigiY29tcGF0aWJs ZSIpPDAmJnYuZXhlYyhhKXx8W107cmV0dXJue2Jyb3dzZXI6YlsxXXx8IiIsdmVy c2lvbjpiWzJdfHwiMCJ9fSxzdWI6ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGIsYyl7 cmV0dXJuIG5ldyBhLmZuLmluaXQoYixjKX1lLmV4dGVuZCghMCxhLHRoaXMpLGEu c3VwZXJjbGFzcz10aGlzLGEuZm49YS5wcm90b3R5cGU9dGhpcygpLGEuZm4uY29u c3RydWN0b3I9YSxhLnN1Yj10aGlzLnN1YixhLmZuLmluaXQ9ZnVuY3Rpb24oZCxm KXtmJiZmIGluc3RhbmNlb2YgZSYmIShmIGluc3RhbmNlb2YgYSkmJihmPWEoZikp O3JldHVybiBlLmZuLmluaXQuY2FsbCh0aGlzLGQsZixiKX0sYS5mbi5pbml0LnBy

b3RvdHlwZT1hLmZuO3ZhciBiPWEoYyk7cmV0dXJuIGF9LGJyb3dzZXI6e319KSxl LmVhY2goIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRl IFJlZ0V4cCBPYmplY3QiLnNwbGl0KCIgIiksZnVuY3Rpb24oYSxiKXtHWyJbb2Jq ZWN0ICIrYisiXSJdPWIudG9Mb3dlckNhc2UoKX0pLHg9ZS51YU1hdGNoKHcpLHgu YnJvd3NlciYmKGUuYnJvd3Nlclt4LmJyb3dzZXJdPSEwLGUuYnJvd3Nlci52ZXJz aW9uPXgudmVyc2lvbiksZS5icm93c2VyLndlYmtpdCYmKGUuYnJvd3Nlci5zYWZh cmk9ITApLGoudGVzdCgiwqAiKSYmKGs9L15bXHNceEEwXSsvLGw9L1tcc1x4QTBd KyQvKSxoPWUoYyksYy5hZGRFdmVudExpc3RlbmVyP3o9ZnVuY3Rpb24oKXtjLnJl bW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLHosITEpLGUucmVh ZHkoKX06Yy5hdHRhY2hFdmVudCYmKHo9ZnVuY3Rpb24oKXtjLnJlYWR5U3RhdGU9 PT0iY29tcGxldGUiJiYoYy5kZXRhY2hFdmVudCgib25yZWFkeXN0YXRlY2hhbmdl Iix6KSxlLnJlYWR5KCkpfSk7cmV0dXJuIGV9KCksZz0iZG9uZSBmYWlsIGlzUmVz b2x2ZWQgaXNSZWplY3RlZCBwcm9taXNlIHRoZW4gYWx3YXlzIHBpcGUiLnNwbGl0 KCIgIiksaD1bXS5zbGljZTtmLmV4dGVuZCh7X0RlZmVycmVkOmZ1bmN0aW9uKCl7 dmFyIGE9W10sYixjLGQsZT17ZG9uZTpmdW5jdGlvbigpe2lmKCFkKXt2YXIgYz1h cmd1bWVudHMsZyxoLGksaixrO2ImJihrPWIsYj0wKTtmb3IoZz0wLGg9Yy5sZW5n dGg7ZzxoO2crKylpPWNbZ10saj1mLnR5cGUoaSksaj09PSJhcnJheSI/ZS5kb25l LmFwcGx5KGUsaSk6aj09PSJmdW5jdGlvbiImJmEucHVzaChpKTtrJiZlLnJlc29s dmVXaXRoKGtbMF0sa1sxXSl9cmV0dXJuIHRoaXN9LHJlc29sdmVXaXRoOmZ1bmN0 aW9uKGUsZil7aWYoIWQmJiFiJiYhYyl7Zj1mfHxbXSxjPTE7dHJ5e3doaWxlKGFb MF0pYS5zaGlmdCgpLmFwcGx5KGUsZil9ZmluYWxseXtiPVtlLGZdLGM9MH19cmV0 dXJuIHRoaXN9LHJlc29sdmU6ZnVuY3Rpb24oKXtlLnJlc29sdmVXaXRoKHRoaXMs YXJndW1lbnRzKTtyZXR1cm4gdGhpc30saXNSZXNvbHZlZDpmdW5jdGlvbigpe3Jl dHVybiEhY3x8ISFifSxjYW5jZWw6ZnVuY3Rpb24oKXtkPTEsYT1bXTtyZXR1cm4g dGhpc319O3JldHVybiBlfSxEZWZlcnJlZDpmdW5jdGlvbihhKXt2YXIgYj1mLl9E ZWZlcnJlZCgpLGM9Zi5fRGVmZXJyZWQoKSxkO2YuZXh0ZW5kKGIse3RoZW46ZnVu Y3Rpb24oYSxjKXtiLmRvbmUoYSkuZmFpbChjKTtyZXR1cm4gdGhpc30sYWx3YXlz OmZ1bmN0aW9uKCl7cmV0dXJuIGIuZG9uZS5hcHBseShiLGFyZ3VtZW50cykuZmFp bC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGZhaWw6Yy5kb25lLHJlamVjdFdpdGg6 Yy5yZXNvbHZlV2l0aCxyZWplY3Q6Yy5yZXNvbHZlLGlzUmVqZWN0ZWQ6Yy5pc1Jl c29sdmVkLHBpcGU6ZnVuY3Rpb24oYSxjKXtyZXR1cm4gZi5EZWZlcnJlZChmdW5j dGlvbihkKXtmLmVhY2goe2RvbmU6W2EsInJlc29sdmUiXSxmYWlsOltjLCJyZWpl Y3QiXX0sZnVuY3Rpb24oYSxjKXt2YXIgZT1jWzBdLGc9Y1sxXSxoO2YuaXNGdW5j dGlvbihlKT9iW2FdKGZ1bmN0aW9uKCl7aD1lLmFwcGx5KHRoaXMsYXJndW1lbnRz KSxoJiZmLmlzRnVuY3Rpb24oaC5wcm9taXNlKT9oLnByb21pc2UoKS50aGVuKGQu cmVzb2x2ZSxkLnJlamVjdCk6ZFtnXShoKX0pOmJbYV0oZFtnXSl9KX0pLnByb21p c2UoKX0scHJvbWlzZTpmdW5jdGlvbihhKXtpZihhPT1udWxsKXtpZihkKXJldHVy biBkO2Q9YT17fX12YXIgYz1nLmxlbmd0aDt3aGlsZShjLS0pYVtnW2NdXT1iW2db Y11dO3JldHVybiBhfX0pLGIuZG9uZShjLmNhbmNlbCkuZmFpbChiLmNhbmNlbCks ZGVsZXRlIGIuY2FuY2VsLGEmJmEuY2FsbChiLGIpO3JldHVybiBifSx3aGVuOmZ1 bmN0aW9uKGEpe2Z1bmN0aW9uIGkoYSl7cmV0dXJuIGZ1bmN0aW9uKGMpe2JbYV09 YXJndW1lbnRzLmxlbmd0aD4xP2guY2FsbChhcmd1bWVudHMsMCk6YywtLWV8fGcu cmVzb2x2ZVdpdGgoZyxoLmNhbGwoYiwwKSl9fXZhciBiPWFyZ3VtZW50cyxjPTAs ZD1iLmxlbmd0aCxlPWQsZz1kPD0xJiZhJiZmLmlzRnVuY3Rpb24oYS5wcm9taXNl KT9hOmYuRGVmZXJyZWQoKTtpZihkPjEpe2Zvcig7YzxkO2MrKyliW2NdJiZmLmlz RnVuY3Rpb24oYltjXS5wcm9taXNlKT9iW2NdLnByb21pc2UoKS50aGVuKGkoYyks Zy5yZWplY3QpOi0tZTtlfHxnLnJlc29sdmVXaXRoKGcsYil9ZWxzZSBnIT09YSYm Zy5yZXNvbHZlV2l0aChnLGQ/W2FdOltdKTtyZXR1cm4gZy5wcm9taXNlKCl9fSks Zi5zdXBwb3J0PWZ1bmN0aW9uKCl7dmFyIGE9Yy5jcmVhdGVFbGVtZW50KCJkaXYi KSxiPWMuZG9jdW1lbnRFbGVtZW50LGQsZSxmLGcsaCxpLGosayxsLG0sbixvLHAs cSxyO2Euc2V0QXR0cmlidXRlKCJjbGFzc05hbWUiLCJ0IiksYS5pbm5lckhUTUw9 IiAgIDxsaW5rLz48dGFibGU+PC90YWJsZT48YSBocmVmPScvYScgc3R5bGU9J3Rv cDoxcHg7ZmxvYXQ6bGVmdDtvcGFjaXR5Oi41NTsnPmE8L2E+PGlucHV0IHR5cGU9 J2NoZWNrYm94Jy8+IixkPWEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSxlPWEu Z2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKVswXTtpZighZHx8IWQubGVuZ3RofHwh ZSlyZXR1cm57fTtmPWMuY3JlYXRlRWxlbWVudCgic2VsZWN0IiksZz1mLmFwcGVu ZENoaWxkKGMuY3JlYXRlRWxlbWVudCgib3B0aW9uIikpLGg9YS5nZXRFbGVtZW50 c0J5VGFnTmFtZSgiaW5wdXQiKVswXSxqPXtsZWFkaW5nV2hpdGVzcGFjZTphLmZp cnN0Q2hpbGQubm9kZVR5cGU9PT0zLHRib2R5OiFhLmdldEVsZW1lbnRzQnlUYWdO YW1lKCJ0Ym9keSIpLmxlbmd0aCxodG1sU2VyaWFsaXplOiEhYS5nZXRFbGVtZW50

c0J5VGFnTmFtZSgibGluayIpLmxlbmd0aCxzdHlsZTovdG9wLy50ZXN0KGUuZ2V0 QXR0cmlidXRlKCJzdHlsZSIpKSxocmVmTm9ybWFsaXplZDplLmdldEF0dHJpYnV0 ZSgiaHJlZiIpPT09Ii9hIixvcGFjaXR5Oi9eMC41NSQvLnRlc3QoZS5zdHlsZS5v cGFjaXR5KSxjc3NGbG9hdDohIWUuc3R5bGUuY3NzRmxvYXQsY2hlY2tPbjpoLnZh bHVlPT09Im9uIixvcHRTZWxlY3RlZDpnLnNlbGVjdGVkLGdldFNldEF0dHJpYnV0 ZTphLmNsYXNzTmFtZSE9PSJ0IixzdWJtaXRCdWJibGVzOiEwLGNoYW5nZUJ1YmJs ZXM6ITAsZm9jdXNpbkJ1YmJsZXM6ITEsZGVsZXRlRXhwYW5kbzohMCxub0Nsb25l RXZlbnQ6ITAsaW5saW5lQmxvY2tOZWVkc0xheW91dDohMSxzaHJpbmtXcmFwQmxv Y2tzOiExLHJlbGlhYmxlTWFyZ2luUmlnaHQ6ITB9LGguY2hlY2tlZD0hMCxqLm5v Q2xvbmVDaGVja2VkPWguY2xvbmVOb2RlKCEwKS5jaGVja2VkLGYuZGlzYWJsZWQ9 ITAsai5vcHREaXNhYmxlZD0hZy5kaXNhYmxlZDt0cnl7ZGVsZXRlIGEudGVzdH1j YXRjaChzKXtqLmRlbGV0ZUV4cGFuZG89ITF9IWEuYWRkRXZlbnRMaXN0ZW5lciYm YS5hdHRhY2hFdmVudCYmYS5maXJlRXZlbnQmJihhLmF0dGFjaEV2ZW50KCJvbmNs aWNrIixmdW5jdGlvbiBiKCl7ai5ub0Nsb25lRXZlbnQ9ITEsYS5kZXRhY2hFdmVu dCgib25jbGljayIsYil9KSxhLmNsb25lTm9kZSghMCkuZmlyZUV2ZW50KCJvbmNs aWNrIikpLGg9Yy5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLGgudmFsdWU9InQiLGgu c2V0QXR0cmlidXRlKCJ0eXBlIiwicmFkaW8iKSxqLnJhZGlvVmFsdWU9aC52YWx1 ZT09PSJ0IixoLnNldEF0dHJpYnV0ZSgiY2hlY2tlZCIsImNoZWNrZWQiKSxhLmFw cGVuZENoaWxkKGgpLGs9Yy5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksay5hcHBl bmRDaGlsZChhLmZpcnN0Q2hpbGQpLGouY2hlY2tDbG9uZT1rLmNsb25lTm9kZSgh MCkuY2xvbmVOb2RlKCEwKS5sYXN0Q2hpbGQuY2hlY2tlZCxhLmlubmVySFRNTD0i IixhLnN0eWxlLndpZHRoPWEuc3R5bGUucGFkZGluZ0xlZnQ9IjFweCIsbD1jLmNy ZWF0ZUVsZW1lbnQoImJvZHkiKSxtPXt2aXNpYmlsaXR5OiJoaWRkZW4iLHdpZHRo OjAsaGVpZ2h0OjAsYm9yZGVyOjAsbWFyZ2luOjAsYmFja2dyb3VuZDoibm9uZSJ9 O2ZvcihxIGluIG0pbC5zdHlsZVtxXT1tW3FdO2wuYXBwZW5kQ2hpbGQoYSksYi5p bnNlcnRCZWZvcmUobCxiLmZpcnN0Q2hpbGQpLGouYXBwZW5kQ2hlY2tlZD1oLmNo ZWNrZWQsai5ib3hNb2RlbD1hLm9mZnNldFdpZHRoPT09Miwiem9vbSJpbiBhLnN0 eWxlJiYoYS5zdHlsZS5kaXNwbGF5PSJpbmxpbmUiLGEuc3R5bGUuem9vbT0xLGou aW5saW5lQmxvY2tOZWVkc0xheW91dD1hLm9mZnNldFdpZHRoPT09MixhLnN0eWxl LmRpc3BsYXk9IiIsYS5pbm5lckhUTUw9IjxkaXYgc3R5bGU9J3dpZHRoOjRweDsn PjwvZGl2PiIsai5zaHJpbmtXcmFwQmxvY2tzPWEub2Zmc2V0V2lkdGghPT0yKSxh LmlubmVySFRNTD0iPHRhYmxlPjx0cj48dGQgc3R5bGU9J3BhZGRpbmc6MDtib3Jk ZXI6MDtkaXNwbGF5Om5vbmUnPjwvdGQ+PHRkPnQ8L3RkPjwvdHI+PC90YWJsZT4i LG49YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGQiKSxyPW5bMF0ub2Zmc2V0SGVp Z2h0PT09MCxuWzBdLnN0eWxlLmRpc3BsYXk9IiIsblsxXS5zdHlsZS5kaXNwbGF5 PSJub25lIixqLnJlbGlhYmxlSGlkZGVuT2Zmc2V0cz1yJiZuWzBdLm9mZnNldEhl aWdodD09PTAsYS5pbm5lckhUTUw9IiIsYy5kZWZhdWx0VmlldyYmYy5kZWZhdWx0 Vmlldy5nZXRDb21wdXRlZFN0eWxlJiYoaT1jLmNyZWF0ZUVsZW1lbnQoImRpdiIp LGkuc3R5bGUud2lkdGg9IjAiLGkuc3R5bGUubWFyZ2luUmlnaHQ9IjAiLGEuYXBw ZW5kQ2hpbGQoaSksai5yZWxpYWJsZU1hcmdpblJpZ2h0PShwYXJzZUludCgoYy5k ZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKGksbnVsbCl8fHttYXJnaW5SaWdo dDowfSkubWFyZ2luUmlnaHQsMTApfHwwKT09PTApLGwuaW5uZXJIVE1MPSIiLGIu cmVtb3ZlQ2hpbGQobCk7aWYoYS5hdHRhY2hFdmVudClmb3IocSBpbntzdWJtaXQ6 MSxjaGFuZ2U6MSxmb2N1c2luOjF9KXA9Im9uIitxLHI9cCBpbiBhLHJ8fChhLnNl dEF0dHJpYnV0ZShwLCJyZXR1cm47Iikscj10eXBlb2YgYVtwXT09ImZ1bmN0aW9u IiksaltxKyJCdWJibGVzIl09cjtyZXR1cm4gan0oKSxmLmJveE1vZGVsPWYuc3Vw cG9ydC5ib3hNb2RlbDt2YXIgaT0vXig/Olx7LipcfXxcWy4qXF0pJC8saj0vKFth LXpdKShbQS1aXSkvZztmLmV4dGVuZCh7Y2FjaGU6e30sdXVpZDowLGV4cGFuZG86 ImpRdWVyeSIrKGYuZm4uanF1ZXJ5K01hdGgucmFuZG9tKCkpLnJlcGxhY2UoL1xE L2csIiIpLG5vRGF0YTp7ZW1iZWQ6ITAsb2JqZWN0OiJjbHNpZDpEMjdDREI2RS1B RTZELTExY2YtOTZCOC00NDQ1NTM1NDAwMDAiLGFwcGxldDohMH0saGFzRGF0YTpm dW5jdGlvbihhKXthPWEubm9kZVR5cGU/Zi5jYWNoZVthW2YuZXhwYW5kb11dOmFb Zi5leHBhbmRvXTtyZXR1cm4hIWEmJiFsKGEpfSxkYXRhOmZ1bmN0aW9uKGEsYyxk LGUpe2lmKCEhZi5hY2NlcHREYXRhKGEpKXt2YXIgZz1mLmV4cGFuZG8saD10eXBl b2YgYz09InN0cmluZyIsaSxqPWEubm9kZVR5cGUsaz1qP2YuY2FjaGU6YSxsPWo/ YVtmLmV4cGFuZG9dOmFbZi5leHBhbmRvXSYmZi5leHBhbmRvO2lmKCghbHx8ZSYm bCYmIWtbbF1bZ10pJiZoJiZkPT09YilyZXR1cm47bHx8KGo/YVtmLmV4cGFuZG9d PWw9KytmLnV1aWQ6bD1mLmV4cGFuZG8pLGtbbF18fChrW2xdPXt9LGp8fChrW2xd LnRvSlNPTj1mLm5vb3ApKTtpZih0eXBlb2YgYz09Im9iamVjdCJ8fHR5cGVvZiBj PT0iZnVuY3Rpb24iKWU/a1tsXVtnXT1mLmV4dGVuZChrW2xdW2ddLGMpOmtbbF09

Zi5leHRlbmQoa1tsXSxjKTtpPWtbbF0sZSYmKGlbZ118fChpW2ddPXt9KSxpPWlb Z10pLGQhPT1iJiYoaVtmLmNhbWVsQ2FzZShjKV09ZCk7aWYoYz09PSJldmVudHMi JiYhaVtjXSlyZXR1cm4gaVtnXSYmaVtnXS5ldmVudHM7cmV0dXJuIGg/aVtmLmNh bWVsQ2FzZShjKV06aX19LHJlbW92ZURhdGE6ZnVuY3Rpb24oYixjLGQpe2lmKCEh Zi5hY2NlcHREYXRhKGIpKXt2YXIgZT1mLmV4cGFuZG8sZz1iLm5vZGVUeXBlLGg9 Zz9mLmNhY2hlOmIsaT1nP2JbZi5leHBhbmRvXTpmLmV4cGFuZG87aWYoIWhbaV0p cmV0dXJuO2lmKGMpe3ZhciBqPWQ/aFtpXVtlXTpoW2ldO2lmKGope2RlbGV0ZSBq W2NdO2lmKCFsKGopKXJldHVybn19aWYoZCl7ZGVsZXRlIGhbaV1bZV07aWYoIWwo aFtpXSkpcmV0dXJufXZhciBrPWhbaV1bZV07Zi5zdXBwb3J0LmRlbGV0ZUV4cGFu ZG98fGghPWE/ZGVsZXRlIGhbaV06aFtpXT1udWxsLGs/KGhbaV09e30sZ3x8KGhb aV0udG9KU09OPWYubm9vcCksaFtpXVtlXT1rKTpnJiYoZi5zdXBwb3J0LmRlbGV0 ZUV4cGFuZG8/ZGVsZXRlIGJbZi5leHBhbmRvXTpiLnJlbW92ZUF0dHJpYnV0ZT9i LnJlbW92ZUF0dHJpYnV0ZShmLmV4cGFuZG8pOmJbZi5leHBhbmRvXT1udWxsKX19 LF9kYXRhOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZi5kYXRhKGEsYixjLCEwKX0s YWNjZXB0RGF0YTpmdW5jdGlvbihhKXtpZihhLm5vZGVOYW1lKXt2YXIgYj1mLm5v RGF0YVthLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldO2lmKGIpcmV0dXJuIGIhPT0h MCYmYS5nZXRBdHRyaWJ1dGUoImNsYXNzaWQiKT09PWJ9cmV0dXJuITB9fSksZi5m bi5leHRlbmQoe2RhdGE6ZnVuY3Rpb24oYSxjKXt2YXIgZD1udWxsO2lmKHR5cGVv ZiBhPT0idW5kZWZpbmVkIil7aWYodGhpcy5sZW5ndGgpe2Q9Zi5kYXRhKHRoaXNb MF0pO2lmKHRoaXNbMF0ubm9kZVR5cGU9PT0xKXt2YXIgZT10aGlzWzBdLmF0dHJp YnV0ZXMsZztmb3IodmFyIGg9MCxpPWUubGVuZ3RoO2g8aTtoKyspZz1lW2hdLm5h bWUsZy5pbmRleE9mKCJkYXRhLSIpPT09MCYmKGc9Zi5jYW1lbENhc2UoZy5zdWJz dHJpbmcoNSkpLGsodGhpc1swXSxnLGRbZ10pKX19cmV0dXJuIGR9aWYodHlwZW9m IGE9PSJvYmplY3QiKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtmLmRhdGEo dGhpcyxhKX0pO3ZhciBqPWEuc3BsaXQoIi4iKTtqWzFdPWpbMV0/Ii4iK2pbMV06 IiI7aWYoYz09PWIpe2Q9dGhpcy50cmlnZ2VySGFuZGxlcigiZ2V0RGF0YSIralsx XSsiISIsW2pbMF1dKSxkPT09YiYmdGhpcy5sZW5ndGgmJihkPWYuZGF0YSh0aGlz WzBdLGEpLGQ9ayh0aGlzWzBdLGEsZCkpO3JldHVybiBkPT09YiYmalsxXT90aGlz LmRhdGEoalswXSk6ZH1yZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9 Zih0aGlzKSxkPVtqWzBdLGNdO2IudHJpZ2dlckhhbmRsZXIoInNldERhdGEiK2pb MV0rIiEiLGQpLGYuZGF0YSh0aGlzLGEsYyksYi50cmlnZ2VySGFuZGxlcigiY2hh bmdlRGF0YSIralsxXSsiISIsZCl9KX0scmVtb3ZlRGF0YTpmdW5jdGlvbihhKXty ZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Zi5yZW1vdmVEYXRhKHRoaXMsYSl9 KX19KSxmLmV4dGVuZCh7X21hcms6ZnVuY3Rpb24oYSxjKXthJiYoYz0oY3x8ImZ4 IikrIm1hcmsiLGYuZGF0YShhLGMsKGYuZGF0YShhLGMsYiwhMCl8fDApKzEsITAp KX0sX3VubWFyazpmdW5jdGlvbihhLGMsZCl7YSE9PSEwJiYoZD1jLGM9YSxhPSEx KTtpZihjKXtkPWR8fCJmeCI7dmFyIGU9ZCsibWFyayIsZz1hPzA6KGYuZGF0YShj LGUsYiwhMCl8fDEpLTE7Zz9mLmRhdGEoYyxlLGcsITApOihmLnJlbW92ZURhdGEo YyxlLCEwKSxtKGMsZCwibWFyayIpKX19LHF1ZXVlOmZ1bmN0aW9uKGEsYyxkKXtp ZihhKXtjPShjfHwiZngiKSsicXVldWUiO3ZhciBlPWYuZGF0YShhLGMsYiwhMCk7 ZCYmKCFlfHxmLmlzQXJyYXkoZCk/ZT1mLmRhdGEoYSxjLGYubWFrZUFycmF5KGQp LCEwKTplLnB1c2goZCkpO3JldHVybiBlfHxbXX19LGRlcXVldWU6ZnVuY3Rpb24o YSxiKXtiPWJ8fCJmeCI7dmFyIGM9Zi5xdWV1ZShhLGIpLGQ9Yy5zaGlmdCgpLGU7 ZD09PSJpbnByb2dyZXNzIiYmKGQ9Yy5zaGlmdCgpKSxkJiYoYj09PSJmeCImJmMu dW5zaGlmdCgiaW5wcm9ncmVzcyIpLGQuY2FsbChhLGZ1bmN0aW9uKCl7Zi5kZXF1 ZXVlKGEsYil9KSksYy5sZW5ndGh8fChmLnJlbW92ZURhdGEoYSxiKyJxdWV1ZSIs ITApLG0oYSxiLCJxdWV1ZSIpKX19KSxmLmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rp b24oYSxjKXt0eXBlb2YgYSE9InN0cmluZyImJihjPWEsYT0iZngiKTtpZihjPT09 YilyZXR1cm4gZi5xdWV1ZSh0aGlzWzBdLGEpO3JldHVybiB0aGlzLmVhY2goZnVu Y3Rpb24oKXt2YXIgYj1mLnF1ZXVlKHRoaXMsYSxjKTthPT09ImZ4IiYmYlswXSE9 PSJpbnByb2dyZXNzIiYmZi5kZXF1ZXVlKHRoaXMsYSl9KX0sZGVxdWV1ZTpmdW5j dGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Zi5kZXF1ZXVlKHRo aXMsYSl9KX0sZGVsYXk6ZnVuY3Rpb24oYSxiKXthPWYuZng/Zi5meC5zcGVlZHNb YV18fGE6YSxiPWJ8fCJmeCI7cmV0dXJuIHRoaXMucXVldWUoYixmdW5jdGlvbigp e3ZhciBjPXRoaXM7c2V0VGltZW91dChmdW5jdGlvbigpe2YuZGVxdWV1ZShjLGIp fSxhKX0pfSxjbGVhclF1ZXVlOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnF1ZXVl KGF8fCJmeCIsW10pfSxwcm9taXNlOmZ1bmN0aW9uKGEsYyl7ZnVuY3Rpb24gbSgp ey0taHx8ZC5yZXNvbHZlV2l0aChlLFtlXSl9dHlwZW9mIGEhPSJzdHJpbmciJiYo Yz1hLGE9YiksYT1hfHwiZngiO3ZhciBkPWYuRGVmZXJyZWQoKSxlPXRoaXMsZz1l Lmxlbmd0aCxoPTEsaT1hKyJkZWZlciIsaj1hKyJxdWV1ZSIsaz1hKyJtYXJrIixs

O3doaWxlKGctLSlpZihsPWYuZGF0YShlW2ddLGksYiwhMCl8fChmLmRhdGEoZVtn XSxqLGIsITApfHxmLmRhdGEoZVtnXSxrLGIsITApKSYmZi5kYXRhKGVbZ10saSxm Ll9EZWZlcnJlZCgpLCEwKSloKyssbC5kb25lKG0pO20oKTtyZXR1cm4gZC5wcm9t aXNlKCl9fSk7dmFyIG49L1tcblx0XHJdL2csbz0vXHMrLyxwPS9cci9nLHE9L14o PzpidXR0b258aW5wdXQpJC9pLHI9L14oPzpidXR0b258aW5wdXR8b2JqZWN0fHNl bGVjdHx0ZXh0YXJlYSkkL2kscz0vXmEoPzpyZWEpPyQvaSx0PS9eKD86YXV0b2Zv Y3VzfGF1dG9wbGF5fGFzeW5jfGNoZWNrZWR8Y29udHJvbHN8ZGVmZXJ8ZGlzYWJs ZWR8aGlkZGVufGxvb3B8bXVsdGlwbGV8b3BlbnxyZWFkb25seXxyZXF1aXJlZHxz Y29wZWR8c2VsZWN0ZWQpJC9pLHU9L1w6Lyx2LHc7Zi5mbi5leHRlbmQoe2F0dHI6 ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZi5hY2Nlc3ModGhpcyxhLGIsITAsZi5hdHRy KX0scmVtb3ZlQXR0cjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0 aW9uKCl7Zi5yZW1vdmVBdHRyKHRoaXMsYSl9KX0scHJvcDpmdW5jdGlvbihhLGIp e3JldHVybiBmLmFjY2Vzcyh0aGlzLGEsYiwhMCxmLnByb3ApfSxyZW1vdmVQcm9w OmZ1bmN0aW9uKGEpe2E9Zi5wcm9wRml4W2FdfHxhO3JldHVybiB0aGlzLmVhY2go ZnVuY3Rpb24oKXt0cnl7dGhpc1thXT1iLGRlbGV0ZSB0aGlzW2FdfWNhdGNoKGMp e319KX0sYWRkQ2xhc3M6ZnVuY3Rpb24oYSl7aWYoZi5pc0Z1bmN0aW9uKGEpKXJl dHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7dmFyIGM9Zih0aGlzKTtjLmFkZENs YXNzKGEuY2FsbCh0aGlzLGIsYy5hdHRyKCJjbGFzcyIpfHwiIikpfSk7aWYoYSYm dHlwZW9mIGE9PSJzdHJpbmciKXt2YXIgYj0oYXx8IiIpLnNwbGl0KG8pO2Zvcih2 YXIgYz0wLGQ9dGhpcy5sZW5ndGg7YzxkO2MrKyl7dmFyIGU9dGhpc1tjXTtpZihl Lm5vZGVUeXBlPT09MSlpZighZS5jbGFzc05hbWUpZS5jbGFzc05hbWU9YTtlbHNl e3ZhciBnPSIgIitlLmNsYXNzTmFtZSsiICIsaD1lLmNsYXNzTmFtZTtmb3IodmFy IGk9MCxqPWIubGVuZ3RoO2k8ajtpKyspZy5pbmRleE9mKCIgIitiW2ldKyIgIik8 MCYmKGgrPSIgIitiW2ldKTtlLmNsYXNzTmFtZT1mLnRyaW0oaCl9fX1yZXR1cm4g dGhpc30scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24oYSl7aWYoZi5pc0Z1bmN0aW9uKGEp KXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7dmFyIGM9Zih0aGlzKTtjLnJl bW92ZUNsYXNzKGEuY2FsbCh0aGlzLGIsYy5hdHRyKCJjbGFzcyIpKSl9KTtpZihh JiZ0eXBlb2YgYT09InN0cmluZyJ8fGE9PT1iKXt2YXIgYz0oYXx8IiIpLnNwbGl0 KG8pO2Zvcih2YXIgZD0wLGU9dGhpcy5sZW5ndGg7ZDxlO2QrKyl7dmFyIGc9dGhp c1tkXTtpZihnLm5vZGVUeXBlPT09MSYmZy5jbGFzc05hbWUpaWYoYSl7dmFyIGg9 KCIgIitnLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UobiwiICIpO2Zvcih2YXIgaT0w LGo9Yy5sZW5ndGg7aTxqO2krKyloPWgucmVwbGFjZSgiICIrY1tpXSsiICIsIiAi KTtnLmNsYXNzTmFtZT1mLnRyaW0oaCl9ZWxzZSBnLmNsYXNzTmFtZT0iIn19cmV0 dXJuIHRoaXN9LHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKGEsYil7dmFyIGM9dHlwZW9m IGEsZD10eXBlb2YgYj09ImJvb2xlYW4iO2lmKGYuaXNGdW5jdGlvbihhKSlyZXR1 cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGMpe3ZhciBkPWYodGhpcyk7ZC50b2dnbGVD bGFzcyhhLmNhbGwodGhpcyxjLGQuYXR0cigiY2xhc3MiKSxiKSxiKX0pO3JldHVy biB0aGlzLmVhY2goZnVuY3Rpb24oKXtpZihjPT09InN0cmluZyIpe3ZhciBlLGc9 MCxoPWYodGhpcyksaT1iLGo9YS5zcGxpdChvKTt3aGlsZShlPWpbZysrXSlpPWQ/ aTohaC5oYXNDbGFzcyhlKSxoW2k/ImFkZENsYXNzIjoicmVtb3ZlQ2xhc3MiXShl KX1lbHNlIGlmKGM9PT0idW5kZWZpbmVkInx8Yz09PSJib29sZWFuIil0aGlzLmNs YXNzTmFtZSYmZi5fZGF0YSh0aGlzLCJfX2NsYXNzTmFtZV9fIix0aGlzLmNsYXNz TmFtZSksdGhpcy5jbGFzc05hbWU9dGhpcy5jbGFzc05hbWV8fGE9PT0hMT8iIjpm Ll9kYXRhKHRoaXMsIl9fY2xhc3NOYW1lX18iKXx8IiJ9KX0saGFzQ2xhc3M6ZnVu Y3Rpb24oYSl7dmFyIGI9IiAiK2ErIiAiO2Zvcih2YXIgYz0wLGQ9dGhpcy5sZW5n dGg7YzxkO2MrKylpZigoIiAiK3RoaXNbY10uY2xhc3NOYW1lKyIgIikucmVwbGFj ZShuLCIgIikuaW5kZXhPZihiKT4tMSlyZXR1cm4hMDtyZXR1cm4hMX0sdmFsOmZ1 bmN0aW9uKGEpe3ZhciBjLGQsZT10aGlzWzBdO2lmKCFhcmd1bWVudHMubGVuZ3Ro KXtpZihlKXtjPWYudmFsSG9va3NbZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXXx8 Zi52YWxIb29rc1tlLnR5cGVdO2lmKGMmJiJnZXQiaW4gYyYmKGQ9Yy5nZXQoZSwi dmFsdWUiKSkhPT1iKXJldHVybiBkO3JldHVybihlLnZhbHVlfHwiIikucmVwbGFj ZShwLCIiKX1yZXR1cm4gYn12YXIgZz1mLmlzRnVuY3Rpb24oYSk7cmV0dXJuIHRo aXMuZWFjaChmdW5jdGlvbihkKXt2YXIgZT1mKHRoaXMpLGg7aWYodGhpcy5ub2Rl VHlwZT09PTEpe2c/aD1hLmNhbGwodGhpcyxkLGUudmFsKCkpOmg9YSxoPT1udWxs P2g9IiI6dHlwZW9mIGg9PSJudW1iZXIiP2grPSIiOmYuaXNBcnJheShoKSYmKGg9 Zi5tYXAoaCxmdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbD8iIjphKyIifSkpLGM9 Zi52YWxIb29rc1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldfHxmLnZhbEhv b2tzW3RoaXMudHlwZV07aWYoIWN8fCEoInNldCJpbiBjKXx8Yy5zZXQodGhpcyxo LCJ2YWx1ZSIpPT09Yil0aGlzLnZhbHVlPWh9fSl9fSksZi5leHRlbmQoe3ZhbEhv b2tzOntvcHRpb246e2dldDpmdW5jdGlvbihhKXt2YXIgYj1hLmF0dHJpYnV0ZXMu

dmFsdWU7cmV0dXJuIWJ8fGIuc3BlY2lmaWVkP2EudmFsdWU6YS50ZXh0fX0sc2Vs ZWN0OntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGIsYz1hLnNlbGVjdGVkSW5kZXgsZD1b XSxlPWEub3B0aW9ucyxnPWEudHlwZT09PSJzZWxlY3Qtb25lIjtpZihjPDApcmV0 dXJuIG51bGw7Zm9yKHZhciBoPWc/YzowLGk9Zz9jKzE6ZS5sZW5ndGg7aDxpO2gr Kyl7dmFyIGo9ZVtoXTtpZihqLnNlbGVjdGVkJiYoZi5zdXBwb3J0Lm9wdERpc2Fi bGVkPyFqLmRpc2FibGVkOmouZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpPT09bnVs bCkmJighai5wYXJlbnROb2RlLmRpc2FibGVkfHwhZi5ub2RlTmFtZShqLnBhcmVu dE5vZGUsIm9wdGdyb3VwIikpKXtiPWYoaikudmFsKCk7aWYoZylyZXR1cm4gYjtk LnB1c2goYil9fWlmKGcmJiFkLmxlbmd0aCYmZS5sZW5ndGgpcmV0dXJuIGYoZVtj XSkudmFsKCk7cmV0dXJuIGR9LHNldDpmdW5jdGlvbihhLGIpe3ZhciBjPWYubWFr ZUFycmF5KGIpO2YoYSkuZmluZCgib3B0aW9uIikuZWFjaChmdW5jdGlvbigpe3Ro aXMuc2VsZWN0ZWQ9Zi5pbkFycmF5KGYodGhpcykudmFsKCksYyk+PTB9KSxjLmxl bmd0aHx8KGEuc2VsZWN0ZWRJbmRleD0tMSk7cmV0dXJuIGN9fX0sYXR0ckZuOnt2 YWw6ITAsY3NzOiEwLGh0bWw6ITAsdGV4dDohMCxkYXRhOiEwLHdpZHRoOiEwLGhl aWdodDohMCxvZmZzZXQ6ITB9LGF0dHJGaXg6e3RhYmluZGV4OiJ0YWJJbmRleCJ9 LGF0dHI6ZnVuY3Rpb24oYSxjLGQsZSl7dmFyIGc9YS5ub2RlVHlwZTtpZighYXx8 Zz09PTN8fGc9PT04fHxnPT09MilyZXR1cm4gYjtpZihlJiZjIGluIGYuYXR0ckZu KXJldHVybiBmKGEpW2NdKGQpO2lmKCEoImdldEF0dHJpYnV0ZSJpbiBhKSlyZXR1 cm4gZi5wcm9wKGEsYyxkKTt2YXIgaCxpLGo9ZyE9PTF8fCFmLmlzWE1MRG9jKGEp O2M9aiYmZi5hdHRyRml4W2NdfHxjLGk9Zi5hdHRySG9va3NbY10saXx8KCF0LnRl c3QoYyl8fHR5cGVvZiBkIT0iYm9vbGVhbiImJmQhPT1iJiZkLnRvTG93ZXJDYXNl KCkhPT1jLnRvTG93ZXJDYXNlKCk/diYmKGYubm9kZU5hbWUoYSwiZm9ybSIpfHx1 LnRlc3QoYykpJiYoaT12KTppPXcpO2lmKGQhPT1iKXtpZihkPT09bnVsbCl7Zi5y ZW1vdmVBdHRyKGEsYyk7cmV0dXJuIGJ9aWYoaSYmInNldCJpbiBpJiZqJiYoaD1p LnNldChhLGQsYykpIT09YilyZXR1cm4gaDthLnNldEF0dHJpYnV0ZShjLCIiK2Qp O3JldHVybiBkfWlmKGkmJiJnZXQiaW4gaSYmailyZXR1cm4gaS5nZXQoYSxjKTto PWEuZ2V0QXR0cmlidXRlKGMpO3JldHVybiBoPT09bnVsbD9iOmh9LHJlbW92ZUF0 dHI6ZnVuY3Rpb24oYSxiKXt2YXIgYzthLm5vZGVUeXBlPT09MSYmKGI9Zi5hdHRy Rml4W2JdfHxiLGYuc3VwcG9ydC5nZXRTZXRBdHRyaWJ1dGU/YS5yZW1vdmVBdHRy aWJ1dGUoYik6KGYuYXR0cihhLGIsIiIpLGEucmVtb3ZlQXR0cmlidXRlTm9kZShh LmdldEF0dHJpYnV0ZU5vZGUoYikpKSx0LnRlc3QoYikmJihjPWYucHJvcEZpeFti XXx8YilpbiBhJiYoYVtjXT0hMSkpfSxhdHRySG9va3M6e3R5cGU6e3NldDpmdW5j dGlvbihhLGIpe2lmKHEudGVzdChhLm5vZGVOYW1lKSYmYS5wYXJlbnROb2RlKWYu ZXJyb3IoInR5cGUgcHJvcGVydHkgY2FuJ3QgYmUgY2hhbmdlZCIpO2Vsc2UgaWYo IWYuc3VwcG9ydC5yYWRpb1ZhbHVlJiZiPT09InJhZGlvIiYmZi5ub2RlTmFtZShh LCJpbnB1dCIpKXt2YXIgYz1hLnZhbHVlO2Euc2V0QXR0cmlidXRlKCJ0eXBlIixi KSxjJiYoYS52YWx1ZT1jKTtyZXR1cm4gYn19fSx0YWJJbmRleDp7Z2V0OmZ1bmN0 aW9uKGEpe3ZhciBjPWEuZ2V0QXR0cmlidXRlTm9kZSgidGFiSW5kZXgiKTtyZXR1 cm4gYyYmYy5zcGVjaWZpZWQ/cGFyc2VJbnQoYy52YWx1ZSwxMCk6ci50ZXN0KGEu bm9kZU5hbWUpfHxzLnRlc3QoYS5ub2RlTmFtZSkmJmEuaHJlZj8wOmJ9fX0scHJv cEZpeDp7dGFiaW5kZXg6InRhYkluZGV4IixyZWFkb25seToicmVhZE9ubHkiLCJm b3IiOiJodG1sRm9yIiwiY2xhc3MiOiJjbGFzc05hbWUiLG1heGxlbmd0aDoibWF4 TGVuZ3RoIixjZWxsc3BhY2luZzoiY2VsbFNwYWNpbmciLGNlbGxwYWRkaW5nOiJj ZWxsUGFkZGluZyIscm93c3Bhbjoicm93U3BhbiIsY29sc3BhbjoiY29sU3BhbiIs dXNlbWFwOiJ1c2VNYXAiLGZyYW1lYm9yZGVyOiJmcmFtZUJvcmRlciIsY29udGVu dGVkaXRhYmxlOiJjb250ZW50RWRpdGFibGUifSxwcm9wOmZ1bmN0aW9uKGEsYyxk KXt2YXIgZT1hLm5vZGVUeXBlO2lmKCFhfHxlPT09M3x8ZT09PTh8fGU9PT0yKXJl dHVybiBiO3ZhciBnLGgsaT1lIT09MXx8IWYuaXNYTUxEb2MoYSk7Yz1pJiZmLnBy b3BGaXhbY118fGMsaD1mLnByb3BIb29rc1tjXTtyZXR1cm4gZCE9PWI/aCYmInNl dCJpbiBoJiYoZz1oLnNldChhLGQsYykpIT09Yj9nOmFbY109ZDpoJiYiZ2V0Imlu IGgmJihnPWguZ2V0KGEsYykpIT09Yj9nOmFbY119LHByb3BIb29rczp7fX0pLHc9 e2dldDpmdW5jdGlvbihhLGMpe3JldHVybiBhW2YucHJvcEZpeFtjXXx8Y10/Yy50 b0xvd2VyQ2FzZSgpOmJ9LHNldDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ7Yj09PSEx P2YucmVtb3ZlQXR0cihhLGMpOihkPWYucHJvcEZpeFtjXXx8YyxkIGluIGEmJihh W2RdPWIpLGEuc2V0QXR0cmlidXRlKGMsYy50b0xvd2VyQ2FzZSgpKSk7cmV0dXJu IGN9fSxmLmF0dHJIb29rcy52YWx1ZT17Z2V0OmZ1bmN0aW9uKGEsYil7aWYodiYm Zi5ub2RlTmFtZShhLCJidXR0b24iKSlyZXR1cm4gdi5nZXQoYSxiKTtyZXR1cm4g YS52YWx1ZX0sc2V0OmZ1bmN0aW9uKGEsYixjKXtpZih2JiZmLm5vZGVOYW1lKGEs ImJ1dHRvbiIpKXJldHVybiB2LnNldChhLGIsYyk7YS52YWx1ZT1ifX0sZi5zdXBw b3J0LmdldFNldEF0dHJpYnV0ZXx8KGYuYXR0ckZpeD1mLnByb3BGaXgsdj1mLmF0

dHJIb29rcy5uYW1lPWYudmFsSG9va3MuYnV0dG9uPXtnZXQ6ZnVuY3Rpb24oYSxj KXt2YXIgZDtkPWEuZ2V0QXR0cmlidXRlTm9kZShjKTtyZXR1cm4gZCYmZC5ub2Rl VmFsdWUhPT0iIj9kLm5vZGVWYWx1ZTpifSxzZXQ6ZnVuY3Rpb24oYSxiLGMpe3Zh ciBkPWEuZ2V0QXR0cmlidXRlTm9kZShjKTtpZihkKXtkLm5vZGVWYWx1ZT1iO3Jl dHVybiBifX19LGYuZWFjaChbIndpZHRoIiwiaGVpZ2h0Il0sZnVuY3Rpb24oYSxi KXtmLmF0dHJIb29rc1tiXT1mLmV4dGVuZChmLmF0dHJIb29rc1tiXSx7c2V0OmZ1 bmN0aW9uKGEsYyl7aWYoYz09PSIiKXthLnNldEF0dHJpYnV0ZShiLCJhdXRvIik7 cmV0dXJuIGN9fX0pfSkpLGYuc3VwcG9ydC5ocmVmTm9ybWFsaXplZHx8Zi5lYWNo KFsiaHJlZiIsInNyYyIsIndpZHRoIiwiaGVpZ2h0Il0sZnVuY3Rpb24oYSxjKXtm LmF0dHJIb29rc1tjXT1mLmV4dGVuZChmLmF0dHJIb29rc1tjXSx7Z2V0OmZ1bmN0 aW9uKGEpe3ZhciBkPWEuZ2V0QXR0cmlidXRlKGMsMik7cmV0dXJuIGQ9PT1udWxs P2I6ZH19KX0pLGYuc3VwcG9ydC5zdHlsZXx8KGYuYXR0ckhvb2tzLnN0eWxlPXtn ZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc3R5bGUuY3NzVGV4dC50b0xvd2VyQ2Fz ZSgpfHxifSxzZXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5zdHlsZS5jc3NUZXh0 PSIiK2J9fSksZi5zdXBwb3J0Lm9wdFNlbGVjdGVkfHwoZi5wcm9wSG9va3Muc2Vs ZWN0ZWQ9Zi5leHRlbmQoZi5wcm9wSG9va3Muc2VsZWN0ZWQse2dldDpmdW5jdGlv bihhKXt2YXIgYj1hLnBhcmVudE5vZGU7YiYmKGIuc2VsZWN0ZWRJbmRleCxiLnBh cmVudE5vZGUmJmIucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4KX19KSksZi5zdXBw b3J0LmNoZWNrT258fGYuZWFjaChbInJhZGlvIiwiY2hlY2tib3giXSxmdW5jdGlv bigpe2YudmFsSG9va3NbdGhpc109e2dldDpmdW5jdGlvbihhKXtyZXR1cm4gYS5n ZXRBdHRyaWJ1dGUoInZhbHVlIik9PT1udWxsPyJvbiI6YS52YWx1ZX19fSksZi5l YWNoKFsicmFkaW8iLCJjaGVja2JveCJdLGZ1bmN0aW9uKCl7Zi52YWxIb29rc1t0 aGlzXT1mLmV4dGVuZChmLnZhbEhvb2tzW3RoaXNdLHtzZXQ6ZnVuY3Rpb24oYSxi KXtpZihmLmlzQXJyYXkoYikpcmV0dXJuIGEuY2hlY2tlZD1mLmluQXJyYXkoZihh KS52YWwoKSxiKT49MH19KX0pO3ZhciB4PU9iamVjdC5wcm90b3R5cGUuaGFzT3du UHJvcGVydHkseT0vXC4oLiopJC8sej0vXig/OnRleHRhcmVhfGlucHV0fHNlbGVj dCkkL2ksQT0vXC4vZyxCPS8gL2csQz0vW15cd1xzLnxgXS9nLEQ9ZnVuY3Rpb24o YSl7cmV0dXJuIGEucmVwbGFjZShDLCJcXCQmIil9O2YuZXZlbnQ9e2FkZDpmdW5j dGlvbihhLGMsZCxlKXtpZihhLm5vZGVUeXBlIT09MyYmYS5ub2RlVHlwZSE9PTgp e2lmKGQ9PT0hMSlkPUU7ZWxzZSBpZighZClyZXR1cm47dmFyIGcsaDtkLmhhbmRs ZXImJihnPWQsZD1nLmhhbmRsZXIpLGQuZ3VpZHx8KGQuZ3VpZD1mLmd1aWQrKyk7 dmFyIGk9Zi5fZGF0YShhKTtpZighaSlyZXR1cm47dmFyIGo9aS5ldmVudHMsaz1p LmhhbmRsZTtqfHwoaS5ldmVudHM9aj17fSksa3x8KGkuaGFuZGxlPWs9ZnVuY3Rp b24oYSl7cmV0dXJuIHR5cGVvZiBmIT0idW5kZWZpbmVkIiYmKCFhfHxmLmV2ZW50 LnRyaWdnZXJlZCE9PWEudHlwZSk/Zi5ldmVudC5oYW5kbGUuYXBwbHkoay5lbGVt LGFyZ3VtZW50cyk6Yn0pLGsuZWxlbT1hLGM9Yy5zcGxpdCgiICIpO3ZhciBsLG09 MCxuO3doaWxlKGw9Y1ttKytdKXtoPWc/Zi5leHRlbmQoe30sZyk6e2hhbmRsZXI6 ZCxkYXRhOmV9LGwuaW5kZXhPZigiLiIpPi0xPyhuPWwuc3BsaXQoIi4iKSxsPW4u c2hpZnQoKSxoLm5hbWVzcGFjZT1uLnNsaWNlKDApLnNvcnQoKS5qb2luKCIuIikp OihuPVtdLGgubmFtZXNwYWNlPSIiKSxoLnR5cGU9bCxoLmd1aWR8fChoLmd1aWQ9 ZC5ndWlkKTt2YXIgbz1qW2xdLHA9Zi5ldmVudC5zcGVjaWFsW2xdfHx7fTtpZigh byl7bz1qW2xdPVtdO2lmKCFwLnNldHVwfHxwLnNldHVwLmNhbGwoYSxlLG4sayk9 PT0hMSlhLmFkZEV2ZW50TGlzdGVuZXI/YS5hZGRFdmVudExpc3RlbmVyKGwsaywh MSk6YS5hdHRhY2hFdmVudCYmYS5hdHRhY2hFdmVudCgib24iK2wsayl9cC5hZGQm JihwLmFkZC5jYWxsKGEsaCksaC5oYW5kbGVyLmd1aWR8fChoLmhhbmRsZXIuZ3Vp ZD1kLmd1aWQpKSxvLnB1c2goaCksZi5ldmVudC5nbG9iYWxbbF09ITB9YT1udWxs fX0sZ2xvYmFsOnt9LHJlbW92ZTpmdW5jdGlvbihhLGMsZCxlKXtpZihhLm5vZGVU eXBlIT09MyYmYS5ub2RlVHlwZSE9PTgpe2Q9PT0hMSYmKGQ9RSk7dmFyIGcsaCxp LGosaz0wLGwsbSxuLG8scCxxLHIscz1mLmhhc0RhdGEoYSkmJmYuX2RhdGEoYSks dD1zJiZzLmV2ZW50cztpZighc3x8IXQpcmV0dXJuO2MmJmMudHlwZSYmKGQ9Yy5o YW5kbGVyLGM9Yy50eXBlKTtpZighY3x8dHlwZW9mIGM9PSJzdHJpbmciJiZjLmNo YXJBdCgwKT09PSIuIil7Yz1jfHwiIjtmb3IoaCBpbiB0KWYuZXZlbnQucmVtb3Zl KGEsaCtjKTtyZXR1cm59Yz1jLnNwbGl0KCIgIik7d2hpbGUoaD1jW2srK10pe3I9 aCxxPW51bGwsbD1oLmluZGV4T2YoIi4iKTwwLG09W10sbHx8KG09aC5zcGxpdCgi LiIpLGg9bS5zaGlmdCgpLG49bmV3IFJlZ0V4cCgiKF58XFwuKSIrZi5tYXAobS5z bGljZSgwKS5zb3J0KCksRCkuam9pbigiXFwuKD86LipcXC4pPyIpKyIoXFwufCQp IikpLHA9dFtoXTtpZighcCljb250aW51ZTtpZighZCl7Zm9yKGo9MDtqPHAubGVu Z3RoO2orKyl7cT1wW2pdO2lmKGx8fG4udGVzdChxLm5hbWVzcGFjZSkpZi5ldmVu dC5yZW1vdmUoYSxyLHEuaGFuZGxlcixqKSxwLnNwbGljZShqLS0sMSl9Y29udGlu dWV9bz1mLmV2ZW50LnNwZWNpYWxbaF18fHt9O2ZvcihqPWV8fDA7ajxwLmxlbmd0

aDtqKyspe3E9cFtqXTtpZihkLmd1aWQ9PT1xLmd1aWQpe2lmKGx8fG4udGVzdChx Lm5hbWVzcGFjZSkpZT09bnVsbCYmcC5zcGxpY2Uoai0tLDEpLG8ucmVtb3ZlJiZv LnJlbW92ZS5jYWxsKGEscSk7aWYoZSE9bnVsbClicmVha319aWYocC5sZW5ndGg9 PT0wfHxlIT1udWxsJiZwLmxlbmd0aD09PTEpKCFvLnRlYXJkb3dufHxvLnRlYXJk b3duLmNhbGwoYSxtKT09PSExKSYmZi5yZW1vdmVFdmVudChhLGgscy5oYW5kbGUp LGc9bnVsbCxkZWxldGUgdFtoXX1pZihmLmlzRW1wdHlPYmplY3QodCkpe3ZhciB1 PXMuaGFuZGxlO3UmJih1LmVsZW09bnVsbCksZGVsZXRlIHMuZXZlbnRzLGRlbGV0 ZSBzLmhhbmRsZSxmLmlzRW1wdHlPYmplY3QocykmJmYucmVtb3ZlRGF0YShhLGIs ITApfX19LGN1c3RvbUV2ZW50OntnZXREYXRhOiEwLHNldERhdGE6ITAsY2hhbmdl RGF0YTohMH0sdHJpZ2dlcjpmdW5jdGlvbihjLGQsZSxnKXt2YXIgaD1jLnR5cGV8 fGMsaT1bXSxqO2guaW5kZXhPZigiISIpPj0wJiYoaD1oLnNsaWNlKDAsLTEpLGo9 ITApLGguaW5kZXhPZigiLiIpPj0wJiYoaT1oLnNwbGl0KCIuIiksaD1pLnNoaWZ0 KCksaS5zb3J0KCkpO2lmKCEhZSYmIWYuZXZlbnQuY3VzdG9tRXZlbnRbaF18fCEh Zi5ldmVudC5nbG9iYWxbaF0pe2M9dHlwZW9mIGM9PSJvYmplY3QiP2NbZi5leHBh bmRvXT9jOm5ldyBmLkV2ZW50KGgsYyk6bmV3IGYuRXZlbnQoaCksYy50eXBlPWgs Yy5leGNsdXNpdmU9aixjLm5hbWVzcGFjZT1pLmpvaW4oIi4iKSxjLm5hbWVzcGFj ZV9yZT1uZXcgUmVnRXhwKCIoXnxcXC4pIitpLmpvaW4oIlxcLig/Oi4qXFwuKT8i KSsiKFxcLnwkKSIpO2lmKGd8fCFlKWMucHJldmVudERlZmF1bHQoKSxjLnN0b3BQ cm9wYWdhdGlvbigpO2lmKCFlKXtmLmVhY2goZi5jYWNoZSxmdW5jdGlvbigpe3Zh ciBhPWYuZXhwYW5kbyxiPXRoaXNbYV07YiYmYi5ldmVudHMmJmIuZXZlbnRzW2hd JiZmLmV2ZW50LnRyaWdnZXIoYyxkLGIuaGFuZGxlLmVsZW0KKX0pO3JldHVybn1p ZihlLm5vZGVUeXBlPT09M3x8ZS5ub2RlVHlwZT09PTgpcmV0dXJuO2MucmVzdWx0 PWIsYy50YXJnZXQ9ZSxkPWQ/Zi5tYWtlQXJyYXkoZCk6W10sZC51bnNoaWZ0KGMp O3ZhciBrPWUsbD1oLmluZGV4T2YoIjoiKTwwPyJvbiIraDoiIjtkb3t2YXIgbT1m Ll9kYXRhKGssImhhbmRsZSIpO2MuY3VycmVudFRhcmdldD1rLG0mJm0uYXBwbHko ayxkKSxsJiZmLmFjY2VwdERhdGEoaykmJmtbbF0mJmtbbF0uYXBwbHkoayxkKT09 PSExJiYoYy5yZXN1bHQ9ITEsYy5wcmV2ZW50RGVmYXVsdCgpKSxrPWsucGFyZW50 Tm9kZXx8ay5vd25lckRvY3VtZW50fHxrPT09Yy50YXJnZXQub3duZXJEb2N1bWVu dCYmYX13aGlsZShrJiYhYy5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKTtpZighYy5p c0RlZmF1bHRQcmV2ZW50ZWQoKSl7dmFyIG4sbz1mLmV2ZW50LnNwZWNpYWxbaF18 fHt9O2lmKCghby5fZGVmYXVsdHx8by5fZGVmYXVsdC5jYWxsKGUub3duZXJEb2N1 bWVudCxjKT09PSExKSYmKGghPT0iY2xpY2sifHwhZi5ub2RlTmFtZShlLCJhIikp JiZmLmFjY2VwdERhdGEoZSkpe3RyeXtsJiZlW2hdJiYobj1lW2xdLG4mJihlW2xd PW51bGwpLGYuZXZlbnQudHJpZ2dlcmVkPWgsZVtoXSgpKX1jYXRjaChwKXt9biYm KGVbbF09biksZi5ldmVudC50cmlnZ2VyZWQ9Yn19cmV0dXJuIGMucmVzdWx0fX0s aGFuZGxlOmZ1bmN0aW9uKGMpe2M9Zi5ldmVudC5maXgoY3x8YS5ldmVudCk7dmFy IGQ9KChmLl9kYXRhKHRoaXMsImV2ZW50cyIpfHx7fSlbYy50eXBlXXx8W10pLnNs aWNlKDApLGU9IWMuZXhjbHVzaXZlJiYhYy5uYW1lc3BhY2UsZz1BcnJheS5wcm90 b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMCk7Z1swXT1jLGMuY3VycmVudFRh cmdldD10aGlzO2Zvcih2YXIgaD0wLGk9ZC5sZW5ndGg7aDxpO2grKyl7dmFyIGo9 ZFtoXTtpZihlfHxjLm5hbWVzcGFjZV9yZS50ZXN0KGoubmFtZXNwYWNlKSl7Yy5o YW5kbGVyPWouaGFuZGxlcixjLmRhdGE9ai5kYXRhLGMuaGFuZGxlT2JqPWo7dmFy IGs9ai5oYW5kbGVyLmFwcGx5KHRoaXMsZyk7ayE9PWImJihjLnJlc3VsdD1rLGs9 PT0hMSYmKGMucHJldmVudERlZmF1bHQoKSxjLnN0b3BQcm9wYWdhdGlvbigpKSk7 aWYoYy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpKWJyZWFrfX1yZXR1 cm4gYy5yZXN1bHR9LHByb3BzOiJhbHRLZXkgYXR0ckNoYW5nZSBhdHRyTmFtZSBi dWJibGVzIGJ1dHRvbiBjYW5jZWxhYmxlIGNoYXJDb2RlIGNsaWVudFggY2xpZW50 WSBjdHJsS2V5IGN1cnJlbnRUYXJnZXQgZGF0YSBkZXRhaWwgZXZlbnRQaGFzZSBm cm9tRWxlbWVudCBoYW5kbGVyIGtleUNvZGUgbGF5ZXJYIGxheWVyWSBtZXRhS2V5 IG5ld1ZhbHVlIG9mZnNldFggb2Zmc2V0WSBwYWdlWCBwYWdlWSBwcmV2VmFsdWUg cmVsYXRlZE5vZGUgcmVsYXRlZFRhcmdldCBzY3JlZW5YIHNjcmVlblkgc2hpZnRL ZXkgc3JjRWxlbWVudCB0YXJnZXQgdG9FbGVtZW50IHZpZXcgd2hlZWxEZWx0YSB3 aGljaCIuc3BsaXQoIiAiKSxmaXg6ZnVuY3Rpb24oYSl7aWYoYVtmLmV4cGFuZG9d KXJldHVybiBhO3ZhciBkPWE7YT1mLkV2ZW50KGQpO2Zvcih2YXIgZT10aGlzLnBy b3BzLmxlbmd0aCxnO2U7KWc9dGhpcy5wcm9wc1stLWVdLGFbZ109ZFtnXTthLnRh cmdldHx8KGEudGFyZ2V0PWEuc3JjRWxlbWVudHx8YyksYS50YXJnZXQubm9kZVR5 cGU9PT0zJiYoYS50YXJnZXQ9YS50YXJnZXQucGFyZW50Tm9kZSksIWEucmVsYXRl ZFRhcmdldCYmYS5mcm9tRWxlbWVudCYmKGEucmVsYXRlZFRhcmdldD1hLmZyb21F bGVtZW50PT09YS50YXJnZXQ/YS50b0VsZW1lbnQ6YS5mcm9tRWxlbWVudCk7aWYo YS5wYWdlWD09bnVsbCYmYS5jbGllbnRYIT1udWxsKXt2YXIgaD1hLnRhcmdldC5v

d25lckRvY3VtZW50fHxjLGk9aC5kb2N1bWVudEVsZW1lbnQsaj1oLmJvZHk7YS5w YWdlWD1hLmNsaWVudFgrKGkmJmkuc2Nyb2xsTGVmdHx8aiYmai5zY3JvbGxMZWZ0 fHwwKS0oaSYmaS5jbGllbnRMZWZ0fHxqJiZqLmNsaWVudExlZnR8fDApLGEucGFn ZVk9YS5jbGllbnRZKyhpJiZpLnNjcm9sbFRvcHx8aiYmai5zY3JvbGxUb3B8fDAp LShpJiZpLmNsaWVudFRvcHx8aiYmai5jbGllbnRUb3B8fDApfWEud2hpY2g9PW51 bGwmJihhLmNoYXJDb2RlIT1udWxsfHxhLmtleUNvZGUhPW51bGwpJiYoYS53aGlj aD1hLmNoYXJDb2RlIT1udWxsP2EuY2hhckNvZGU6YS5rZXlDb2RlKSwhYS5tZXRh S2V5JiZhLmN0cmxLZXkmJihhLm1ldGFLZXk9YS5jdHJsS2V5KSwhYS53aGljaCYm YS5idXR0b24hPT1iJiYoYS53aGljaD1hLmJ1dHRvbiYxPzE6YS5idXR0b24mMj8z OmEuYnV0dG9uJjQ/MjowKTtyZXR1cm4gYX0sZ3VpZDoxZTgscHJveHk6Zi5wcm94 eSxzcGVjaWFsOntyZWFkeTp7c2V0dXA6Zi5iaW5kUmVhZHksdGVhcmRvd246Zi5u b29wfSxsaXZlOnthZGQ6ZnVuY3Rpb24oYSl7Zi5ldmVudC5hZGQodGhpcyxPKGEu b3JpZ1R5cGUsYS5zZWxlY3RvciksZi5leHRlbmQoe30sYSx7aGFuZGxlcjpOLGd1 aWQ6YS5oYW5kbGVyLmd1aWR9KSl9LHJlbW92ZTpmdW5jdGlvbihhKXtmLmV2ZW50 LnJlbW92ZSh0aGlzLE8oYS5vcmlnVHlwZSxhLnNlbGVjdG9yKSxhKX19LGJlZm9y ZXVubG9hZDp7c2V0dXA6ZnVuY3Rpb24oYSxiLGMpe2YuaXNXaW5kb3codGhpcykm Jih0aGlzLm9uYmVmb3JldW5sb2FkPWMpfSx0ZWFyZG93bjpmdW5jdGlvbihhLGIp e3RoaXMub25iZWZvcmV1bmxvYWQ9PT1iJiYodGhpcy5vbmJlZm9yZXVubG9hZD1u dWxsKX19fX0sZi5yZW1vdmVFdmVudD1jLnJlbW92ZUV2ZW50TGlzdGVuZXI/ZnVu Y3Rpb24oYSxiLGMpe2EucmVtb3ZlRXZlbnRMaXN0ZW5lciYmYS5yZW1vdmVFdmVu dExpc3RlbmVyKGIsYywhMSl9OmZ1bmN0aW9uKGEsYixjKXthLmRldGFjaEV2ZW50 JiZhLmRldGFjaEV2ZW50KCJvbiIrYixjKX0sZi5FdmVudD1mdW5jdGlvbihhLGIp e2lmKCF0aGlzLnByZXZlbnREZWZhdWx0KXJldHVybiBuZXcgZi5FdmVudChhLGIp O2EmJmEudHlwZT8odGhpcy5vcmlnaW5hbEV2ZW50PWEsdGhpcy50eXBlPWEudHlw ZSx0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1hLmRlZmF1bHRQcmV2ZW50ZWR8fGEu cmV0dXJuVmFsdWU9PT0hMXx8YS5nZXRQcmV2ZW50RGVmYXVsdCYmYS5nZXRQcmV2 ZW50RGVmYXVsdCgpP0Y6RSk6dGhpcy50eXBlPWEsYiYmZi5leHRlbmQodGhpcyxi KSx0aGlzLnRpbWVTdGFtcD1mLm5vdygpLHRoaXNbZi5leHBhbmRvXT0hMH0sZi5F dmVudC5wcm90b3R5cGU9e3ByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dGhpcy5p c0RlZmF1bHRQcmV2ZW50ZWQ9Rjt2YXIgYT10aGlzLm9yaWdpbmFsRXZlbnQ7IWF8 fChhLnByZXZlbnREZWZhdWx0P2EucHJldmVudERlZmF1bHQoKTphLnJldHVyblZh bHVlPSExKX0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dGhpcy5pc1Byb3Bh Z2F0aW9uU3RvcHBlZD1GO3ZhciBhPXRoaXMub3JpZ2luYWxFdmVudDshYXx8KGEu c3RvcFByb3BhZ2F0aW9uJiZhLnN0b3BQcm9wYWdhdGlvbigpLGEuY2FuY2VsQnVi YmxlPSEwKX0sc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dGhp cy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZD1GLHRoaXMuc3RvcFByb3Bh Z2F0aW9uKCl9LGlzRGVmYXVsdFByZXZlbnRlZDpFLGlzUHJvcGFnYXRpb25TdG9w cGVkOkUsaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ6RX07dmFyIEc9ZnVu Y3Rpb24oYSl7dmFyIGI9YS5yZWxhdGVkVGFyZ2V0O2EudHlwZT1hLmRhdGE7dHJ5 e2lmKGImJmIhPT1jJiYhYi5wYXJlbnROb2RlKXJldHVybjt3aGlsZShiJiZiIT09 dGhpcyliPWIucGFyZW50Tm9kZTtiIT09dGhpcyYmZi5ldmVudC5oYW5kbGUuYXBw bHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKGQpe319LEg9ZnVuY3Rpb24oYSl7YS50 eXBlPWEuZGF0YSxmLmV2ZW50LmhhbmRsZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9 O2YuZWFjaCh7bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3Vz ZW91dCJ9LGZ1bmN0aW9uKGEsYil7Zi5ldmVudC5zcGVjaWFsW2FdPXtzZXR1cDpm dW5jdGlvbihjKXtmLmV2ZW50LmFkZCh0aGlzLGIsYyYmYy5zZWxlY3Rvcj9IOkcs YSl9LHRlYXJkb3duOmZ1bmN0aW9uKGEpe2YuZXZlbnQucmVtb3ZlKHRoaXMsYixh JiZhLnNlbGVjdG9yP0g6Ryl9fX0pLGYuc3VwcG9ydC5zdWJtaXRCdWJibGVzfHwo Zi5ldmVudC5zcGVjaWFsLnN1Ym1pdD17c2V0dXA6ZnVuY3Rpb24oYSxiKXtpZigh Zi5ub2RlTmFtZSh0aGlzLCJmb3JtIikpZi5ldmVudC5hZGQodGhpcywiY2xpY2su c3BlY2lhbFN1Ym1pdCIsZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQsYz1iLnR5 cGU7KGM9PT0ic3VibWl0Inx8Yz09PSJpbWFnZSIpJiZmKGIpLmNsb3Nlc3QoImZv cm0iKS5sZW5ndGgmJkwoInN1Ym1pdCIsdGhpcyxhcmd1bWVudHMpfSksZi5ldmVu dC5hZGQodGhpcywia2V5cHJlc3Muc3BlY2lhbFN1Ym1pdCIsZnVuY3Rpb24oYSl7 dmFyIGI9YS50YXJnZXQsYz1iLnR5cGU7KGM9PT0idGV4dCJ8fGM9PT0icGFzc3dv cmQiKSYmZihiKS5jbG9zZXN0KCJmb3JtIikubGVuZ3RoJiZhLmtleUNvZGU9PT0x MyYmTCgic3VibWl0Iix0aGlzLGFyZ3VtZW50cyl9KTtlbHNlIHJldHVybiExfSx0 ZWFyZG93bjpmdW5jdGlvbihhKXtmLmV2ZW50LnJlbW92ZSh0aGlzLCIuc3BlY2lh bFN1Ym1pdCIpfX0pO2lmKCFmLnN1cHBvcnQuY2hhbmdlQnViYmxlcyl7dmFyIEks Sj1mdW5jdGlvbihhKXt2YXIgYj1hLnR5cGUsYz1hLnZhbHVlO2I9PT0icmFkaW8i

fHxiPT09ImNoZWNrYm94Ij9jPWEuY2hlY2tlZDpiPT09InNlbGVjdC1tdWx0aXBs ZSI/Yz1hLnNlbGVjdGVkSW5kZXg+LTE/Zi5tYXAoYS5vcHRpb25zLGZ1bmN0aW9u KGEpe3JldHVybiBhLnNlbGVjdGVkfSkuam9pbigiLSIpOiIiOmYubm9kZU5hbWUo YSwic2VsZWN0IikmJihjPWEuc2VsZWN0ZWRJbmRleCk7cmV0dXJuIGN9LEs9ZnVu Y3Rpb24oYyl7dmFyIGQ9Yy50YXJnZXQsZSxnO2lmKCEhei50ZXN0KGQubm9kZU5h bWUpJiYhZC5yZWFkT25seSl7ZT1mLl9kYXRhKGQsIl9jaGFuZ2VfZGF0YSIpLGc9 SihkKSwoYy50eXBlIT09ImZvY3Vzb3V0Inx8ZC50eXBlIT09InJhZGlvIikmJmYu X2RhdGEoZCwiX2NoYW5nZV9kYXRhIixnKTtpZihlPT09Ynx8Zz09PWUpcmV0dXJu O2lmKGUhPW51bGx8fGcpYy50eXBlPSJjaGFuZ2UiLGMubGl2ZUZpcmVkPWIsZi5l dmVudC50cmlnZ2VyKGMsYXJndW1lbnRzWzFdLGQpfX07Zi5ldmVudC5zcGVjaWFs LmNoYW5nZT17ZmlsdGVyczp7Zm9jdXNvdXQ6SyxiZWZvcmVkZWFjdGl2YXRlOkss Y2xpY2s6ZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQsYz1mLm5vZGVOYW1lKGIs ImlucHV0Iik/Yi50eXBlOiIiOyhjPT09InJhZGlvInx8Yz09PSJjaGVja2JveCJ8 fGYubm9kZU5hbWUoYiwic2VsZWN0IikpJiZLLmNhbGwodGhpcyxhKX0sa2V5ZG93 bjpmdW5jdGlvbihhKXt2YXIgYj1hLnRhcmdldCxjPWYubm9kZU5hbWUoYiwiaW5w dXQiKT9iLnR5cGU6IiI7KGEua2V5Q29kZT09PTEzJiYhZi5ub2RlTmFtZShiLCJ0 ZXh0YXJlYSIpfHxhLmtleUNvZGU9PT0zMiYmKGM9PT0iY2hlY2tib3gifHxjPT09 InJhZGlvIil8fGM9PT0ic2VsZWN0LW11bHRpcGxlIikmJksuY2FsbCh0aGlzLGEp fSxiZWZvcmVhY3RpdmF0ZTpmdW5jdGlvbihhKXt2YXIgYj1hLnRhcmdldDtmLl9k YXRhKGIsIl9jaGFuZ2VfZGF0YSIsSihiKSl9fSxzZXR1cDpmdW5jdGlvbihhLGIp e2lmKHRoaXMudHlwZT09PSJmaWxlIilyZXR1cm4hMTtmb3IodmFyIGMgaW4gSSlm LmV2ZW50LmFkZCh0aGlzLGMrIi5zcGVjaWFsQ2hhbmdlIixJW2NdKTtyZXR1cm4g ei50ZXN0KHRoaXMubm9kZU5hbWUpfSx0ZWFyZG93bjpmdW5jdGlvbihhKXtmLmV2 ZW50LnJlbW92ZSh0aGlzLCIuc3BlY2lhbENoYW5nZSIpO3JldHVybiB6LnRlc3Qo dGhpcy5ub2RlTmFtZSl9fSxJPWYuZXZlbnQuc3BlY2lhbC5jaGFuZ2UuZmlsdGVy cyxJLmZvY3VzPUkuYmVmb3JlYWN0aXZhdGV9Zi5zdXBwb3J0LmZvY3VzaW5CdWJi bGVzfHxmLmVhY2goe2ZvY3VzOiJmb2N1c2luIixibHVyOiJmb2N1c291dCJ9LGZ1 bmN0aW9uKGEsYil7ZnVuY3Rpb24gZShhKXt2YXIgYz1mLmV2ZW50LmZpeChhKTtj LnR5cGU9YixjLm9yaWdpbmFsRXZlbnQ9e30sZi5ldmVudC50cmlnZ2VyKGMsbnVs bCxjLnRhcmdldCksYy5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmYS5wcmV2ZW50RGVm YXVsdCgpfXZhciBkPTA7Zi5ldmVudC5zcGVjaWFsW2JdPXtzZXR1cDpmdW5jdGlv bigpe2QrKz09PTAmJmMuYWRkRXZlbnRMaXN0ZW5lcihhLGUsITApfSx0ZWFyZG93 bjpmdW5jdGlvbigpey0tZD09PTAmJmMucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGUs ITApfX19KSxmLmVhY2goWyJiaW5kIiwib25lIl0sZnVuY3Rpb24oYSxjKXtmLmZu W2NdPWZ1bmN0aW9uKGEsZCxlKXt2YXIgZztpZih0eXBlb2YgYT09Im9iamVjdCIp e2Zvcih2YXIgaCBpbiBhKXRoaXNbY10oaCxkLGFbaF0sZSk7cmV0dXJuIHRoaXN9 aWYoYXJndW1lbnRzLmxlbmd0aD09PTJ8fGQ9PT0hMSllPWQsZD1iO2M9PT0ib25l Ij8oZz1mdW5jdGlvbihhKXtmKHRoaXMpLnVuYmluZChhLGcpO3JldHVybiBlLmFw cGx5KHRoaXMsYXJndW1lbnRzKX0sZy5ndWlkPWUuZ3VpZHx8Zi5ndWlkKyspOmc9 ZTtpZihhPT09InVubG9hZCImJmMhPT0ib25lIil0aGlzLm9uZShhLGQsZSk7ZWxz ZSBmb3IodmFyIGk9MCxqPXRoaXMubGVuZ3RoO2k8ajtpKyspZi5ldmVudC5hZGQo dGhpc1tpXSxhLGcsZCk7cmV0dXJuIHRoaXN9fSksZi5mbi5leHRlbmQoe3VuYmlu ZDpmdW5jdGlvbihhLGIpe2lmKHR5cGVvZiBhPT0ib2JqZWN0IiYmIWEucHJldmVu dERlZmF1bHQpZm9yKHZhciBjIGluIGEpdGhpcy51bmJpbmQoYyxhW2NdKTtlbHNl IGZvcih2YXIgZD0wLGU9dGhpcy5sZW5ndGg7ZDxlO2QrKylmLmV2ZW50LnJlbW92 ZSh0aGlzW2RdLGEsYik7cmV0dXJuIHRoaXN9LGRlbGVnYXRlOmZ1bmN0aW9uKGEs YixjLGQpe3JldHVybiB0aGlzLmxpdmUoYixjLGQsYSl9LHVuZGVsZWdhdGU6ZnVu Y3Rpb24oYSxiLGMpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPT09MD90aGlzLnVu YmluZCgibGl2ZSIpOnRoaXMuZGllKGIsbnVsbCxjLGEpfSx0cmlnZ2VyOmZ1bmN0 aW9uKGEsYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2YuZXZlbnQudHJp Z2dlcihhLGIsdGhpcyl9KX0sdHJpZ2dlckhhbmRsZXI6ZnVuY3Rpb24oYSxiKXtp Zih0aGlzWzBdKXJldHVybiBmLmV2ZW50LnRyaWdnZXIoYSxiLHRoaXNbMF0sITAp fSx0b2dnbGU6ZnVuY3Rpb24oYSl7dmFyIGI9YXJndW1lbnRzLGM9YS5ndWlkfHxm Lmd1aWQrKyxkPTAsZT1mdW5jdGlvbihjKXt2YXIgZT0oZi5kYXRhKHRoaXMsImxh c3RUb2dnbGUiK2EuZ3VpZCl8fDApJWQ7Zi5kYXRhKHRoaXMsImxhc3RUb2dnbGUi K2EuZ3VpZCxlKzEpLGMucHJldmVudERlZmF1bHQoKTtyZXR1cm4gYltlXS5hcHBs eSh0aGlzLGFyZ3VtZW50cyl8fCExfTtlLmd1aWQ9Yzt3aGlsZShkPGIubGVuZ3Ro KWJbZCsrXS5ndWlkPWM7cmV0dXJuIHRoaXMuY2xpY2soZSl9LGhvdmVyOmZ1bmN0 aW9uKGEsYil7cmV0dXJuIHRoaXMubW91c2VlbnRlcihhKS5tb3VzZWxlYXZlKGJ8 fGEpfX0pO3ZhciBNPXtmb2N1czoiZm9jdXNpbiIsYmx1cjoiZm9jdXNvdXQiLG1v

dXNlZW50ZXI6Im1vdXNlb3ZlciIsbW91c2VsZWF2ZToibW91c2VvdXQifTtmLmVh Y2goWyJsaXZlIiwiZGllIl0sZnVuY3Rpb24oYSxjKXtmLmZuW2NdPWZ1bmN0aW9u KGEsZCxlLGcpe3ZhciBoLGk9MCxqLGssbCxtPWd8fHRoaXMuc2VsZWN0b3Isbj1n P3RoaXM6Zih0aGlzLmNvbnRleHQpO2lmKHR5cGVvZiBhPT0ib2JqZWN0IiYmIWEu cHJldmVudERlZmF1bHQpe2Zvcih2YXIgbyBpbiBhKW5bY10obyxkLGFbb10sbSk7 cmV0dXJuIHRoaXN9aWYoYz09PSJkaWUiJiYhYSYmZyYmZy5jaGFyQXQoMCk9PT0i LiIpe24udW5iaW5kKGcpO3JldHVybiB0aGlzfWlmKGQ9PT0hMXx8Zi5pc0Z1bmN0 aW9uKGQpKWU9ZHx8RSxkPWI7YT0oYXx8IiIpLnNwbGl0KCIgIik7d2hpbGUoKGg9 YVtpKytdKSE9bnVsbCl7aj15LmV4ZWMoaCksaz0iIixqJiYoaz1qWzBdLGg9aC5y ZXBsYWNlKHksIiIpKTtpZihoPT09ImhvdmVyIil7YS5wdXNoKCJtb3VzZWVudGVy IitrLCJtb3VzZWxlYXZlIitrKTtjb250aW51ZX1sPWgsTVtoXT8oYS5wdXNoKE1b aF0rayksaD1oK2spOmg9KE1baF18fGgpK2s7aWYoYz09PSJsaXZlIilmb3IodmFy IHA9MCxxPW4ubGVuZ3RoO3A8cTtwKyspZi5ldmVudC5hZGQobltwXSwibGl2ZS4i K08oaCxtKSx7ZGF0YTpkLHNlbGVjdG9yOm0saGFuZGxlcjplLG9yaWdUeXBlOmgs b3JpZ0hhbmRsZXI6ZSxwcmVUeXBlOmx9KTtlbHNlIG4udW5iaW5kKCJsaXZlLiIr TyhoLG0pLGUpfXJldHVybiB0aGlzfX0pLGYuZWFjaCgiYmx1ciBmb2N1cyBmb2N1 c2luIGZvY3Vzb3V0IGxvYWQgcmVzaXplIHNjcm9sbCB1bmxvYWQgY2xpY2sgZGJs Y2xpY2sgbW91c2Vkb3duIG1vdXNldXAgbW91c2Vtb3ZlIG1vdXNlb3ZlciBtb3Vz ZW91dCBtb3VzZWVudGVyIG1vdXNlbGVhdmUgY2hhbmdlIHNlbGVjdCBzdWJtaXQg a2V5ZG93biBrZXlwcmVzcyBrZXl1cCBlcnJvciIuc3BsaXQoIiAiKSxmdW5jdGlv bihhLGIpe2YuZm5bYl09ZnVuY3Rpb24oYSxjKXtjPT1udWxsJiYoYz1hLGE9bnVs bCk7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MD90aGlzLmJpbmQoYixhLGMpOnRo aXMudHJpZ2dlcihiKX0sZi5hdHRyRm4mJihmLmF0dHJGbltiXT0hMCl9KSxmdW5j dGlvbigpe2Z1bmN0aW9uIHUoYSxiLGMsZCxlLGYpe2Zvcih2YXIgZz0wLGg9ZC5s ZW5ndGg7ZzxoO2crKyl7dmFyIGk9ZFtnXTtpZihpKXt2YXIgaj0hMTtpPWlbYV07 d2hpbGUoaSl7aWYoaS5zaXpjYWNoZT09PWMpe2o9ZFtpLnNpenNldF07YnJlYWt9 aWYoaS5ub2RlVHlwZT09PTEpe2Z8fChpLnNpemNhY2hlPWMsaS5zaXpzZXQ9Zyk7 aWYodHlwZW9mIGIhPSJzdHJpbmciKXtpZihpPT09Yil7aj0hMDticmVha319ZWxz ZSBpZihrLmZpbHRlcihiLFtpXSkubGVuZ3RoPjApe2o9aTticmVha319aT1pW2Fd fWRbZ109an19fWZ1bmN0aW9uIHQoYSxiLGMsZCxlLGYpe2Zvcih2YXIgZz0wLGg9 ZC5sZW5ndGg7ZzxoO2crKyl7dmFyIGk9ZFtnXTtpZihpKXt2YXIgaj0hMTtpPWlb YV07d2hpbGUoaSl7aWYoaS5zaXpjYWNoZT09PWMpe2o9ZFtpLnNpenNldF07YnJl YWt9aS5ub2RlVHlwZT09PTEmJiFmJiYoaS5zaXpjYWNoZT1jLGkuc2l6c2V0PWcp O2lmKGkubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PWIpe2o9aTticmVha31pPWlb YV19ZFtnXT1qfX19dmFyIGE9LygoPzpcKCg/OlwoW14oKV0rXCl8W14oKV0rKStc KXxcWyg/OlxbW15cW1xdXSpcXXxbJyJdW14nIl0qWyciXXxbXlxbXF0nIl0rKStc XXxcXC58W14gPit+LChcW1xcXSspK3xbPit+XSkoXHMqLFxzKik/KCg/Oi58XHJ8 XG4pKikvZyxkPTAsZT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLGc9ITEsaD0h MCxpPS9cXC9nLGo9L1xXLztbMCwwXS5zb3J0KGZ1bmN0aW9uKCl7aD0hMTtyZXR1 cm4gMH0pO3ZhciBrPWZ1bmN0aW9uKGIsZCxmLGcpe2Y9Znx8W10sZD1kfHxjO3Zh ciBoPWQ7aWYoZC5ub2RlVHlwZSE9PTEmJmQubm9kZVR5cGUhPT05KXJldHVybltd O2lmKCFifHx0eXBlb2YgYiE9InN0cmluZyIpcmV0dXJuIGY7dmFyIGksaixuLG8s cSxyLHMsdCx1PSEwLHc9ay5pc1hNTChkKSx4PVtdLHk9Yjtkb3thLmV4ZWMoIiIp LGk9YS5leGVjKHkpO2lmKGkpe3k9aVszXSx4LnB1c2goaVsxXSk7aWYoaVsyXSl7 bz1pWzNdO2JyZWFrfX19d2hpbGUoaSk7aWYoeC5sZW5ndGg+MSYmbS5leGVjKGIp KWlmKHgubGVuZ3RoPT09MiYmbC5yZWxhdGl2ZVt4WzBdXSlqPXYoeFswXSt4WzFd LGQpO2Vsc2V7aj1sLnJlbGF0aXZlW3hbMF1dP1tkXTprKHguc2hpZnQoKSxkKTt3 aGlsZSh4Lmxlbmd0aCliPXguc2hpZnQoKSxsLnJlbGF0aXZlW2JdJiYoYis9eC5z aGlmdCgpKSxqPXYoYixqKX1lbHNleyFnJiZ4Lmxlbmd0aD4xJiZkLm5vZGVUeXBl PT09OSYmIXcmJmwubWF0Y2guSUQudGVzdCh4WzBdKSYmIWwubWF0Y2guSUQudGVz dCh4W3gubGVuZ3RoLTFdKSYmKHE9ay5maW5kKHguc2hpZnQoKSxkLHcpLGQ9cS5l eHByP2suZmlsdGVyKHEuZXhwcixxLnNldClbMF06cS5zZXRbMF0pO2lmKGQpe3E9 Zz97ZXhwcjp4LnBvcCgpLHNldDpwKGcpfTprLmZpbmQoeC5wb3AoKSx4Lmxlbmd0 aD09PTEmJih4WzBdPT09In4ifHx4WzBdPT09IisiKSYmZC5wYXJlbnROb2RlP2Qu cGFyZW50Tm9kZTpkLHcpLGo9cS5leHByP2suZmlsdGVyKHEuZXhwcixxLnNldCk6 cS5zZXQseC5sZW5ndGg+MD9uPXAoaik6dT0hMTt3aGlsZSh4Lmxlbmd0aClyPXgu cG9wKCkscz1yLGwucmVsYXRpdmVbcl0/cz14LnBvcCgpOnI9IiIscz09bnVsbCYm KHM9ZCksbC5yZWxhdGl2ZVtyXShuLHMsdyl9ZWxzZSBuPXg9W119bnx8KG49aiks bnx8ay5lcnJvcihyfHxiKTtpZihlLmNhbGwobik9PT0iW29iamVjdCBBcnJheV0i KWlmKCF1KWYucHVzaC5hcHBseShmLG4pO2Vsc2UgaWYoZCYmZC5ub2RlVHlwZT09

PTEpZm9yKHQ9MDtuW3RdIT1udWxsO3QrKyluW3RdJiYoblt0XT09PSEwfHxuW3Rd Lm5vZGVUeXBlPT09MSYmay5jb250YWlucyhkLG5bdF0pKSYmZi5wdXNoKGpbdF0p O2Vsc2UgZm9yKHQ9MDtuW3RdIT1udWxsO3QrKyluW3RdJiZuW3RdLm5vZGVUeXBl PT09MSYmZi5wdXNoKGpbdF0pO2Vsc2UgcChuLGYpO28mJihrKG8saCxmLGcpLGsu dW5pcXVlU29ydChmKSk7cmV0dXJuIGZ9O2sudW5pcXVlU29ydD1mdW5jdGlvbihh KXtpZihyKXtnPWgsYS5zb3J0KHIpO2lmKGcpZm9yKHZhciBiPTE7YjxhLmxlbmd0 aDtiKyspYVtiXT09PWFbYi0xXSYmYS5zcGxpY2UoYi0tLDEpfXJldHVybiBhfSxr Lm1hdGNoZXM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gayhhLG51bGwsbnVsbCxiKX0s ay5tYXRjaGVzU2VsZWN0b3I9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gayhiLG51bGws bnVsbCxbYV0pLmxlbmd0aD4wfSxrLmZpbmQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBk O2lmKCFhKXJldHVybltdO2Zvcih2YXIgZT0wLGY9bC5vcmRlci5sZW5ndGg7ZTxm O2UrKyl7dmFyIGcsaD1sLm9yZGVyW2VdO2lmKGc9bC5sZWZ0TWF0Y2hbaF0uZXhl YyhhKSl7dmFyIGo9Z1sxXTtnLnNwbGljZSgxLDEpO2lmKGouc3Vic3RyKGoubGVu Z3RoLTEpIT09IlxcIil7Z1sxXT0oZ1sxXXx8IiIpLnJlcGxhY2UoaSwiIiksZD1s LmZpbmRbaF0oZyxiLGMpO2lmKGQhPW51bGwpe2E9YS5yZXBsYWNlKGwubWF0Y2hb aF0sIiIpO2JyZWFrfX19fWR8fChkPXR5cGVvZiBiLmdldEVsZW1lbnRzQnlUYWdO YW1lIT0idW5kZWZpbmVkIj9iLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIik6W10p O3JldHVybntzZXQ6ZCxleHByOmF9fSxrLmZpbHRlcj1mdW5jdGlvbihhLGMsZCxl KXt2YXIgZixnLGg9YSxpPVtdLGo9YyxtPWMmJmNbMF0mJmsuaXNYTUwoY1swXSk7 d2hpbGUoYSYmYy5sZW5ndGgpe2Zvcih2YXIgbiBpbiBsLmZpbHRlcilpZigoZj1s LmxlZnRNYXRjaFtuXS5leGVjKGEpKSE9bnVsbCYmZlsyXSl7dmFyIG8scCxxPWwu ZmlsdGVyW25dLHI9ZlsxXTtnPSExLGYuc3BsaWNlKDEsMSk7aWYoci5zdWJzdHIo ci5sZW5ndGgtMSk9PT0iXFwiKWNvbnRpbnVlO2o9PT1pJiYoaT1bXSk7aWYobC5w cmVGaWx0ZXJbbl0pe2Y9bC5wcmVGaWx0ZXJbbl0oZixqLGQsaSxlLG0pO2lmKCFm KWc9bz0hMDtlbHNlIGlmKGY9PT0hMCljb250aW51ZX1pZihmKWZvcih2YXIgcz0w OyhwPWpbc10pIT1udWxsO3MrKylpZihwKXtvPXEocCxmLHMsaik7dmFyIHQ9ZV4h IW87ZCYmbyE9bnVsbD90P2c9ITA6altzXT0hMTp0JiYoaS5wdXNoKHApLGc9ITAp fWlmKG8hPT1iKXtkfHwoaj1pKSxhPWEucmVwbGFjZShsLm1hdGNoW25dLCIiKTtp ZighZylyZXR1cm5bXTticmVha319aWYoYT09PWgpaWYoZz09bnVsbClrLmVycm9y KGEpO2Vsc2UgYnJlYWs7aD1hfXJldHVybiBqfSxrLmVycm9yPWZ1bmN0aW9uKGEp e3Rocm93IlN5bnRheCBlcnJvciwgdW5yZWNvZ25pemVkIGV4cHJlc3Npb246ICIr YX07dmFyIGw9ay5zZWxlY3RvcnM9e29yZGVyOlsiSUQiLCJOQU1FIiwiVEFHIl0s bWF0Y2g6e0lEOi8jKCg/Oltcd1x1MDBjMC1cdUZGRkZcLV18XFwuKSspLyxDTEFT UzovXC4oKD86W1x3XHUwMGMwLVx1RkZGRlwtXXxcXC4pKykvLE5BTUU6L1xbbmFt ZT1bJyJdKigoPzpbXHdcdTAwYzAtXHVGRkZGXC1dfFxcLikrKVsnIl0qXF0vLEFU VFI6L1xbXHMqKCg/Oltcd1x1MDBjMC1cdUZGRkZcLV18XFwuKSspXHMqKD86KFxT Pz0pXHMqKD86KFsnIl0pKC4qPylcM3woIz8oPzpbXHdcdTAwYzAtXHVGRkZGXC1d fFxcLikqKXwpfClccypcXS8sVEFHOi9eKCg/Oltcd1x1MDBjMC1cdUZGRkZcKlwt XXxcXC4pKykvLENISUxEOi86KG9ubHl8bnRofGxhc3R8Zmlyc3QpLWNoaWxkKD86 XChccyooZXZlbnxvZGR8KD86WytcLV0/XGQrfCg/OlsrXC1dP1xkKik/blxzKig/ OlsrXC1dXHMqXGQrKT8pKVxzKlwpKT8vLFBPUzovOihudGh8ZXF8Z3R8bHR8Zmly c3R8bGFzdHxldmVufG9kZCkoPzpcKChcZCopXCkpPyg/PVteXC1dfCQpLyxQU0VV RE86LzooKD86W1x3XHUwMGMwLVx1RkZGRlwtXXxcXC4pKykoPzpcKChbJyJdPyko KD86XChbXlwpXStcKXxbXlwoXCldKikrKVwyXCkpPy99LGxlZnRNYXRjaDp7fSxh dHRyTWFwOnsiY2xhc3MiOiJjbGFzc05hbWUiLCJmb3IiOiJodG1sRm9yIn0sYXR0 ckhhbmRsZTp7aHJlZjpmdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRBdHRyaWJ1dGUo ImhyZWYiKX0sdHlwZTpmdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRBdHRyaWJ1dGUo InR5cGUiKX19LHJlbGF0aXZlOnsiKyI6ZnVuY3Rpb24oYSxiKXt2YXIgYz10eXBl b2YgYj09InN0cmluZyIsZD1jJiYhai50ZXN0KGIpLGU9YyYmIWQ7ZCYmKGI9Yi50 b0xvd2VyQ2FzZSgpKTtmb3IodmFyIGY9MCxnPWEubGVuZ3RoLGg7ZjxnO2YrKylp ZihoPWFbZl0pe3doaWxlKChoPWgucHJldmlvdXNTaWJsaW5nKSYmaC5ub2RlVHlw ZSE9PTEpO2FbZl09ZXx8aCYmaC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09Yj9o fHwhMTpoPT09Yn1lJiZrLmZpbHRlcihiLGEsITApfSwiPiI6ZnVuY3Rpb24oYSxi KXt2YXIgYyxkPXR5cGVvZiBiPT0ic3RyaW5nIixlPTAsZj1hLmxlbmd0aDtpZihk JiYhai50ZXN0KGIpKXtiPWIudG9Mb3dlckNhc2UoKTtmb3IoO2U8ZjtlKyspe2M9 YVtlXTtpZihjKXt2YXIgZz1jLnBhcmVudE5vZGU7YVtlXT1nLm5vZGVOYW1lLnRv TG93ZXJDYXNlKCk9PT1iP2c6ITF9fX1lbHNle2Zvcig7ZTxmO2UrKyljPWFbZV0s YyYmKGFbZV09ZD9jLnBhcmVudE5vZGU6Yy5wYXJlbnROb2RlPT09Yik7ZCYmay5m aWx0ZXIoYixhLCEwKX19LCIiOmZ1bmN0aW9uKGEsYixjKXt2YXIgZSxmPWQrKyxn PXU7dHlwZW9mIGI9PSJzdHJpbmciJiYhai50ZXN0KGIpJiYoYj1iLnRvTG93ZXJD

YXNlKCksZT1iLGc9dCksZygicGFyZW50Tm9kZSIsYixmLGEsZSxjKX0sIn4iOmZ1 bmN0aW9uKGEsYixjKXt2YXIgZSxmPWQrKyxnPXU7dHlwZW9mIGI9PSJzdHJpbmci JiYhai50ZXN0KGIpJiYoYj1iLnRvTG93ZXJDYXNlKCksZT1iLGc9dCksZygicHJl dmlvdXNTaWJsaW5nIixiLGYsYSxlLGMpfX0sZmluZDp7SUQ6ZnVuY3Rpb24oYSxi LGMpe2lmKHR5cGVvZiBiLmdldEVsZW1lbnRCeUlkIT0idW5kZWZpbmVkIiYmIWMp e3ZhciBkPWIuZ2V0RWxlbWVudEJ5SWQoYVsxXSk7cmV0dXJuIGQmJmQucGFyZW50 Tm9kZT9bZF06W119fSxOQU1FOmZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGIuZ2V0 RWxlbWVudHNCeU5hbWUhPSJ1bmRlZmluZWQiKXt2YXIgYz1bXSxkPWIuZ2V0RWxl bWVudHNCeU5hbWUoYVsxXSk7Zm9yKHZhciBlPTAsZj1kLmxlbmd0aDtlPGY7ZSsr KWRbZV0uZ2V0QXR0cmlidXRlKCJuYW1lIik9PT1hWzFdJiZjLnB1c2goZFtlXSk7 cmV0dXJuIGMubGVuZ3RoPT09MD9udWxsOmN9fSxUQUc6ZnVuY3Rpb24oYSxiKXtp Zih0eXBlb2YgYi5nZXRFbGVtZW50c0J5VGFnTmFtZSE9InVuZGVmaW5lZCIpcmV0 dXJuIGIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYVsxXSl9fSxwcmVGaWx0ZXI6e0NM QVNTOmZ1bmN0aW9uKGEsYixjLGQsZSxmKXthPSIgIithWzFdLnJlcGxhY2UoaSwi IikrIiAiO2lmKGYpcmV0dXJuIGE7Zm9yKHZhciBnPTAsaDsoaD1iW2ddKSE9bnVs bDtnKyspaCYmKGVeKGguY2xhc3NOYW1lJiYoIiAiK2guY2xhc3NOYW1lKyIgIiku cmVwbGFjZSgvW1x0XG5ccl0vZywiICIpLmluZGV4T2YoYSk+PTApP2N8fGQucHVz aChoKTpjJiYoYltnXT0hMSkpO3JldHVybiExfSxJRDpmdW5jdGlvbihhKXtyZXR1 cm4gYVsxXS5yZXBsYWNlKGksIiIpfSxUQUc6ZnVuY3Rpb24oYSxiKXtyZXR1cm4g YVsxXS5yZXBsYWNlKGksIiIpLnRvTG93ZXJDYXNlKCl9LENISUxEOmZ1bmN0aW9u KGEpe2lmKGFbMV09PT0ibnRoIil7YVsyXXx8ay5lcnJvcihhWzBdKSxhWzJdPWFb Ml0ucmVwbGFjZSgvXlwrfFxzKi9nLCIiKTt2YXIgYj0vKC0/KShcZCopKD86bihb K1wtXT9cZCopKT8vLmV4ZWMoYVsyXT09PSJldmVuIiYmIjJuInx8YVsyXT09PSJv ZGQiJiYiMm4rMSJ8fCEvXEQvLnRlc3QoYVsyXSkmJiIwbisiK2FbMl18fGFbMl0p O2FbMl09YlsxXSsoYlsyXXx8MSktMCxhWzNdPWJbM10tMH1lbHNlIGFbMl0mJmsu ZXJyb3IoYVswXSk7YVswXT1kKys7cmV0dXJuIGF9LEFUVFI6ZnVuY3Rpb24oYSxi LGMsZCxlLGYpe3ZhciBnPWFbMV09YVsxXS5yZXBsYWNlKGksIiIpOyFmJiZsLmF0 dHJNYXBbZ10mJihhWzFdPWwuYXR0ck1hcFtnXSksYVs0XT0oYVs0XXx8YVs1XXx8 IiIpLnJlcGxhY2UoaSwiIiksYVsyXT09PSJ+PSImJihhWzRdPSIgIithWzRdKyIg Iik7cmV0dXJuIGF9LFBTRVVETzpmdW5jdGlvbihiLGMsZCxlLGYpe2lmKGJbMV09 PT0ibm90IilpZigoYS5leGVjKGJbM10pfHwiIikubGVuZ3RoPjF8fC9eXHcvLnRl c3QoYlszXSkpYlszXT1rKGJbM10sbnVsbCxudWxsLGMpO2Vsc2V7dmFyIGc9ay5m aWx0ZXIoYlszXSxjLGQsITBeZik7ZHx8ZS5wdXNoLmFwcGx5KGUsZyk7cmV0dXJu ITF9ZWxzZSBpZihsLm1hdGNoLlBPUy50ZXN0KGJbMF0pfHxsLm1hdGNoLkNISUxE LnRlc3QoYlswXSkpcmV0dXJuITA7cmV0dXJuIGJ9LFBPUzpmdW5jdGlvbihhKXth LnVuc2hpZnQoITApO3JldHVybiBhfX0sZmlsdGVyczp7ZW5hYmxlZDpmdW5jdGlv bihhKXtyZXR1cm4gYS5kaXNhYmxlZD09PSExJiZhLnR5cGUhPT0iaGlkZGVuIn0s ZGlzYWJsZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGlzYWJsZWQ9PT0hMH0sY2hl Y2tlZDpmdW5jdGlvbihhKXtyZXR1cm4gYS5jaGVja2VkPT09ITB9LHNlbGVjdGVk OmZ1bmN0aW9uKGEpe2EucGFyZW50Tm9kZSYmYS5wYXJlbnROb2RlLnNlbGVjdGVk SW5kZXg7cmV0dXJuIGEuc2VsZWN0ZWQ9PT0hMH0scGFyZW50OmZ1bmN0aW9uKGEp e3JldHVybiEhYS5maXJzdENoaWxkfSxlbXB0eTpmdW5jdGlvbihhKXtyZXR1cm4h YS5maXJzdENoaWxkfSxoYXM6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiEhayhjWzNd LGEpLmxlbmd0aH0saGVhZGVyOmZ1bmN0aW9uKGEpe3JldHVybi9oXGQvaS50ZXN0 KGEubm9kZU5hbWUpfSx0ZXh0OmZ1bmN0aW9uKGEpe3ZhciBiPWEuZ2V0QXR0cmli dXRlKCJ0eXBlIiksYz1hLnR5cGU7cmV0dXJuIGEubm9kZU5hbWUudG9Mb3dlckNh c2UoKT09PSJpbnB1dCImJiJ0ZXh0Ij09PWMmJihiPT09Y3x8Yj09PW51bGwpfSxy YWRpbzpmdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgp PT09ImlucHV0IiYmInJhZGlvIj09PWEudHlwZX0sY2hlY2tib3g6ZnVuY3Rpb24o YSl7cmV0dXJuIGEubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PSJpbnB1dCImJiJj aGVja2JveCI9PT1hLnR5cGV9LGZpbGU6ZnVuY3Rpb24oYSl7cmV0dXJuIGEubm9k ZU5hbWUudG9Mb3dlckNhc2UoKT09PSJpbnB1dCImJiJmaWxlIj09PWEudHlwZX0s cGFzc3dvcmQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEubm9kZU5hbWUudG9Mb3dlckNh c2UoKT09PSJpbnB1dCImJiJwYXNzd29yZCI9PT1hLnR5cGV9LHN1Ym1pdDpmdW5j dGlvbihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuKGI9 PT0iaW5wdXQifHxiPT09ImJ1dHRvbiIpJiYic3VibWl0Ij09PWEudHlwZX0saW1h Z2U6ZnVuY3Rpb24oYSl7cmV0dXJuIGEubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09 PSJpbnB1dCImJiJpbWFnZSI9PT1hLnR5cGV9LHJlc2V0OmZ1bmN0aW9uKGEpe3Zh ciBiPWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4oYj09PSJpbnB1dCJ8 fGI9PT0iYnV0dG9uIikmJiJyZXNldCI9PT1hLnR5cGV9LGJ1dHRvbjpmdW5jdGlv

bihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuIGI9PT0i aW5wdXQiJiYiYnV0dG9uIj09PWEudHlwZXx8Yj09PSJidXR0b24ifSxpbnB1dDpm dW5jdGlvbihhKXtyZXR1cm4vaW5wdXR8c2VsZWN0fHRleHRhcmVhfGJ1dHRvbi9p LnRlc3QoYS5ub2RlTmFtZSl9LGZvY3VzOmZ1bmN0aW9uKGEpe3JldHVybiBhPT09 YS5vd25lckRvY3VtZW50LmFjdGl2ZUVsZW1lbnR9fSxzZXRGaWx0ZXJzOntmaXJz dDpmdW5jdGlvbihhLGIpe3JldHVybiBiPT09MH0sbGFzdDpmdW5jdGlvbihhLGIs YyxkKXtyZXR1cm4gYj09PWQubGVuZ3RoLTF9LGV2ZW46ZnVuY3Rpb24oYSxiKXty ZXR1cm4gYiUyPT09MH0sb2RkOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGIlMj09PTF9 LGx0OmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYjxjWzNdLTB9LGd0OmZ1bmN0aW9u KGEsYixjKXtyZXR1cm4gYj5jWzNdLTB9LG50aDpmdW5jdGlvbihhLGIsYyl7cmV0 dXJuIGNbM10tMD09PWJ9LGVxOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gY1szXS0w PT09Yn19LGZpbHRlcjp7UFNFVURPOmZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWJb MV0sZj1sLmZpbHRlcnNbZV07aWYoZilyZXR1cm4gZihhLGMsYixkKTtpZihlPT09 ImNvbnRhaW5zIilyZXR1cm4oYS50ZXh0Q29udGVudHx8YS5pbm5lclRleHR8fGsu Z2V0VGV4dChbYV0pfHwiIikuaW5kZXhPZihiWzNdKT49MDtpZihlPT09Im5vdCIp e3ZhciBnPWJbM107Zm9yKHZhciBoPTAsaT1nLmxlbmd0aDtoPGk7aCsrKWlmKGdb aF09PT1hKXJldHVybiExO3JldHVybiEwfWsuZXJyb3IoZSl9LENISUxEOmZ1bmN0 aW9uKGEsYil7dmFyIGM9YlsxXSxkPWE7c3dpdGNoKGMpe2Nhc2Uib25seSI6Y2Fz ZSJmaXJzdCI6d2hpbGUoZD1kLnByZXZpb3VzU2libGluZylpZihkLm5vZGVUeXBl PT09MSlyZXR1cm4hMTtpZihjPT09ImZpcnN0IilyZXR1cm4hMDtkPWE7Y2FzZSJs YXN0Ijp3aGlsZShkPWQubmV4dFNpYmxpbmcpaWYoZC5ub2RlVHlwZT09PTEpcmV0 dXJuITE7cmV0dXJuITA7Y2FzZSJudGgiOnZhciBlPWJbMl0sZj1iWzNdO2lmKGU9 PT0xJiZmPT09MClyZXR1cm4hMDt2YXIgZz1iWzBdLGg9YS5wYXJlbnROb2RlO2lm KGgmJihoLnNpemNhY2hlIT09Z3x8IWEubm9kZUluZGV4KSl7dmFyIGk9MDtmb3Io ZD1oLmZpcnN0Q2hpbGQ7ZDtkPWQubmV4dFNpYmxpbmcpZC5ub2RlVHlwZT09PTEm JihkLm5vZGVJbmRleD0rK2kpO2guc2l6Y2FjaGU9Z312YXIgaj1hLm5vZGVJbmRl eC1mO3JldHVybiBlPT09MD9qPT09MDpqJWU9PT0wJiZqL2U+PTB9fSxJRDpmdW5j dGlvbihhLGIpe3JldHVybiBhLm5vZGVUeXBlPT09MSYmYS5nZXRBdHRyaWJ1dGUo ImlkIik9PT1ifSxUQUc6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj09PSIqIiYmYS5u b2RlVHlwZT09PTF8fGEubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PWJ9LENMQVNT OmZ1bmN0aW9uKGEsYil7cmV0dXJuKCIgIisoYS5jbGFzc05hbWV8fGEuZ2V0QXR0 cmlidXRlKCJjbGFzcyIpKSsiICIpLmluZGV4T2YoYik+LTF9LEFUVFI6ZnVuY3Rp b24oYSxiKXt2YXIgYz1iWzFdLGQ9bC5hdHRySGFuZGxlW2NdP2wuYXR0ckhhbmRs ZVtjXShhKTphW2NdIT1udWxsP2FbY106YS5nZXRBdHRyaWJ1dGUoYyksZT1kKyIi LGY9YlsyXSxnPWJbNF07cmV0dXJuIGQ9PW51bGw/Zj09PSIhPSI6Zj09PSI9Ij9l PT09ZzpmPT09Iio9Ij9lLmluZGV4T2YoZyk+PTA6Zj09PSJ+PSI/KCIgIitlKyIg IikuaW5kZXhPZihnKT49MDpnP2Y9PT0iIT0iP2UhPT1nOmY9PT0iXj0iP2UuaW5k ZXhPZihnKT09PTA6Zj09PSIkPSI/ZS5zdWJzdHIoZS5sZW5ndGgtZy5sZW5ndGgp PT09ZzpmPT09Inw9Ij9lPT09Z3x8ZS5zdWJzdHIoMCxnLmxlbmd0aCsxKT09PWcr Ii0iOiExOmUmJmQhPT0hMX0sUE9TOmZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWJb Ml0sZj1sLnNldEZpbHRlcnNbZV07aWYoZilyZXR1cm4gZihhLGMsYixkKX19fSxt PWwubWF0Y2guUE9TLG49ZnVuY3Rpb24oYSxiKXtyZXR1cm4iXFwiKyhiLTArMSl9 O2Zvcih2YXIgbyBpbiBsLm1hdGNoKWwubWF0Y2hbb109bmV3IFJlZ0V4cChsLm1h dGNoW29dLnNvdXJjZSsvKD8hW15cW10qXF0pKD8hW15cKF0qXCkpLy5zb3VyY2Up LGwubGVmdE1hdGNoW29dPW5ldyBSZWdFeHAoLyheKD86LnxccnxcbikqPykvLnNv dXJjZStsLm1hdGNoW29dLnNvdXJjZS5yZXBsYWNlKC9cXChcZCspL2csbikpO3Zh ciBwPWZ1bmN0aW9uKGEsYil7YT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChh LDApO2lmKGIpe2IucHVzaC5hcHBseShiLGEpO3JldHVybiBifXJldHVybiBhfTt0 cnl7QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYy5kb2N1bWVudEVsZW1lbnQu Y2hpbGROb2RlcywwKVswXS5ub2RlVHlwZX1jYXRjaChxKXtwPWZ1bmN0aW9uKGEs Yil7dmFyIGM9MCxkPWJ8fFtdO2lmKGUuY2FsbChhKT09PSJbb2JqZWN0IEFycmF5 XSIpQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkoZCxhKTtlbHNlIGlmKHR5cGVv ZiBhLmxlbmd0aD09Im51bWJlciIpZm9yKHZhciBmPWEubGVuZ3RoO2M8ZjtjKysp ZC5wdXNoKGFbY10pO2Vsc2UgZm9yKDthW2NdO2MrKylkLnB1c2goYVtjXSk7cmV0 dXJuIGR9fXZhciByLHM7Yy5kb2N1bWVudEVsZW1lbnQuY29tcGFyZURvY3VtZW50 UG9zaXRpb24/cj1mdW5jdGlvbihhLGIpe2lmKGE9PT1iKXtnPSEwO3JldHVybiAw fWlmKCFhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9ufHwhYi5jb21wYXJlRG9jdW1l bnRQb3NpdGlvbilyZXR1cm4gYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj8tMTox O3JldHVybiBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpJjQ/LTE6MX06KHI9 ZnVuY3Rpb24oYSxiKXtpZihhPT09Yil7Zz0hMDtyZXR1cm4gMH1pZihhLnNvdXJj

ZUluZGV4JiZiLnNvdXJjZUluZGV4KXJldHVybiBhLnNvdXJjZUluZGV4LWIuc291 cmNlSW5kZXg7dmFyIGMsZCxlPVtdLGY9W10saD1hLnBhcmVudE5vZGUsaT1iLnBh cmVudE5vZGUsaj1oO2lmKGg9PT1pKXJldHVybiBzKGEsYik7aWYoIWgpcmV0dXJu LTE7aWYoIWkpcmV0dXJuIDE7d2hpbGUoaillLnVuc2hpZnQoaiksaj1qLnBhcmVu dE5vZGU7aj1pO3doaWxlKGopZi51bnNoaWZ0KGopLGo9ai5wYXJlbnROb2RlO2M9 ZS5sZW5ndGgsZD1mLmxlbmd0aDtmb3IodmFyIGs9MDtrPGMmJms8ZDtrKyspaWYo ZVtrXSE9PWZba10pcmV0dXJuIHMoZVtrXSxmW2tdKTtyZXR1cm4gaz09PWM/cyhh LGZba10sLTEpOnMoZVtrXSxiLDEpfSxzPWZ1bmN0aW9uKGEsYixjKXtpZihhPT09 YilyZXR1cm4gYzt2YXIgZD1hLm5leHRTaWJsaW5nO3doaWxlKGQpe2lmKGQ9PT1i KXJldHVybi0xO2Q9ZC5uZXh0U2libGluZ31yZXR1cm4gMX0pLGsuZ2V0VGV4dD1m dW5jdGlvbihhKXt2YXIgYj0iIixjO2Zvcih2YXIgZD0wO2FbZF07ZCsrKWM9YVtk XSxjLm5vZGVUeXBlPT09M3x8Yy5ub2RlVHlwZT09PTQ/Yis9Yy5ub2RlVmFsdWU6 Yy5ub2RlVHlwZSE9PTgmJihiKz1rLmdldFRleHQoYy5jaGlsZE5vZGVzKSk7cmV0 dXJuIGJ9LGZ1bmN0aW9uKCl7dmFyIGE9Yy5jcmVhdGVFbGVtZW50KCJkaXYiKSxk PSJzY3JpcHQiKyhuZXcgRGF0ZSkuZ2V0VGltZSgpLGU9Yy5kb2N1bWVudEVsZW1l bnQ7YS5pbm5lckhUTUw9IjxhIG5hbWU9JyIrZCsiJy8+IixlLmluc2VydEJlZm9y ZShhLGUuZmlyc3RDaGlsZCksYy5nZXRFbGVtZW50QnlJZChkKSYmKGwuZmluZC5J RD1mdW5jdGlvbihhLGMsZCl7aWYodHlwZW9mIGMuZ2V0RWxlbWVudEJ5SWQhPSJ1 bmRlZmluZWQiJiYhZCl7dmFyIGU9Yy5nZXRFbGVtZW50QnlJZChhWzFdKTtyZXR1 cm4gZT9lLmlkPT09YVsxXXx8dHlwZW9mIGUuZ2V0QXR0cmlidXRlTm9kZSE9InVu ZGVmaW5lZCImJmUuZ2V0QXR0cmlidXRlTm9kZSgiaWQiKS5ub2RlVmFsdWU9PT1h WzFdP1tlXTpiOltdfX0sbC5maWx0ZXIuSUQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz10 eXBlb2YgYS5nZXRBdHRyaWJ1dGVOb2RlIT0idW5kZWZpbmVkIiYmYS5nZXRBdHRy aWJ1dGVOb2RlKCJpZCIpO3JldHVybiBhLm5vZGVUeXBlPT09MSYmYyYmYy5ub2Rl VmFsdWU9PT1ifSksZS5yZW1vdmVDaGlsZChhKSxlPWE9bnVsbH0oKSxmdW5jdGlv bigpe3ZhciBhPWMuY3JlYXRlRWxlbWVudCgiZGl2Iik7YS5hcHBlbmRDaGlsZChj LmNyZWF0ZUNvbW1lbnQoIiIpKSxhLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIiku bGVuZ3RoPjAmJihsLmZpbmQuVEFHPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5nZXRF bGVtZW50c0J5VGFnTmFtZShhWzFdKTtpZihhWzFdPT09IioiKXt2YXIgZD1bXTtm b3IodmFyIGU9MDtjW2VdO2UrKyljW2VdLm5vZGVUeXBlPT09MSYmZC5wdXNoKGNb ZV0pO2M9ZH1yZXR1cm4gY30pLGEuaW5uZXJIVE1MPSI8YSBocmVmPScjJz48L2E+ IixhLmZpcnN0Q2hpbGQmJnR5cGVvZiBhLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRl IT0idW5kZWZpbmVkIiYmYS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSgiaHJlZiIp IT09IiMiJiYobC5hdHRySGFuZGxlLmhyZWY9ZnVuY3Rpb24oYSl7cmV0dXJuIGEu Z2V0QXR0cmlidXRlKCJocmVmIiwyKX0pLGE9bnVsbH0oKSxjLnF1ZXJ5U2VsZWN0 b3JBbGwmJmZ1bmN0aW9uKCl7dmFyIGE9ayxiPWMuY3JlYXRlRWxlbWVudCgiZGl2 IiksZD0iX19zaXp6bGVfXyI7Yi5pbm5lckhUTUw9IjxwIGNsYXNzPSdURVNUJz48 L3A+IjtpZighYi5xdWVyeVNlbGVjdG9yQWxsfHxiLnF1ZXJ5U2VsZWN0b3JBbGwo Ii5URVNUIikubGVuZ3RoIT09MCl7az1mdW5jdGlvbihiLGUsZixnKXtlPWV8fGM7 aWYoIWcmJiFrLmlzWE1MKGUpKXt2YXIgaD0vXihcdyskKXxeXC4oW1x3XC1dKyQp fF4jKFtcd1wtXSskKS8uZXhlYyhiKTtpZihoJiYoZS5ub2RlVHlwZT09PTF8fGUu bm9kZVR5cGU9PT05KSl7aWYoaFsxXSlyZXR1cm4gcChlLmdldEVsZW1lbnRzQnlU YWdOYW1lKGIpLGYpO2lmKGhbMl0mJmwuZmluZC5DTEFTUyYmZS5nZXRFbGVtZW50 c0J5Q2xhc3NOYW1lKXJldHVybiBwKGUuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSho WzJdKSxmKX1pZihlLm5vZGVUeXBlPT09OSl7aWYoYj09PSJib2R5IiYmZS5ib2R5 KXJldHVybiBwKFtlLmJvZHldLGYpO2lmKGgmJmhbM10pe3ZhciBpPWUuZ2V0RWxl bWVudEJ5SWQoaFszXSk7aWYoIWl8fCFpLnBhcmVudE5vZGUpcmV0dXJuIHAoW10s Zik7aWYoaS5pZD09PWhbM10pcmV0dXJuIHAoW2ldLGYpfXRyeXtyZXR1cm4gcChl LnF1ZXJ5U2VsZWN0b3JBbGwoYiksZil9Y2F0Y2goail7fX1lbHNlIGlmKGUubm9k ZVR5cGU9PT0xJiZlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkhPT0ib2JqZWN0Iil7 dmFyIG09ZSxuPWUuZ2V0QXR0cmlidXRlKCJpZCIpLG89bnx8ZCxxPWUucGFyZW50 Tm9kZSxyPS9eXHMqWyt+XS8udGVzdChiKTtuP289by5yZXBsYWNlKC8nL2csIlxc JCYiKTplLnNldEF0dHJpYnV0ZSgiaWQiLG8pLHImJnEmJihlPWUucGFyZW50Tm9k ZSk7dHJ5e2lmKCFyfHxxKXJldHVybiBwKGUucXVlcnlTZWxlY3RvckFsbCgiW2lk PSciK28rIiddICIrYiksZil9Y2F0Y2gocyl7fWZpbmFsbHl7bnx8bS5yZW1vdmVB dHRyaWJ1dGUoImlkIil9fX1yZXR1cm4gYShiLGUsZixnKX07Zm9yKHZhciBlIGlu IGEpa1tlXT1hW2VdO2I9bnVsbH19KCksZnVuY3Rpb24oKXt2YXIgYT1jLmRvY3Vt ZW50RWxlbWVudCxiPWEubWF0Y2hlc1NlbGVjdG9yfHxhLm1vek1hdGNoZXNTZWxl Y3Rvcnx8YS53ZWJraXRNYXRjaGVzU2VsZWN0b3J8fGEubXNNYXRjaGVzU2VsZWN0 b3I7aWYoYil7dmFyIGQ9IWIuY2FsbChjLmNyZWF0ZUVsZW1lbnQoImRpdiIpLCJk

aXYiKSxlPSExO3RyeXtiLmNhbGwoYy5kb2N1bWVudEVsZW1lbnQsIlt0ZXN0IT0n J106c2l6emxlIil9Y2F0Y2goZil7ZT0hMH1rLm1hdGNoZXNTZWxlY3Rvcj1mdW5j dGlvbihhLGMpe2M9Yy5yZXBsYWNlKC9cPVxzKihbXiciXF1dKilccypcXS9nLCI9 JyQxJ10iKTtpZighay5pc1hNTChhKSl0cnl7aWYoZXx8IWwubWF0Y2guUFNFVURP LnRlc3QoYykmJiEvIT0vLnRlc3QoYykpe3ZhciBmPWIuY2FsbChhLGMpO2lmKGZ8 fCFkfHxhLmRvY3VtZW50JiZhLmRvY3VtZW50Lm5vZGVUeXBlIT09MTEpcmV0dXJu IGZ9fWNhdGNoKGcpe31yZXR1cm4gayhjLG51bGwsbnVsbCxbYV0pLmxlbmd0aD4w fX19KCksZnVuY3Rpb24oKXt2YXIgYT1jLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2Eu aW5uZXJIVE1MPSI8ZGl2IGNsYXNzPSd0ZXN0IGUnPjwvZGl2PjxkaXYgY2xhc3M9 J3Rlc3QnPjwvZGl2PiI7aWYoISFhLmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJmEu Z2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiZSIpLmxlbmd0aCE9PTApe2EubGFzdENo aWxkLmNsYXNzTmFtZT0iZSI7aWYoYS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJl IikubGVuZ3RoPT09MSlyZXR1cm47bC5vcmRlci5zcGxpY2UoMSwwLCJDTEFTUyIp LGwuZmluZC5DTEFTUz1mdW5jdGlvbihhLGIsYyl7aWYodHlwZW9mIGIuZ2V0RWxl bWVudHNCeUNsYXNzTmFtZSE9InVuZGVmaW5lZCImJiFjKXJldHVybiBiLmdldEVs ZW1lbnRzQnlDbGFzc05hbWUoYVsxXSl9LGE9bnVsbH19KCksYy5kb2N1bWVudEVs ZW1lbnQuY29udGFpbnM/ay5jb250YWlucz1mdW5jdGlvbihhLGIpe3JldHVybiBh IT09YiYmKGEuY29udGFpbnM/YS5jb250YWlucyhiKTohMCl9OmMuZG9jdW1lbnRF bGVtZW50LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uP2suY29udGFpbnM9ZnVuY3Rp b24oYSxiKXtyZXR1cm4hIShhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpJjE2 KX06ay5jb250YWlucz1mdW5jdGlvbigpe3JldHVybiExfSxrLmlzWE1MPWZ1bmN0 aW9uKGEpe3ZhciBiPShhP2Eub3duZXJEb2N1bWVudHx8YTowKS5kb2N1bWVudEVs ZW1lbnQ7cmV0dXJuIGI/Yi5ub2RlTmFtZSE9PSJIVE1MIjohMX07dmFyIHY9ZnVu Y3Rpb24oYSxiKXt2YXIgYyxkPVtdLGU9IiIsZj1iLm5vZGVUeXBlP1tiXTpiO3do aWxlKGM9bC5tYXRjaC5QU0VVRE8uZXhlYyhhKSllKz1jWzBdLGE9YS5yZXBsYWNl KGwubWF0Y2guUFNFVURPLCIiKTthPWwucmVsYXRpdmVbYV0/YSsiKiI6YTtmb3Io dmFyIGc9MCxoPWYubGVuZ3RoO2c8aDtnKyspayhhLGZbZ10sZCk7cmV0dXJuIGsu ZmlsdGVyKGUsZCl9O2YuZmluZD1rLGYuZXhwcj1rLnNlbGVjdG9ycyxmLmV4cHJb IjoiXT1mLmV4cHIuZmlsdGVycyxmLnVuaXF1ZT1rLnVuaXF1ZVNvcnQsZi50ZXh0 PWsuZ2V0VGV4dCxmLmlzWE1MRG9jPWsuaXNYTUwsZi5jb250YWlucz1rLmNvbnRh aW5zfSgpO3ZhciBQPS9VbnRpbCQvLFE9L14oPzpwYXJlbnRzfHByZXZVbnRpbHxw cmV2QWxsKS8sUj0vLC8sUz0vXi5bXjojXFtcLixdKiQvLFQ9QXJyYXkucHJvdG90 eXBlLnNsaWNlLFU9Zi5leHByLm1hdGNoLlBPUyxWPXtjaGlsZHJlbjohMCxjb250 ZW50czohMCxuZXh0OiEwLHByZXY6ITB9O2YuZm4uZXh0ZW5kKHtmaW5kOmZ1bmN0 aW9uKGEpe3ZhciBiPXRoaXMsYyxkO2lmKHR5cGVvZiBhIT0ic3RyaW5nIilyZXR1 cm4gZihhKS5maWx0ZXIoZnVuY3Rpb24oKXtmb3IoYz0wLGQ9Yi5sZW5ndGg7Yzxk O2MrKylpZihmLmNvbnRhaW5zKGJbY10sdGhpcykpcmV0dXJuITB9KTt2YXIgZT10 aGlzLnB1c2hTdGFjaygiIiwiZmluZCIsYSksZyxoLGk7Zm9yKGM9MCxkPXRoaXMu bGVuZ3RoO2M8ZDtjKyspe2c9ZS5sZW5ndGgsZi5maW5kKGEsdGhpc1tjXSxlKTtp ZihjPjApZm9yKGg9ZztoPGUubGVuZ3RoO2grKylmb3IoaT0wO2k8ZztpKyspaWYo ZVtpXT09PWVbaF0pe2Uuc3BsaWNlKGgtLSwxKTticmVha319cmV0dXJuIGV9LGhh czpmdW5jdGlvbihhKXt2YXIgYj1mKGEpO3JldHVybiB0aGlzLmZpbHRlcihmdW5j dGlvbigpe2Zvcih2YXIgYT0wLGM9Yi5sZW5ndGg7YTxjO2ErKylpZihmLmNvbnRh aW5zKHRoaXMsYlthXSkpcmV0dXJuITB9KX0sbm90OmZ1bmN0aW9uKGEpe3JldHVy biB0aGlzLnB1c2hTdGFjayhYKHRoaXMsYSwhMSksIm5vdCIsYSl9LGZpbHRlcjpm dW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soWCh0aGlzLGEsITApLCJm aWx0ZXIiLGEpfSxpczpmdW5jdGlvbihhKXtyZXR1cm4hIWEmJih0eXBlb2YgYT09 InN0cmluZyI/Zi5maWx0ZXIoYSx0aGlzKS5sZW5ndGg+MDp0aGlzLmZpbHRlcihh KS5sZW5ndGg+MCl9LGNsb3Nlc3Q6ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXSxkLGUs Zz10aGlzWzBdO2lmKGYuaXNBcnJheShhKSl7dmFyIGgsaSxqPXt9LGs9MTtpZihn JiZhLmxlbmd0aCl7Zm9yKGQ9MCxlPWEubGVuZ3RoO2Q8ZTtkKyspaT1hW2RdLGpb aV18fChqW2ldPVUudGVzdChpKT9mKGksYnx8dGhpcy5jb250ZXh0KTppKTt3aGls ZShnJiZnLm93bmVyRG9jdW1lbnQmJmchPT1iKXtmb3IoaSBpbiBqKWg9altpXSwo aC5qcXVlcnk/aC5pbmRleChnKT4tMTpmKGcpLmlzKGgpKSYmYy5wdXNoKHtzZWxl Y3RvcjppLGVsZW06ZyxsZXZlbDprfSk7Zz1nLnBhcmVudE5vZGUsaysrfX1yZXR1 cm4gY312YXIgbD1VLnRlc3QoYSl8fHR5cGVvZiBhIT0ic3RyaW5nIj9mKGEsYnx8 dGhpcy5jb250ZXh0KTowO2ZvcihkPTAsZT10aGlzLmxlbmd0aDtkPGU7ZCsrKXtn PXRoaXNbZF07d2hpbGUoZyl7aWYobD9sLmluZGV4KGcpPi0xOmYuZmluZC5tYXRj aGVzU2VsZWN0b3IoZyxhKSl7Yy5wdXNoKGcpO2JyZWFrfWc9Zy5wYXJlbnROb2Rl O2lmKCFnfHwhZy5vd25lckRvY3VtZW50fHxnPT09Ynx8Zy5ub2RlVHlwZT09PTEx

KWJyZWFrfX1jPWMubGVuZ3RoPjE/Zi51bmlxdWUoYyk6YztyZXR1cm4gdGhpcy5w dXNoU3RhY2soYywiY2xvc2VzdCIsYSl9LGluZGV4OmZ1bmN0aW9uKGEpe2lmKCFh fHx0eXBlb2YgYT09InN0cmluZyIpcmV0dXJuIGYuaW5BcnJheSh0aGlzWzBdLGE/ ZihhKTp0aGlzLnBhcmVudCgpLmNoaWxkcmVuKCkpO3JldHVybiBmLmluQXJyYXko YS5qcXVlcnk/YVswXTphLHRoaXMpfSxhZGQ6ZnVuY3Rpb24oYSxiKXt2YXIgYz10 eXBlb2YgYT09InN0cmluZyI/ZihhLGIpOmYubWFrZUFycmF5KGEmJmEubm9kZVR5 cGU/W2FdOmEpLGQ9Zi5tZXJnZSh0aGlzLmdldCgpLGMpO3JldHVybiB0aGlzLnB1 c2hTdGFjayhXKGNbMF0pfHxXKGRbMF0pP2Q6Zi51bmlxdWUoZCkpfSxhbmRTZWxm OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYWRkKHRoaXMucHJldk9iamVjdCl9fSks Zi5lYWNoKHtwYXJlbnQ6ZnVuY3Rpb24oYSl7dmFyIGI9YS5wYXJlbnROb2RlO3Jl dHVybiBiJiZiLm5vZGVUeXBlIT09MTE/YjpudWxsfSxwYXJlbnRzOmZ1bmN0aW9u KGEpe3JldHVybiBmLmRpcihhLCJwYXJlbnROb2RlIil9LHBhcmVudHNVbnRpbDpm dW5jdGlvbihhLGIsYyl7cmV0dXJuIGYuZGlyKGEsInBhcmVudE5vZGUiLGMpfSxu ZXh0OmZ1bmN0aW9uKGEpe3JldHVybiBmLm50aChhLDIsIm5leHRTaWJsaW5nIil9 LHByZXY6ZnVuY3Rpb24oYSl7cmV0dXJuIGYubnRoKGEsMiwicHJldmlvdXNTaWJs aW5nIil9LG5leHRBbGw6ZnVuY3Rpb24oYSl7cmV0dXJuIGYuZGlyKGEsIm5leHRT aWJsaW5nIil9LHByZXZBbGw6ZnVuY3Rpb24oYSl7cmV0dXJuIGYuZGlyKGEsInBy ZXZpb3VzU2libGluZyIpfSxuZXh0VW50aWw6ZnVuY3Rpb24oYSxiLGMpe3JldHVy biBmLmRpcihhLCJuZXh0U2libGluZyIsYyl9LHByZXZVbnRpbDpmdW5jdGlvbihh LGIsYyl7cmV0dXJuIGYuZGlyKGEsInByZXZpb3VzU2libGluZyIsYyl9LHNpYmxp bmdzOmZ1bmN0aW9uKGEpe3JldHVybiBmLnNpYmxpbmcoYS5wYXJlbnROb2RlLmZp cnN0Q2hpbGQsYSl9LGNoaWxkcmVuOmZ1bmN0aW9uKGEpe3JldHVybiBmLnNpYmxp bmcoYS5maXJzdENoaWxkKX0sY29udGVudHM6ZnVuY3Rpb24oYSl7cmV0dXJuIGYu bm9kZU5hbWUoYSwiaWZyYW1lIik/YS5jb250ZW50RG9jdW1lbnR8fGEuY29udGVu dFdpbmRvdy5kb2N1bWVudDpmLm1ha2VBcnJheShhLmNoaWxkTm9kZXMpfX0sZnVu Y3Rpb24oYSxiKXtmLmZuW2FdPWZ1bmN0aW9uKGMsZCl7dmFyIGU9Zi5tYXAodGhp cyxiLGMpLGc9VC5jYWxsKGFyZ3VtZW50cyk7UC50ZXN0KGEpfHwoZD1jKSxkJiZ0 eXBlb2YgZD09InN0cmluZyImJihlPWYuZmlsdGVyKGQsZSkpLGU9dGhpcy5sZW5n dGg+MSYmIVZbYV0/Zi51bmlxdWUoZSk6ZSwodGhpcy5sZW5ndGg+MXx8Ui50ZXN0 KGQpKSYmUS50ZXN0KGEpJiYoZT1lLnJldmVyc2UoKSk7cmV0dXJuIHRoaXMucHVz aFN0YWNrKGUsYSxnLmpvaW4oIiwiKSl9fSksZi5leHRlbmQoe2ZpbHRlcjpmdW5j dGlvbihhLGIsYyl7YyYmKGE9Ijpub3QoIithKyIpIik7cmV0dXJuIGIubGVuZ3Ro PT09MT9mLmZpbmQubWF0Y2hlc1NlbGVjdG9yKGJbMF0sYSk/W2JbMF1dOltdOmYu ZmluZC5tYXRjaGVzKGEsYil9LGRpcjpmdW5jdGlvbihhLGMsZCl7dmFyIGU9W10s Zz1hW2NdO3doaWxlKGcmJmcubm9kZVR5cGUhPT05JiYoZD09PWJ8fGcubm9kZVR5 cGUhPT0xfHwhZihnKS5pcyhkKSkpZy5ub2RlVHlwZT09PTEmJmUucHVzaChnKSxn PWdbY107cmV0dXJuIGV9LG50aDpmdW5jdGlvbihhLGIsYyxkKXtiPWJ8fDE7dmFy IGU9MDtmb3IoO2E7YT1hW2NdKWlmKGEubm9kZVR5cGU9PT0xJiYrK2U9PT1iKWJy ZWFrO3JldHVybiBhfSxzaWJsaW5nOmZ1bmN0aW9uKGEsYil7dmFyIGM9W107Zm9y KDthO2E9YS5uZXh0U2libGluZylhLm5vZGVUeXBlPT09MSYmYSE9PWImJmMucHVz aChhKTtyZXR1cm4gY319KTt2YXIgWT0vIGpRdWVyeVxkKz0iKD86XGQrfG51bGwp Ii9nLFo9L15ccysvLCQ9LzwoPyFhcmVhfGJyfGNvbHxlbWJlZHxocnxpbWd8aW5w dXR8bGlua3xtZXRhfHBhcmFtKSgoW1x3Ol0rKVtePl0qKVwvPi9pZyxfPS88KFtc dzpdKykvLGJhPS88dGJvZHkvaSxiYj0vPHwmIz9cdys7LyxiYz0vPCg/OnNjcmlw dHxvYmplY3R8ZW1iZWR8b3B0aW9ufHN0eWxlKS9pLGJkPS9jaGVja2VkXHMqKD86 W149XXw9XHMqLmNoZWNrZWQuKS9pLGJlPS9cLyhqYXZhfGVjbWEpc2NyaXB0L2ks YmY9L15ccyo8ISg/OlxbQ0RBVEFcW3xcLVwtKS8sYmc9e29wdGlvbjpbMSwiPHNl bGVjdCBtdWx0aXBsZT0nbXVsdGlwbGUnPiIsIjwvc2VsZWN0PiJdLGxlZ2VuZDpb MSwiPGZpZWxkc2V0PiIsIjwvZmllbGRzZXQ+Il0sdGhlYWQ6WzEsIjx0YWJsZT4i LCI8L3RhYmxlPiJdLHRyOlsyLCI8dGFibGU+PHRib2R5PiIsIjwvdGJvZHk+PC90 YWJsZT4iXSx0ZDpbMywiPHRhYmxlPjx0Ym9keT48dHI+IiwiPC90cj48L3Rib2R5 PjwvdGFibGU+Il0sY29sOlsyLCI8dGFibGU+PHRib2R5PjwvdGJvZHk+PGNvbGdy b3VwPiIsIjwvY29sZ3JvdXA+PC90YWJsZT4iXSxhcmVhOlsxLCI8bWFwPiIsIjwv bWFwPiJdLF9kZWZhdWx0OlswLCIiLCIiXX07Ymcub3B0Z3JvdXA9Ymcub3B0aW9u LGJnLnRib2R5PWJnLnRmb290PWJnLmNvbGdyb3VwPWJnLmNhcHRpb249YmcudGhl YWQsYmcudGg9YmcudGQsZi5zdXBwb3J0Lmh0bWxTZXJpYWxpemV8fChiZy5fZGVm YXVsdD1bMSwiZGl2PGRpdj4iLCI8L2Rpdj4iXSksZi5mbi5leHRlbmQoe3RleHQ6 ZnVuY3Rpb24oYSl7aWYoZi5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2go ZnVuY3Rpb24oYil7dmFyIGM9Zih0aGlzKTtjLnRleHQoYS5jYWxsKHRoaXMsYixj LnRleHQoKSkpfSk7aWYodHlwZW9mIGEhPSJvYmplY3QiJiZhIT09YilyZXR1cm4g

dGhpcy5lbXB0eSgpLmFwcGVuZCgodGhpc1swXSYmdGhpc1swXS5vd25lckRvY3Vt ZW50fHxjKS5jcmVhdGVUZXh0Tm9kZShhKSk7cmV0dXJuIGYudGV4dCh0aGlzKX0s d3JhcEFsbDpmdW5jdGlvbihhKXtpZihmLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRo aXMuZWFjaChmdW5jdGlvbihiKXtmKHRoaXMpLndyYXBBbGwoYS5jYWxsKHRoaXMs YikpfSk7aWYodGhpc1swXSl7dmFyIGI9ZihhLHRoaXNbMF0ub3duZXJEb2N1bWVu dCkuZXEoMCkuY2xvbmUoITApO3RoaXNbMF0ucGFyZW50Tm9kZSYmYi5pbnNlcnRC ZWZvcmUodGhpc1swXSksYi5tYXAoZnVuY3Rpb24oKXt2YXIgYT10aGlzO3doaWxl KGEuZmlyc3RDaGlsZCYmYS5maXJzdENoaWxkLm5vZGVUeXBlPT09MSlhPWEuZmly c3RDaGlsZDtyZXR1cm4gYX0pLmFwcGVuZCh0aGlzKX1yZXR1cm4gdGhpc30sd3Jh cElubmVyOmZ1bmN0aW9uKGEpe2lmKGYuaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhp cy5lYWNoKGZ1bmN0aW9uKGIpe2YodGhpcykud3JhcElubmVyKGEuY2FsbCh0aGlz LGIpKX0pO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1mKHRoaXMp LGM9Yi5jb250ZW50cygpO2MubGVuZ3RoP2Mud3JhcEFsbChhKTpiLmFwcGVuZChh KX0pfSx3cmFwOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24o KXtmKHRoaXMpLndyYXBBbGwoYSl9KX0sdW53cmFwOmZ1bmN0aW9uKCl7cmV0dXJu IHRoaXMucGFyZW50KCkuZWFjaChmdW5jdGlvbigpe2Yubm9kZU5hbWUodGhpcywi Ym9keSIpfHxmKHRoaXMpLnJlcGxhY2VXaXRoKHRoaXMuY2hpbGROb2Rlcyl9KS5l bmQoKX0sYXBwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJn dW1lbnRzLCEwLGZ1bmN0aW9uKGEpe3RoaXMubm9kZVR5cGU9PT0xJiZ0aGlzLmFw cGVuZENoaWxkKGEpfSl9LHByZXBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5k b21NYW5pcChhcmd1bWVudHMsITAsZnVuY3Rpb24oYSl7dGhpcy5ub2RlVHlwZT09 PTEmJnRoaXMuaW5zZXJ0QmVmb3JlKGEsdGhpcy5maXJzdENoaWxkKX0pfSxiZWZv cmU6ZnVuY3Rpb24oKXtpZih0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGUpcmV0 dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLCExLGZ1bmN0aW9uKGEpe3RoaXMu cGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSx0aGlzKX0pO2lmKGFyZ3VtZW50cy5s ZW5ndGgpe3ZhciBhPWYoYXJndW1lbnRzWzBdKTthLnB1c2guYXBwbHkoYSx0aGlz LnRvQXJyYXkoKSk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGEsImJlZm9yZSIsYXJn dW1lbnRzKX19LGFmdGVyOmZ1bmN0aW9uKCl7aWYodGhpc1swXSYmdGhpc1swXS5w YXJlbnROb2RlKXJldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cywhMSxmdW5j dGlvbihhKXt0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcy5uZXh0 U2libGluZyl9KTtpZihhcmd1bWVudHMubGVuZ3RoKXt2YXIgYT10aGlzLnB1c2hT dGFjayh0aGlzLCJhZnRlciIsYXJndW1lbnRzKTthLnB1c2guYXBwbHkoYSxmKGFy Z3VtZW50c1swXSkudG9BcnJheSgpKTtyZXR1cm4gYX19LHJlbW92ZTpmdW5jdGlv bihhLGIpe2Zvcih2YXIgYz0wLGQ7KGQ9dGhpc1tjXSkhPW51bGw7YysrKWlmKCFh fHxmLmZpbHRlcihhLFtkXSkubGVuZ3RoKSFiJiZkLm5vZGVUeXBlPT09MSYmKGYu Y2xlYW5EYXRhKGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSksZi5jbGVhbkRh dGEoW2RdKSksZC5wYXJlbnROb2RlJiZkLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQo ZCk7cmV0dXJuIHRoaXN9LGVtcHR5OmZ1bmN0aW9uKCl7Zm9yKHZhciBhPTAsYjso Yj10aGlzW2FdKSE9bnVsbDthKyspe2Iubm9kZVR5cGU9PT0xJiZmLmNsZWFuRGF0 YShiLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikpO3doaWxlKGIuZmlyc3RDaGls ZCliLnJlbW92ZUNoaWxkKGIuZmlyc3RDaGlsZCl9cmV0dXJuIHRoaXN9LGNsb25l OmZ1bmN0aW9uKGEsYil7YT1hPT1udWxsPyExOmEsYj1iPT1udWxsP2E6YjtyZXR1 cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gZi5jbG9uZSh0aGlzLGEsYil9 KX0saHRtbDpmdW5jdGlvbihhKXtpZihhPT09YilyZXR1cm4gdGhpc1swXSYmdGhp c1swXS5ub2RlVHlwZT09PTE/dGhpc1swXS5pbm5lckhUTUwucmVwbGFjZShZLCIi KTpudWxsO2lmKHR5cGVvZiBhPT0ic3RyaW5nIiYmIWJjLnRlc3QoYSkmJihmLnN1 cHBvcnQubGVhZGluZ1doaXRlc3BhY2V8fCFaLnRlc3QoYSkpJiYhYmdbKF8uZXhl YyhhKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKV0pe2E9YS5yZXBsYWNlKCQs IjwkMT48LyQyPiIpO3RyeXtmb3IodmFyIGM9MCxkPXRoaXMubGVuZ3RoO2M8ZDtj KyspdGhpc1tjXS5ub2RlVHlwZT09PTEmJihmLmNsZWFuRGF0YSh0aGlzW2NdLmdl dEVsZW1lbnRzQnlUYWdOYW1lKCIqIikpLHRoaXNbY10uaW5uZXJIVE1MPWEpfWNh dGNoKGUpe3RoaXMuZW1wdHkoKS5hcHBlbmQoYSl9fWVsc2UgZi5pc0Z1bmN0aW9u KGEpP3RoaXMuZWFjaChmdW5jdGlvbihiKXt2YXIgYz1mKHRoaXMpO2MuaHRtbChh LmNhbGwodGhpcyxiLGMuaHRtbCgpKSl9KTp0aGlzLmVtcHR5KCkuYXBwZW5kKGEp O3JldHVybiB0aGlzfSxyZXBsYWNlV2l0aDpmdW5jdGlvbihhKXtpZih0aGlzWzBd JiZ0aGlzWzBdLnBhcmVudE5vZGUpe2lmKGYuaXNGdW5jdGlvbihhKSlyZXR1cm4g dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe3ZhciBjPWYodGhpcyksZD1jLmh0bWwoKTtj LnJlcGxhY2VXaXRoKGEuY2FsbCh0aGlzLGIsZCkpfSk7dHlwZW9mIGEhPSJzdHJp bmciJiYoYT1mKGEpLmRldGFjaCgpKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9u KCl7dmFyIGI9dGhpcy5uZXh0U2libGluZyxjPXRoaXMucGFyZW50Tm9kZTtmKHRo

aXMpLnJlbW92ZSgpLGI/ZihiKS5iZWZvcmUoYSk6ZihjKS5hcHBlbmQoYSl9KX1y ZXR1cm4gdGhpcy5sZW5ndGg/dGhpcy5wdXNoU3RhY2soZihmLmlzRnVuY3Rpb24o YSk/YSgpOmEpLCJyZXBsYWNlV2l0aCIsYSk6dGhpc30sZGV0YWNoOmZ1bmN0aW9u KGEpe3JldHVybiB0aGlzLnJlbW92ZShhLCEwKX0sZG9tTWFuaXA6ZnVuY3Rpb24o YSxjLGQpe3ZhciBlLGcsaCxpLGo9YVswXSxrPVtdO2lmKCFmLnN1cHBvcnQuY2hl Y2tDbG9uZSYmYXJndW1lbnRzLmxlbmd0aD09PTMmJnR5cGVvZiBqPT0ic3RyaW5n IiYmYmQudGVzdChqKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Zih0aGlz KS5kb21NYW5pcChhLGMsZCwhMCl9KTtpZihmLmlzRnVuY3Rpb24oaikpcmV0dXJu IHRoaXMuZWFjaChmdW5jdGlvbihlKXt2YXIgZz1mKHRoaXMpO2FbMF09ai5jYWxs KHRoaXMsZSxjP2cuaHRtbCgpOmIpLGcuZG9tTWFuaXAoYSxjLGQpfSk7aWYodGhp c1swXSl7aT1qJiZqLnBhcmVudE5vZGUsZi5zdXBwb3J0LnBhcmVudE5vZGUmJmkm Jmkubm9kZVR5cGU9PT0xMSYmaS5jaGlsZE5vZGVzLmxlbmd0aD09PXRoaXMubGVu Z3RoP2U9e2ZyYWdtZW50Oml9OmU9Zi5idWlsZEZyYWdtZW50KGEsdGhpcyxrKSxo PWUuZnJhZ21lbnQsaC5jaGlsZE5vZGVzLmxlbmd0aD09PTE/Zz1oPWguZmlyc3RD aGlsZDpnPWguZmlyc3RDaGlsZDtpZihnKXtjPWMmJmYubm9kZU5hbWUoZywidHIi KTtmb3IodmFyIGw9MCxtPXRoaXMubGVuZ3RoLG49bS0xO2w8bTtsKyspZC5jYWxs KGM/YmgodGhpc1tsXSxnKTp0aGlzW2xdLGUuY2FjaGVhYmxlfHxtPjEmJmw8bj9m LmNsb25lKGgsITAsITApOmgpfWsubGVuZ3RoJiZmLmVhY2goayxibil9cmV0dXJu IHRoaXN9fSksZi5idWlsZEZyYWdtZW50PWZ1bmN0aW9uKGEsYixkKXt2YXIgZSxn LGgsaT1iJiZiWzBdP2JbMF0ub3duZXJEb2N1bWVudHx8YlswXTpjO2EubGVuZ3Ro PT09MSYmdHlwZW9mIGFbMF09PSJzdHJpbmciJiZhWzBdLmxlbmd0aDw1MTImJmk9 PT1jJiZhWzBdLmNoYXJBdCgwKT09PSI8IiYmIWJjLnRlc3QoYVswXSkmJihmLnN1 cHBvcnQuY2hlY2tDbG9uZXx8IWJkLnRlc3QoYVswXSkpJiYoZz0hMCxoPWYuZnJh Z21lbnRzW2FbMF1dLGgmJmghPT0xJiYoZT1oKSksZXx8KGU9aS5jcmVhdGVEb2N1 bWVudEZyYWdtZW50KCksZi5jbGVhbihhLGksZSxkKSksZyYmKGYuZnJhZ21lbnRz W2FbMF1dPWg/ZToxKTtyZXR1cm57ZnJhZ21lbnQ6ZSxjYWNoZWFibGU6Z319LGYu ZnJhZ21lbnRzPXt9LGYuZWFjaCh7YXBwZW5kVG86ImFwcGVuZCIscHJlcGVuZFRv OiJwcmVwZW5kIixpbnNlcnRCZWZvcmU6ImJlZm9yZSIsaW5zZXJ0QWZ0ZXI6ImFm dGVyIixyZXBsYWNlQWxsOiJyZXBsYWNlV2l0aCJ9LGZ1bmN0aW9uKGEsYil7Zi5m blthXT1mdW5jdGlvbihjKXt2YXIgZD1bXSxlPWYoYyksZz10aGlzLmxlbmd0aD09 PTEmJnRoaXNbMF0ucGFyZW50Tm9kZTtpZihnJiZnLm5vZGVUeXBlPT09MTEmJmcu Y2hpbGROb2Rlcy5sZW5ndGg9PT0xJiZlLmxlbmd0aD09PTEpe2VbYl0odGhpc1sw XSk7cmV0dXJuIHRoaXN9Zm9yKHZhciBoPTAsaT1lLmxlbmd0aDtoPGk7aCsrKXt2 YXIgaj0oaD4wP3RoaXMuY2xvbmUoITApOnRoaXMpLmdldCgpO2YoZVtoXSlbYl0o aiksZD1kLmNvbmNhdChqKX1yZXR1cm4gdGhpcy5wdXNoU3RhY2soZCxhLGUuc2Vs ZWN0b3IpfX0pLGYuZXh0ZW5kKHtjbG9uZTpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9 YS5jbG9uZU5vZGUoITApLGUsZyxoO2lmKCghZi5zdXBwb3J0Lm5vQ2xvbmVFdmVu dHx8IWYuc3VwcG9ydC5ub0Nsb25lQ2hlY2tlZCkmJihhLm5vZGVUeXBlPT09MXx8 YS5ub2RlVHlwZT09PTExKSYmIWYuaXNYTUxEb2MoYSkpe2JqKGEsZCksZT1iayhh KSxnPWJrKGQpO2ZvcihoPTA7ZVtoXTsrK2gpYmooZVtoXSxnW2hdKX1pZihiKXti aShhLGQpO2lmKGMpe2U9YmsoYSksZz1iayhkKTtmb3IoaD0wO2VbaF07KytoKWJp KGVbaF0sZ1toXSl9fXJldHVybiBkfSxjbGVhbjpmdW5jdGlvbihhLGIsZCxlKXt2 YXIgZztiPWJ8fGMsdHlwZW9mIGIuY3JlYXRlRWxlbWVudD09InVuZGVmaW5lZCIm JihiPWIub3duZXJEb2N1bWVudHx8CmJbMF0mJmJbMF0ub3duZXJEb2N1bWVudHx8 Yyk7dmFyIGg9W10saTtmb3IodmFyIGo9MCxrOyhrPWFbal0pIT1udWxsO2orKyl7 dHlwZW9mIGs9PSJudW1iZXIiJiYoays9IiIpO2lmKCFrKWNvbnRpbnVlO2lmKHR5 cGVvZiBrPT0ic3RyaW5nIilpZighYmIudGVzdChrKSlrPWIuY3JlYXRlVGV4dE5v ZGUoayk7ZWxzZXtrPWsucmVwbGFjZSgkLCI8JDE+PC8kMj4iKTt2YXIgbD0oXy5l eGVjKGspfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpLG09YmdbbF18fGJnLl9k ZWZhdWx0LG49bVswXSxvPWIuY3JlYXRlRWxlbWVudCgiZGl2Iik7by5pbm5lckhU TUw9bVsxXStrK21bMl07d2hpbGUobi0tKW89by5sYXN0Q2hpbGQ7aWYoIWYuc3Vw cG9ydC50Ym9keSl7dmFyIHA9YmEudGVzdChrKSxxPWw9PT0idGFibGUiJiYhcD9v LmZpcnN0Q2hpbGQmJm8uZmlyc3RDaGlsZC5jaGlsZE5vZGVzOm1bMV09PT0iPHRh YmxlPiImJiFwP28uY2hpbGROb2RlczpbXTtmb3IoaT1xLmxlbmd0aC0xO2k+PTA7 LS1pKWYubm9kZU5hbWUocVtpXSwidGJvZHkiKSYmIXFbaV0uY2hpbGROb2Rlcy5s ZW5ndGgmJnFbaV0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChxW2ldKX0hZi5zdXBw b3J0LmxlYWRpbmdXaGl0ZXNwYWNlJiZaLnRlc3QoaykmJm8uaW5zZXJ0QmVmb3Jl KGIuY3JlYXRlVGV4dE5vZGUoWi5leGVjKGspWzBdKSxvLmZpcnN0Q2hpbGQpLGs9 by5jaGlsZE5vZGVzfXZhciByO2lmKCFmLnN1cHBvcnQuYXBwZW5kQ2hlY2tlZClp ZihrWzBdJiZ0eXBlb2YgKHI9ay5sZW5ndGgpPT0ibnVtYmVyIilmb3IoaT0wO2k8

cjtpKyspYm0oa1tpXSk7ZWxzZSBibShrKTtrLm5vZGVUeXBlP2gucHVzaChrKTpo PWYubWVyZ2UoaCxrKX1pZihkKXtnPWZ1bmN0aW9uKGEpe3JldHVybiFhLnR5cGV8 fGJlLnRlc3QoYS50eXBlKX07Zm9yKGo9MDtoW2pdO2orKylpZihlJiZmLm5vZGVO YW1lKGhbal0sInNjcmlwdCIpJiYoIWhbal0udHlwZXx8aFtqXS50eXBlLnRvTG93 ZXJDYXNlKCk9PT0idGV4dC9qYXZhc2NyaXB0IikpZS5wdXNoKGhbal0ucGFyZW50 Tm9kZT9oW2pdLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaFtqXSk6aFtqXSk7ZWxz ZXtpZihoW2pdLm5vZGVUeXBlPT09MSl7dmFyIHM9Zi5ncmVwKGhbal0uZ2V0RWxl bWVudHNCeVRhZ05hbWUoInNjcmlwdCIpLGcpO2guc3BsaWNlLmFwcGx5KGgsW2or MSwwXS5jb25jYXQocykpfWQuYXBwZW5kQ2hpbGQoaFtqXSl9fXJldHVybiBofSxj bGVhbkRhdGE6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPWYuY2FjaGUsZT1mLmV4cGFu ZG8sZz1mLmV2ZW50LnNwZWNpYWwsaD1mLnN1cHBvcnQuZGVsZXRlRXhwYW5kbztm b3IodmFyIGk9MCxqOyhqPWFbaV0pIT1udWxsO2krKyl7aWYoai5ub2RlTmFtZSYm Zi5ub0RhdGFbai5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSljb250aW51ZTtjPWpb Zi5leHBhbmRvXTtpZihjKXtiPWRbY10mJmRbY11bZV07aWYoYiYmYi5ldmVudHMp e2Zvcih2YXIgayBpbiBiLmV2ZW50cylnW2tdP2YuZXZlbnQucmVtb3ZlKGosayk6 Zi5yZW1vdmVFdmVudChqLGssYi5oYW5kbGUpO2IuaGFuZGxlJiYoYi5oYW5kbGUu ZWxlbT1udWxsKX1oP2RlbGV0ZSBqW2YuZXhwYW5kb106ai5yZW1vdmVBdHRyaWJ1 dGUmJmoucmVtb3ZlQXR0cmlidXRlKGYuZXhwYW5kbyksZGVsZXRlIGRbY119fX19 KTt2YXIgYm89L2FscGhhXChbXildKlwpL2ksYnA9L29wYWNpdHk9KFteKV0qKS8s YnE9Ly0oW2Etel0pL2lnLGJyPS8oW0EtWl18Xm1zKS9nLGJzPS9eLT9cZCsoPzpw eCk/JC9pLGJ0PS9eLT9cZC8sYnU9L15bK1wtXT0vLGJ2PS9bXitcLVwuXGRlXSsv Zyxidz17cG9zaXRpb246ImFic29sdXRlIix2aXNpYmlsaXR5OiJoaWRkZW4iLGRp c3BsYXk6ImJsb2NrIn0sYng9WyJMZWZ0IiwiUmlnaHQiXSxieT1bIlRvcCIsIkJv dHRvbSJdLGJ6LGJBLGJCLGJDPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGIudG9VcHBl ckNhc2UoKX07Zi5mbi5jc3M9ZnVuY3Rpb24oYSxjKXtpZihhcmd1bWVudHMubGVu Z3RoPT09MiYmYz09PWIpcmV0dXJuIHRoaXM7cmV0dXJuIGYuYWNjZXNzKHRoaXMs YSxjLCEwLGZ1bmN0aW9uKGEsYyxkKXtyZXR1cm4gZCE9PWI/Zi5zdHlsZShhLGMs ZCk6Zi5jc3MoYSxjKX0pfSxmLmV4dGVuZCh7Y3NzSG9va3M6e29wYWNpdHk6e2dl dDpmdW5jdGlvbihhLGIpe2lmKGIpe3ZhciBjPWJ6KGEsIm9wYWNpdHkiLCJvcGFj aXR5Iik7cmV0dXJuIGM9PT0iIj8iMSI6Y31yZXR1cm4gYS5zdHlsZS5vcGFjaXR5 fX19LGNzc051bWJlcjp7ekluZGV4OiEwLGZvbnRXZWlnaHQ6ITAsb3BhY2l0eToh MCx6b29tOiEwLGxpbmVIZWlnaHQ6ITAsd2lkb3dzOiEwLG9ycGhhbnM6ITB9LGNz c1Byb3BzOnsiZmxvYXQiOmYuc3VwcG9ydC5jc3NGbG9hdD8iY3NzRmxvYXQiOiJz dHlsZUZsb2F0In0sc3R5bGU6ZnVuY3Rpb24oYSxjLGQsZSl7aWYoISFhJiZhLm5v ZGVUeXBlIT09MyYmYS5ub2RlVHlwZSE9PTgmJiEhYS5zdHlsZSl7dmFyIGcsaCxp PWYuY2FtZWxDYXNlKGMpLGo9YS5zdHlsZSxrPWYuY3NzSG9va3NbaV07Yz1mLmNz c1Byb3BzW2ldfHxpO2lmKGQ9PT1iKXtpZihrJiYiZ2V0ImluIGsmJihnPWsuZ2V0 KGEsITEsZSkpIT09YilyZXR1cm4gZztyZXR1cm4galtjXX1oPXR5cGVvZiBkO2lm KGg9PT0ibnVtYmVyIiYmaXNOYU4oZCl8fGQ9PW51bGwpcmV0dXJuO2g9PT0ic3Ry aW5nIiYmYnUudGVzdChkKSYmKGQ9K2QucmVwbGFjZShidiwiIikrcGFyc2VGbG9h dChmLmNzcyhhLGMpKSksaD09PSJudW1iZXIiJiYhZi5jc3NOdW1iZXJbaV0mJihk Kz0icHgiKTtpZigha3x8ISgic2V0ImluIGspfHwoZD1rLnNldChhLGQpKSE9PWIp dHJ5e2pbY109ZH1jYXRjaChsKXt9fX0sY3NzOmZ1bmN0aW9uKGEsYyxkKXt2YXIg ZSxnO2M9Zi5jYW1lbENhc2UoYyksZz1mLmNzc0hvb2tzW2NdLGM9Zi5jc3NQcm9w c1tjXXx8YyxjPT09ImNzc0Zsb2F0IiYmKGM9ImZsb2F0Iik7aWYoZyYmImdldCJp biBnJiYoZT1nLmdldChhLCEwLGQpKSE9PWIpcmV0dXJuIGU7aWYoYnopcmV0dXJu IGJ6KGEsYyl9LHN3YXA6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXt9O2Zvcih2YXIg ZSBpbiBiKWRbZV09YS5zdHlsZVtlXSxhLnN0eWxlW2VdPWJbZV07Yy5jYWxsKGEp O2ZvcihlIGluIGIpYS5zdHlsZVtlXT1kW2VdfSxjYW1lbENhc2U6ZnVuY3Rpb24o YSl7cmV0dXJuIGEucmVwbGFjZShicSxiQyl9fSksZi5jdXJDU1M9Zi5jc3MsZi5l YWNoKFsiaGVpZ2h0Iiwid2lkdGgiXSxmdW5jdGlvbihhLGIpe2YuY3NzSG9va3Nb Yl09e2dldDpmdW5jdGlvbihhLGMsZCl7dmFyIGU7aWYoYyl7YS5vZmZzZXRXaWR0 aCE9PTA/ZT1iRChhLGIsZCk6Zi5zd2FwKGEsYncsZnVuY3Rpb24oKXtlPWJEKGEs YixkKX0pO2lmKGU8PTApe2U9YnooYSxiLGIpLGU9PT0iMHB4IiYmYkImJihlPWJC KGEsYixiKSk7aWYoZSE9bnVsbClyZXR1cm4gZT09PSIifHxlPT09ImF1dG8iPyIw cHgiOmV9aWYoZTwwfHxlPT1udWxsKXtlPWEuc3R5bGVbYl07cmV0dXJuIGU9PT0i Inx8ZT09PSJhdXRvIj8iMHB4IjplfXJldHVybiB0eXBlb2YgZT09InN0cmluZyI/ ZTplKyJweCJ9fSxzZXQ6ZnVuY3Rpb24oYSxiKXtpZighYnMudGVzdChiKSlyZXR1 cm4gYjtiPXBhcnNlRmxvYXQoYik7aWYoYj49MClyZXR1cm4gYisicHgifX19KSxm LnN1cHBvcnQub3BhY2l0eXx8KGYuY3NzSG9va3Mub3BhY2l0eT17Z2V0OmZ1bmN0

aW9uKGEsYil7cmV0dXJuIGJwLnRlc3QoKGImJmEuY3VycmVudFN0eWxlP2EuY3Vy cmVudFN0eWxlLmZpbHRlcjphLnN0eWxlLmZpbHRlcil8fCIiKT9wYXJzZUZsb2F0 KFJlZ0V4cC4kMSkvMTAwKyIiOmI/IjEiOiIifSxzZXQ6ZnVuY3Rpb24oYSxiKXt2 YXIgYz1hLnN0eWxlLGQ9YS5jdXJyZW50U3R5bGU7Yy56b29tPTE7dmFyIGU9Zi5p c05hTihiKT8iIjoiYWxwaGEob3BhY2l0eT0iK2IqMTAwKyIpIixnPWQmJmQuZmls dGVyfHxjLmZpbHRlcnx8IiI7Yy5maWx0ZXI9Ym8udGVzdChnKT9nLnJlcGxhY2Uo Ym8sZSk6ZysiICIrZX19KSxmKGZ1bmN0aW9uKCl7Zi5zdXBwb3J0LnJlbGlhYmxl TWFyZ2luUmlnaHR8fChmLmNzc0hvb2tzLm1hcmdpblJpZ2h0PXtnZXQ6ZnVuY3Rp b24oYSxiKXt2YXIgYztmLnN3YXAoYSx7ZGlzcGxheToiaW5saW5lLWJsb2NrIn0s ZnVuY3Rpb24oKXtiP2M9YnooYSwibWFyZ2luLXJpZ2h0IiwibWFyZ2luUmlnaHQi KTpjPWEuc3R5bGUubWFyZ2luUmlnaHR9KTtyZXR1cm4gY319KX0pLGMuZGVmYXVs dFZpZXcmJmMuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSYmKGJBPWZ1bmN0 aW9uKGEsYyl7dmFyIGQsZSxnO2M9Yy5yZXBsYWNlKGJyLCItJDEiKS50b0xvd2Vy Q2FzZSgpO2lmKCEoZT1hLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcpKXJldHVy biBiO2lmKGc9ZS5nZXRDb21wdXRlZFN0eWxlKGEsbnVsbCkpZD1nLmdldFByb3Bl cnR5VmFsdWUoYyksZD09PSIiJiYhZi5jb250YWlucyhhLm93bmVyRG9jdW1lbnQu ZG9jdW1lbnRFbGVtZW50LGEpJiYoZD1mLnN0eWxlKGEsYykpO3JldHVybiBkfSks Yy5kb2N1bWVudEVsZW1lbnQuY3VycmVudFN0eWxlJiYoYkI9ZnVuY3Rpb24oYSxi KXt2YXIgYyxkPWEuY3VycmVudFN0eWxlJiZhLmN1cnJlbnRTdHlsZVtiXSxlPWEu cnVudGltZVN0eWxlJiZhLnJ1bnRpbWVTdHlsZVtiXSxmPWEuc3R5bGU7IWJzLnRl c3QoZCkmJmJ0LnRlc3QoZCkmJihjPWYubGVmdCxlJiYoYS5ydW50aW1lU3R5bGUu bGVmdD1hLmN1cnJlbnRTdHlsZS5sZWZ0KSxmLmxlZnQ9Yj09PSJmb250U2l6ZSI/ IjFlbSI6ZHx8MCxkPWYucGl4ZWxMZWZ0KyJweCIsZi5sZWZ0PWMsZSYmKGEucnVu dGltZVN0eWxlLmxlZnQ9ZSkpO3JldHVybiBkPT09IiI/ImF1dG8iOmR9KSxiej1i QXx8YkIsZi5leHByJiZmLmV4cHIuZmlsdGVycyYmKGYuZXhwci5maWx0ZXJzLmhp ZGRlbj1mdW5jdGlvbihhKXt2YXIgYj1hLm9mZnNldFdpZHRoLGM9YS5vZmZzZXRI ZWlnaHQ7cmV0dXJuIGI9PT0wJiZjPT09MHx8IWYuc3VwcG9ydC5yZWxpYWJsZUhp ZGRlbk9mZnNldHMmJihhLnN0eWxlLmRpc3BsYXl8fGYuY3NzKGEsImRpc3BsYXki KSk9PT0ibm9uZSJ9LGYuZXhwci5maWx0ZXJzLnZpc2libGU9ZnVuY3Rpb24oYSl7 cmV0dXJuIWYuZXhwci5maWx0ZXJzLmhpZGRlbihhKX0pO3ZhciBiRT0vJTIwL2cs YkY9L1xbXF0kLyxiRz0vXHI/XG4vZyxiSD0vIy4qJC8sYkk9L14oLio/KTpbIFx0 XSooW15cclxuXSopXHI/JC9tZyxiSj0vXig/OmNvbG9yfGRhdGV8ZGF0ZXRpbWV8 ZW1haWx8aGlkZGVufG1vbnRofG51bWJlcnxwYXNzd29yZHxyYW5nZXxzZWFyY2h8 dGVsfHRleHR8dGltZXx1cmx8d2VlaykkL2ksYks9L14oPzphYm91dHxhcHB8YXBw XC1zdG9yYWdlfC4rXC1leHRlbnNpb258ZmlsZXx3aWRnZXQpOiQvLGJMPS9eKD86 R0VUfEhFQUQpJC8sYk09L15cL1wvLyxiTj0vXD8vLGJPPS88c2NyaXB0XGJbXjxd Kig/Oig/ITxcL3NjcmlwdD4pPFtePF0qKSo8XC9zY3JpcHQ+L2dpLGJQPS9eKD86 c2VsZWN0fHRleHRhcmVhKS9pLGJRPS9ccysvLGJSPS8oWz8mXSlfPVteJl0qLyxi Uz0vXihbXHdcK1wuXC1dKzopKD86XC9cLyhbXlwvPyM6XSopKD86OihcZCspKT8p Py8sYlQ9Zi5mbi5sb2FkLGJVPXt9LGJWPXt9LGJXLGJYO3RyeXtiVz1lLmhyZWZ9 Y2F0Y2goYlkpe2JXPWMuY3JlYXRlRWxlbWVudCgiYSIpLGJXLmhyZWY9IiIsYlc9 YlcuaHJlZn1iWD1iUy5leGVjKGJXLnRvTG93ZXJDYXNlKCkpfHxbXSxmLmZuLmV4 dGVuZCh7bG9hZDpmdW5jdGlvbihhLGMsZCl7aWYodHlwZW9mIGEhPSJzdHJpbmci JiZiVClyZXR1cm4gYlQuYXBwbHkodGhpcyxhcmd1bWVudHMpO2lmKCF0aGlzLmxl bmd0aClyZXR1cm4gdGhpczt2YXIgZT1hLmluZGV4T2YoIiAiKTtpZihlPj0wKXt2 YXIgZz1hLnNsaWNlKGUsYS5sZW5ndGgpO2E9YS5zbGljZSgwLGUpfXZhciBoPSJH RVQiO2MmJihmLmlzRnVuY3Rpb24oYyk/KGQ9YyxjPWIpOnR5cGVvZiBjPT0ib2Jq ZWN0IiYmKGM9Zi5wYXJhbShjLGYuYWpheFNldHRpbmdzLnRyYWRpdGlvbmFsKSxo PSJQT1NUIikpO3ZhciBpPXRoaXM7Zi5hamF4KHt1cmw6YSx0eXBlOmgsZGF0YVR5 cGU6Imh0bWwiLGRhdGE6Yyxjb21wbGV0ZTpmdW5jdGlvbihhLGIsYyl7Yz1hLnJl c3BvbnNlVGV4dCxhLmlzUmVzb2x2ZWQoKSYmKGEuZG9uZShmdW5jdGlvbihhKXtj PWF9KSxpLmh0bWwoZz9mKCI8ZGl2PiIpLmFwcGVuZChjLnJlcGxhY2UoYk8sIiIp KS5maW5kKGcpOmMpKSxkJiZpLmVhY2goZCxbYyxiLGFdKX19KTtyZXR1cm4gdGhp c30sc2VyaWFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIGYucGFyYW0odGhpcy5zZXJp YWxpemVBcnJheSgpKX0sc2VyaWFsaXplQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4g dGhpcy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbGVtZW50cz9mLm1ha2VB cnJheSh0aGlzLmVsZW1lbnRzKTp0aGlzfSkuZmlsdGVyKGZ1bmN0aW9uKCl7cmV0 dXJuIHRoaXMubmFtZSYmIXRoaXMuZGlzYWJsZWQmJih0aGlzLmNoZWNrZWR8fGJQ LnRlc3QodGhpcy5ub2RlTmFtZSl8fGJKLnRlc3QodGhpcy50eXBlKSl9KS5tYXAo ZnVuY3Rpb24oYSxiKXt2YXIgYz1mKHRoaXMpLnZhbCgpO3JldHVybiBjPT1udWxs

P251bGw6Zi5pc0FycmF5KGMpP2YubWFwKGMsZnVuY3Rpb24oYSxjKXtyZXR1cm57 bmFtZTpiLm5hbWUsdmFsdWU6YS5yZXBsYWNlKGJHLCJcclxuIil9fSk6e25hbWU6 Yi5uYW1lLHZhbHVlOmMucmVwbGFjZShiRywiXHJcbiIpfX0pLmdldCgpfX0pLGYu ZWFjaCgiYWpheFN0YXJ0IGFqYXhTdG9wIGFqYXhDb21wbGV0ZSBhamF4RXJyb3Ig YWpheFN1Y2Nlc3MgYWpheFNlbmQiLnNwbGl0KCIgIiksZnVuY3Rpb24oYSxiKXtm LmZuW2JdPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmJpbmQoYixhKX19KSxmLmVh Y2goWyJnZXQiLCJwb3N0Il0sZnVuY3Rpb24oYSxjKXtmW2NdPWZ1bmN0aW9uKGEs ZCxlLGcpe2YuaXNGdW5jdGlvbihkKSYmKGc9Z3x8ZSxlPWQsZD1iKTtyZXR1cm4g Zi5hamF4KHt0eXBlOmMsdXJsOmEsZGF0YTpkLHN1Y2Nlc3M6ZSxkYXRhVHlwZTpn fSl9fSksZi5leHRlbmQoe2dldFNjcmlwdDpmdW5jdGlvbihhLGMpe3JldHVybiBm LmdldChhLGIsYywic2NyaXB0Iil9LGdldEpTT046ZnVuY3Rpb24oYSxiLGMpe3Jl dHVybiBmLmdldChhLGIsYywianNvbiIpfSxhamF4U2V0dXA6ZnVuY3Rpb24oYSxi KXtiP2YuZXh0ZW5kKCEwLGEsZi5hamF4U2V0dGluZ3MsYik6KGI9YSxhPWYuZXh0 ZW5kKCEwLGYuYWpheFNldHRpbmdzLGIpKTtmb3IodmFyIGMgaW57Y29udGV4dDox LHVybDoxfSljIGluIGI/YVtjXT1iW2NdOmMgaW4gZi5hamF4U2V0dGluZ3MmJihh W2NdPWYuYWpheFNldHRpbmdzW2NdKTtyZXR1cm4gYX0sYWpheFNldHRpbmdzOnt1 cmw6YlcsaXNMb2NhbDpiSy50ZXN0KGJYWzFdKSxnbG9iYWw6ITAsdHlwZToiR0VU Iixjb250ZW50VHlwZToiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVk Iixwcm9jZXNzRGF0YTohMCxhc3luYzohMCxhY2NlcHRzOnt4bWw6ImFwcGxpY2F0 aW9uL3htbCwgdGV4dC94bWwiLGh0bWw6InRleHQvaHRtbCIsdGV4dDoidGV4dC9w bGFpbiIsanNvbjoiYXBwbGljYXRpb24vanNvbiwgdGV4dC9qYXZhc2NyaXB0Iiwi KiI6IiovKiJ9LGNvbnRlbnRzOnt4bWw6L3htbC8saHRtbDovaHRtbC8sanNvbjov anNvbi99LHJlc3BvbnNlRmllbGRzOnt4bWw6InJlc3BvbnNlWE1MIix0ZXh0OiJy ZXNwb25zZVRleHQifSxjb252ZXJ0ZXJzOnsiKiB0ZXh0IjphLlN0cmluZywidGV4 dCBodG1sIjohMCwidGV4dCBqc29uIjpmLnBhcnNlSlNPTiwidGV4dCB4bWwiOmYu cGFyc2VYTUx9fSxhamF4UHJlZmlsdGVyOmJaKGJVKSxhamF4VHJhbnNwb3J0OmJa KGJWKSxhamF4OmZ1bmN0aW9uKGEsYyl7ZnVuY3Rpb24gdyhhLGMsbCxtKXtpZihz IT09Mil7cz0yLHEmJmNsZWFyVGltZW91dChxKSxwPWIsbj1tfHwiIix2LnJlYWR5 U3RhdGU9YT80OjA7dmFyIG8scix1LHc9bD9jYShkLHYsbCk6Yix4LHk7aWYoYT49 MjAwJiZhPDMwMHx8YT09PTMwNCl7aWYoZC5pZk1vZGlmaWVkKXtpZih4PXYuZ2V0 UmVzcG9uc2VIZWFkZXIoIkxhc3QtTW9kaWZpZWQiKSlmLmxhc3RNb2RpZmllZFtr XT14O2lmKHk9di5nZXRSZXNwb25zZUhlYWRlcigiRXRhZyIpKWYuZXRhZ1trXT15 fWlmKGE9PT0zMDQpYz0ibm90bW9kaWZpZWQiLG89ITA7ZWxzZSB0cnl7cj1jYihk LHcpLGM9InN1Y2Nlc3MiLG89ITB9Y2F0Y2goeil7Yz0icGFyc2VyZXJyb3IiLHU9 en19ZWxzZXt1PWM7aWYoIWN8fGEpYz0iZXJyb3IiLGE8MCYmKGE9MCl9di5zdGF0 dXM9YSx2LnN0YXR1c1RleHQ9YyxvP2gucmVzb2x2ZVdpdGgoZSxbcixjLHZdKTpo LnJlamVjdFdpdGgoZSxbdixjLHVdKSx2LnN0YXR1c0NvZGUoaiksaj1iLHQmJmcu dHJpZ2dlcigiYWpheCIrKG8/IlN1Y2Nlc3MiOiJFcnJvciIpLFt2LGQsbz9yOnVd KSxpLnJlc29sdmVXaXRoKGUsW3YsY10pLHQmJihnLnRyaWdnZXIoImFqYXhDb21w bGV0ZSIsW3YsZF0pLC0tZi5hY3RpdmV8fGYuZXZlbnQudHJpZ2dlcigiYWpheFN0 b3AiKSl9fXR5cGVvZiBhPT0ib2JqZWN0IiYmKGM9YSxhPWIpLGM9Y3x8e307dmFy IGQ9Zi5hamF4U2V0dXAoe30sYyksZT1kLmNvbnRleHR8fGQsZz1lIT09ZCYmKGUu bm9kZVR5cGV8fGUgaW5zdGFuY2VvZiBmKT9mKGUpOmYuZXZlbnQsaD1mLkRlZmVy cmVkKCksaT1mLl9EZWZlcnJlZCgpLGo9ZC5zdGF0dXNDb2RlfHx7fSxrLGw9e30s bT17fSxuLG8scCxxLHIscz0wLHQsdSx2PXtyZWFkeVN0YXRlOjAsc2V0UmVxdWVz dEhlYWRlcjpmdW5jdGlvbihhLGIpe2lmKCFzKXt2YXIgYz1hLnRvTG93ZXJDYXNl KCk7YT1tW2NdPW1bY118fGEsbFthXT1ifXJldHVybiB0aGlzfSxnZXRBbGxSZXNw b25zZUhlYWRlcnM6ZnVuY3Rpb24oKXtyZXR1cm4gcz09PTI/bjpudWxsfSxnZXRS ZXNwb25zZUhlYWRlcjpmdW5jdGlvbihhKXt2YXIgYztpZihzPT09Mil7aWYoIW8p e289e307d2hpbGUoYz1iSS5leGVjKG4pKW9bY1sxXS50b0xvd2VyQ2FzZSgpXT1j WzJdfWM9b1thLnRvTG93ZXJDYXNlKCldfXJldHVybiBjPT09Yj9udWxsOmN9LG92 ZXJyaWRlTWltZVR5cGU6ZnVuY3Rpb24oYSl7c3x8KGQubWltZVR5cGU9YSk7cmV0 dXJuIHRoaXN9LGFib3J0OmZ1bmN0aW9uKGEpe2E9YXx8ImFib3J0IixwJiZwLmFi b3J0KGEpLHcoMCxhKTtyZXR1cm4gdGhpc319O2gucHJvbWlzZSh2KSx2LnN1Y2Nl c3M9di5kb25lLHYuZXJyb3I9di5mYWlsLHYuY29tcGxldGU9aS5kb25lLHYuc3Rh dHVzQ29kZT1mdW5jdGlvbihhKXtpZihhKXt2YXIgYjtpZihzPDIpZm9yKGIgaW4g YSlqW2JdPVtqW2JdLGFbYl1dO2Vsc2UgYj1hW3Yuc3RhdHVzXSx2LnRoZW4oYixi KX1yZXR1cm4gdGhpc30sZC51cmw9KChhfHxkLnVybCkrIiIpLnJlcGxhY2UoYkgs IiIpLnJlcGxhY2UoYk0sYlhbMV0rIi8vIiksZC5kYXRhVHlwZXM9Zi50cmltKGQu ZGF0YVR5cGV8fCIqIikudG9Mb3dlckNhc2UoKS5zcGxpdChiUSksZC5jcm9zc0Rv

bWFpbj09bnVsbCYmKHI9YlMuZXhlYyhkLnVybC50b0xvd2VyQ2FzZSgpKSxkLmNy b3NzRG9tYWluPSEoIXJ8fHJbMV09PWJYWzFdJiZyWzJdPT1iWFsyXSYmKHJbM118 fChyWzFdPT09Imh0dHA6Ij84MDo0NDMpKT09KGJYWzNdfHwoYlhbMV09PT0iaHR0 cDoiPzgwOjQ0MykpKSksZC5kYXRhJiZkLnByb2Nlc3NEYXRhJiZ0eXBlb2YgZC5k YXRhIT0ic3RyaW5nIiYmKGQuZGF0YT1mLnBhcmFtKGQuZGF0YSxkLnRyYWRpdGlv bmFsKSksYiQoYlUsZCxjLHYpO2lmKHM9PT0yKXJldHVybiExO3Q9ZC5nbG9iYWws ZC50eXBlPWQudHlwZS50b1VwcGVyQ2FzZSgpLGQuaGFzQ29udGVudD0hYkwudGVz dChkLnR5cGUpLHQmJmYuYWN0aXZlKys9PT0wJiZmLmV2ZW50LnRyaWdnZXIoImFq YXhTdGFydCIpO2lmKCFkLmhhc0NvbnRlbnQpe2QuZGF0YSYmKGQudXJsKz0oYk4u dGVzdChkLnVybCk/IiYiOiI/IikrZC5kYXRhKSxrPWQudXJsO2lmKGQuY2FjaGU9 PT0hMSl7dmFyIHg9Zi5ub3coKSx5PWQudXJsLnJlcGxhY2UoYlIsIiQxXz0iK3gp O2QudXJsPXkrKHk9PT1kLnVybD8oYk4udGVzdChkLnVybCk/IiYiOiI/IikrIl89 Iit4OiIiKX19KGQuZGF0YSYmZC5oYXNDb250ZW50JiZkLmNvbnRlbnRUeXBlIT09 ITF8fGMuY29udGVudFR5cGUpJiZ2LnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQt VHlwZSIsZC5jb250ZW50VHlwZSksZC5pZk1vZGlmaWVkJiYoaz1rfHxkLnVybCxm Lmxhc3RNb2RpZmllZFtrXSYmdi5zZXRSZXF1ZXN0SGVhZGVyKCJJZi1Nb2RpZmll ZC1TaW5jZSIsZi5sYXN0TW9kaWZpZWRba10pLGYuZXRhZ1trXSYmdi5zZXRSZXF1 ZXN0SGVhZGVyKCJJZi1Ob25lLU1hdGNoIixmLmV0YWdba10pKSx2LnNldFJlcXVl c3RIZWFkZXIoIkFjY2VwdCIsZC5kYXRhVHlwZXNbMF0mJmQuYWNjZXB0c1tkLmRh dGFUeXBlc1swXV0/ZC5hY2NlcHRzW2QuZGF0YVR5cGVzWzBdXSsoZC5kYXRhVHlw ZXNbMF0hPT0iKiI/IiwgKi8qOyBxPTAuMDEiOiIiKTpkLmFjY2VwdHNbIioiXSk7 Zm9yKHUgaW4gZC5oZWFkZXJzKXYuc2V0UmVxdWVzdEhlYWRlcih1LGQuaGVhZGVy c1t1XSk7aWYoZC5iZWZvcmVTZW5kJiYoZC5iZWZvcmVTZW5kLmNhbGwoZSx2LGQp PT09ITF8fHM9PT0yKSl7di5hYm9ydCgpO3JldHVybiExfWZvcih1IGlue3N1Y2Nl c3M6MSxlcnJvcjoxLGNvbXBsZXRlOjF9KXZbdV0oZFt1XSk7cD1iJChiVixkLGMs dik7aWYoIXApdygtMSwiTm8gVHJhbnNwb3J0Iik7ZWxzZXt2LnJlYWR5U3RhdGU9 MSx0JiZnLnRyaWdnZXIoImFqYXhTZW5kIixbdixkXSksZC5hc3luYyYmZC50aW1l b3V0PjAmJihxPXNldFRpbWVvdXQoZnVuY3Rpb24oKXt2LmFib3J0KCJ0aW1lb3V0 Iil9LGQudGltZW91dCkpO3RyeXtzPTEscC5zZW5kKGwsdyl9Y2F0Y2goeil7c3Rh dHVzPDI/dygtMSx6KTpmLmVycm9yKHopfX1yZXR1cm4gdn0scGFyYW06ZnVuY3Rp b24oYSxjKXt2YXIgZD1bXSxlPWZ1bmN0aW9uKGEsYil7Yj1mLmlzRnVuY3Rpb24o Yik/YigpOmIsZFtkLmxlbmd0aF09ZW5jb2RlVVJJQ29tcG9uZW50KGEpKyI9Iitl bmNvZGVVUklDb21wb25lbnQoYil9O2M9PT1iJiYoYz1mLmFqYXhTZXR0aW5ncy50 cmFkaXRpb25hbCk7aWYoZi5pc0FycmF5KGEpfHxhLmpxdWVyeSYmIWYuaXNQbGFp bk9iamVjdChhKSlmLmVhY2goYSxmdW5jdGlvbigpe2UodGhpcy5uYW1lLHRoaXMu dmFsdWUpfSk7ZWxzZSBmb3IodmFyIGcgaW4gYSliXyhnLGFbZ10sYyxlKTtyZXR1 cm4gZC5qb2luKCImIikucmVwbGFjZShiRSwiKyIpfX0pLGYuZXh0ZW5kKHthY3Rp dmU6MCxsYXN0TW9kaWZpZWQ6e30sZXRhZzp7fX0pO3ZhciBjYz1mLm5vdygpLGNk PS8oXD0pXD8oJnwkKXxcP1w/L2k7Zi5hamF4U2V0dXAoe2pzb25wOiJjYWxsYmFj ayIsanNvbnBDYWxsYmFjazpmdW5jdGlvbigpe3JldHVybiBmLmV4cGFuZG8rIl8i K2NjKyt9fSksZi5hamF4UHJlZmlsdGVyKCJqc29uIGpzb25wIixmdW5jdGlvbihi LGMsZCl7dmFyIGU9Yi5jb250ZW50VHlwZT09PSJhcHBsaWNhdGlvbi94LXd3dy1m b3JtLXVybGVuY29kZWQiJiZ0eXBlb2YgYi5kYXRhPT0ic3RyaW5nIjtpZihiLmRh dGFUeXBlc1swXT09PSJqc29ucCJ8fGIuanNvbnAhPT0hMSYmKGNkLnRlc3QoYi51 cmwpfHxlJiZjZC50ZXN0KGIuZGF0YSkpKXt2YXIgZyxoPWIuanNvbnBDYWxsYmFj az1mLmlzRnVuY3Rpb24oYi5qc29ucENhbGxiYWNrKT9iLmpzb25wQ2FsbGJhY2so KTpiLmpzb25wQ2FsbGJhY2ssaT1hW2hdLGo9Yi51cmwsaz1iLmRhdGEsbD0iJDEi K2grIiQyIjtiLmpzb25wIT09ITEmJihqPWoucmVwbGFjZShjZCxsKSxiLnVybD09 PWomJihlJiYoaz1rLnJlcGxhY2UoY2QsbCkpLGIuZGF0YT09PWsmJihqKz0oL1w/ Ly50ZXN0KGopPyImIjoiPyIpK2IuanNvbnArIj0iK2gpKSksYi51cmw9aixiLmRh dGE9ayxhW2hdPWZ1bmN0aW9uKGEpe2c9W2FdfSxkLmFsd2F5cyhmdW5jdGlvbigp e2FbaF09aSxnJiZmLmlzRnVuY3Rpb24oaSkmJmFbaF0oZ1swXSl9KSxiLmNvbnZl cnRlcnNbInNjcmlwdCBqc29uIl09ZnVuY3Rpb24oKXtnfHxmLmVycm9yKGgrIiB3 YXMgbm90IGNhbGxlZCIpO3JldHVybiBnWzBdfSxiLmRhdGFUeXBlc1swXT0ianNv biI7cmV0dXJuInNjcmlwdCJ9fSksZi5hamF4U2V0dXAoe2FjY2VwdHM6e3Njcmlw dDoidGV4dC9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9qYXZhc2NyaXB0LCBhcHBs aWNhdGlvbi9lY21hc2NyaXB0LCBhcHBsaWNhdGlvbi94LWVjbWFzY3JpcHQifSxj b250ZW50czp7c2NyaXB0Oi9qYXZhc2NyaXB0fGVjbWFzY3JpcHQvfSxjb252ZXJ0 ZXJzOnsidGV4dCBzY3JpcHQiOmZ1bmN0aW9uKGEpe2YuZ2xvYmFsRXZhbChhKTty ZXR1cm4gYX19fSksZi5hamF4UHJlZmlsdGVyKCJzY3JpcHQiLGZ1bmN0aW9uKGEp

e2EuY2FjaGU9PT1iJiYoYS5jYWNoZT0hMSksYS5jcm9zc0RvbWFpbiYmKGEudHlw ZT0iR0VUIixhLmdsb2JhbD0hMSl9KSxmLmFqYXhUcmFuc3BvcnQoInNjcmlwdCIs ZnVuY3Rpb24oYSl7aWYoYS5jcm9zc0RvbWFpbil7dmFyIGQsZT1jLmhlYWR8fGMu Z2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8Yy5kb2N1bWVudEVsZW1l bnQ7cmV0dXJue3NlbmQ6ZnVuY3Rpb24oZixnKXtkPWMuY3JlYXRlRWxlbWVudCgi c2NyaXB0IiksZC5hc3luYz0iYXN5bmMiLGEuc2NyaXB0Q2hhcnNldCYmKGQuY2hh cnNldD1hLnNjcmlwdENoYXJzZXQpLGQuc3JjPWEudXJsLGQub25sb2FkPWQub25y ZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKGEsYyl7aWYoY3x8IWQucmVhZHlTdGF0 ZXx8L2xvYWRlZHxjb21wbGV0ZS8udGVzdChkLnJlYWR5U3RhdGUpKWQub25sb2Fk PWQub25yZWFkeXN0YXRlY2hhbmdlPW51bGwsZSYmZC5wYXJlbnROb2RlJiZlLnJl bW92ZUNoaWxkKGQpLGQ9YixjfHxnKDIwMCwic3VjY2VzcyIpfSxlLmluc2VydEJl Zm9yZShkLGUuZmlyc3RDaGlsZCl9LGFib3J0OmZ1bmN0aW9uKCl7ZCYmZC5vbmxv YWQoMCwxKX19fX0pO3ZhciBjZT1hLkFjdGl2ZVhPYmplY3Q/ZnVuY3Rpb24oKXtm b3IodmFyIGEgaW4gY2cpY2dbYV0oMCwxKX06ITEsY2Y9MCxjZztmLmFqYXhTZXR0 aW5ncy54aHI9YS5BY3RpdmVYT2JqZWN0P2Z1bmN0aW9uKCl7cmV0dXJuIXRoaXMu aXNMb2NhbCYmY2goKXx8Y2koKX06Y2gsZnVuY3Rpb24oYSl7Zi5leHRlbmQoZi5z dXBwb3J0LHthamF4OiEhYSxjb3JzOiEhYSYmIndpdGhDcmVkZW50aWFscyJpbiBh fSl9KGYuYWpheFNldHRpbmdzLnhocigpKSxmLnN1cHBvcnQuYWpheCYmZi5hamF4 VHJhbnNwb3J0KGZ1bmN0aW9uKGMpe2lmKCFjLmNyb3NzRG9tYWlufHxmLnN1cHBv cnQuY29ycyl7dmFyIGQ7cmV0dXJue3NlbmQ6ZnVuY3Rpb24oZSxnKXt2YXIgaD1j LnhocigpLGksajtjLnVzZXJuYW1lP2gub3BlbihjLnR5cGUsYy51cmwsYy5hc3lu YyxjLnVzZXJuYW1lLGMucGFzc3dvcmQpOmgub3BlbihjLnR5cGUsYy51cmwsYy5h c3luYyk7aWYoYy54aHJGaWVsZHMpZm9yKGogaW4gYy54aHJGaWVsZHMpaFtqXT1j LnhockZpZWxkc1tqXTtjLm1pbWVUeXBlJiZoLm92ZXJyaWRlTWltZVR5cGUmJmgu b3ZlcnJpZGVNaW1lVHlwZShjLm1pbWVUeXBlKSwhYy5jcm9zc0RvbWFpbiYmIWVb IlgtUmVxdWVzdGVkLVdpdGgiXSYmKGVbIlgtUmVxdWVzdGVkLVdpdGgiXT0iWE1M SHR0cFJlcXVlc3QiKTt0cnl7Zm9yKGogaW4gZSloLnNldFJlcXVlc3RIZWFkZXIo aixlW2pdKX1jYXRjaChrKXt9aC5zZW5kKGMuaGFzQ29udGVudCYmYy5kYXRhfHxu dWxsKSxkPWZ1bmN0aW9uKGEsZSl7dmFyIGosayxsLG0sbjt0cnl7aWYoZCYmKGV8 fGgucmVhZHlTdGF0ZT09PTQpKXtkPWIsaSYmKGgub25yZWFkeXN0YXRlY2hhbmdl PWYubm9vcCxjZSYmZGVsZXRlIGNnW2ldKTtpZihlKWgucmVhZHlTdGF0ZSE9PTQm JmguYWJvcnQoKTtlbHNle2o9aC5zdGF0dXMsbD1oLmdldEFsbFJlc3BvbnNlSGVh ZGVycygpLG09e30sbj1oLnJlc3BvbnNlWE1MLG4mJm4uZG9jdW1lbnRFbGVtZW50 JiYobS54bWw9biksbS50ZXh0PWgucmVzcG9uc2VUZXh0O3RyeXtrPWguc3RhdHVz VGV4dH1jYXRjaChvKXtrPSIifSFqJiZjLmlzTG9jYWwmJiFjLmNyb3NzRG9tYWlu P2o9bS50ZXh0PzIwMDo0MDQ6aj09PTEyMjMmJihqPTIwNCl9fX1jYXRjaChwKXtl fHxnKC0xLHApfW0mJmcoaixrLG0sbCl9LCFjLmFzeW5jfHxoLnJlYWR5U3RhdGU9 PT00P2QoKTooaT0rK2NmLGNlJiYoY2d8fChjZz17fSxmKGEpLnVubG9hZChjZSkp LGNnW2ldPWQpLGgub25yZWFkeXN0YXRlY2hhbmdlPWQpfSxhYm9ydDpmdW5jdGlv bigpe2QmJmQoMCwxKX19fX0pO3ZhciBjaj17fSxjayxjbCxjbT0vXig/OnRvZ2ds ZXxzaG93fGhpZGUpJC8sY249L14oWytcLV09KT8oW1xkKy5cLV0rKShbYS16JV0q KSQvaSxjbyxjcD1bWyJoZWlnaHQiLCJtYXJnaW5Ub3AiLCJtYXJnaW5Cb3R0b20i LCJwYWRkaW5nVG9wIiwicGFkZGluZ0JvdHRvbSJdLFsid2lkdGgiLCJtYXJnaW5M ZWZ0IiwibWFyZ2luUmlnaHQiLCJwYWRkaW5nTGVmdCIsInBhZGRpbmdSaWdodCJd LFsib3BhY2l0eSJdXSxjcSxjcj1hLndlYmtpdFJlcXVlc3RBbmltYXRpb25GcmFt ZXx8YS5tb3pSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fGEub1JlcXVlc3RBbmltYXRp b25GcmFtZTtmLmZuLmV4dGVuZCh7c2hvdzpmdW5jdGlvbihhLGIsYyl7dmFyIGQs ZTtpZihhfHxhPT09MClyZXR1cm4gdGhpcy5hbmltYXRlKGN1KCJzaG93IiwzKSxh LGIsYyk7Zm9yKHZhciBnPTAsaD10aGlzLmxlbmd0aDtnPGg7ZysrKWQ9dGhpc1tn XSxkLnN0eWxlJiYoZT1kLnN0eWxlLmRpc3BsYXksIWYuX2RhdGEoZCwib2xkZGlz cGxheSIpJiZlPT09Im5vbmUiJiYoZT1kLnN0eWxlLmRpc3BsYXk9IiIpLGU9PT0i IiYmZi5jc3MoZCwiZGlzcGxheSIpPT09Im5vbmUiJiZmLl9kYXRhKGQsIm9sZGRp c3BsYXkiLGN2KGQubm9kZU5hbWUpKSk7Zm9yKGc9MDtnPGg7ZysrKXtkPXRoaXNb Z107aWYoZC5zdHlsZSl7ZT1kLnN0eWxlLmRpc3BsYXk7aWYoZT09PSIifHxlPT09 Im5vbmUiKWQuc3R5bGUuZGlzcGxheT1mLl9kYXRhKGQsIm9sZGRpc3BsYXkiKXx8 IiJ9fXJldHVybiB0aGlzfSxoaWRlOmZ1bmN0aW9uKGEsYixjKXtpZihhfHxhPT09 MClyZXR1cm4gdGhpcy5hbmltYXRlKGN1KCJoaWRlIiwzKSxhLGIsYyk7Zm9yKHZh ciBkPTAsZT10aGlzLmxlbmd0aDtkPGU7ZCsrKWlmKHRoaXNbZF0uc3R5bGUpe3Zh ciBnPWYuY3NzKHRoaXNbZF0sImRpc3BsYXkiKTtnIT09Im5vbmUiJiYhZi5fZGF0 YSh0aGlzW2RdLCJvbGRkaXNwbGF5IikmJmYuX2RhdGEodGhpc1tkXSwib2xkZGlz

cGxheSIsZyl9Zm9yKGQ9MDtkPGU7ZCsrKXRoaXNbZF0uc3R5bGUmJih0aGlzW2Rd LnN0eWxlLmRpc3BsYXk9Im5vbmUiKTtyZXR1cm4gdGhpc30sX3RvZ2dsZTpmLmZu LnRvZ2dsZSx0b2dnbGU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXR5cGVvZiBhPT0i Ym9vbGVhbiI7Zi5pc0Z1bmN0aW9uKGEpJiZmLmlzRnVuY3Rpb24oYik/dGhpcy5f dG9nZ2xlLmFwcGx5KHRoaXMsYXJndW1lbnRzKTphPT1udWxsfHxkP3RoaXMuZWFj aChmdW5jdGlvbigpe3ZhciBiPWQ/YTpmKHRoaXMpLmlzKCI6aGlkZGVuIik7Zih0 aGlzKVtiPyJzaG93IjoiaGlkZSJdKCl9KTp0aGlzLmFuaW1hdGUoY3UoInRvZ2ds ZSIsMyksYSxiLGMpO3JldHVybiB0aGlzfSxmYWRlVG86ZnVuY3Rpb24oYSxiLGMs ZCl7cmV0dXJuIHRoaXMuZmlsdGVyKCI6aGlkZGVuIikuY3NzKCJvcGFjaXR5Iiww KS5zaG93KCkuZW5kKCkuYW5pbWF0ZSh7b3BhY2l0eTpifSxhLGMsZCl9LGFuaW1h dGU6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9Zi5zcGVlZChiLGMsZCk7aWYoZi5p c0VtcHR5T2JqZWN0KGEpKXJldHVybiB0aGlzLmVhY2goZS5jb21wbGV0ZSxbITFd KTthPWYuZXh0ZW5kKHt9LGEpO3JldHVybiB0aGlzW2UucXVldWU9PT0hMT8iZWFj aCI6InF1ZXVlIl0oZnVuY3Rpb24oKXtlLnF1ZXVlPT09ITEmJmYuX21hcmsodGhp cyk7dmFyIGI9Zi5leHRlbmQoe30sZSksYz10aGlzLm5vZGVUeXBlPT09MSxkPWMm JmYodGhpcykuaXMoIjpoaWRkZW4iKSxnLGgsaSxqLGssbCxtLG4sbztiLmFuaW1h dGVkUHJvcGVydGllcz17fTtmb3IoaSBpbiBhKXtnPWYuY2FtZWxDYXNlKGkpLGkh PT1nJiYoYVtnXT1hW2ldLGRlbGV0ZSBhW2ldKSxoPWFbZ10sZi5pc0FycmF5KGgp PyhiLmFuaW1hdGVkUHJvcGVydGllc1tnXT1oWzFdLGg9YVtnXT1oWzBdKTpiLmFu aW1hdGVkUHJvcGVydGllc1tnXT1iLnNwZWNpYWxFYXNpbmcmJmIuc3BlY2lhbEVh c2luZ1tnXXx8Yi5lYXNpbmd8fCJzd2luZyI7aWYoaD09PSJoaWRlIiYmZHx8aD09 PSJzaG93IiYmIWQpcmV0dXJuIGIuY29tcGxldGUuY2FsbCh0aGlzKTtjJiYoZz09 PSJoZWlnaHQifHxnPT09IndpZHRoIikmJihiLm92ZXJmbG93PVt0aGlzLnN0eWxl Lm92ZXJmbG93LHRoaXMuc3R5bGUub3ZlcmZsb3dYLHRoaXMuc3R5bGUub3ZlcmZs b3dZXSxmLmNzcyh0aGlzLCJkaXNwbGF5Iik9PT0iaW5saW5lIiYmZi5jc3ModGhp cywiZmxvYXQiKT09PSJub25lIiYmKGYuc3VwcG9ydC5pbmxpbmVCbG9ja05lZWRz TGF5b3V0PyhqPWN2KHRoaXMubm9kZU5hbWUpLGo9PT0iaW5saW5lIj90aGlzLnN0 eWxlLmRpc3BsYXk9ImlubGluZS1ibG9jayI6KHRoaXMuc3R5bGUuZGlzcGxheT0i aW5saW5lIix0aGlzLnN0eWxlLnpvb209MSkpOnRoaXMuc3R5bGUuZGlzcGxheT0i aW5saW5lLWJsb2NrIikpfWIub3ZlcmZsb3chPW51bGwmJih0aGlzLnN0eWxlLm92 ZXJmbG93PSJoaWRkZW4iKTtmb3IoaSBpbiBhKWs9bmV3IGYuZngodGhpcyxiLGkp LGg9YVtpXSxjbS50ZXN0KGgpP2tbaD09PSJ0b2dnbGUiP2Q/InNob3ciOiJoaWRl IjpoXSgpOihsPWNuLmV4ZWMoaCksbT1rLmN1cigpLGw/KG49cGFyc2VGbG9hdChs WzJdKSxvPWxbM118fChmLmNzc051bWJlcltpXT8iIjoicHgiKSxvIT09InB4IiYm KGYuc3R5bGUodGhpcyxpLChufHwxKStvKSxtPShufHwxKS9rLmN1cigpKm0sZi5z dHlsZSh0aGlzLGksbStvKSksbFsxXSYmKG49KGxbMV09PT0iLT0iPy0xOjEpKm4r bSksay5jdXN0b20obSxuLG8pKTprLmN1c3RvbShtLGgsIiIpKTtyZXR1cm4hMH0p fSxzdG9wOmZ1bmN0aW9uKGEsYil7YSYmdGhpcy5xdWV1ZShbXSksdGhpcy5lYWNo KGZ1bmN0aW9uKCl7dmFyIGE9Zi50aW1lcnMsYz1hLmxlbmd0aDtifHxmLl91bm1h cmsoITAsdGhpcyk7d2hpbGUoYy0tKWFbY10uZWxlbT09PXRoaXMmJihiJiZhW2Nd KCEwKSxhLnNwbGljZShjLDEpKX0pLGJ8fHRoaXMuZGVxdWV1ZSgpO3JldHVybiB0 aGlzfX0pLGYuZWFjaCh7c2xpZGVEb3duOmN1KCJzaG93IiwxKSxzbGlkZVVwOmN1 KCJoaWRlIiwxKSxzbGlkZVRvZ2dsZTpjdSgidG9nZ2xlIiwxKSxmYWRlSW46e29w YWNpdHk6InNob3cifSxmYWRlT3V0OntvcGFjaXR5OiJoaWRlIn0sZmFkZVRvZ2ds ZTp7b3BhY2l0eToidG9nZ2xlIn19LGZ1bmN0aW9uKGEsYil7Zi5mblthXT1mdW5j dGlvbihhLGMsZCl7cmV0dXJuIHRoaXMuYW5pbWF0ZShiLGEsYyxkKX19KSxmLmV4 dGVuZCh7c3BlZWQ6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEmJnR5cGVvZiBhPT0i b2JqZWN0Ij9mLmV4dGVuZCh7fSxhKTp7Y29tcGxldGU6Y3x8IWMmJmJ8fGYuaXNG dW5jdGlvbihhKSYmYSxkdXJhdGlvbjphLGVhc2luZzpjJiZifHxiJiYhZi5pc0Z1 bmN0aW9uKGIpJiZifTtkLmR1cmF0aW9uPWYuZngub2ZmPzA6dHlwZW9mIGQuZHVy YXRpb249PSJudW1iZXIiP2QuZHVyYXRpb246ZC5kdXJhdGlvbiBpbiBmLmZ4LnNw ZWVkcz9mLmZ4LnNwZWVkc1tkLmR1cmF0aW9uXTpmLmZ4LnNwZWVkcy5fZGVmYXVs dCxkLm9sZD1kLmNvbXBsZXRlLGQuY29tcGxldGU9ZnVuY3Rpb24oYSl7ZC5xdWV1 ZSE9PSExP2YuZGVxdWV1ZSh0aGlzKTphIT09ITEmJmYuX3VubWFyayh0aGlzKSxm LmlzRnVuY3Rpb24oZC5vbGQpJiZkLm9sZC5jYWxsKHRoaXMpfTtyZXR1cm4gZH0s ZWFzaW5nOntsaW5lYXI6ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIGMrZCphfSxz d2luZzpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4oLU1hdGguY29zKGEqTWF0aC5Q SSkvMisuNSkqZCtjfX0sdGltZXJzOltdLGZ4OmZ1bmN0aW9uKGEsYixjKXt0aGlz Lm9wdGlvbnM9Yix0aGlzLmVsZW09YSx0aGlzLnByb3A9YyxiLm9yaWc9Yi5vcmln fHx7fX19KSxmLmZ4LnByb3RvdHlwZT17dXBkYXRlOmZ1bmN0aW9uKCl7dGhpcy5v

cHRpb25zLnN0ZXAmJnRoaXMub3B0aW9ucy5zdGVwLmNhbGwodGhpcy5lbGVtLHRo aXMubm93LHRoaXMpLChmLmZ4LnN0ZXBbdGhpcy5wcm9wXXx8Zi5meC5zdGVwLl9k ZWZhdWx0KSh0aGlzKX0sY3VyOmZ1bmN0aW9uKCl7aWYodGhpcy5lbGVtW3RoaXMu cHJvcF0hPW51bGwmJighdGhpcy5lbGVtLnN0eWxlfHx0aGlzLmVsZW0uc3R5bGVb dGhpcy5wcm9wXT09bnVsbCkpcmV0dXJuIHRoaXMuZWxlbVt0aGlzLnByb3BdO3Zh ciBhLGI9Zi5jc3ModGhpcy5lbGVtLHRoaXMucHJvcCk7cmV0dXJuIGlzTmFOKGE9 cGFyc2VGbG9hdChiKSk/IWJ8fGI9PT0iYXV0byI/MDpiOmF9LGN1c3RvbTpmdW5j dGlvbihhLGIsYyl7ZnVuY3Rpb24gaChhKXtyZXR1cm4gZC5zdGVwKGEpfXZhciBk PXRoaXMsZT1mLmZ4LGc7dGhpcy5zdGFydFRpbWU9Y3F8fGNzKCksdGhpcy5zdGFy dD1hLHRoaXMuZW5kPWIsdGhpcy51bml0PWN8fHRoaXMudW5pdHx8KGYuY3NzTnVt YmVyW3RoaXMucHJvcF0/IiI6InB4IiksdGhpcy5ub3c9dGhpcy5zdGFydCx0aGlz LnBvcz10aGlzLnN0YXRlPTAsaC5lbGVtPXRoaXMuZWxlbSxoKCkmJmYudGltZXJz LnB1c2goaCkmJiFjbyYmKGNyPyhjbz0xLGc9ZnVuY3Rpb24oKXtjbyYmKGNyKGcp LGUudGljaygpKX0sY3IoZykpOmNvPXNldEludGVydmFsKGUudGljayxlLmludGVy dmFsKSl9LHNob3c6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMub3JpZ1t0aGlzLnBy b3BdPWYuc3R5bGUodGhpcy5lbGVtLHRoaXMucHJvcCksdGhpcy5vcHRpb25zLnNo b3c9ITAsdGhpcy5jdXN0b20odGhpcy5wcm9wPT09IndpZHRoInx8dGhpcy5wcm9w PT09ImhlaWdodCI/MTowLHRoaXMuY3VyKCkpLGYodGhpcy5lbGVtKS5zaG93KCl9 LGhpZGU6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMub3JpZ1t0aGlzLnByb3BdPWYu c3R5bGUodGhpcy5lbGVtLHRoaXMucHJvcCksdGhpcy5vcHRpb25zLmhpZGU9ITAs dGhpcy5jdXN0b20odGhpcy5jdXIoKSwwKX0sc3RlcDpmdW5jdGlvbihhKXt2YXIg Yj1jcXx8Y3MoKSxjPSEwLGQ9dGhpcy5lbGVtLGU9dGhpcy5vcHRpb25zLGcsaDtp ZihhfHxiPj1lLmR1cmF0aW9uK3RoaXMuc3RhcnRUaW1lKXt0aGlzLm5vdz10aGlz LmVuZCx0aGlzLnBvcz10aGlzLnN0YXRlPTEsdGhpcy51cGRhdGUoKSxlLmFuaW1h dGVkUHJvcGVydGllc1t0aGlzLnByb3BdPSEwO2ZvcihnIGluIGUuYW5pbWF0ZWRQ cm9wZXJ0aWVzKWUuYW5pbWF0ZWRQcm9wZXJ0aWVzW2ddIT09ITAmJihjPSExKTtp ZihjKXtlLm92ZXJmbG93IT1udWxsJiYhZi5zdXBwb3J0LnNocmlua1dyYXBCbG9j a3MmJmYuZWFjaChbIiIsIlgiLCJZIl0sZnVuY3Rpb24oYSxiKXtkLnN0eWxlWyJv dmVyZmxvdyIrYl09ZS5vdmVyZmxvd1thXX0pLGUuaGlkZSYmZihkKS5oaWRlKCk7 aWYoZS5oaWRlfHxlLnNob3cpZm9yKHZhciBpIGluIGUuYW5pbWF0ZWRQcm9wZXJ0 aWVzKWYuc3R5bGUoZCxpLGUub3JpZ1tpXSk7ZS5jb21wbGV0ZS5jYWxsKGQpfXJl dHVybiExfWUuZHVyYXRpb249PUluZmluaXR5P3RoaXMubm93PWI6KGg9Yi10aGlz LnN0YXJ0VGltZSx0aGlzLnN0YXRlPWgvZS5kdXJhdGlvbix0aGlzLnBvcz1mLmVh c2luZ1tlLmFuaW1hdGVkUHJvcGVydGllc1t0aGlzLnByb3BdXSh0aGlzLnN0YXRl LGgsMCwxLGUuZHVyYXRpb24pLHRoaXMubm93PXRoaXMuc3RhcnQrKHRoaXMuZW5k LXRoaXMuc3RhcnQpKnRoaXMucG9zKSx0aGlzLnVwZGF0ZSgpO3JldHVybiEwfX0s Zi5leHRlbmQoZi5meCx7dGljazpmdW5jdGlvbigpe2Zvcih2YXIgYT1mLnRpbWVy cyxiPTA7YjxhLmxlbmd0aDsrK2IpYVtiXSgpfHxhLnNwbGljZShiLS0sMSk7YS5s ZW5ndGh8fGYuZnguc3RvcCgpfSxpbnRlcnZhbDoxMyxzdG9wOmZ1bmN0aW9uKCl7 Y2xlYXJJbnRlcnZhbChjbyksY289bnVsbH0sc3BlZWRzOntzbG93OjYwMCxmYXN0 OjIwMCxfZGVmYXVsdDo0MDB9LHN0ZXA6e29wYWNpdHk6ZnVuY3Rpb24oYSl7Zi5z dHlsZShhLmVsZW0sIm9wYWNpdHkiLGEubm93KX0sX2RlZmF1bHQ6ZnVuY3Rpb24o YSl7YS5lbGVtLnN0eWxlJiZhLmVsZW0uc3R5bGVbYS5wcm9wXSE9bnVsbD9hLmVs ZW0uc3R5bGVbYS5wcm9wXT0oYS5wcm9wPT09IndpZHRoInx8YS5wcm9wPT09Imhl aWdodCI/TWF0aC5tYXgoMCxhLm5vdyk6YS5ub3cpK2EudW5pdDphLmVsZW1bYS5w cm9wXT1hLm5vd319fSksZi5leHByJiZmLmV4cHIuZmlsdGVycyYmKGYuZXhwci5m aWx0ZXJzLmFuaW1hdGVkPWZ1bmN0aW9uKGEpe3JldHVybiBmLmdyZXAoZi50aW1l cnMsZnVuY3Rpb24oYil7cmV0dXJuIGE9PT1iLmVsZW19KS5sZW5ndGh9KTt2YXIg Y3c9L150KD86YWJsZXxkfGgpJC9pLGN4PS9eKD86Ym9keXxodG1sKSQvaTsiZ2V0 Qm91bmRpbmdDbGllbnRSZWN0ImluIGMuZG9jdW1lbnRFbGVtZW50P2YuZm4ub2Zm c2V0PWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXNbMF0sYztpZihhKXJldHVybiB0aGlz LmVhY2goZnVuY3Rpb24oYil7Zi5vZmZzZXQuc2V0T2Zmc2V0KHRoaXMsYSxiKX0p O2lmKCFifHwhYi5vd25lckRvY3VtZW50KXJldHVybiBudWxsO2lmKGI9PT1iLm93 bmVyRG9jdW1lbnQuYm9keSlyZXR1cm4gZi5vZmZzZXQuYm9keU9mZnNldChiKTt0 cnl7Yz1iLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpfWNhdGNoKGQpe312YXIgZT1i Lm93bmVyRG9jdW1lbnQsZz1lLmRvY3VtZW50RWxlbWVudDtpZighY3x8IWYuY29u dGFpbnMoZyxiKSlyZXR1cm4gYz97dG9wOmMudG9wLGxlZnQ6Yy5sZWZ0fTp7dG9w OjAsbGVmdDowfTt2YXIgaD1lLmJvZHksaT1jeShlKSxqPWcuY2xpZW50VG9wfHxo LmNsaWVudFRvcHx8MCxrPWcuY2xpZW50TGVmdHx8aC5jbGllbnRMZWZ0fHwwLGw9 aS5wYWdlWU9mZnNldHx8Zi5zdXBwb3J0LmJveE1vZGVsJiZnLnNjcm9sbFRvcHx8

aC5zY3JvbGxUb3AsbT1pLnBhZ2VYT2Zmc2V0fHxmLnN1cHBvcnQuYm94TW9kZWwm Jmcuc2Nyb2xsTGVmdHx8aC5zY3JvbGxMZWZ0LG49Yy50b3ArbC1qLG89Yy5sZWZ0 K20taztyZXR1cm57dG9wOm4sbGVmdDpvfX06Zi5mbi5vZmZzZXQ9ZnVuY3Rpb24o YSl7dmFyIGI9dGhpc1swXTtpZihhKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24o Yil7Zi5vZmZzZXQuc2V0T2Zmc2V0KHRoaXMsYSxiKX0pO2lmKCFifHwhYi5vd25l ckRvY3VtZW50KXJldHVybiBudWxsO2lmKGI9PT1iLm93bmVyRG9jdW1lbnQuYm9k eSlyZXR1cm4gZi5vZmZzZXQuYm9keU9mZnNldChiKTtmLm9mZnNldC5pbml0aWFs aXplKCk7dmFyIGMsZD1iLm9mZnNldFBhcmVudCxlPWIsZz1iLm93bmVyRG9jdW1l bnQsaD1nLmRvY3VtZW50RWxlbWVudCxpPWcuYm9keSxqPWcuZGVmYXVsdFZpZXcs az1qP2ouZ2V0Q29tcHV0ZWRTdHlsZShiLG51bGwpOmIuY3VycmVudFN0eWxlLGw9 Yi5vZmZzZXRUb3AsbT1iLm9mZnNldExlZnQ7d2hpbGUoKGI9Yi5wYXJlbnROb2Rl KSYmYiE9PWkmJmIhPT1oKXtpZihmLm9mZnNldC5zdXBwb3J0c0ZpeGVkUG9zaXRp b24mJmsucG9zaXRpb249PT0iZml4ZWQiKWJyZWFrO2M9aj9qLmdldENvbXB1dGVk U3R5bGUoYixudWxsKTpiLmN1cnJlbnRTdHlsZSxsLT1iLnNjcm9sbFRvcCxtLT1i LnNjcm9sbExlZnQsYj09PWQmJihsKz1iLm9mZnNldFRvcCxtKz1iLm9mZnNldExl ZnQsZi5vZmZzZXQuZG9lc05vdEFkZEJvcmRlciYmKCFmLm9mZnNldC5kb2VzQWRk Qm9yZGVyRm9yVGFibGVBbmRDZWxsc3x8IWN3LnRlc3QoYi5ub2RlTmFtZSkpJiYo bCs9cGFyc2VGbG9hdChjLmJvcmRlclRvcFdpZHRoKXx8MCxtKz1wYXJzZUZsb2F0 KGMuYm9yZGVyTGVmdFdpZHRoKXx8MCksZT1kLGQ9Yi5vZmZzZXRQYXJlbnQpLGYu b2Zmc2V0LnN1YnRyYWN0c0JvcmRlckZvck92ZXJmbG93Tm90VmlzaWJsZSYmYy5v dmVyZmxvdyE9PSJ2aXNpYmxlIiYmKGwrPXBhcnNlRmxvYXQoYy5ib3JkZXJUb3BX aWR0aCl8fDAsbSs9cGFyc2VGbG9hdChjLmJvcmRlckxlZnRXaWR0aCl8fDApLGs9 Y31pZihrLnBvc2l0aW9uPT09InJlbGF0aXZlInx8ay5wb3NpdGlvbj09PSJzdGF0 aWMiKWwrPWkub2Zmc2V0VG9wLG0rPWkub2Zmc2V0TGVmdDtmLm9mZnNldC5zdXBw b3J0c0ZpeGVkUG9zaXRpb24mJmsucG9zaXRpb249PT0iZml4ZWQiJiYobCs9TWF0 aC5tYXgoaC5zY3JvbGxUb3AsaS5zY3JvbGxUb3ApLG0rPU1hdGgubWF4KGguc2Ny b2xsTGVmdCxpLnNjcm9sbExlZnQpKTtyZXR1cm57dG9wOmwsbGVmdDptfX0sZi5v ZmZzZXQ9e2luaXRpYWxpemU6ZnVuY3Rpb24oKXt2YXIgYT1jLmJvZHksYj1jLmNy ZWF0ZUVsZW1lbnQoImRpdiIpLGQsZSxnLGgsaT1wYXJzZUZsb2F0KGYuY3NzKGEs Im1hcmdpblRvcCIpKXx8MCxqPSI8ZGl2IHN0eWxlPSdwb3NpdGlvbjphYnNvbHV0 ZTt0b3A6MDtsZWZ0OjA7bWFyZ2luOjA7Ym9yZGVyOjVweCBzb2xpZCAjMDAwO3Bh ZGRpbmc6MDt3aWR0aDoxcHg7aGVpZ2h0OjFweDsnPjxkaXY+PC9kaXY+PC9kaXY+ PHRhYmxlIHN0eWxlPSdwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7bWFy Z2luOjA7Ym9yZGVyOjVweCBzb2xpZCAjMDAwO3BhZGRpbmc6MDt3aWR0aDoxcHg7 aGVpZ2h0OjFweDsnIGNlbGxwYWRkaW5nPScwJyBjZWxsc3BhY2luZz0nMCc+PHRy Pjx0ZD48L3RkPjwvdHI+PC90YWJsZT4iO2YuZXh0ZW5kKGIuc3R5bGUse3Bvc2l0 aW9uOiJhYnNvbHV0ZSIsdG9wOjAsbGVmdDowLG1hcmdpbjowLGJvcmRlcjowLHdp ZHRoOiIxcHgiLGhlaWdodDoiMXB4Iix2aXNpYmlsaXR5OiJoaWRkZW4ifSksYi5p bm5lckhUTUw9aixhLmluc2VydEJlZm9yZShiLGEuZmlyc3RDaGlsZCksZD1iLmZp cnN0Q2hpbGQsZT1kLmZpcnN0Q2hpbGQsaD1kLm5leHRTaWJsaW5nLmZpcnN0Q2hp bGQuZmlyc3RDaGlsZCx0aGlzLmRvZXNOb3RBZGRCb3JkZXI9ZS5vZmZzZXRUb3Ah PT01LHRoaXMuZG9lc0FkZEJvcmRlckZvclRhYmxlQW5kQ2VsbHM9aC5vZmZzZXRU b3A9PT01LGUuc3R5bGUucG9zaXRpb249ImZpeGVkIixlLnN0eWxlLnRvcD0iMjBw eCIsdGhpcy5zdXBwb3J0c0ZpeGVkUG9zaXRpb249ZS5vZmZzZXRUb3A9PT0yMHx8 ZS5vZmZzZXRUb3A9PT0xNSxlLnN0eWxlLnBvc2l0aW9uPWUuc3R5bGUudG9wPSIi LGQuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsZC5zdHlsZS5wb3NpdGlvbj0icmVs YXRpdmUiLHRoaXMuc3VidHJhY3RzQm9yZGVyRm9yT3ZlcmZsb3dOb3RWaXNpYmxl PWUub2Zmc2V0VG9wPT09LTUsdGhpcy5kb2VzTm90SW5jbHVkZU1hcmdpbkluQm9k eU9mZnNldD1hLm9mZnNldFRvcCE9PWksYS5yZW1vdmVDaGlsZChiKSxmLm9mZnNl dC5pbml0aWFsaXplPWYubm9vcH0sYm9keU9mZnNldDpmdW5jdGlvbihhKXt2YXIg Yj1hLm9mZnNldFRvcCxjPWEub2Zmc2V0TGVmdDtmLm9mZnNldC5pbml0aWFsaXpl KCksZi5vZmZzZXQuZG9lc05vdEluY2x1ZGVNYXJnaW5JbkJvZHlPZmZzZXQmJihi Kz1wYXJzZUZsb2F0KGYuY3NzKGEsIm1hcmdpblRvcCIpKXx8MCxjKz1wYXJzZUZs b2F0KGYuY3NzKGEsIm1hcmdpbkxlZnQiKSl8fDApO3JldHVybnt0b3A6YixsZWZ0 OmN9fSxzZXRPZmZzZXQ6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWYuY3NzKGEsInBv c2l0aW9uIik7ZD09PSJzdGF0aWMiJiYoYS5zdHlsZS5wb3NpdGlvbj0icmVsYXRp dmUiKTt2YXIgZT1mKGEpLGc9ZS5vZmZzZXQoKSxoPWYuY3NzKGEsInRvcCIpLGk9 Zi5jc3MoYSwibGVmdCIpLGo9KGQ9PT0iYWJzb2x1dGUifHxkPT09ImZpeGVkIikm JmYuaW5BcnJheSgiYXV0byIsW2gsaV0pPi0xLGs9e30sbD17fSxtLG47aj8obD1l LnBvc2l0aW9uKCksbT1sLnRvcCxuPWwubGVmdCk6KG09cGFyc2VGbG9hdChoKXx8

MCxuPXBhcnNlRmxvYXQoaSl8fDApLGYuaXNGdW5jdGlvbihiKSYmKGI9Yi5jYWxs KGEsYyxnKSksYi50b3AhPW51bGwmJihrLnRvcD1iLnRvcC1nLnRvcCttKSxiLmxl ZnQhPW51bGwmJihrLmxlZnQ9Yi5sZWZ0LWcubGVmdCtuKSwidXNpbmciaW4gYj9i LnVzaW5nLmNhbGwoYSxrKTplLmNzcyhrKX19LGYuZm4uZXh0ZW5kKHtwb3NpdGlv bjpmdW5jdGlvbigpe2lmKCF0aGlzWzBdKXJldHVybiBudWxsO3ZhciBhPXRoaXNb MF0sYj10aGlzLm9mZnNldFBhcmVudCgpLGM9dGhpcy5vZmZzZXQoKSxkPWN4LnRl c3QoYlswXS5ub2RlTmFtZSk/e3RvcDowLGxlZnQ6MH06Yi5vZmZzZXQoKTtjLnRv cC09cGFyc2VGbG9hdChmLmNzcyhhLCJtYXJnaW5Ub3AiKSl8fDAsYy5sZWZ0LT1w YXJzZUZsb2F0KGYuY3NzKGEsIm1hcmdpbkxlZnQiKSl8fDAsZC50b3ArPXBhcnNl RmxvYXQoZi5jc3MoYlswXSwiYm9yZGVyVG9wV2lkdGgiKSl8fDAsZC5sZWZ0Kz1w YXJzZUZsb2F0KGYuY3NzKGJbMF0sImJvcmRlckxlZnRXaWR0aCIpKXx8MDtyZXR1 cm57dG9wOmMudG9wLWQudG9wLGxlZnQ6Yy5sZWZ0LWQubGVmdH19LG9mZnNldFBh cmVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3ZhciBh PXRoaXMub2Zmc2V0UGFyZW50fHxjLmJvZHk7d2hpbGUoYSYmIWN4LnRlc3QoYS5u b2RlTmFtZSkmJmYuY3NzKGEsInBvc2l0aW9uIik9PT0ic3RhdGljIilhPWEub2Zm c2V0UGFyZW50O3JldHVybiBhfSl9fSksZi5lYWNoKFsiTGVmdCIsIlRvcCJdLGZ1 bmN0aW9uKGEsYyl7dmFyIGQ9InNjcm9sbCIrYztmLmZuW2RdPWZ1bmN0aW9uKGMp e3ZhciBlLGc7aWYoYz09PWIpe2U9dGhpc1swXTtpZighZSlyZXR1cm4gbnVsbDtn PWN5KGUpO3JldHVybiBnPyJwYWdlWE9mZnNldCJpbiBnP2dbYT8icGFnZVlPZmZz ZXQiOiJwYWdlWE9mZnNldCJdOmYuc3VwcG9ydC5ib3hNb2RlbCYmZy5kb2N1bWVu dC5kb2N1bWVudEVsZW1lbnRbZF18fGcuZG9jdW1lbnQuYm9keVtkXTplW2RdfXJl dHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtnPWN5KHRoaXMpLGc/Zy5zY3JvbGxU byhhP2YoZykuc2Nyb2xsTGVmdCgpOmMsYT9jOmYoZykuc2Nyb2xsVG9wKCkpOnRo aXNbZF09Y30pfX0pLGYuZWFjaChbIkhlaWdodCIsIldpZHRoIl0sZnVuY3Rpb24o YSxjKXt2YXIgZD1jLnRvTG93ZXJDYXNlKCk7Zi5mblsiaW5uZXIiK2NdPWZ1bmN0 aW9uKCl7cmV0dXJuIHRoaXNbMF0/cGFyc2VGbG9hdChmLmNzcyh0aGlzWzBdLGQs InBhZGRpbmciKSk6bnVsbH0sZi5mblsib3V0ZXIiK2NdPWZ1bmN0aW9uKGEpe3Jl dHVybiB0aGlzWzBdP3BhcnNlRmxvYXQoZi5jc3ModGhpc1swXSxkLGE/Im1hcmdp biI6ImJvcmRlciIpKTpudWxsfSxmLmZuW2RdPWZ1bmN0aW9uKGEpe3ZhciBlPXRo aXNbMF07aWYoIWUpcmV0dXJuIGE9PW51bGw/bnVsbDp0aGlzO2lmKGYuaXNGdW5j dGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe3ZhciBjPWYodGhp cyk7Y1tkXShhLmNhbGwodGhpcyxiLGNbZF0oKSkpfSk7aWYoZi5pc1dpbmRvdyhl KSl7dmFyIGc9ZS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnRbImNsaWVudCIrY107 cmV0dXJuIGUuZG9jdW1lbnQuY29tcGF0TW9kZT09PSJDU1MxQ29tcGF0IiYmZ3x8 ZS5kb2N1bWVudC5ib2R5WyJjbGllbnQiK2NdfHxnfWlmKGUubm9kZVR5cGU9PT05 KXJldHVybiBNYXRoLm1heChlLmRvY3VtZW50RWxlbWVudFsiY2xpZW50IitjXSxl LmJvZHlbInNjcm9sbCIrY10sZS5kb2N1bWVudEVsZW1lbnRbInNjcm9sbCIrY10s ZS5ib2R5WyJvZmZzZXQiK2NdLGUuZG9jdW1lbnRFbGVtZW50WyJvZmZzZXQiK2Nd KTtpZihhPT09Yil7dmFyIGg9Zi5jc3MoZSxkKSxpPXBhcnNlRmxvYXQoaCk7cmV0 dXJuIGYuaXNOYU4oaSk/aDppfXJldHVybiB0aGlzLmNzcyhkLHR5cGVvZiBhPT0i c3RyaW5nIj9hOmErInB4Iil9fSksYS5qUXVlcnk9YS4kPWZ9KSh3aW5kb3cpOw== ------------O3s3W5V3w14LQe7kOhsc0M Content-Disposition: inline; filename=button.js Content-Type: application/javascript; charset=utf-8; name=button.js Content-Location: http://www.reddit.com/static/button.js Content-Transfer-Encoding: Base64 alF1ZXJ5LmNvb2tpZT1mdW5jdGlvbihiLGwsaSl7aWYoYXJndW1lbnRzLmxlbmd0 aD4xJiZTdHJpbmcobCkhPT0iW29iamVjdCBPYmplY3RdIil7aT1qUXVlcnkuZXh0 ZW5kKHt9LGkpO2lmKGw9PT1udWxsfHxsPT09dm9pZCAwKWkuZXhwaXJlcz0tMTtp Zih0eXBlb2YgaS5leHBpcmVzPT09Im51bWJlciIpe3ZhciBtPWkuZXhwaXJlcyxm PWkuZXhwaXJlcz1uZXcgRGF0ZTtmLnNldERhdGUoZi5nZXREYXRlKCkrbSl9bD1T dHJpbmcobCk7cmV0dXJuIGRvY3VtZW50LmNvb2tpZT1bZW5jb2RlVVJJQ29tcG9u ZW50KGIpLCI9IixpLnJhdz9sOmVuY29kZVVSSUNvbXBvbmVudChsKSxpLmV4cGly ZXM/IjsgZXhwaXJlcz0iK2kuZXhwaXJlcy50b1VUQ1N0cmluZygpOiIiLGkucGF0 aD8iOyBwYXRoPSIraS5wYXRoOiIiLGkuZG9tYWluPyI7IGRvbWFpbj0iK2kuZG9t YWluOiIiLGkuc2VjdXJlPyI7IHNlY3VyZSI6IiJdLmpvaW4oIiIpfWk9bHx8e307 Zj1pLnJhdz9mdW5jdGlvbihiKXtyZXR1cm4gYn06CmRlY29kZVVSSUNvbXBvbmVu dDtyZXR1cm4obT1SZWdFeHAoIig/Ol58OyApIitlbmNvZGVVUklDb21wb25lbnQo

YikrIj0oW147XSopIikuZXhlYyhkb2N1bWVudC5jb29raWUpKT9mKG1bMV0pOm51 bGx9OwooZnVuY3Rpb24oYil7ZnVuY3Rpb24gbCgpe3JldHVybiBmdW5jdGlvbihh KXtpZihhLmpxdWVyeSl7dmFyIGM9e307Y1swXT1qUXVlcnk7Yi5tYXAoYS5qcXVl cnksZnVuY3Rpb24oYSl7dmFyIGU9YVswXSxoPWFbMV0saz1hWzJdLGE9YVszXTtp Zih0eXBlb2YgYT09InN0cmluZyIpYT1iLnVuc2FmZShhKTtlbHNlIGZvcih2YXIg Zz0wO2EubGVuZ3RoJiZnPGEubGVuZ3RoO2crKylhW2ddPWIudW5zYWZlKGFbZ10p O2s9PSJjYWxsIj9jW2hdPWNbZV0uYXBwbHkoY1tlXS5fb2JqLGEpOms9PSJhdHRy Ij8oY1toXT1jW2VdW2FdLGNbaF0/Y1toXS5fb2JqPWNbZV06Yi5kZWJ1ZygidW5y ZWNvZ25pemVkIikpOms9PSJyZWZyZXNoIj9iLnJlZnJlc2goKTpiLmRlYnVnKCJ1 bnJlY29nbml6ZWQiKX0pfX19Yi5sb2c9ZnVuY3Rpb24oYSl7d2luZG93LmNvbnNv bGU/d2luZG93LmNvbnNvbGUuZGVidWc/d2luZG93LmNvbnNvbGUuZGVidWcoYSk6 d2luZG93LmNvbnNvbGUubG9nJiZ3aW5kb3cuY29uc29sZS5sb2coYSk6CmFsZXJ0 KGEpfTtiLmRlYnVnPWZ1bmN0aW9uKGEpe2lmKGIud2l0aF9kZWZhdWx0KHJlZGRp dC5kZWJ1ZywhMSkpcmV0dXJuIGIubG9nKGEpfTtiLmZuLmRlYnVnPWZ1bmN0aW9u KCl7Yi5kZWJ1ZyhiKHRoaXMpKTtyZXR1cm4gYih0aGlzKX07Yi5yZWRpcmVjdD1m dW5jdGlvbihhKXt3aW5kb3cubG9jYXRpb249YX07Yi5mbi5yZWRpcmVjdD1mdW5j dGlvbihhKXtiKHRoaXMpLmZpbHRlcigiZm9ybSIpLmZpbmQoIi5zdGF0dXMiKS5z aG93KCkuaHRtbCgicmVkaXJlY3RpbmcuLi4iKTtpZihiKHRoaXMpLmF0dHIoInRh cmdldCIpPT0iX3RvcCIpe2Zvcih2YXIgYz13aW5kb3c7YyE9Yy5wYXJlbnQ7KWM9 Yy5wYXJlbnQ7Yy5sb2NhdGlvbj1hfWVsc2UgYi5yZWRpcmVjdChhKTtyZXR1cm4g Yih0aGlzKX07Yi5yZWZyZXNoPWZ1bmN0aW9uKCl7d2luZG93LmxvY2F0aW9uLnJl bG9hZCghMCl9O2IuZGVmaW5lZD1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGEh PSJ1bmRlZmluZWQifTtiLndpdGhfZGVmYXVsdD0KZnVuY3Rpb24oYSxjKXtyZXR1 cm4gYi5kZWZpbmVkKGEpP2E6Y307Yi53ZWJzYWZlPWZ1bmN0aW9uKGEpe3R5cGVv ZiBhPT0ic3RyaW5nIiYmKGE9YS5yZXBsYWNlKC8mL2csIiZhbXA7IikucmVwbGFj ZSgvIi9nLCImcXVvdDsiKS5yZXBsYWNlKC8+L2csIiZndDsiKS5yZXBsYWNlKC88 L2csIiZsdDsiKSk7cmV0dXJuIGF8fCIifTtiLnVuc2FmZT1mdW5jdGlvbihhKXt0 eXBlb2YgYT09InN0cmluZyImJihhPWEucmVwbGFjZSgvJnF1b3Q7L2csJyInKS5y ZXBsYWNlKC8mZ3Q7L2csIj4iKS5yZXBsYWNlKC8mbHQ7L2csIjwiKS5yZXBsYWNl KC8mYW1wOy9nLCImIikpO3JldHVybiBhfHwiIn07Yi51bmlxPWZ1bmN0aW9uKGEs Yil7Zm9yKHZhciBkPVtdLGU9e30saD1iP2I6YS5sZW5ndGgsaz0wO2s8YS5sZW5n dGgmJmQubGVuZ3RoPGg7aysrKWVbYVtrXV18fChlW2Fba11dPSEwLGQucHVzaChh W2tdKSk7cmV0dXJuIGR9OyhmdW5jdGlvbihhLGMpe2IuZm4uc2hvdz1mdW5jdGlv bihjLAplKXtiKHRoaXMpLnRyaWdnZXIoIm9uc2hvdyIpO3JldHVybiBhLmNhbGwo dGhpcyxjLGUpfTtiLmZuLmhpZGU9ZnVuY3Rpb24oYSxlKXtiKHRoaXMpLnRyaWdn ZXIoIm9uaGlkZSIpO3JldHVybiBjLmNhbGwodGhpcyxhLGUpfX0pKGIuZm4uc2hv dyxiLmZuLmhpZGUpO3ZhciBpPXt9O2IuaGFuZGxlUmVzcG9uc2U9bDtiLnJlcXVl c3Q9ZnVuY3Rpb24oYSxjLGQsZSxoLGssZyl7dmFyIG49YSxmPWQ7aWYoIShyYXRl X2xpbWl0KGEpfHx3aW5kb3chPXdpbmRvdy50b3AmJiFyZWRkaXQuY25hbWVmcmFt ZSYmIXJlZGRpdC5leHRlcm5hbF9mcmFtZSkpe2lmKCEoZj0hYi53aXRoX2RlZmF1 bHQoZSwhMSkpKWY9aVtuXT8hMTppW25dPSEwO2U9ZjtjPWIud2l0aF9kZWZhdWx0 KGMse30pO2Q9Yi53aXRoX2RlZmF1bHQoZCxsKG4pKTtoPWIud2l0aF9kZWZhdWx0 KGgsImpzb24iKTt0eXBlb2YgZCE9ImZ1bmN0aW9uIiYmKGQ9bChuKSk7Zj1mdW5j dGlvbihhKXtkZWxldGUgaVtuXTtyZXR1cm4gZChhKX07CmVycm9yaGFuZGxlcl9p bj1iLndpdGhfZGVmYXVsdChnLGZ1bmN0aW9uKCl7fSk7Zz1mdW5jdGlvbihhKXtk ZWxldGUgaVtuXTtyZXR1cm4gZXJyb3JoYW5kbGVyX2luKGEpfTtrPWIud2l0aF9k ZWZhdWx0KGssITEpO2lmKHJlZGRpdC5wb3N0X3NpdGUpYy5yPXJlZGRpdC5wb3N0 X3NpdGU7aWYocmVkZGl0LmNuYW1lZnJhbWUpYy5jbmFtZWZyYW1lPTE7aWYocmVk ZGl0LmxvZ2dlZCljLnVoPXJlZGRpdC5tb2RoYXNoO2MucmVuZGVyc3R5bGU9cmVk ZGl0LnJlbmRlcnN0eWxlO2UmJmIuYWpheCh7dHlwZTprPyJHRVQiOiJQT1NUIix1 cmw6Ii9hcGkvIithLGRhdGE6YyxzdWNjZXNzOmYsZXJyb3I6ZyxkYXRhVHlwZTpo fSl9fTtyYXRlX2xpbWl0PWZ1bmN0aW9uKCl7dmFyIGE9e3ZvdGU6MzMzLGNvbW1l bnQ6NUUzLGlnbm9yZTowLGJhbjowLHVuYmFuOjAsYXNzaWduYWQ6MH0sYz17fSxk PWIuZGVmaW5lZCxlPWIud2l0aF9kZWZhdWx0LGg9RGF0ZTtyZXR1cm4gZnVuY3Rp b24oYil7dmFyIGc9Cm5ldyBoLGY9Y1tiXSxpPWUoYVtiXSwzMzMpO2NbYl09Zzty ZXR1cm4gZChmKSYmZy1mPGl9fSgpO2IuZm4udm90ZT1mdW5jdGlvbihhLGMsZCxl KXtpZihyZWRkaXQubG9nZ2VkJiZiKHRoaXMpLmhhc0NsYXNzKCJhcnJvdyIpKXt2 YXIgaD1iKHRoaXMpLmhhc0NsYXNzKCJ1cCIpPzE6Yih0aGlzKS5oYXNDbGFzcygi ZG93biIpPy0xOjAsaz1iKHRoaXMpLmFsbF90aGluZ3NfYnlfaWQoKSxnPWsuY2hp bGRyZW4oKS5ub3QoIi5jaGlsZCIpLmZpbmQoIi5hcnJvdyIpLGY9aD09MT8idXAi

OiJ1cG1vZCI7Zy5maWx0ZXIoIi4iK2YpLnJlbW92ZUNsYXNzKGYpLmFkZENsYXNz KGg9PTE/InVwbW9kIjoidXAiKTtmPWg9PS0xPyJkb3duIjoiZG93bm1vZCI7Zy5m aWx0ZXIoIi4iK2YpLnJlbW92ZUNsYXNzKGYpLmFkZENsYXNzKGg9PS0xPyJkb3du bW9kIjoiZG93biIpO3JlZGRpdC5sb2dnZWQmJihrLmVhY2goZnVuY3Rpb24oKXt2 YXIgYT1iKHRoaXMpLmZpbmQoIi5lbnRyeTpmaXJzdCwgLm1pZGNvbDpmaXJzdCIp OwpoPjA/YS5hZGRDbGFzcygibGlrZXMiKS5yZW1vdmVDbGFzcygiZGlzbGlrZXMg dW52b3RlZCIpOmg8MD9hLmFkZENsYXNzKCJkaXNsaWtlcyIpLnJlbW92ZUNsYXNz KCJsaWtlcyB1bnZvdGVkIik6YS5hZGRDbGFzcygidW52b3RlZCIpLnJlbW92ZUNs YXNzKCJsaWtlcyBkaXNsaWtlcyIpfSksYi5kZWZpbmVkKGUpfHwoZT1rLmZpbHRl cigiOmZpcnN0IikudGhpbmdfaWQoKSxhKz1kPyIiOiItIitlLGIucmVxdWVzdCgi dm90ZSIse2lkOmUsZGlyOmgsdmg6YX0pKSk7YyYmYyhrLGgpfX07Yi5mbi5zaG93 X3Vudm90YWJsZV9tZXNzYWdlPWZ1bmN0aW9uKCl7Yih0aGlzKS50aGluZygpLmZp bmQoIi5lbnRyeTpmaXJzdCAudW52b3RhYmxlLW1lc3NhZ2UiKS5jc3MoImRpc3Bs YXkiLCJpbmxpbmUtYmxvY2siKX07Yi5mbi50aGluZz1mdW5jdGlvbigpe3JldHVy biB0aGlzLnBhcmVudHMoIi50aGluZzpmaXJzdCIpfTtiLmZuLmFsbF90aGluZ3Nf YnlfaWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50aGluZygpLmFkZChiLnRoaW5n cyh0aGlzLnRoaW5nX2lkKCkpKX07CmIuZm4udGhpbmdfaWQ9ZnVuY3Rpb24oYSl7 dmFyIGE9Yi53aXRoX2RlZmF1bHQoYSwidGhpbmciKSxjPXRoaXMuaGFzQ2xhc3Mo InRoaW5nIik/dGhpczp0aGlzLnRoaW5nKCk7YSE9InRoaW5nIiYmKGM9Yy5maW5k KCIuIithKyI6Zmlyc3QiKSk7aWYoYy5sZW5ndGgpcmV0dXJuIGE9Yi5ncmVwKGMu Z2V0KDApLmNsYXNzTmFtZS5tYXRjaCgvXFMrL2cpLGZ1bmN0aW9uKGEpe3JldHVy biBhLm1hdGNoKC9eaWQtLyl9KSxhLmxlbmd0aD9hWzBdLnNsaWNlKDMsYVswXS5s ZW5ndGgpOiIiO3JldHVybiIifTtiLnRoaW5ncz1mdW5jdGlvbigpe3ZhciBhPWIu bWFwKGFyZ3VtZW50cyxmdW5jdGlvbihhKXtyZXR1cm4iLnRoaW5nLmlkLSIrYX0p LmpvaW4oIiwgIik7cmV0dXJuIGIoYSl9O2IuZm4uc2FtZV9hdXRob3I9ZnVuY3Rp b24oKXt2YXIgYT1iKHRoaXMpLnRoaW5nX2lkKCJhdXRob3IiKSxjPVtdO2IoIi5h dXRob3IuaWQtIithKS5lYWNoKGZ1bmN0aW9uKCl7Yy5wdXNoKCIudGhpbmcuaWQt IisKYih0aGlzKS50aGluZ19pZCgpKX0pO3JldHVybiBiKGMuam9pbigiLCAiKSl9 O2IuZm4udGhpbmdzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmluZChiLm1hcChh cmd1bWVudHMsZnVuY3Rpb24oYSl7cmV0dXJuIi50aGluZy5pZC0iK2F9KS5qb2lu KCIsICIpKX07Yi5saXN0aW5nPWZ1bmN0aW9uKGEpe2E9YXx8IiI7aWYoYS5zbGlj ZSgwLDEpPT0iIyJ8fGEuc2xpY2UoMCwxKT09Ii4iKWE9YS5zbGljZSgxLGEubGVu Z3RoKTt2YXIgYz1hO2Euc2xpY2UoMCw5KSE9InNpdGVUYWJsZSI/Yz0ic2l0ZVRh YmxlIisoYT8iXyIrYToiIik6YT1hLnNsaWNlKDEwLGEubGVuZ3RoKTt2YXIgZD1i KCIjIitjKS5maWx0ZXIoIjpmaXJzdCIpO2QubGVuZ3RoPT0wJiYoZD1iLnRoaW5n cyhhKS5maW5kKCIuY2hpbGQiKS5hcHBlbmQoZG9jdW1lbnQuY3JlYXRlRWxlbWVu dCgiZGl2IikpLmNoaWxkcmVuKCI6bGFzdCIpLmFkZENsYXNzKCJzaXRldGFibGUi KS5hdHRyKCJpZCIsYykpO3JldHVybiBkfTsKdmFyIG09ZnVuY3Rpb24oKXt9O2Iu Zm4uc2V0X3RoaW5nX2luaXQ9ZnVuY3Rpb24oYSl7bT1hO2IodGhpcykuZmluZCgi LnRoaW5nOm5vdCguc3R1YikiKS5lYWNoKGZ1bmN0aW9uKCl7YSh0aGlzKX0pfTti LmZuLm5ld190aGluZ19jaGlsZD1mdW5jdGlvbihhLGMpe3ZhciBkPXRoaXMudGhp bmdfaWQoKSxlPWM/Yi5saXN0aW5nKGQpOnRoaXMudGhpbmcoKS5maW5kKCIuY2hp bGQ6Zmlyc3QiKTtyZXR1cm4odHlwZW9mIGE9PSJzdHJpbmciP2UucHJlcGVuZChh KS5jaGlsZHJlbigiOmZpcnN0Iik6YS5oaWRlKCkucHJlcGVuZFRvKGUpLnNob3co KS5maW5kKCdpbnB1dFtuYW1lPSJwYXJlbnQiXScpLnZhbChkKS5lbmQoKSkucmFu ZG9taXplX2lkcygpfTtiLmZuLnJhbmRvbWl6ZV9pZHM9ZnVuY3Rpb24oKXt2YXIg YT0oTWF0aC5yYW5kb20oKSsiIikuc3BsaXQoIi4iKVsxXTtiKHRoaXMpLmZpbmQo IipbaWRdIikuZWFjaChmdW5jdGlvbigpe2IodGhpcykuYXR0cigiaWQiLGIodGhp cykuYXR0cigiaWQiKSsKYSl9KS5lbmQoKS5maW5kKCJsYWJlbCIpLmVhY2goZnVu Y3Rpb24oKXtiKHRoaXMpLmF0dHIoImZvciIsYih0aGlzKS5hdHRyKCJmb3IiKSth KX0pO3JldHVybiBiKHRoaXMpfTtiLmZuLnJlcGxhY2VfdGhpbmdzPWZ1bmN0aW9u KGEsYyxkLGUpe3ZhciBoPXRoaXM7cmV0dXJuIGIubWFwKGEsZnVuY3Rpb24oYSl7 dmFyIGc9YS5kYXRhLGE9YihoKS50aGluZ3MoZy5pZCk7ZSYmKGE9YS5maWx0ZXIo Ii5zdHViIikpO2lmKGEubGVuZ3RoPT0wKXt2YXIgZj1iLnRoaW5ncyhnLnBhcmVu dCk7Zi5sZW5ndGgmJihhPWIoIjxkaXY+PC9kaXY+IiksZi5maW5kKCIuY2hpbGQ6 Zmlyc3QiKS5hcHBlbmQoYSkpfWEuYWZ0ZXIoYi51bnNhZmUoZy5jb250ZW50KSk7 Zz1hLm5leHQoKTtjJiYoZy5zaG93KCkuY2hpbGRyZW4oIi5taWRjb2wsIC5lbnRy eSIpLmhpZGUoKS5lbmQoKS5jaGlsZHJlbigiLmNoaWxkOmZpcnN0IikuaHRtbChh LmNoaWxkcmVuKCIuY2hpbGQ6Zmlyc3QiKS5yZW1vdmUoKS5odG1sKCkpLmVuZCgp LApkJiYoYS5oaWRlKCksZy5jaGlsZHJlbigiLm1pZGNvbCwgLmVudHJ5Iikuc2hv

dygpKSxnLmZpbmQoIi5yYW5rOmZpcnN0IikuaHRtbChhLmZpbmQoIi5yYW5rOmZp cnN0IikuaHRtbCgpKSk7ZD8oYS5oaWRlKCksYz9nLmNoaWxkcmVuKCIubWlkY29s LCAuZW50cnkiKS5zaG93KCk6Zy5zaG93KCkpOmcuaGlkZSgpO2EucmVtb3ZlKCk7 bShnKTtyZXR1cm4gZ30pfTtiLmluc2VydF90aGluZ3M9ZnVuY3Rpb24oYSxjKXty ZXR1cm4gYi5tYXAoYSxmdW5jdGlvbihhKXt2YXIgYT1hLmRhdGEsZT1iLmxpc3Rp bmcoYS5wYXJlbnQpLGU9Yz9lLmFwcGVuZChiLnVuc2FmZShhLmNvbnRlbnQpKS5j aGlsZHJlbigiLnRoaW5nOmxhc3QiKTplLnByZXBlbmQoYi51bnNhZmUoYS5jb250 ZW50KSkuY2hpbGRyZW4oIi50aGluZzpmaXJzdCIpO20oZS5oaWRlKCkuc2hvdygp KTtyZXR1cm4gZX0pfTtiLmZuLmRlbGV0ZV90YWJsZV9yb3c9ZnVuY3Rpb24oYSl7 dmFyIGM9dGhpcy5wYXJlbnRzKCJ0cjpmaXJzdCIpLmdldCgwKSwKZD10aGlzLnBh cmVudHMoInRhYmxlIikuZ2V0KDApO2M/YihjKS5mYWRlT3V0KGZ1bmN0aW9uKCl7 ZC5kZWxldGVSb3coYy5yb3dJbmRleCk7YSYmYSgpfSk6YSYmYSgpfTtiLmZuLmlu c2VydF90YWJsZV9yb3dzPWZ1bmN0aW9uKGEsYyl7dmFyIGQ9dGhpcy5pcygidGFi bGUiKT90aGlzLmZpbHRlcigidGFibGUiKTp0aGlzLnBhcmVudHMoInRhYmxlOmZp cnN0Iik7Yi5tYXAoZC5nZXQoKSxmdW5jdGlvbihlKXtiLm1hcChhLGZ1bmN0aW9u KGEpe3ZhciBkPWM7ZDwwJiYoZD1NYXRoLm1heChlLnJvd3MubGVuZ3RoK2QrMSww KSk7dmFyIGQ9TWF0aC5taW4oZCxlLnJvd3MubGVuZ3RoKSxnPWUuaW5zZXJ0Um93 KGQpO2IoZykuaGlkZSgpLmF0dHIoImlkIixhLmlkKS5hZGRDbGFzcyhhLmNzc19j bGFzcyk7Yi5tYXAoYS5jZWxscyxmdW5jdGlvbihhKXtiKGcuaW5zZXJ0Q2VsbChn LmNlbGxzLmxlbmd0aCkpLmh0bWwoYi51bnNhZmUoYSkpfSk7YihnKS5mYWRlSW4o KX0pfSk7cmV0dXJuIHRoaXN9OwpiLmZuLmNhcHRjaGE9ZnVuY3Rpb24oYSl7dmFy IGI9dGhpcy5maW5kKCIuY2FwaW1hZ2UiKTthJiZiLmF0dHIoInNyYyIsIi9jYXB0 Y2hhLyIrYSsiLnBuZyIpLnBhcmVudHMoImZvcm0iKS5maW5kKCdpbnB1dFtuYW1l PSJpZGVuIl0nKS52YWwoYSk7cmV0dXJuIGJ9O2IuZm4uaW5zZXJ0QXRDdXJzb3I9 ZnVuY3Rpb24oYSl7cmV0dXJuIGIodGhpcykuZmlsdGVyKCJ0ZXh0YXJlYSIpLmVh Y2goZnVuY3Rpb24oKXt2YXIgYz1iKHRoaXMpLmdldCgwKSxkPWMuc2Nyb2xsVG9w O2lmKGRvY3VtZW50LnNlbGVjdGlvbiljLmZvY3VzKCksZG9jdW1lbnQuc2VsZWN0 aW9uLmNyZWF0ZVJhbmdlKCkudGV4dD1hO2Vsc2UgaWYoYy5zZWxlY3Rpb25TdGFy dCl7dmFyIGU9Yy5zZWxlY3Rpb25TdGFydDtjLnZhbHVlPWMudmFsdWUuc3Vic3Ry aW5nKDAsYy5zZWxlY3Rpb25TdGFydCkrYStjLnZhbHVlLnN1YnN0cmluZyhjLnNl bGVjdGlvbkVuZCxjLnZhbHVlLmxlbmd0aCk7ZSs9YS5sZW5ndGg7Yy5zZXRTZWxl Y3Rpb25SYW5nZShlLAplKX1lbHNlIGMudmFsdWUrPWE7aWYoYy5zY3JvbGxIZWln aHQpYy5zY3JvbGxUb3A9ZDtiKHRoaXMpLmZvY3VzKCl9KS5lbmQoKX07Yi5mbi5z ZWxlY3RfbGluZT1mdW5jdGlvbihhKXtyZXR1cm4gYih0aGlzKS5maWx0ZXIoInRl eHRhcmVhIikuZWFjaChmdW5jdGlvbigpe3ZhciBjPSJcbiIsZD0xLGU9MDtiLmJy b3dzZXIubXNpZSYmKGM9IlxyIixkPTAsZT0xKTtmb3IodmFyIGM9Yih0aGlzKS52 YWwoKS5zcGxpdChjKSxoPTA7aDxhLTE7aCsrKWUrPWNbaF0ubGVuZ3RoK2Q7aD1l O2E8PWMubGVuZ3RoJiYoaCs9Y1thLTFdLmxlbmd0aCtkKTtiKHRoaXMpLmZvY3Vz KCk7dGhpcy5jcmVhdGVUZXh0UmFuZ2U/KGQ9dGhpcy5jcmVhdGVUZXh0UmFuZ2Uo KSxkLm1vdmUoImNoYXJhY3RlciIsZSksZT10aGlzLmNyZWF0ZVRleHRSYW5nZSgp LGUubW92ZSgiY2hhcmFjdGVyIixoKSxkLnNldEVuZFBvaW50KCJTdGFydFRvRW5k IixlKSxkLnNlbGVjdCgpKTp0aGlzLnNlbGVjdGlvblN0YXJ0JiYKdGhpcy5zZXRT ZWxlY3Rpb25SYW5nZShlLGgpO2lmKHRoaXMuc2Nyb2xsSGVpZ2h0KXRoaXMuc2Ny b2xsVG9wPShhLTIpKih0aGlzLnNjcm9sbEhlaWdodC9jLmxlbmd0aCl9KX07Yi5h cHBseV9zdHlsZXNoZWV0PWZ1bmN0aW9uKGEpe3ZhciBjPWIoImhlYWQiKS5jaGls ZHJlbigibGlua1t0aXRsZV0sIHN0eWxlW3RpdGxlXSIpLmZpbHRlcigiOmZpcnN0 IikuYXR0cigidGl0bGUiKXx8InByZWZlcnJlZCBzdHlsZXNoZWV0IjtpZihkb2N1 bWVudC5zdHlsZVNoZWV0c1swXS5jc3NUZXh0KWZvcih2YXIgZD1kb2N1bWVudC5z dHlsZVNoZWV0cyxlPTA7ZTxkLmxlbmd0aDtlKyspe2lmKGRbZV0udGl0bGU9PWMp e2RbZV0uY3NzVGV4dD1hO2JyZWFrfX1lbHNlIGIoImhlYWQiKS5jaGlsZHJlbign Klt0aXRsZT0iJytjKyciXScpLnJlbW92ZSgpLGIoJzxzdHlsZSB0eXBlPSJ0ZXh0 L2NzcyIgbWVkaWE9InNjcmVlbiI+PC9zdHlsZT4nKS5hdHRyKCJ0aXRsZSIsYyku dGV4dChhKS5hcHBlbmRUbygiaGVhZCIpfTsKYi5yZWhpZ2hsaWdodF9uZXdfY29t bWVudHM9ZnVuY3Rpb24oKXtjaGVja2VkPWIoIi5jb21tZW50LXZpc2l0cy1ib3gg aW5wdXQ6Y2hlY2tlZCIpO2NoZWNrZWQubGVuZ3RoPjAmJmhpZ2hsaWdodF9uZXdf Y29tbWVudHMoY2hlY2tlZFswXS52YWx1ZSl9O3ZhciBmO2IuZGVmYXVsdF9jb29r aWVfZG9tYWluPWZ1bmN0aW9uKGEpe2EmJihmPWEpfTt2YXIgaj0iXyI7Yi5jb29r aWVfbmFtZV9wcmVmaXg9ZnVuY3Rpb24oYSl7YSYmKGo9YSsiXyIpfTtiLmNvb2tp ZV93cml0ZT1mdW5jdGlvbihhKXtpZihhLm5hbWUpe3ZhciBjPXt9O2MuZXhwaXJl cz1hLmV4cGlyZXM7Yy5kb21haW49YS5kb21haW58fGY7Yy5wYXRoPWEucGF0aHx8

Ii8iO3ZhciBkPWorYS5uYW1lLGE9YS5kYXRhO2E9PT1udWxsfHxhPT0iIj9hPW51 bGw6dHlwZW9mIGEhPSJzdHJpbmciJiYoYT1KU09OLnN0cmluZ2lmeShhKSk7Yi5j b29raWUoZCxhLGMpfX07Yi5jb29raWVfcmVhZD1mdW5jdGlvbihhLGMpe3ZhciBk PQpiLmNvb2tpZSgoY3x8aikrYSk7dHJ5e2Q9SlNPTi5wYXJzZShkKX1jYXRjaChl KXt9cmV0dXJue25hbWU6YSxkYXRhOmR9fX0pKGpRdWVyeSk7CiQoZnVuY3Rpb24o KXtmdW5jdGlvbiBiKGEpe2lmKGEuc3Vic3RyaW5nKDAsMSkhPSIjIilyZXR1cm4i IyIrYTtyZXR1cm4gYX1mdW5jdGlvbiBsKCl7bT09MT8oJCgiLmFycm93LnVwIiku YWRkQ2xhc3MoInVwbW9kIikucmVtb3ZlQ2xhc3MoInVwIiksJCgiLmFycm93LmRv d25tb2QiKS5yZW1vdmVDbGFzcygiZG93bm1vZCIpLmFkZENsYXNzKCJkb3duIiks JCgiLmVudHJ5IikucmVtb3ZlQ2xhc3MoImRpc2xpa2VzIikuYWRkQ2xhc3MoImxp a2VzIikpOm09PS0xPygkKCIuYXJyb3cudXBtb2QiKS5yZW1vdmVDbGFzcygidXBt b2QiKS5hZGRDbGFzcygidXAiKSwkKCIuYXJyb3cuZG93biIpLmFkZENsYXNzKCJk b3dubW9kIikucmVtb3ZlQ2xhc3MoImRvd24iKSwkKCIuZW50cnkiKS5hZGRDbGFz cygiZGlzbGlrZXMiKS5yZW1vdmVDbGFzcygibGlrZXMiKSk6KCQoIi5hcnJvdy51 cG1vZCIpLnJlbW92ZUNsYXNzKCJ1cG1vZCIpLmFkZENsYXNzKCJ1cCIpLCQoIi5h cnJvdy5kb3dubW9kIikucmVtb3ZlQ2xhc3MoImRvd25tb2QiKS5hZGRDbGFzcygi ZG93biIpLAokKCIuZW50cnkiKS5yZW1vdmVDbGFzcygiZGlzbGlrZXMiKS5yZW1v dmVDbGFzcygibGlrZXMiKSl9ZnVuY3Rpb24gaShhLGIsYyl7dmFyIGQ9Imh0dHA6 Ly93d3cucmVkZGl0LmNvbSI7YiYmKGQrPSIvci8iK2IpO2QrPSIvc3VibWl0P3Vy bD0iK2VuY29kZVVSSUNvbXBvbmVudChhKTtjJiYoZCs9IiZ0aXRsZT0iK2VuY29k ZVVSSUNvbXBvbmVudChjKSk7cmV0dXJuIGR9cmVkZGl0LmV4dGVybmFsX2ZyYW1l PSEwO3ZhciBtPW51bGw7JCgiLmFycm93LnVwIikuY2xpY2soZnVuY3Rpb24oKXtt PSQodGhpcykuaGFzQ2xhc3MoInVwIik/MTowO2woKX0pOyQoIi5hcnJvdy5kb3du IikuY2xpY2soZnVuY3Rpb24oKXttPSQodGhpcykuaGFzQ2xhc3MoImRvd24iKT8t MTowO2woKX0pO3ZhciBmPWRvY3VtZW50LmxvY2F0aW9uLnNlYXJjaDtmJiZmLnN1 YnN0cmluZygwLDEpPT0iPyImJihmPWYuc2xpY2UoMSxmLmxlbmd0aCkpO3ZhciBq PXt9OyQubWFwKGYuc3BsaXQoIiYiKSxmdW5jdGlvbihhKXthPQokLm1hcChhLnNw bGl0KCI9IiksZnVuY3Rpb24oYSl7cmV0dXJuICQud2Vic2FmZShkZWNvZGVVUklD b21wb25lbnQoYSkpfSk7althWzBdXT1hWzFdfSk7JCgiYSIpLmF0dHIoImhyZWYi LGkoai51cmwsai5zcixqLnRpdGxlKSk7ai5iZ2NvbG9yJiYkKCJib2R5IikuY3Nz KCJiYWNrZ3JvdW5kLWNvbG9yIixiKGouYmdjb2xvcikpO2ouYm9yZGVyY29sb3Im JiQoIi5ibG9nIikuY3NzKCJib3JkZXItY29sb3IiLGIoai5ib3JkZXJjb2xvcikp O3ZhciBhPWoubmV3d2luZG93PyJfYmxhbmsiOiJfdG9wIjskKCJhIikuYXR0cigi dGFyZ2V0IixhKTt2YXIgYz1mdW5jdGlvbigpe3ZhciBiPWkoai51cmwsai5zcixq LnRpdGxlKTskKCIuc2NvcmU6dmlzaWJsZSIpLmZhZGVPdXQoZnVuY3Rpb24oKXsk KCIuc2NvcmUiKS5odG1sKCc8YSBjbGFzcz0ic3VibWl0IiB0YXJnZXQ9IicrYSsn IiBocmVmPSInK2IrJyI+c3VibWl0PC9hPicpOyQodGhpcykuZmFkZUluKCkuY3Nz KCJkaXNwbGF5IiwKIiIpfSk7JCgiLmJsaW5nIGEsIGEuYmxpbmciKS5hdHRyKCJo cmVmIixiKTskKCIuYXJyb3ciKS5lYWNoKGZ1bmN0aW9uKCl7JCh0aGlzKS5nZXQo MCkub25jbGljaz1mdW5jdGlvbigpe2E9PSJfYmxhbmsiP3dpbmRvdy5vcGVuKGIs YSk6d2luZG93LnBhcmVudC5sb2NhdGlvbj1ifX0pfSxmPXt0eXBlOiJHRVQiLHVy bDpudWxsLGRhdGE6e30sc3VjY2VzczpmdW5jdGlvbihhKXt0cnl7dmFyIGI9YS5k YXRhLm1vZGhhc2g7aWYoYilyZWRkaXQubG9nZ2VkPSEwLHJlZGRpdC5tb2RoYXNo PWI7dmFyIGQ9YS5kYXRhLmNoaWxkcmVuWzBdLmRhdGEsYT1mdW5jdGlvbihhKXty ZXR1cm4gJCgiLnNjb3JlOnZpc2libGUiKS5mYWRlT3V0KGZ1bmN0aW9uKCl7YSgp OyQodGhpcykuZmFkZUluKCkuY3NzKCJkaXNwbGF5IiwiIil9KX07JCgiLnRoaW5n IikuYWRkQ2xhc3MoImlkLSIrZC5uYW1lKTskKCIuYmxpbmcgYSwgYS5ibGluZyIp LmF0dHIoImhyZWYiLCJodHRwOi8vd3d3LnJlZGRpdC5jb20iKwpkLnBlcm1hbGlu ayk7ZC5saWtlcz8ocmVhbF9zdGF0ZT0xLGEoZnVuY3Rpb24oKXskKCIuc2NvcmUu bGlrZXMiKS5odG1sKHBvaW50X2xhYmVsKGQuc2NvcmUpKTskKCIuc2NvcmUudW52 b3RlZCIpLmh0bWwocG9pbnRfbGFiZWwoZC5zY29yZS0xKSk7JCgiLnNjb3JlLmRp c2xpa2VzIikuaHRtbChwb2ludF9sYWJlbChkLnNjb3JlLTIpKX0pKTpkLmxpa2Vz PT0hMT8ocmVhbF9zdGF0ZT0tMSxhKGZ1bmN0aW9uKCl7JCgiLnNjb3JlLmxpa2Vz IikuaHRtbChwb2ludF9sYWJlbChkLnNjb3JlKzIpKTskKCIuc2NvcmUudW52b3Rl ZCIpLmh0bWwocG9pbnRfbGFiZWwoZC5zY29yZSsxKSk7JCgiLnNjb3JlLmRpc2xp a2VzIikuaHRtbChwb2ludF9sYWJlbChkLnNjb3JlKSl9KSk6KHJlYWxfc3RhdGU9 MCxhKGZ1bmN0aW9uKCl7JCgiLnNjb3JlLmxpa2VzIikuaHRtbChwb2ludF9sYWJl bChkLnNjb3JlKzEpKTskKCIuc2NvcmUudW52b3RlZCIpLmh0bWwocG9pbnRfbGFi ZWwoZC5zY29yZSkpOwokKCIuc2NvcmUuZGlzbGlrZXMiKS5odG1sKHBvaW50X2xh YmVsKGQuc2NvcmUtMSkpfSkpOyQoIi5hcnJvdyIpLnVuYmluZCgiY2xpY2siKS5j

bGljayhmdW5jdGlvbigpeyQodGhpcykudm90ZSgiIixzZXRfc2NvcmUsITApfSk7 cmVkZGl0LmxvZ2dlZCYmbSE9cmVhbF9zdGF0ZSYmKG0hPW51bGw/JC5yZXF1ZXN0 KCJ2b3RlIix7aWQ6ZC5uYW1lLGRpcjptfSk6bT1yZWFsX3N0YXRlKTtsKCk7Zmlu YWxpemVfdGhpbmcoZCl9Y2F0Y2goZSl7YygpfX0sZXJyb3I6Y30sZD0iL2J1dHRv bl9pbmZvLmpzb24iO2ouc3ImJihkPSIvci8iK2ouc3IrZCk7dmFyIGU9Imh0dHBz OiI9PWRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sOyQuY29va2llX3JlYWQoInNl c3Npb24iLCJyZWRkaXRfIikuZGF0YT8oZi51cmw9ZCxmLmRhdGFUeXBlPSJqc29u Iik6KGYudXJsPShlPyJodHRwczovL3NzbC5yZWRkaXQuY29tIjoiaHR0cDovL2J1 dHRvbnMucmVkZGl0LmNvbSIpK2QsZi5kYXRhVHlwZT1mLmpzb25wPQoianNvbnAi LGYuanNvbnBDYWxsYmFjaz0iYnV0dG9uSW5mb0NiIixmLmNhY2hlPSEwKTtpZigk LmRlZmluZWQoai51cmwpKWYuZGF0YS51cmw9ai51cmw7aWYoJC5kZWZpbmVkKGou aWQpKWYuZGF0YS5pZD1qLmlkO2V8fCQuYWpheChmKX0pO2Z1bmN0aW9uIHBvaW50 X2xhYmVsKGIpe3JldHVybiBifWZ1bmN0aW9uIHNldF9zY29yZSgpe31mdW5jdGlv biBmaW5hbGl6ZV90aGluZygpe307Cg== ------------O3s3W5V3w14LQe7kOhsc0M Content-Disposition: inline Content-Type: image/png Content-Location: http://www.reddit.com/static/sprite-reddit.sHfidVUjhhE.png Content-Transfer-Encoding: Base64 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 RU5ErkJggg== ------------O3s3W5V3w14LQe7kOhsc0M Content-Disposition: inline; filename=reddit.css Content-Type: text/css; charset=utf-8; name=reddit.css Content-Location: http://www.reddit.com/static/reddit.css Content-Transfer-Encoding: 8bit html { height:100%; } body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquot e,th,td,iframe { margin:0; padding:0; } table { border-collapse:collapse; } fieldset,img { border:0; } address,caption,cite,code,dfn,em,strong,th,var { font-style:normal; font-weight: normal; } ol,ul { list-style:none; } caption,th { text-align:left; } h1,h2,h3,h4,h5,h6 { font-size:100%; } q:before,q:after { content:''; } body { font:normal x-small verdana, arial, helvetica, sans-serif; background-color:white; z-index:1; } textarea { font: normal small verdana, arial, helvetica, sans-serif; } /* IE dumbness patch. hidden input in a hidden block that is

* subsequently shown leads to the input to "show" and generate undesired * )padding. This makes it go away. */ input[type=hidden] { position:absolute; } h1 { font-size:18px; font-weight: normal; margin: 10px 0 } h2 { color:#369; font-size: 13px; } h2 a { text-decoration:none } h2 a:visited { color:#369 } h2 a:hover { text-decoration:underline } h3 { font-size:110%; } a img { border:0 none; } a { text-decoration:none; color: #369; } /* a:active { border:0 none;} a:focus { -moz-outline-style:none; } */ .rounded { -moz-border-radius:7px; -webkit-border-radius:7px; border-radius:7px; } .rounded .morelink { -webkit-border-top-right-radius:6px; border-top-right-radius:6px; -moz-border-radius-topright:6px; } div.autosize { display:table; width: 1px} div.autosize > div { display:table-cell; } input.txt { background-color:#f7f7f7; border:1px solid #369; } input[type=checkbox], input[type=radio] { margin-top:.4em; } label.disabled { color:gray; } .wrong {color:red; font-weight: normal} .attention { font-weight:bold; border:solid 1px #ff6600; padding:3px; -moz-border-radius:7px; -webkit-border-radius:7px; border-radius:7px; } .subform input.text { width:25em } .subform textarea.text { width:25em } .subform label { margin:0 5px 0 5px } .subform td { padding:0px 5px 5px 0} .subform td.nopadding { padding:0px} .nowrap { white-space:nowrap; } .leftpad { padding-left:1em } .nomargin { margin:0px } .nopadding { padding:0px } .fancybutton { padding:5px 10px; background:-webkit-gradient(linear, 0% 0%, 0% 100%, from( hsl(210, 54%, 89%)), to( hsl(210, 54%, 79%))); background:-moz-linear-gradient(top, hsl(210, 54%, 89%), hsl(210, 54%, 79%)); background-color:#ADC9E6; border:1px solid #5E96CF; -webkit-border-radius:7px; -moz-border-radius:7px;

} .fancybutton:hover { background:-webkit-gradient(linear, 0% 0%, 0% 100%, from( hsl(210, 54%, 93%)), to( hsl(210, 54%, 89%))); background:-moz-linear-gradient(top, hsl(210, 54%, 93%), hsl(210, 54%, 89%)); background-color:#D4E3F2; } .fancybutton:focus, .fancybutton:active { background:-webkit-gradient(linear, 0% 0%, 0% 100%, to( hsl(210, 54%, 89%)), fr om( hsl(210, 54%, 79%))); background:-moz-linear-gradient(top, hsl(210, 54%, 79%), hsl(210, 54%, 89%)); background-color:#D4E3F2; -webkit-box-shadow:inset 0px -1px 0px hsla(0,0%,100%,.7); -moz-box-shadow:inset 0px -1px 0px hsla(0,0%,100%, .7); box-shadow:inset 0px -1px 0px hsla(0,0%, 100%, .7); } .fancybutton.disabled, .fancybutton.disabled:active { background:-webkit-gradient(linear, 0% 0%, 0% 100%, from( hsl(210, 24%, 93%)), to( hsl(210, 24%, 89%))); background:-moz-linear-gradient(top, hsl(210, 24%, 93%), hsl(210, 24%, 89%)); background-color:#D4E3F2; border-color:#999; color:#999; } .hover a:hover { text-decoration:underline } .selected, .choice.primary { font-weight:bold; } .flat-list {list-style-type:none; display: inline;} .flat-list li, .flat-list form {display:inline; white-space: nowrap; } .flat-list .selected a { color:orangered; } .link .flat-list { display:block; padding: 1px 0; } .link.compressed .flat-list { display:inline-block; padding: 0 0 1px 0; } ul.flat-vert {text-align:left;} .flat-vert .separator { margin:0 } .flat-vert.title { font-family:arial,verdana,helvetica,sans-serif; color:#777; font-size:18px; font-weight:normal; margin-bottom:5px; } .separator { color:gray; margin: 0px .7ex 0px .7ex} .pref-lang { font-weight:bold; } .pref { font-weight:bold; } #jumpToContent { position:absolute; left: 135px; top: 25px; font-weight: bold; m argin-left: -1000px;} #jumpToContent:focus { margin-left:0 !important; } #header { border-bottom:1px solid #5f99cf; position:relative;

border-radius:7px; -webkit-background-clip:padding-box; -moz-background-clip:padding-box; color:#2E6399; text-shadow:0px 1px 0px hsla(0, 0%, 100%, .7); -webkit-box-shadow:inset 0px 1px 0px hsla(0, 0%, 100%, .8); -moz-box-shadow:inset 0px 1px 0px hsla(0,0%, 100%, .8); box-shadow:inset 0px 1px 0px hsla(0,0%,100%,.8); text-decoration:none; font-weight:bold;

} #header-img {margin-top:2px; margin-right: 5px;} #header-img.default-header { text-indent:-9999px; background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -0px 258px;background-repeat: no-repeat; height:40px; width:120px; display:inline-block; vertical-align:bottom; margin-bottom:3px; } #header-top { position:absolute; right:5px; } #header-bottom-left { font-size:larger; } #header-bottom-right { position:absolute; right:0px; bottom:0px; background-color:#EFF7FF; padding:4px; line-height:12px; -moz-border-radius-topleft:7px; -webkit-border-top-left-radius:7px; border-top-left-radius:7px; } #mail { position:relative; top:2px; display:inline-block; text-indent:-9999px; overflow:hidden; width:15px; height:10px; } #mail.havemail { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -46px -629px;background-repeat: no-repeat; } #mail.nohavemail { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -62px -629px;background-repeat: no-repeat; } #modmail { position:relative; top:-2px; display:inline-block; text-indent:-9999px; overflow:hidden; width:16px; height:16px; margin-bottom:-6px; } #modmail.havemail {

background-color:#cee3f8; z-index:99;

background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -34px -578px;background-repeat: no-repeat; } #modmail.nohavemail { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -51px -578px;background-repeat: no-repeat; } .user {color:gray;} .user .userkarma { cursor:help; font-weight:bold; border-bottom:1px dotted gray; } .pagename { font-weight:bold; margin-right:1ex; font-variant:small-caps; font-size:1.2em; vertical-align:bottom; } .pagename a {color:black; } .redditname { } .newpagelink { padding:3px 5px; background-color:#ff9; } .dropdown { cursor:default; display:inline; position:relative; } .drop-choices.inuse { display:block; } .drop-choices { position:absolute; left:0px; border:1px solid gray; z-index:100; background-color:white; white-space:nowrap; line-height:normal; margin-top:1px; display:none; } .drop-choices a.choice { cursor:pointer; padding:2px 3px 1px 3px; display:block; } .drop-choices a.choice:hover { background-color:#c7def7; } .drop-choices a.choice.selected { display:none; } .dropdown.heavydrop .selected{ background:white none no-repeat scroll center right; background-image:url(../droparrow.gif); border:1px solid gray; padding:2px; padding-right:23px;

} .dropdown.lightdrop .selected { position:relative; background:transparent none no-repeat scroll center right; background-image:url(../droparrowgray.gif); padding-right:21px; text-decoration:underline; color:gray; } .drop-choices.lightdrop { margin-top:2px; } .dropdown.tabdrop .selected { position:relative; background:white none no-repeat scroll center right; background-image:url(../droparrowgray.gif); padding:2px 21px 1px 5px; margin-left:3px; border:1px solid #5f99cf; border-bottom:none; color:orangered; } .dropdown.tabdrop .selected.title { background-color:#eff7ff; color:#369; padding-bottom:0; border:none; } .drop-choices.tabdrop {margin-top:2px;} .dropdown-title.tabdrop { display:none } .tabmenu { list-style-type:none; white-space:nowrap; display:inline-block; margin-top:5px; vertical-align:bottom; } .tabmenu li { display:inline; font-weight:bold; margin:0px 3px; } .tabmenu li a { padding:2px 6px 0 6px; background-color:#eff7ff; } .tabmenu li.selected a{ color:orangered; background-color:white; border:1px solid #5f99cf; border-bottom:1px solid white; z-index:100; } .tabpane-content { border:1px solid #5f99cf; padding: 4px 4px 4px 4px; } #search input[type=text] { border:1px solid gray; font-size:18px; width:295px;

padding-left:5px; font-weight:bold;

padding:2px; } .content { z-index:1; margin:7px 5px 0px 5px; } .content .spacer { margin-bottom:5px } .state-button { display:inline } .side { float:right; background-color:white; margin:0px 5px 0 5px; width:300px; } .side .spacer { margin:7px 0 12px 0; } .morelink { display:block; text-align:center; position:relative; -moz-border-radius-topleft:6px; -moz-border-radius-bottomleft:6px; border:1px solid #c4dbf1; background:white none repeat-x scroll center left; background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: 228px;background-repeat: repeat; font-size:150%; font-weight:bold; letter-spacing:-1px; line-height:29px; height:29px; } .morelink:hover, .mlh { border-color:#879eb4; background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: 198px;background-repeat: repeat; } .morelink a { display:block; width:100%; color:#369; } .morelink:hover a { color:white; } .morelink .nub { position:absolute; top:-1px; right:-1px; height:31px; width:24px; background:white none no-repeat scroll center left; background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -472px;background-repeat: no-repeat; } .morelink:hover .nub, .mlhn { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -472px;background-repeat: no-repeat; }

-0px -

-0px -

-76px

-51px

.disabled .morelink, .disabled .morelink:hover { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: 168px;background-repeat: repeat; border-color:#dadada; } .disabled .morelink a { cursor:default; color:#aaa; } .disabled .morelink .nub, .disabled .morelink:hover .nub { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -421px;background-repeat: no-repeat; } .sidebox.submit.disabled .spacer a { opacity:.5; } .raisedbox { padding:5px; background:#E0E0E0; border:1px solid gray; } .raisedbox h4 { margin-bottom:3px } .raisedbox li {margin-bottom:2px;} .sidebox .spacer { position:relative; margin-top:10px; padding:5px 0 0 44px; min-height:41px; background:white none no-repeat scroll top left; } .sidebox .spacer a { position:absolute; top:0; left: 0px; display:block; height:40px; width:40px; } .sidebox.create .spacer a { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -299px;background-repeat: no-repeat; background-repeat:no-repeat; } .sidebox.gold .spacer a { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -370px;background-repeat: no-repeat; background-repeat:no-repeat; } .sidebox.gold .morelink { border:none; background-color:transparent; background-image:url(../goldmorelink.png); background-position:0 0; background-repeat:no-repeat; height:31px; } .sidebox.gold .morelink a, .sidebox.gold .morelink a:visited { color:#9a7d2e; } .sidebox.gold .morelink:hover { background-position:0 -31px;

-0px -

-71px

-71px

-71px

} .sidebox.gold .morelink:hover a { color:#ffffff; margin-top:1px; } .sidebox.gold .morelink .nub { display:none; } .sidebox.submit .spacer a { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -0px 472px;background-repeat: no-repeat; background-repeat:no-repeat; } .sidebox .subtitle { margin-left:10px; color:dimgray; font-size:110%; } .account-activity-box { text-align:center; } #account-activity table { margin:2em 0 0 2em; width:45em; font-size:larger; } #account-activity th { font-weight:bold; } #account-activity td { padding:.5em 0; } .infotable { margin-top:5px; margin-bottom: 10px; } .infotable .small { font-size:smaller; } .infotable td { padding-right:1em; } .infotable a:hover { text-decoration:underline } .infotable .state-button a { background-color:#F0F0F0; color: gray; } .infotable .bold { font-weight:bold; } .infotable .invalid-user { background-color:pink} .infotable .organic-vote { border:1px solid green; } .profile-attr {} .profile-attr .label {font-weight:bold; } .profile-attr .value {color:#404040; margin-right:5px; } .profile-attr .md { margin-left:10px; margin-top:5px; border-color:#B2B2B2 #D0D0D0 #D0D0D0 #B2B2B2; border-style:solid; border-width:1px; padding:10px; } .profile-attr .md ul { float:none; list-style-type:disc; margin-left:15px; } .profile-attr .md p { margin-top:0px; } .question { color:red; } .question .yes { margin-left:5px; margin-right: 3px; } .question .no { margin:0px 3px 0px 3px; }

.preload { position:absolute; top:-1000px; left:-1000px; } .arrow { margin:2px 0px 0px 0px; width:100%; height:14px; display:block; cursor:pointer; background-position:center center; background-repeat:no-repeat; width:15px; margin-left:auto; margin-right:auto; } .arrow.upmod { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -629px;background-repeat: no-repeat; } .arrow.downmod { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -612px;background-repeat: no-repeat; } .arrow.up { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: 629px;background-repeat: no-repeat; } .arrow.down { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -612px;background-repeat: no-repeat; } .midcol { float:left; margin-right:4px; margin-left:7px; background:transparent; overflow:hidden; } .compressed .midcol { width:15px; margin-right:5px; } .entry { overflow:hidden; margin-left:3px; opacity:1; } .domain { color:#888; font-size:x-small; } .domain a { color:#888 } .domain a:hover { text-decoration:underline } .spam .domain, .spam .domain a { color:black; } .link-note { background-color:white; color:#ff4444; font-size:x-small;

-16px

-98px

-0px -

-82px

} .tagline { color:#888; font-size:x-small; } .tagline a {color:#369; text-decoration: none; } .tagline .friend { color:orangered } .tagline .submitter { color:#0055df } .tagline .moderator, .green { color:#228822 } .tagline .admin { color:#ff0011; } .tagline .alum { color:#BE1337; } .tagline a.author.admin { font-weight:bold } .tagline a:hover { text-decoration:underline } .tagline .edited-timestamp{ cursor:default } a.author { margin-right:0.5em; } .flair, .linkflairlabel { display:inline-block; margin-right:.5em; padding:0 2px; background:#f5f5f5; color:#555; border:1px solid #ddd; border-radius:2px; } .collapsed .flair { display:none; } .flair input { font-size:xx-small; } .linkflairlabel { font-size:x-small; max-width:10em; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .link .flair { font-size:x-small; margin-top:-1px; } .flair-settings { margin-bottom:16px; } .flairlist .flair-jump { margin-bottom:1em; } .flairlist .flair-jump input[type="text"] { width:430px; } .flair-jump button { font-size:100%; } .flairlist.pretty-form { font-size:inherit; } .flairlisthome, .flairlist .nextprev { display:inline-block; margin-top:10px; } .flairlisthome { font-size:smaller; } .flaircell, .flairlist .header { display:inline-block; text-align:center; width:30ex; margin-right:4ex; } .flair-entry { display:inline-block; } .flaircell.narrow, .flairlist .header.narrow { width:14ex; } .flairsample-left { text-align:right !important; } .flairsample-right { text-align:left !important; } .flairrow .tagline { display:inline-block;

} .flairlist .flaircell input[type="text"] { width:28ex; } .flairrow > form button { display:none; } .flairrow .edited button { display:inline-block; } .flairrow .flairdeletebtn { display:inline; } .flairrow:hover .flairdeletebtn { opacity:1.0; } .flairselector { box-shadow:4px 4px 4px #ccc; font-size:x-small; position:absolute; width:400px; } .flairselector img { margin:none; } .flairselector h2 { background:#cee3f8; padding-bottom:2px; margin-bottom:3px; text-align:center; } .flairselector.drop-choices.active { border:1px solid gray; display:block; } .flairselector .error { text-align:center; } .flairselector ul { display:inline-block; max-width:200px; overflow:hidden; vertical-align:top; } .flairselector .selected, .flairselector.active li { display:block; font-weight:normal; text-decoration:none !important; } .flairselector li { border:1px solid white; cursor:pointer; display:block !important; padding-left:4px; } .flairselector li a { color:#369 !important; font-weight:normal !important; } .flairselector li:hover { background-color:#bbb; border: 1px solid #bbb; } .flairselector li a:hover { text-decoration:none; } .flairselector li.selected { border:dashed 1px black; } .flairselector .title { font-size:x-small !important; } .flairselector form { border-top:solid 1px gray; clear:both; display:block; padding-top:4px; text-align:center; }

margin-bottom:8px; margin-left:6px; text-align:left; width:36ex;

.flairoptionpane { margin-bottom:4px; max-height:200px; overflow:auto; text-align:center; } .flairselector .customizer { display:inline-block; } .flairselector .customizer input { display:none; } .flairselector .customizer button { display:inline !important; } .flairselector .flairremove { display:none; } .media-button .option { color:red; } .media-button .option.active { background:transparent none no-repeat scroll right center; background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -32px -629px;background-repeat: no-repeat; padding-right:15px; color:#336699; } .embededmedia { margin-top:5px; margin-left: 60px; } .thing .title { color:blue; margin-right:.4em; padding:0px; overflow:hidden; } .thing .title:visited { color:#551a8b } .thing .title.click { color:#551a8b } .thing .title.loggedin { color:blue } .thing .title.loggedin:visited { color:#551a8b } .thing .title.loggedin.click { color:#551a8b } .thing .title.loggedin.click:visited { color:#551a8b } .sitetable { list-style-type:none; } .ajaxhook { position:absolute; top: -1000px; left: 0px; } .nextprev { color:gray; font-size: larger; margin-top: 10px;} .nextprev a { padding:1px 4px; background:#eee; border:1px solid #ddd; border-radius:3px; } .nextprev a:hover { background:#f0f0f0; border:1px solid #82A6C9; } .nextprev a:active { background:#e4e4e4; } .nextprev .separator { margin:0; margin-left:.5em; padding-left:.5em; border-left:1px solid #ccc; } .help a.help { color:#808080; text-decoration:underline; } .help.help-cover { position:relative; background-color:#F8F8F8;

border:1px solid gray; display:none; padding:5px 10px 10px 10px; overflow:hidden; } .help p, .help form { margin:5px; font-size:110%; } .help form { display:inline; } .help-hoverable { cursor:help; } .help-bubble { display:none; position:absolute; width:35em; background:white; color:#333; border:1px solid gray; padding:3px; box-shadow:0 2px 10px rgba(0,0,0,.25); } .help-bubble p, .help-bubble form { margin:.5em; } .help-bubble:before, .help-bubble:after { position:absolute; right:8px; display:block; content:''; border:9px solid transparent; } .help-bubble:before { top:-19px; border-bottom-color:gray; } .help-bubble:after { top:-18px; border-bottom-color:white; } .help-bubble a:hover { text-decoration:underline } .infotext { border:1px solid #369; background-color:#EFF7FF; -webkit-box-shadow:inset 0px 1px 0px hsla(0,0%,100%,.8), 0px 1px 0px hsla(0,0%, 100%,.6); -moz-box-shadow:inset 0px 1px 0px hsla(0,0%,100%,.8), 0px 1px 0px hsla(0,0%,100 %,.6); box-shadow:inset 0px 1px 0px hsla(0,0%,100%,.8), 0px 1px 0px hsla(0,0%,100%,.6) ; } .infotext p { font-size:small; margin:5px; } .wiki-page-content { margin:15px; } .wikirevisionlisting .generic-table { width:100%;

} .wikititle strong { font-weight:bold; } .wikititle { margin-left:15px; color:#666; } .wiki-page .md { word-wrap:break-word; max-width:none; } .wiki-page .fancy-settings .toggle { display:inline-block; padding-right:15px; } .wiki-page input { margin:5px; padding:2px; margin-left:0; } .wiki-page-content { margin-right:325px; } .discussionlink { display:inline-block; margin-left:15px; padding-right:50px; } .discussionlink a { padding-left:15px; } .wikirevisionlisting table tr td { padding-right:15px; } .wiki-page .pagelisting ul { list-style:disc; padding:2px; padding-left:10px; } .wiki-page .revision { transition:opacity 500ms; -o-transition:opacity 500ms; -ms-transition:opacity 500ms; -moz-transition:opacity 500ms; -webkit-transition:opacity 500ms; } .wiki-page .revision.hidden { opacity:.5; } .wikiaction-revisions::before { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -17px -612px;background-repeat: no-repeat; } .wikiaction-pages::before { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -85px -578px;background-repeat: no-repeat; } .pageactions { display:inline-block;

} .wikiaction { display:inline-block; margin:2px; padding-top:2px; padding-bottom:3px; border-radius:3px; } .wikititle { display:inline; vertical-align:middle; } .pageactions .wikiaction { padding-right:10px; padding-left:10px; } .pageactions .wikiaction:hover { background-color:#CEE3F8; } .pageactions .wikiaction-current:hover { background-color:#5F99CF; } .pageactions .wikiaction-current { color:white; background-color:#5F99CF; } .md.wiki ul:first-child { float:right; padding:10px 25px; margin-right:0; border:1px solid #8D9CAA; list-style:none; } .md.wiki ul:first-child ul { margin:4px 0; padding-left:25px; border-left:1px dotted #cce; list-style:none; } .md.wiki p, .md.wiki blockquote { margin:.75em 0; } .md.wiki blockquote { padding-left:1em; } .md.wiki h1, .md.wiki h2, .md.wiki h3, .md.wiki h4, .md.wiki h5, .md.wiki h6 { font-weight:bold; color:black; margin-bottom:.25em; margin-top:.5em;

font-size:larger; margin-left:25px; border-radius:5px; border:1px solid #8D9CAA; vertical-align:middle;

} .md.wiki h1 { margin-top:.75em; font-size:2.4em; } .md.wiki ul:first-child + h1 { margin-top:0; } .md.wiki h2 { margin-top:.75em; font-size:1.8em; } .md.wiki h3 { font-size:1.6em; } .md.wiki h4 { font-size:1.4em; color:#333; } .md.wiki h5 { font-size:1.2em; color:#444; } .md.wiki h6 { font-size:1.05em; color:#666; } .organic-listing { border:solid 1px gray; padding:0; overflow:hidden; position:relative; min-height:50px; } .organic-listing .link { background-color:#F8F8F8; } .organic-listing .link, .organic-listing .link.promotedlink { padding:5px 7em 10px 2px; margin-bottom:0px; } .organic-listing .nextprev { margin:0px; position:absolute; right:0px; top:0px; vertical-align:top; } .organic-listing .nextprev .arrow { width:21px; height:21px; margin:5px 5px 2px 0px; border:solid 1px #B3B3B3; display:inline-block; position:relative; text-indent:50px; } .organic-listing .nextprev .arrow.prev { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -68px

-537px;background-repeat: no-repeat; } .organic-listing .nextprev .arrow.next { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -48px -537px;background-repeat: no-repeat; } .organic-listing .nextprev .arrow:hover { cursor:pointer; border:solid 1px #336699; } .organic-listing .nextprev .arrow:active { top:1px; } .organic-listing .help { color:#336699; margin:0px 5px 5px 0; position:absolute; right:-1px; bottom:0px; } .link.promotedlink { border:1px solid gray; padding:5px 0 5px 3px; overflow:hidden; position:relative; } .link.promotedlink.unpaid { background-color:#FFC; } .link.promotedlink.unseen { background-color:#FFC; } .link.promotedlink.accepted { background-color:#9F9; } .link.promotedlink.rejected { background-color:#FF9A9A; } .link.promotedlink.accepted { background-color:#9F9; } .link.promotedlink.pending { background-color:#BFC; } .link.promotedlink.promoted { background-color:#EFF7FF; } .link.promotedlink.finished { background-color:#DDD; } #promo-form + form #img-preview-container { display:none; } .rejection-form textarea { width:40em; height:10em; } .promoted-list { font-size:larger; } .promoted-list .unpromote-button { display:inline } .promoted-list .unpromote-button a { color:gray; } .help-cover.promoted { background-color:#EFF7FF; } .organic-listing .promoted { background-color:#EFF7FF; border:none; } .organic-listing .sponsored-tagline { right:6.8em; } .sponsored-tagline { color:#808080; bottom:0; margin:0 5px 5px 0; position:absolute; font-weight:bold; right:0; }

.promote-pixel { position:absolute; top:-1000px; right:-1000px; } .organic-help-button { padding:0 .5ex; } .menuarea { border-bottom:1px dotted gray; padding:5px 10px; margin:5px; overflow:hidden; font-size:larger; } .menuarea .spacer {display:inline; margin-right: 15px} .panestack-title { margin:10px 310px 0px 10px; padding-bottom:3px; border-bottom:1px dotted gray; } .panestack-title .title { font-size:16px; font-weight:normal; margin:10px 0; } .panestack-title a.title-button { font-size:12px; margin-left:8px; } .panestack-title a.title-button.gold { background-color:#fff088; color:#6a4d00; border:1px solid #9a7d2e; padding:1px 5px; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; } .commentarea h1 { margin:10px 310px 0px 10px; padding-bottom:3px; border-bottom:1px dotted gray; } .commentarea .menuarea { border:none; margin:0 310px 10px 10px; padding:0; color:gray; } .commentarea > .usertext { margin:0 0 10px 10px; overflow:auto; } .infobar { background-color:#f6e69f; padding:5px 10px; margin:5px 305px 5px 0px; border:1px solid orange; font-size:small; } .infobar img {

} .infobar.red { padding:5px; background-color:#FFAEAE; border-color:red; } .infobar.red img { float:left; margin-right:5px; } .infobar.mellow { background-color:#eff8ff; border:1px solid #bfe0ff; } .md { max-width:60em; overflow: auto; font-size: small; } .md p, .md h1 { margin:5px 0} .md h1 { font-weight:normal; font-size: 100%; } .md > * { margin-bottom:0px } .md strong { font-weight:bold; } .md em { font-style:italic; } .md strong em { font-style:italic; font-weight: bold } .md img { display:none } .md.wiki img { display:block } .md ol, .md ul { margin:10px 2em; } .md ul { list-style:disc outside } .md ol { list-style:decimal outside } .md pre { margin:10px; } .md blockquote, .help blockquote { border-left:2px solid #369; padding-left:4px; margin:5px; margin-right:15px; } .md td, .md th { border:1px solid #EEE; padding: 1px 3px; } .md th { font-weight:bold; } .md table { margin:5px 10px; } .md center { text-align:left; } a.star { text-decoration:none; color: #ff8b60 } .odd { } .even { } .entry .buttons li { display:inline; border:none; padding-right:4px; } .entry .buttons li + li { padding-left:4px; } .entry .buttons li.stamp + li.stamp { margin-left:4px; } .entry .buttons li a { color:#888; font-weight:bold; padding:0 1px; } .entry .buttons li a.nonbutton { color:#369;

display:inline; vertical-align:middle;

font-weight:normal; } .entry .buttons a:hover {text-decoration:underline} .entry .buttons .status-msg { display:none; margin-right:.5em; } .toggle .error { font-size:x-small; } .toggle .option { display:none; } .toggle .option.active { display:inline; } .thing .stub { display:none; } .link.last-clicked { border:1px dashed gray; } .link { margin:0; margin-bottom: 8px; padding-left: 3px; } .link .score {text-align:center; color: #c6c6c6;} .link .title {font-size:medium; font-weight:normal; margin-bottom: 1px;} .link .child h3 { margin:15px; text-transform:none; font-size:medium; } .rank { overflow:hidden } .link .midcol {font-weight:bold; font-size: small;} .link .score.likes { color:#FF8B60; } .link .score.dislikes { color:#9494FF; } .link .rank { float:left; margin-top:15px; color:#c6c6c6; font-family:arial; font-size:medium; text-align:right; } .compressed { margin-bottom:5px; } .compressed .rank { margin-top:10px; } .compressed .title { margin:-2px 0 3px } .compressed .score { color:#888888 } .compressed .score-placeholder { height:3px } .compressed .subreddit { font-weight:bold } .compressed .tagline { display:inline; margin-right: 12px } .compressed .expando-button { display:none; } .score.likes, .score.dislikes {display:none;} .likes .score, .dislikes .score {display:none;} .likes .score.likes {display:inline;} .dislikes .score.dislikes {display:inline;} .likes div.score.likes {display:block;} .dislikes div.score.dislikes {display:block;} .warm-entry .rank { color:#EDA179; } .hot-entry .rank { color:#E47234; } .cool-entry .rank { color:#A5ABFB; } .cold-entry .rank { color:#4959F7; } .gadget { font-size:x-small; } .gadget .midcol { width:15px; margin:0; } .gadget .reddit-link-end { clear:left; padding-top:10px;

} .gadget .click-gadget {font-size:small;} .gadget small {color:gray;} .gadget .reddit-entry {margin-left:20px;} .gadget .right {text-align:right;} .comment, .content .details { margin-left:10px; } .comment .edit-body { display:none; visibility: hidden; } .comment .midcol { margin-left:0px; } .comment .title { font-size:small; margin-top: 10px;} .comment .midcol { width:15px; } .comment .author { font-weight:bold; } .comment .collapsed { font-size:x-small; color:gray; font-style:italic; padding-left:15px; padding-bottom:10px; } .comment .collapsed a { color:gray; } .comment .expand { font-style:normal; margin-left:0px; margin-right:3px; padding:1px; } .comment .expand:hover { text-decoration:none; color:white; background-color:#369; } .comment .score { font-size:x-small; } .comment .child { margin-top:10px; margin-left:15px; border-left:1px dotted #DDF; } textarea.gray { color:gray; } .deepthread:after { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -78px -629px;background-repeat: no-repeat; content:" "; display:inline-block; width:25px; height:9px; margin:5px 0 0 5px; } .deepthread a { font-size:larger; color: #336699 } .deepthread a:hover { text-decoration:underline} .morecomments {font-size:larger} .morecomments a { color:#336699 } .morecomments a:hover { text-decoration:underline} .morecomments .gray {font-weight:normal; color: gray} .expand-btn { font-size:smaller; margin:0px 5px; margin-top:4px; display:inline-block; } .message { margin:10px 10px 20px 5px; padding-left:5px; margin:10px 10px 20px 5px; padding:7px;

} .message.focal > .entry .md { background-color:#FFFFCC; } .message .collapsed .head { color:#888888; font-style:italic; } .message.message-parent .tagline, .message.message-reply .tagline { color:#485; } .message.message-parent > .entry .noncollapsed, .message.message-reply > .entry .noncollapsed { color:#485; } .message.recipient > .entry .noncollapsed { color:black; } .message.message-reply.recipient > .entry .head, .message.message-parent.recipient > .entry .head { color:black; font-weight:bold; } .message.new > .entry .head { color:orangered; font-weight:bold; } .message.new > .entry{ background-color:#F7F7F7; border:1px solid #E9E9E9; padding:6px; } .message.new .unread { display:none; } .message .child .message, .message .child .usertext { margin-top:10px; margin-left:12px; } .message.was-comment .child .message, .message.was-comment .child .usertext { margin-top:0px; margin-left:0px; } .message .expand { display:none; } .message .entry { margin-left:0px; } .message.message-parent .expand { display:inline; } .message.message-parent .child, .message.message-reply .child { margin:0; padding:0; } .message.message-parent .child .message,

.message.message-reply .child .message { margin:0; padding:0; } .message.message-parent .subject { margin-bottom:10px; } .message.message-parent .message .subject { display:none; } .message.message-reply .subject { display:none; } .message.message-reply .entry, .message.message-parent .entry { margin-left:10px; padding-left:10px; padding-bottom:10px; border-left:2px dashed #E7E7E7; } .message .buttons, .message .md { margin-left:15px; } .message .entry .parent { border:1px solid #336699; max-width:60em; margin:3px 10px; } .message .subject .correspondent { background-color:#EFF7FF; border:1px solid #336699; color:#336699; display:inline-block; margin-right:10px; padding:2px 5px; } .message .subject .title { font-weight:normal; font-style:italic; margin-left:10px; } .message .parent-link { margin-left:12px; padding:0 2px; font-weight:bold; } .message.was-comment .midcol { margin-left:0px; } .message.was-comment .buttons, .message.was-comment .parent-link { margin-left:0px; } .message.was-comment .md { margin-left:2px; } .message .subject { font-weight:bold; font-size: larger; } .clippy img { float:left; } .clippy-bubble { background-color:#fffdd7; border:solid black 1px;

} .clippy-headline { font-weight:bold; margin-bottom:0.5em; } .clippy-bubble ul { list-style-type:disc; list-style-image:url(../clippy-bullet.png); padding-left:15px; } .clippy-bubble li { margin-top:0.5em; } .subreddit { margin-bottom:10px; } .subreddit p { margin-top:0px; margin-bottom: 1px; } .subreddit .description {font-size:small; max-width: 60em;} .subreddit .key {display:block;} .subreddit .title { font-size:medium; margin-right: 5px; } .subreddit .midcol { margin-right:5px; margin-top: 5px; text-align: right; width : 12em; } .fancy-toggle-button { display:block; margin-bottom:5px; } .fancy-toggle-button .active { border:1px solid #444; padding:1px 6px; background:white none repeat-x scroll center left; color:white; font-size:10px; font-weight:bold; line-height:20px; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; } .fancy-toggle-button .remove { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -0px 147px;background-repeat: repeat; } .fancy-toggle-button .add { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -0px 0px;background-repeat: repeat; } .fancy-toggle-button .banned { background-color:#666; padding:1px 1.9em; } .commentbody.border { background-color:#ffc; padding-left: 5px} .commentbody.grayed { color:gray; background-color:#E0E0E0;

width:350px; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; margin-left:5px; margin-bottom:15px; padding:7px; float:left;

padding-left:5px; } .fixedwidth { float:left; width: 100px; height: 0px; } .clearleft { clear:left; height: 0px; } .clear { clear:both; } .sharetable.preftable {margin-left:20px; } .sharetable.preftable th { padding-bottom:5px; padding-top: 5px; } .sharetable.preftable button { margin-top:10px } .preftable.widget-preview { font-size:smaller; } .preftable.widget-preview input[type="text"] { width:150px; } .preftable #css-options input[type="text"] { margin-left:0px; width: 6em; } .share-summary { width:95%; margin-top: 10px; } .share-summary .head td { width:50%; font-size: large; text-align: center } .share-summary td { vertical-align:top;} .share-summary > tbody > tr > td { padding-left:10px; padding-bottom:10px; } .share-summary th { padding:5px; border-bottom: 1px solid #000; } .sponsored .entry { margin-right:20px;} .sponsored .titlerow { background:#fcfcfc; padding:10px; border-top:#BCBCBC solid 1px; border-left:#BCBCBC solid 1px; border-bottom:#E0E0E0 solid 1px; border-right:#E0E0E0 solid 1px; } .footer-parent { font-size:larger; padding-top:40px; clear:both; text-align:center; } .footer { color:gray; padding:5px; margin:15px; border:1px solid #F0F0F0; display:inline-block; } .footer .col { float:left; margin:10px 0; padding:0 15px; border-left:1px solid #E0E0E0; height:8.5em; } .footer .col:first-child {border:none;} .notes-button { margin-top:3px; } .notes-status { font-size:larger; } .load0 { background-color:#FFFFFF; } .load1 { background-color:#f0f5FF; } .load2 { background-color:#E2ECFF; } .load3 { background-color:#d6f5cb; } .load4 { background-color:#CAFF98; } .load5 { background-color:#e4f484; }

.load6 { background-color:#FFEA71; } .load7 { background-color:#ffdb81; } .load8 { background-color:#FF9191; } .load9 { background-color:#FF0000; color: #FFFFFF } .orangered { color:orangered; } .logout { display:inline; } .login-form-side { border:1px solid gray; } .login-form-side input[type=text], .login-form-side input[type=password] { border:1px solid #999; width:137px; height:17px; margin:5px 0px 0px 5px; top:5px; padding:1px; } .login-form-side input[type=password] { width:138px; } .login-form-side #remember-me, .login-form-side .submit { margin:4px; } .login-form-side .submit input[type=button] { margin:1px; } .login-form-side #remember-me { float:left; line-height:24px; } .login-form-side #remember-me * { vertical-align:middle; } #rem-login-main { position:static; height:auto; width:auto; border:none; margin-right:5px; margin-top:0; } .login-form-side label { padding:2px 0 2px 0; margin-right:5px; white-space:nowrap; } .login-form-side .recover-password { margin-left:1em; } .login-form-side .status { display:none; } .login-form-side .submit { float:right; } .login-form-side .submit *, .user-form .submit * { vertical-align:middle; } .throbber { display:none;

} .working .throbber { display:inline-block; } .status { margin:5px 0 0 5px; font-size: small;} .error { color:red; font-size: small; } .red { color:red } .buygold { color:#9A7D2E; font-weight: bold; } .line-through { text-decoration:line-through } #noresults { margin-right:310px; } #ad-frame { border:0px; overflow:hidden; width:300px; height:280px; } #searchmenu { margin:10px 0 0px 0; padding: 2px 0 0 0; border-bottom:2px solid #369; background-color:whitesmoke} #searchmenu .searchlabel { background-color:white; padding:2px 15px 0px 0px; font-weight:bold; color: #369 } #searchmenu .searchtime { font-weight:bold; display:inline; width:305px; } #searchexpando { display:none; margin:5px 0 0 0; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; } #searchexpando input, #searchexpando p { margin-bottom:10px; } #searchexpando { padding-top:10px; } #searchexpando dl { margin:10px 0; } #searchexpando dt { margin:0; } #previoussearch p { margin:5px 0; } #moresearchinfo { display:none; padding-top:5px; max-width:300px; border:0 solid orange; margin-top:-5px; } label + #moresearchinfo { border-width:1px 0 0 0;

margin:0 2px; background:url(../throbber.gif) no-repeat; width:18px; height:18px;

margin-top:0px; } #previoussearch #moresearchinfo { border-color:gray; margin:5px 0; } #search_hidemore { float:right; margin-left:5px; } .searchparams { margin:5px 20px 5px 20px } .searchparams .labels {text-align:right; margin-left:10px; } .searchpane { margin:5px 305px 5px 0px; padding-left:96px; background:#E0E0E0 url(../search-large.png) 26px center no-repeat; } .searchpane #search input[type=text] { } .search-summary { float:right; text-align:right; margin:6px 8px 0 0; } .search-summary .result-count { font-weight:bold; } .searchfail { color:#c00000; font-size:larger; line-height:2em; } .searchfail a { color:red; text-decoration:underline; } .searchfacets { overflow:auto; font-size:small; white-space:pre-wrap; border:1px solid gray; padding:10px; margin-top:-6px; box-shadow:0 4px 6px -1px #ccc inset; background:#fefefe; } .searchfacets .title { margin:5px; } .searchfacets .facet:hover { text-decoration:underline; } .searchfacets .list { margin:0px 0px 0px 10px; } li.searchfacet { display:inline-block; width:15em; }

.facet.count { font-weight:bold; color:#888888; } #search input[type='submit'] { padding:1px 10px; } .legal {color:#808080; font-family: serif; font-size: small; margin-top: 20px; } .legal a {text-decoration:underline} .divide { border-right:2px solid #D3D3D3; margin-right: -2px; } .login-form-section { float:left; width:46%; padding-left:2%; padding-right:2%; } .login-form-section h3 { margin-bottom:0; margin-top:10px; font-size:large; font-weight:bold; font-variant:small-caps; color:#404040; } .login-form-section p { text-align:left; margin-bottom:10px; color:#606060; margin-bottom:20px; } .user-form label { display:block; font-weight:bold; color:#606060; } .user-form .error { margin-left:5px; } .user-form .remember { display:inline; margin-left:5px; } .user-form ul { margin:5px; } .user-form li { margin-top:5px; } .user-form p .btn { margin-top:5px } .user-form input.logtxt { width:125px; } .user-form input[type=text], .user-form input[type=password] { width:125px; border:1px solid #A0A0A0; margin-top:2px; margin-bottom:2px; padding:1px; } .user-form #captcha { width:250px; } .user-form .submit { margin-top:10px; } #passform h1 {margin-bottom:0px} #passform p {margin-bottom:5px; font-size: small} .register-form .name-entry * {

vertical-align:middle; } .notice-taken, .notice-available { display:none; margin-left:6px; line-height:16px; } .register-form.name-taken .notice-taken, .register-form.name-available .notice-a vailable { display:inline-block; } .register-form .name-entry .throbber { display:none; margin-left:5px; } .register-form.name-checking .name-entry .throbber { display:inline-block; } .cover { position:fixed; top:0px; left:0px; height:100%; width:100%; background-color:gray; opacity:.7; filter:alpha(opacity=70); z-index:1000; } .popup { position:fixed; left:10%; background-color:white; top:40px; width:80%; text-align:left; z-index:1001; padding:10px; box-shadow:0 5px 15px rgba(0,0,0,.5); border-radius:10px; } .popup h1 { text-align:center; font-size:large; font-weight:normal; color:orangered; } .popup h2 { text-align:center; font-size:small; margin-top:0px; color:black; font-weight:normal; } .popup .close-popup { text-align:center; margin-top:10px; } .usertable { margin-left:10px;} .usertable { font-size:larger }

.usertable td, .usertable th { padding:0 .7em } .usertable { white-space:nowrap } .usertable .remove-self { display:inline-block; margin:1em 0 .5em; padding:11px 15px; border:1px solid #bbb; border-radius:2px; } .usertable .moderator.remove-self { background:#fdffe8; } .usertable .remove-self .option.main:before { margin-right:7px; } .usertable .remove-self .option { display:inline; } .usertable .remove-self .togglebutton, .usertable .remove-self .error { display:none; font-size:inherit; border-left:1px solid #bbb; padding:4px 15px; padding-right:0; margin-left:10px; } .usertable .remove-self .active .togglebutton { display:inline; } .usertable .remove-self .error.active { display:inline; } body.rulespage-body { overflow-y:scroll; } .rulespage { margin:0 auto; position:relative; vertical-align:middle; width:600px; } .rulespage h1 { font-size:xx-large; text-align:center; margin-top:20px; } .rulespage .info { font-size:larger; padding-top:10px; } .rulespage .rule-list { margin:10px; padding:10px; font-size:medium; } .rulespage li { border-bottom:1px solid #ddd; padding:10px; margin:10px; -webkit-background-clip:padding-box;

} .rulespage li.first-rule { border-top:1px solid #ddd; padding-top:18px; } .rulespage li#minors { padding-bottom:18px; } .rulespage .expander { color:gray; cursor:help; padding:10px; } .rulespage .examples { font-size:small; } .rulespage li.example { border:none; } .rulespage li.good-example { background:#bcf5a9; } .rulespage li.bad-example { background:#f5a9a9; } .rulespage em { font-weight:bold; } .rulespage em.toggle { font-weight:normal; } .rulespage .info { text-align:center; } .rulespage img.bottom { margin-top:30px; text-align:center; padding-bottom:-40px; } .aboutpage { margin-right:320px; } .aboutpage p { margin:5px; } .aboutpage h1, .aboutpage h2 { margin:10px;} .aboutpage .usertable { width:45%; } .little a { font-size:x-small; } .oldbylink a { background-color:#F0F0F0; margin: 2px; color: gray} .error-log { clear:both; } .error-log a:hover { text-decoration:underline } .error-log .rest { display:none; } .error-log:first-child .rest { display:block; } .error-log, .error-log .exception { border:solid #aaa 1px; padding:3px 5px;

-moz-background-clip:padding-box; background-clip:padding-box;

margin-bottom:10px; } .error-log .exception { background-color:#f0f0f8; } .error-log .exception.new { border:dashed #ff6600 2px; } .error-log .exception.severe { border:solid #ff0000 2px; background-color:#ffdfdf; } .error-log .exception.interesting { border:dotted black 2px; background-color:#e0e0e8; } .error-log .exception.fixed { border:solid #008800 1px; background-color:#e8f6e8; } .error-log .exception span { font-weight:bold; margin-right:5px; } .error-log .exception span.normal { margin-right:0; display:none; } .error-log .exception span.new, .error-log .edit-area label.new { color:#ff6600; } .error-log .exception span.severe, .error-log .edit-area label.severe { color:#ff0000; } .error-log .exception span.interesting, .error-log .edit-area label.interesting { font-weight:normal; font-style:italic; } .error-log .exception span.fixed, .error-log .edit-area label.fixed { color:#008800; } .error-log .exception-name { margin-right:5px; display:inline-block; max-height:50px; overflow:hidden; } .error-log .nickname { color:black; font-weight:bold; font-size:larger; } .error-log .exception.fixed .nickname { text-decoration:line-through; } .error-log a:focus { -moz-outline-style:none; } .error-log .edit-area {

} .error-log .edit-area label { margin-right:25px; } .error-log .edit-area input[type=radio] { margin-right:4px; } .error-log .edit-area input[type=text] { width:800px; } .error-log .edit-area table td, .error-log .edit-area table th { padding:5px 0 0 5px; } .error-log .save-button { margin:0 5px 5px 0; font-size:small; padding:0; } .error-log .date { font-size:150%; font-weight:bold; } .error-log .hexkey { color:#997700; } .error-log .exception-name { font-size:larger; color:#000077; } .error-log .frequency { font-size:larger; float:right; color:#886666; } .error-log .occurrences { border:solid #003300 1px; margin:5px 0 2px; padding:2px; } .error-log .occurrence { color:#003300; font-family:monospace; margin-right:3em; white-space:nowrap; } .error-log table.stacktrace th, .error-log table.stacktrace td { border:solid 1px #aaa; } .error-log table.stacktrace td { font-family:monospace; } .error-log table.stacktrace td.col-1 { text-align:right; padding-right:10px; } .error-log .logtext.error { color:black; margin:0 0 10px 0;

border:solid black 1px; background-color:#eee;

} .error-log .logtext { margin-bottom:10px; border:solid #555 2px; background-color:#eeece6; padding:5px; font-size:small; } .error-log .logtext * { color:black; } .error-log .logtext.error .loglevel { color:white; background-color:red; } .error-log .logtext.warning .loglevel { background-color:#ff6600; } .error-log .logtext.info .loglevel { background-color:#00bbff; } .error-log .logtext.debug .loglevel { background-color:#00ee00; } .error-log .logtext .loglevel { padding:0 5px; margin-right:5px; border:solid black 1px; } .error-log .logtext table { margin:8px 5px 2px 0; font-family:monospace; } .error-log .logtext table, .error-log .logtext table th, .error-log .logtext table td { border:solid #aaa 1px; } .error-log .logtext table th, .error-log .logtext table td { border:solid #aaa 1px; } .error-log .logtext table .occ { text-align:right; } .error-log .logtext table .dotdotdot { padding:0; } .error-log .logtext table .dotdotdot a { margin:0; display:block; width:100%; height:100%; background-color:#e0e0e0; } .error-log .logtext table .dotdotdot a:hover { background-color:#bbb; text-decoration:none; } .error-log .logtext .classification { font-size:larger;

font-weight:bold; } .error-log .logtext .actual-text { max-width:600px; overflow:hidden; } .error-log .logtext .occ { } .details { font-size:x-small; margin-bottom:10px; } .details span { margin:0 5px 0 5px; } .details th { text-align:right; padding-right:5px; font-weight:bold; } .details td { vertical-align:top; } .ring { font-weight:bold; background-color:red; color:white; text-align:center; padding-left:3px; padding-right:4px !important; cursor:pointer; } .vote-note { padding-left:3px; max-width:150px; } .vote-a-notes { color:red; } .vote-up { color:orangered; } .vote-down { color:#336699; } .vote-invalid { color:#888888 !important; font-style:italic; } .unvotable-message { border:solid 1px #ff6600; margin-top:4px; padding:1px 3px; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; display:none; } .bottommenu { color:gray; font-size: smaller; clear: both} .bottommenu a { color:gray; text-decoration: underline; } .debuginfo { text-align:right;

} .debuginfo .icon { color:#a0a0a0; font:1.5em serif; padding:0 2px; } .debuginfo .content { display:none; } .debuginfo:hover .content { display:inline; } .button { border-collapse:collapse; color:gray; text-align:center; margin:1px; color:#369; } button.button[disabled] { color:gray; } .button #cover { position:relative; } .button .cover { background:white; } .button #popup { position:absolute; width:80%; z-index:1001; background:white; padding:1px; left:0px; top:0px; margin:0px; border-color:#B2B2B2 black black #B2B2B2; border-style:solid; border-width:1px; } .button .arrow { width:15px; } .num { font-weight:bold; font-size: larger } .button.thing { margin:0px; padding:0px; } .button-body { background-color:transparent; } .button .blog { border:1px solid #c7def7; color:gray; text-align:center; margin:0px; -moz-border-radius:4px; -webkit-border-radius:4px; border-radius:4px; background-color:white; } .button .blog .r { color:gray; } .button .blog .score { white-space:nowrap; } .button a:hover { text-decoration:underline } .button .blog1 { font-size:x-small; }

padding:5px; color:gray; font-size:smaller; clear:both;

.button .blog1 .arrow { float:left; margin-left:2px; margin-right: 2px; } .button .blog1 .headimgcell { background-color:#c7def7; width:18px; float:left; } .button .blog1 .headimgcell a { display:inline-block; } .button .blog1 .score { float:center; margin-top:2px; margin-right:5px; } .button .blog2 { font-size:small; } .button .blog2 .arrow { width:15px; margin-left: auto; margin-right: auto; } .button .blog2 .bottomreddit { color:black; background-color: #c7def7; font-size : small; } .button .blog2 .score .submit { display:block; font-size:x-small; line-height:17px; } .button .blog.blog3 { font-size:small; border:none; background-color:transparent; } .button .blog3 .left { float:left; width: 50%; } .button .blog2 .arrow { width:15px; margin-left: auto; margin-right: auto; } .button .blog3 .right { float:right; margin-top: 5px; } .button .blog3 .score .submit { display:block; font-size:x-small; line-height:17px; } .button .blog3 .snoo { margin-top:-1px; } .blog5 .right { float:right; } .blog5 .left { float:left; display:block; margin-top: 10px; } .blog5 .clearleft { clear:left; } .button .blog.blog5 { border:none; text-align: left; font-size: small; } .blog5 a.bling { float:left; } .blog5 .container { margin-left:35px; margin-top: 2px; height: 50px;} .blog5 ul { display:inline; } .blog5 ul a { color:#515481; font-weight: bold; text-decoration: underline; } .blog5 li { display:inline; padding: 1px 10px 1px 10px; } .blog5 li.selected { background-color:#F8F8F1; color:#000; border-color:#CCC; border-style:solid solid none solid; border-width:1px; } .blog5 .votes { height:25px; background-color:#F8F8F1; border:1px solid #CCC; padding-top:5px;

} .blog5 .arrow { margin-right:15px; margin-left:5px; color:black; cursor:pointer; display:inline; background-position:left center; background-repeat:no-repeat; padding-left:20px; } .blog5 .votes.disabled .arrow { color:#888; } .blog5 .arrow:hover { text-decoration:none; } .blog5 .arrow b { font-size:larger; } .blog5 .arrow.upmod b { color:#FF8B60; } .blog5 .arrow.downmod b { color:#9494FF; } .blog5 .right { margin-right:5px; font-size: medium; .optional {color:green} .instructions { font-size:larger; } .instructions h1, .instructions h2, .instructions h3 ottom: 20px; } .instructions p { margin:10px; max-width: 60em} .instructions pre { margin:5px; margin-right: 10px; .instructions iframe { margin:5px 10px 5px 0px; } .instructions input, .instructions select { margin:0 .instructions a:focus { -moz-outline-style:none; } .instructions strong { font-weight:bold; } .instructions .buttons { margin-left:1em; max-width: .instructions .buttons li { margin-top:1em; border-bottom:1px solid #e0e0e0; padding-bottom:1em;} .instructions code { display:block; font-family:monospace; font-size:small; margin:5px; background-color:#FF9; padding:10px; max-width:50em;} .self-service.instructions { margin-bottom:50px; } .self-service.instructions p{ margin-left:20px; } .self-service.instructions ul { list-style-type:circle; margin-left:60px; } .self-service.instructions li + li { padding-top:10px; } .self-service.instructions li.done { text-decoration:line-through; list-style-image:url(../green-check.png); } .self-service.instructions li.unfinished { font-weight:bold; list-style-image:url(../red-arrow.png); }

font-style: italic; } { margin-top:20px; margin-b } .5em } 50em; }

.feedback.instructions dl { margin-left:20px; } .feedback.instructions dt { margin-top:10px; } .feedback.instructions dd:before { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -51px -612px;background-repeat: no-repeat; height:15px; width:30px; display:block; content:" "; float:left; margin:2px 5px 0 0; } .button-demo a.view-code, .button-demo a.hide-code { float:right; margin-bottom: 1em; } .button-demo a.hide-code { display:none; } .instructions .button-demo code { display:none; } .button-demo.show-demo a.view-code { display:none; } .button-demo.show-demo a.hide-code { display:inline; } .button-demo.show-demo code { display:block; } #preview { float:right; width: 30em; margin: 10px; } #preview span { color:lightgray; } #preview #previewbox { border-width:.2em; border-style:dashed; border-color:lightgray; padding:1em; font-size:larger; } .bookmarklet { border:solid #888888 1px; padding:0px 2px; } .toolbar { font-size:small; border-bottom:1px solid #336699; background-color:#CEE3F8; } .toolbar .left-side { height:19px; float:left; border-right:solid #336699 1px; background-color:#EFF7FF; } .toolbar .middle-side { text-align:center; background-color:#EFF7FF; cursor:pointer; } .toolbar .middle-side a, .toolbar .middle-side b { display:block; border-left:none; } .toolbar .middle-side input[type=text] { font-size:14px; vertical-align:baseline; width:100%;

} .toolbar .middle-side .url { overflow:hidden; } .toolbar .middle-side .domain { color:#888; font-size:small; } .toolbar .right-side { float:right; background-color:#EFF7FF; margin-top:-1px; height:19px; } .toolbar a, .toolbar b { font-weight:normal; display:inline-block; height:18px; border-left:solid #336699 1px; white-space:nowrap; padding:1px 4px 0px; overflow:hidden; outline:none; -moz-outline:none; } .toolbar .likes .score.likes {display:inline-block;} .toolbar .dislikes .score.dislikes {display:inline-block;} .toolbar a, .toolbar .clickable { cursor:pointer; color:#336699; text-decoration:none; } .toolbar .clickable:active, .pushed-button { background-color:#cee3f8 !important; color:orangered !important; } .toolbar a img, toolbar b img { vertical-align:middle; padding-top:3px; vertical-align:-3px; } .toolbar .content { float:left; vertical-align:middle; } .toolbar .logo { margin:0px; padding:0 2px; border-left:none; vertical-align:top; } .toolbar .title { padding-left:1em; padding-right:1em; color:black; display:block;

height:18px; border:none; border-top:solid transparent 1px; margin-left:2px;

overflow:hidden; } .toolbar .title:active { color:orangered; } .toolbar .controls { float:right; } .toolbar .arrow { display:inline-block; width:auto; margin:0px; background-position:left center; padding-left:16px; } .toolbar .arrow.upmod { background-image:url(../aminiupmod.gif); } .toolbar .arrow.downmod { background-image:url(../aminidownmod.gif); } .toolbar .arrow.up { background-image:url(../aminiupgray.gif); } .toolbar .arrow.down { background-image:url(../aminidowngray.gif); } .toolbar-status-bar { border-top:solid #336699 1px; border-bottom:solid #336699 1px; background-color:#F6E69F; padding:0px 2px; overflow:auto; } .toolbar-status-bar .login-arrow-left { overflow:auto; background-image:url(../tb-loginarrow-left.png); background-position:top right; } .toolbar-status-bar .login-arrow-right { float:right; margin-right:75px; } .toolbar-status-bar .login-message { float:left; background-color:#F6E69F; padding-right:3px; } .tb-comments-panel-toggle { } .comments-panel .infobar { padding:3px 10px 7px; margin:5px 10px 10px 3px; } .min-body { height:100%; } .min-body .content { margin-top:0px; border-right:solid #369 1px;

} .min-body .content h1, .min-body .content h2 { padding-left:13px; display:inline-block; margin-bottom:15px; } .min-body .content #noresults { margin:0 0 0 13px; } .starkcomment + .clearleft + .starkcomment { margin-top:10px } .starkcomment .commentbox { color:black; background-color:#f0f0f0; padding:5px; margin-left:0px; margin-right:10px; } .starkcomment .tagline { text-align:right; } form .blurb { margin-bottom:5px; } form .spacer + .spacer { margin:15px 0; } form input[type=checkbox], form input[type=radio] {margin:2px .5em 0 0; } .pretty-form { font-size:larger; vertical-align:top; } .pretty-form p {margin:3px ;} .pretty-form input[type=checkbox], .pretty-form input[type=radio] {margin:2px .5em 0 0; } .pretty-form img { margin:3px .5em} .pretty-form input[type=text], .pretty-form textarea, .pretty-form input[type=password] { border:1px solid gray; width:300px; padding:2px; -webkit-box-shadow:inset 0px 1px 1px hsla(0,0%,0%,.3), 0px 1px 0px hsla(0,0%,10 0%,.6); -moz-box-shadow:inset 0px 1px 1px hsla(0,0%,0%,.3), 0px 1px 0px hsla(0,0%,100%, .6); box-shadow:inset 0px 1px 1px hsla(0,0%,0%,.3), 0px 1px 0px hsla(0,0%,100%,.6); } .pretty-form .infobar { width:285px; margin:5px; } .pretty-form input[type=text], .pretty-form input[type=file], .pretty-form input[type=password],

min-height:100%; max-width:60em; overflow:auto;

.pretty-form select, .pretty-form b, .pretty-form textarea, .pretty-form button { margin:3px 5px; } .pretty-form th { text-align:right } .white-field, .delete-field { background-color:white; padding:10px; } .delete-field td { vertical-align:top; } .pretty-form .delete-field { background:transparent; } #pref-delete textarea#delete-message { font-size:smaller; height:5em; } #pref-delete .md ul { margin-top:0; margin-bottom:0; } #pref-delete .md ul li { margin:.5em 0; } #pref-delete .credentials input { margin:.2em 0; } #pref-delete .credentials .error, #pref-delete .error.RATELIMIT { margin-left:5px; } .pretty-form.short-text input[type=text], .pretty-form.short-text textarea, .pretty-form.short-text input[type=password] {width:2em } #url-field button {margin:10px 5px 0 0;} #url-field .title-status { color:red; font-size: small} .opt-form { font-size:larger } .opt-form form { display:inline; } .preftable th { padding:10px; font-weight:bold; vertical-align:top; text-align:right; white-space:nowrap; } .preftable th label { display:block; } .sharetable.preftable th label { display:inline; } .preftable th span { display:block; } .preftable td.prefright { padding:8px 0;} .preftable .spacer { margin-bottom:5px; } .preftable .note { width:100%; vertical-align: top; padding-top: 10px; } .over18 button { margin:0 10px 0 10px; padding: 5px} .entry .buttons li.nsfw-stamp { font-size:x-small; } .nsfw-stamp acronym { color:#ac3939; font-size:x-small;

} .entry .buttons li.trial-stamp, .entry .buttons li.reported-stamp { border:1px solid black !important; padding:0 4px; background-color:#f6e69f; } .entry .buttons li.trial-stamp .spam { color:#e00; } .entry .buttons li.trial-stamp .kosher { color:#090; } .suspicious { background-color:#f6e69f } .thing.spam { background-color:#FA8072 } .comment.spam > .child, .message.spam > .child { background-color:white; } .comment.spam > .child { margin-left:0; padding-left:15px; } .message.spam > .child { /* There's a thin pink "border" due to the parent's padding:7px, which we could try to fix here some day. */ } .banned-user { overflow:hidden; opacity:.7; filter:alpha(opacity=70); } .banned-user .title { text-decoration:line-through; } .approval-checkmark { cursor:pointer; height:0.8em; vertical-align:baseline; margin-left:3px; } .little { font-size:smaller } .gray { color:gray } .stats { float:left; margin-right: 2em; border-collapse: collapse; font-size: la rger; } .stats td.space {width:20px} .stats td.sec { padding-bottom:7px; font-size : 18px; font-weight: normal } .stats a {color:#369} .stats a:hover {text-decoration:underline;} .stats td.k { color:gray } .stats th { text-align:left; background-color: whitesmoke; color:#369; font-weight: bold;} .stats td.ri { padding-left:20px; text-align: right} .thumbnail { float:left; margin:0px 5px;

text-decoration:none; padding:0 2px; border:1px solid #d27979 !important; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px;

} .thumbnail.nsfw { height:70px; background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -0px 299px;background-repeat: no-repeat; } .thumbnail.self { height:50px; background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -0px 421px;background-repeat: no-repeat; } .thumbnail.default { height:50px; background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -0px 370px;background-repeat: no-repeat; } .stylesheet-customize-container { } .stylesheet-customize-container textarea { margin:0; padding: 0px; } .stylesheet-customize-container h2 { margin-top:15px; margin-bottom: 10px; } .image-upload .new-image { margin-left:20px } .image-upload span { padding-left:5px; } ul#image-preview-list { margin:20px 320px 20px 20px; font-size:larger; } ul#image-preview-list li { padding-bottom:10px; margin-bottom:20px; vertical-align:top; width:45%; height:100px; float:left; position:relative; } ul#image-preview-list .preview { width:100px; float:left; display:block; text-align:center; max-height:100px; overflow:hidden; } ul#image-preview-list .preview img { max-width:100px; padding:auto; } ul#image-preview-list .description { vertical-align:top; margin-left:105px; } ul#image-preview-list .description pre { display:inline; padding:5px; } .sheets { margin-right:315px; } .sheets .col { float:left; } .sheets .col > div { margin:0 5px; } .sheets .col textarea { width:100% }

overflow:hidden; width:70px;

.sheets .buttons { margin-left:5px } .sheets .btn { margin-left:0px; margin-right: 5px; } .sheets .btn.right { float:right; margin-right: 3px;} #validation-errors { margin-left:40px; margin-top:10px; list-style-type:disc; } #validation-errors a, #validation-errors li, .errors h2 { color:red } #validation-errors a:hover { text-decoration:underline; } #validation-errors pre { padding:10px; color: black; } #preview-table { padding-right:15px; } #preview-table > table { border-width:.2em; border-style:dashed; border-color:lightgray; padding:5px; margin:5px; width:900px; } #preview-table > table > tbody > tr { padding-bottom:10px; } #preview-table > table > tbody > tr > td { padding:5px; padding-right: 15px;} #preview-table > table > tbody > tr > th { padding:5px; padding-right: 15px; font-weight:bold; vertical-align:top; font-size:larger; text-align:right; } #img-preview-container { border-width:.2em; border-style:dashed; border-color:lightgray; padding:5px; margin:5px; float:left; } .private-feeds.instructions .prefright { line-height:2em; } .private-feeds.instructions .feedlink { padding:2px 5px; font-weight:bold; margin-right:5px; border:1px solid #0000FF; color:white; padding-left:22px; background:#336699 none no-repeat scroll top left; } .private-feeds.instructions .feedlink.rss-link { background-image:url(../rss.png); } .private-feeds.instructions .feedlink.json-link { background-color:#DDDDDD; background-image:url(../json.png); color:black;

} #sr-header-area { background-color:#f0f0f0; white-space:nowrap; text-transform:uppercase; border-bottom:1px solid gray; font-size:90%; height:18px; line-height:18px; } #sr-header-area .width-clip { position:absolute; left:0; right:0; } #sr-header-area .selected a { color:orangered; } #sr-header-area .sr-list { overflow:hidden; } #sr-header-area .dropdown.srdrop { float:left; padding-left:5px; } #sr-header-area .drop-choices.srdrop { margin-top:0; margin-left:5px; } .dropdown.srdrop .selected { background:transparent none no-repeat scroll center right; background-image:url(../droparrowgray.gif); display:inline-block; vertical-align:bottom; padding-right:21px; padding-left:5px; color:black; font-weight:normal; margin-left:-5px; margin-right:10px; } .srdrop .choice {padding-top:3px;} .srdrop .choice.top-option { font-style:italic; border-bottom:1px dotted #369; } .srdrop .choice.bottom-option { font-style:italic; border-top:1px dotted #369; } .sr-bar .separator {color:gray; } .sr-bar a {color:black;} #sr-more-link { color:black; background-color:#f0f0f0; position:absolute; right:0; top:0; padding:0 5px 0 15px; font-weight:bold;

margin:0; } #sr-more-link:hover {text-decoration:underline;} .subscription-box li { clear:left; margin-bottom:10px; } .subscription-box .fancy-toggle-button { margin-right:5px; float:left; } .subscription-box .title { font-size:medium; color:blue; margin-right:5px; } .subscription-box .title.banned { color:dimgray; text-decoration:line-through; } .subscription-box .column { width:50%; float:left; } .subscription-box .box-top { position:relative; height:20px; } .subscription-box .box-separator { border-style:none none dotted none; border-width:1px; margin-bottom:5px; } .subscription-box h1{ text-align:center; } .toggle.deltranslator-button { display:inline; } #sr { margin-left:0px } #sr-list-wrapper { width:454px; height:200px; border:1px solid gray; border-top:none; margin:0 5px; font-size:smaller; position:relative; } #sr-list-cover { position:absolute; background:gray none no-repeat scroll center center; background-color:url(../throbber.gif); height:100%; width:100%; opacity:.7; filter:alpha(opacity=70); z-index:1000; display:none; } #sr-list { overflow:auto; position:absolute; height:100%;

width:100%; } #sr-searchfield { margin:0 5px; } .sr-name { font-size:small; vertical-align:top; padding:3px 3px 3px 0; } .sr-description { padding:3px } .sr-row { cursor:default; } .sr-row.sr-selected { background:#EFF7FF none no-repeat scroll 0px 5px; background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -112px -299px;background-repeat: no-repeat; } .sr-arrow { width:10px; height:12px; } #sr-autocomplete-area { position:relative; z-index:100; } #sr-drop-down { position:absolute; width:498px; border:1px solid gray; background:white; display:none; left:0; } #sr-drop-down table { width:100%; } .sr-name-row { cursor:default; } .sr-name-row.sr-selected { background-color:#369; color:white; } .submit-header { font-size:larger; font-weight:bold; } #suggested-reddits { margin-top:5px; font-size:small; } #suggested-reddits ul { } #suggested-reddits li { display:inline; padding-right:5px; } .formtabs-content {

width:520px; border-top:4px solid #5f99cf; padding-top:10px; } .formtabs-content .infobar { margin:0; padding:5px; } ul.tabmenu.formtab { display:block; padding-left:10px; font-size:larger; } .tabmenu.formtab li { margin:0; } .tabmenu.formtab a { font-weight:normal; outline:none; padding:0px 12px; vertical-align:bottom; border:1px solid #c1c1c1; border-bottom:none; } .tabmenu.formtab .selected a { color:white; font-size:130%; background-color:#5f99cf; border:none; } .expando { clear:left; margin:5px 0 5px 0; } .expando-content { display:none; } .expando-button { float:left; height:23px; width:23px; margin:2px 5px 2px 0; background:white none no-repeat scroll center center; } .expando-button.selftext.collapsed { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: 513px;background-repeat: no-repeat; } .expando-button.selftext.collapsed:hover, .eb-sch { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -421px;background-repeat: no-repeat; } .expando-button.selftext.expanded, .eb-se { margin-bottom:5px; background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -513px;background-repeat: no-repeat; } .expando-button.selftext.expanded:hover, .eb-seh { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -513px;background-repeat: no-repeat;

-0px -

-97px

-48px

-24px

} .expando-button.video.collapsed { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -513px;background-repeat: no-repeat; } .expando-button.video.collapsed:hover, .eb-vch { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -513px;background-repeat: no-repeat; } .expando-button.video.expanded, .eb-ve { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -537px;background-repeat: no-repeat; } .expando-button.video.expanded:hover, .eb-veh { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: 537px;background-repeat: no-repeat; } .subreddit .usertext .md { padding:2px 5px; background-color:#fafafa; border:1px solid #CCC; -moz-border-radius:7px; -webkit-border-radius:7px; border-radius:7px; } .link .usertext .md { padding:0 5px; background-color:#fafafa; border:1px solid #369; -moz-border-radius:7px; -webkit-border-radius:7px; border-radius:7px; } .usertext { font-size:small; } .usertext-edit { margin-top:5px; padding:0 1px; width:500px; } .usertext-edit textarea { width:500px; height:100px; } .usertext.border .usertext-body { background-color:#ffc; padding-left: 5px; } .usertext.grayed .usertext-body { color:gray; background-color:#f0f0f0; padding-left:5px; padding-right:5px; display:inline-block; } .usertext button { margin:5px 5px 10px 0; } .usertext .help-toggle { font-size:smaller;

-96px

-72px

-24px

-0px -

} .usertext .bottom-area { overflow:hidden; width:100%; } .usertext table.markhelp { background-color:white; margin:5px 0px; width:100%; } .usertext .markhelp, .usertext .markhelp td, .usertext .markhelp tr { border:1px solid #C0C0C0; padding:4px; margin:0px; } .usertext .markhelp .spaces {background-color:#c0c0c0} .roundfield { width:500px; background-color:#cee3f8; -moz-border-radius:4px; -webkit-border-radius:4px; border-radius:4px; padding:5px 10px 10px 10px; font-size:large; } .roundfield .title { } .roundfield .roundfield-content { margin-top:5px; border:none; vertical-align:top; } .roundfield .usertext-edit { width:500px; } .roundfield textarea, .roundfield input[type=text], .roundfield input[type=password], .roundfield input[type=number] { font-size:100%; width:492px; padding:3px; margin:0; border:1px solid gray; } .roundfield.captcha .capimage { margin-bottom:10px; } .roundfield label { font-size:smaller; padding-right: 2px; } .linefield { width:514px; padding:7px 5px; font-size:large; background-color:#CEE3F8; margin-bottom:10px; }

float:right; margin-top:5px;

.linefield .title { /*background-color:#CEE3F8; /*background-color:#EFF7FF;*!/ color:#336699;*/ color:blue; font-weight:bold; padding:1px 10px; } .linefield .title + .gray { font-size:x-small; } .linefield .small-field, .linefield .delete-field { padding:0; font-size:smaller; } .linefield span + span { margin-left:10px; } .linefield .info { font-style:italic; color:red; font-size:small; } .linefield .linefield-content { /*border-color:#CEE3F8; /*border-color:#EFF7FE;*!/ border-style:solid none none; border-width:4px medium medium;*/ padding:2px 7px 5px; vertical-align:top; } .linefield.usertext .usertext-edit { font-size:small; } .linefield.usertext .edit-usertext { font-size:x-small; float:right; } .linefield .upload { font-size:small; } .linefield .upload label { font-size:small; } .linefield.usertext .infobar { width:100%; } .linefield.usertext .usertext-buttons { display:none; } .linefield textarea, .linefield input[type=text], .linefield input[type=password] { font-size:100%; width:492px; padding:3px; margin:0; border:1px solid gray; } .linefield select { margin:0; }

.linefield .linefield.captcha .capimage { margin-bottom:10px; } .linefield label { font-size:smaller; padding-right: 2px; } .linefield span{ font-size:smaller; } .linefield input[type="text"].small-text { font-size:smaller; width:100%; } .campaign { border:1px solid #336699; background-color:#EFF7FF; padding:5px; -webkit-box-shadow:inset 0px 1px 0px hsla(0,0%,100%,.8), 0px 1px 0px hsla(0,0%, 100%,.6); -moz-box-shadow:inset 0px 1px 0px hsla(0,0%,100%,.8), 0px 1px 0px hsla(0,0%,100 %,.6); box-shadow:inset 0px 1px 0px hsla(0,0%,100%,.8), 0px 1px 0px hsla(0,0%,100%,.6) ; } .campaign .status { font-size:x-small; } .existing-campaigns > table { font-size:x-small; width:100%; margin:0px 0; border:none; } .existing-campaigns td.bid { background:transparent none no-repeat scroll center right; padding-right:15px; } .existing-campaigns td.bid.paid { background-image:url(../green-check.png); } .existing-campaigns td.bid .info{ margin-right:3px; } .prefright p.minimum-spend { padding-left:1em; font-size:small; color:gray; } .prefright p.minimum-spend.error { font-weight:bold; color:red; } .existing-campaigns > table > tbody > tr > td { text-align:right; border:1px solid #369; padding:1px 5px; } .existing-campaigns > table > tbody > tr#edit-campaign-tr > td { text-align:left; } .existing-campaigns > table > tbody > tr > th { text-align:center; font-weight:bold;

} .existing-campaigns > table > tbody > tr > th:first-child, .existing-campaigns > table > tbody > tr > td:first-child { border-left:none; } .existing-campaigns > table > tbody > tr > th:last-child, .existing-campaigns > table > tbody > tr > td:last-child { border-right:none; } .existing-campaigns > table > tbody > tr:last-child > th, .existing-campaigns > table > tbody > tr:last-child > td { border-bottom:none; } .targeting > ul { font-size:x-small; list-style-type:disc; margin:0 20px 10px; } .existing-campaigns td > button { margin:0px 5px 0px 0px; } .campaign .bid-info { font-size:x-small; } .campaign .bid-info.error { color:red; } .campaign .buttons { float:right; } .campaign td.prefright { padding:4px; } .campaign #bid { text-align:right; } .campaign .targeting { margin-left:25px; } .campaign .targeting input{ width:95%; -webkit-border-radius:7px; -moz-border-radius:7px; border-radius:7px; } .campaign #suggested-reddits ul { margin: 0 20px 10px 0; } .campaign th { font-size:small; padding:4px; padding-top:8px; } .linefield .campaign input[type=text] { font-size:x-small; } .linefield-content .infotext { margin-top:5px; } .linefield-content .infotext p { margin: 5px; } .traffic-table, .traffic-tables-side fieldset { margin:1.5em 2em;

padding:1px 5px; border:solid #369; border-width:0px 1px 1px;

} .traffic-table caption, .traffic-tables-side fieldset legend{ font-weight:bold; text-align:left; font-size:medium; font-variant:small-caps; } .traffic-table a:hover { text-decoration:underline; } .traffic-table thead th { font-weight:bold; text-align: center; padding-left: 2e m;} .traffic-table thead th:first-child { text-align:left; padding-left: 0; } .traffic-table tbody th, .traffic-table tfoot th { text-align:left;} .traffic-table td { padding:0 5px; } .traffic-table td { text-align:right; } .traffic-table tfoot tr { border-top:1px solid black; } .traffic-table tfoot th, .traffic-table tfoot td { font-style:italic; } .traffic-table tr.max { border:2px solid #FF8B60; } .traffic-table tr.min { border:2px solid #336699; } .traffic-table tbody tr:nth-child(even) { background-color:#E0E0E0; } .traffic-table tr.mean { font-style:italic; border-top: 1px solid; } .traffic-tables-side { float:left; min-height:50em; } #promote-graph-table, #traffic-hour { display:none; } div.timeseries { padding:10px; border:1px solid #B0B0B0; margin:10px 10px; display:inline-block; text-align:center; } .timeseries-placeholder { width:350px; height:200px; font-family:verdana; font-size:small; } div.timeseries span.title { font-weight:bold; font-size:medium; font-variant:small-caps; } #timeseries-unprocessed { font-size:small; font-weight:bold; color:#900; margin:1em 0; max-width:60em; } .timeseries-tablebar { height:5px;

font-size:small; border:0;

margin:1px 0; } .promoted-traffic .usertable { margin-left:0px; } .promoted-traffic h1 a { font-size:small; margin-left:10px; } .promoted-traffic tfoot th, .promoted-traffic tfoot td { font-style:normal; font-weight:bold; text-transform:uppercase; padding-top:.3em; } p.totals-are-preliminary { margin-left:10px; } .award-square-container { max-width:1000px; overflow:hidden; } .award-square { float:left; padding:10px 0px 30px 40px; white-space:nowrap; width:300px; } .award-square.mini { width:100px; white-space:normal; text-align:center; } .award-square img { float:left; margin:0 10px; width:70px; height:70px; } .award-square.mini img { float:none; margin-bottom:7px; } .award-square .award-name { color:black; font-size:22px; font-family:verdana, arial, helvetica, sans-serif; font-weight:bold; line-height:1em; } .award-square.mini .award-name { font-size:18px; min-height:36px; display:block; } .award-square .winner-info { line-height:15px; margin-top:15px; color:gray; } .award-square .winner-name {

} .lined-table { margin:5px; } table.lined-table { margin:5px 3px; } .lined-table th, .lined-table td { border:solid #cdcdcd 1px; padding:3px; } .lined-table th { text-align:center; font-weight:bold; } .sponsorshipbox { max-width:300px; } .sponsorshipbox span { color:gray; } .sponsorshipbox div { border:1px solid #D0D0D0; width:300px; } .sponsorshipbox .promote-pixel { right:0; } .sidecontentbox a.helplink { float:right; margin-top:4px; } .trophy-table { width:100%; } .trophy-area .content { background-color:#f5f5f5; } .trophy-info { text-align:center; vertical-align:top; } .trophy-info div { margin-left:auto; margin-right:auto; width:130px; vertical-align:top; padding:15px 0 15px; } .trophy-icon { margin-bottom:2px; width:40px; height:40px; } .trophy-info.left { margin-right:10px; } .trophy-info.right {

font-size:18px; color:#336699;

} .trophy-name { color:black !important; } .trophy-description { color:#555555; font-size:x-small; } .dust { text-align:center; margin:45px auto; color:#d0d0d0; } .removecup-button { display:inline; } .cup-info-box { border:dashed #eeaa33 2px; padding:5px; } .cup-info-box tt { background-color:#f5f5aa; } /* Datepicker ----------------------------------*/ .datepicker { z-index:1000; display:none; -moz-border-radius:6px; -webkit-border-radius:6px; border-radius:6px; -webkit-box-shadow:0px 4px 6px 3px hsla(0, 0%, 0%, .2), inset 0px 1px 0px 0px h sla(0, 0%, 100%, .9); -moz-box-shadow:0px 4px 6px 3px hsla(0, 0%, 0%, .2), inset 0px 1px 0px 0px hsla (0, 0%, 100%, .9); box-shadow:0px 4px 6px 3px hsla(0, 0%, 0%, .2), inset 0px 1px 0px 0px hsla(0, 0 %, 100%, .9); text-shadow: 0px 1px 0px hsla(0,0%,100%,.8); } .datepicker::before { content:' '; display:block; width:0; height:0; border:10px solid; position:absolute; top:-20px; left:17px; border-color:transparent transparent #369; } .datepicker::after { content:' '; display:block; width:0; height:0; border:10px solid; position:absolute; top:-18px; left:17px; border-color:transparent transparent #E5F2FF;

} .datepicker.inuse { display:block; } .ui-datepicker-inline { font-size:x-small; padding:5px; } .ui-corner-all { -webkit-border-radius:6px; -moz-border-radius: 6px; border-radius:6px; } .ui-datepicker-header { background:-webkit-gradient(linear, 0% 0%, 0% 100%, from( hsl(210, 54%, 89%)), to( hsl(210, 54%, 79%))); background:-moz-linear-gradient(top, hsl(210, 54%, 89%), hsl(210, 54%, 79%)); background-color:#ADC9E6; border: 1px solid #5E96CF; color:#2E6399; font-weight:bold; font-size: 1.3em; text-shadow:0px 1px 0px hsla(0,0%,100%,.7); -webkit-box-shadow:inset 0px 1px 0px hsla(0,100%,100%,.8); -moz-box-shadow:inset 0px 1px 0px hsla(0,100%,100%,.8); box-shadow:inset 0px 1px 0px hsla(0,100%,100%,.8); } .ui-datepicker-inline .ui-datepicker-prev {float:left; } .ui-datepicker-inline .ui-datepicker-next {float:right; } .ui-datepicker-inline .ui-datepicker-prev span, .ui-datepicker-inline .ui-datepicker-next span { display:block; text-align:center; margin-right:1px; margin-bottom:1px; font-size:1.5em; } .ui-datepicker-inline .ui-datepicker-prev:active, .ui-datepicker-inline .ui-datepicker-next:active { color:white; } .ui-datepicker-inline .ui-datepicker-prev.ui-state-disabled, .ui-datepicker-inline .ui-datepicker-next.ui-state-disabled { display:none; } .ui-datepicker-inline .ui-datepicker-prev, .ui-datepicker-inline .ui-datepicker-next { display:block; cursor:pointer; padding:0px 5px; } .ui-datepicker-year { margin-left: none !important; //Undoes linefield span } .ui-datepicker-inline .ui-datepicker-title {text-align:center; padding: 5px; mar gin: 0em 2em;} .ui-datepicker-inline table { clear:right; margin-top: 5px; border:1px solid hsl(210, 54%, 59%); } .ui-datepicker-inline .ui-datepicker-calendar th,

.ui-datepicker-inline .ui-datepicker-calendar td { padding:0px; border:1px solid #5E96CF; -webkit-box-shadow:inset 0px 1px 0px hsla(0,0%,100%,.7); -moz-box-shadow:inset 0px 1px 0px hsla(0,0%,100%,.7); box-shadow:inset 0px 1px 0px hsla(0,0%,100%,.7); } .ui-datepicker-calendar th { font-size:1.1em; } .ui-datepicker-inline .ui-datepicker-calendar th span, .ui-datepicker-inline .ui-datepicker-calendar td span, .ui-datepicker-inline .ui-datepicker-calendar td a { border: 0px; margin:auto; padding:3px; display:block; width:30px; height:2em; text-align:center; vertical-align:middle; color:black; background-color:#C8DBEF; font-size:1.5em; font-weight:bold; -webkit-box-shadow:inset 0px 1px 0px hsla(0,0%,100%,.7); -moz-box-shadow:inset 0px 1px 0px hsla(0,0%,100%,.7); box-shadow:inset 0px 1px 0px hsla(0,0%,100%,.7); } .ui-datepicker-inline .ui-datepicker-calendar th span { text-align:center; border:none; } .ui-datepicker-inline .ui-datepicker-calendar td.ui-datepicker-today a, .ui-datepicker-inline .ui-datepicker-calendar td.ui-datepicker-today span, .ui-datepicker-inline .ui-datepicker-calendar td a.ui-state-active { color: white;; background:-webkit-gradient(linear, 0% 0%, 0% 100%, from( hsl(210, 54%, 65%)), to( hsl(210, 54%, 45%))); background:-moz-linear-gradient(top, hsl(210, 54%, 65%), hsl(210, 54%, 45%)); background-color:#4F8AC9; -webkit-box-shadow:inset 0px 2px 3px hsla(0,0%,0%,.6); -moz-box-shadow:inset 0px 2px 3px hsla(0,0%,0%,.6); box-shadow:inset 0px 2px 3px hsla(0,0%,0%,.6); text-shadow:0px -1px 0px hsla(0,0%,0%,.8); } .ui-datepicker-inline .ui-datepicker-calendar td span { color:#888; } .ui-datepicker-inline .ui-datepicker-calendar td a.ui-state-hover { background:#6BB3FF; color:white; text-shadow:0px -1px 0px hsla(0,0%,0%,.6); } .ui-datepicker-inline .ui-datepicker-calendar td a.ui-state-active { background:-webkit-gradient(linear, 0% 0%, 0% 100%, from( hsl(0, 54%, 75%)), to ( hsl(0, 54%, 55%))); background:-moz-linear-gradient(top, hsl(0,54%,75%), hsl(0,54%,55%)); background-color:#E19D9D;

} .date-input { display:inline; position:relative; } .date-input input { border:1px solid #888; padding:2px; text-align:center; margin:0 2px; } .date-input .drop-choices { position:absolute; border:1px solid #369; background-color:#E5F2FF; margin:10px 3px; } .payment-setup input[name=bid] { width:6em; text-align: right; } .payment-setup form { margin:20px; } .payment-setup p { margin-bottom:10px; } .pay-form textarea[disabled] { font-size:smaller; padding:0; } .pay-form *[disabled], .pay-form input[disabled] { border:none; color:black; font-weight:bold; background-color:white; } .bid-table { margin:5px 10px; } .bid-table td, .bid-table th { padding:2px 5px; text-align:right; } .bid-table th { text-align:center; font-weight:bold; } .create-promotion .help { font-size:x-small; } .create-promotion .help p { margin:5px; } .create-promotion .help a.help { font-weight:bold; text-decoration:none; float:right; color:orangered; } .create-promo { float:left; width: 520px; margin-right: 20px;} .create-promo .infobar { margin-right:0; border-color:red;

} .create-promo h2 { margin-top:10px; color: black; } .create-promo ol { margin:0px 30px 10px 30px; } .create-promo ol > li { list-style-type:disc; } .create-promo .rules { float: left; margin-left: 15px; } .fancy-settings h1, .create-promotion h1 { font-size:200%; color: #999; margin:1 0px 5px; } .fancy-settings h2 { font-size:200%; font-weight:normal; color: #999; margin:10p x 5px; } .fancy-settings h1 strong { font-weight:bold; color:#666; } .create-promotion .sitetable { margin:5px; } .create-promotion .infobar { margin-left:12px; width: 479px; background-color: #fbd8d8; margin-bottom: 10px; } .create-promotion .create-promo .save-button { float:right; margin-right: 3px; } .create-promotion .create-promo .save-button button { margin-top:0px; } .bidding-history { padding-top:10px; } .bidding-history .linefield { width:auto; overflow:hidden; padding-left:10px; border-left:1px #DDD dashed; } .bidding-history .linefield .bid-table, .bidding-history .linefield .notes { font-size:x-small; } .bidding-history .linefield .notes { margin-top:10px; } .bidding-history .linefield .notes p { text-indent:-20px; padding-left:20px; margin-bottom:2px; font-family:courier; } .bidding-history table.bidding-history tr:hover { background-color:#AAA; } .bidding-history table.bidding-history th, .bidding-history table.bidding-history td { padding:2px 5px; text-align:right; font-size:x-small; } .bidding-history table.bidding-history th { font-weight:bold; } .bidding-history div.graph { height:8px; background-color:#336699; } .pay-form tr.input-error th { color:red; font-weight:bold; font-style:italic; } .pay-form th { padding:0px }

color:black; background:none; width:100%;

.pay-form tr.input-error input, .pay-form tr.input-error textarea, .pay-form tr.input-error select { border:1px solid red; } .pay-form input[name=expirationDate], .pay-form input[name=cardCode] { width:10ex; } .pay-form .optional { font-size:smaller; } .pay-form .disabled .optional { display:none; } .pay-form p.info { color:red; } .pay-link { font-size:smaller; margin-left: 10px; } dt { margin-left:10px; font-weight: bold; } dd { margin-left:20px; } .calendar { white-space:nowrap; overflow:hidden; width:100%; position:relative; padding-top:120px; padding-bottom:100px; margin:20px 0; } .calendar div.grid { position:absolute; top:0px; bottom:0px; } .calendar div.grid.today { background-color:yellow; } .calendar div.grid div.header { font-weight:bold; border-bottom:2px solid gray; text-align:center; } .calendar div.grid + div.grid { border-left:1px dashed gray; } .calendar .blob { margin:0; padding:0px; z-index:10; float:left; cursor:pointer; } .calendar .blob.link:hover { border:1px solid red; box-shadow:2px 2px 2px #000; -moz-box-shadow:2px 2px 2px #000; z-index:100; } .calendar .blob .bid { text-align:right; font-weight:bold; padding:5px 5px 0px 5px; } .calendar .blob.link { margin:-1px -2px 0px -2px; border:1px solid black; } .calendar .blob.link .title{ font-size:small;

} .borderless td { border:none; } .titlebox { font-size:larger; } .titlebox h1 { font-family:arial,verdana,helvetica,sans-serif; margin:0px; margin-bottom:5px; font-weight:bold; font-size:19px; } .titlebox h1 a { color:black; } .titlebox .karma { font-size:18px; font-weight:bold; } .titlebox .fancy-toggle-button { display:inline-block; margin-right:5px; } .titlebox .bottom { border-top:1px solid gray; padding-top:2px; font-size:80%; color:gray; } .titlebox .age {float:right;} .titlebox .md { font-size:90%; } .titlebox .account-notes { font-weight:normal; font-size:small; margin-left:5px; } .titlebox .account-notes .unusual { background-color:#ffdddd; border:solid red 1px; padding:1px 2px 2px; margin-left:5px; } .sidecontentbox { font-size:normal; } .sidecontentbox .content { margin:0; padding:5px; border:1px solid gray; font-size:larger; list-style:none; } .sidecontentbox .more { margin-top:5px; text-align:right; font-size:smaller;

padding:0 5px 5px 5px; display:block;

} .sidecontentbox .more a { color:gray; } .sidecontentbox .title h1 { display:inline; text-transform:uppercase; margin:0; color:gray; font-size:130%; } .sidecontentbox.collapsible .title { cursor:pointer; } .sidecontentbox .collapse-button { display:inline-block; width:10px; height:10px; line-height:10px; text-align:center; font-size:10px; background:#eee; color:#333; border:1px solid #999; border-radius:2px; margin:1px 8px; vertical-align:bottom; } .titlebox form.toggle, .leavemoderator { margin:0; padding:5px 0px; font-size:smaller; color:gray; background:white none no-repeat scroll center left; } .usertable .remove-self .main:before, .titlebox .leavemoderator:before, .titlebox form.leavecontributor-button:before, .icon-menu .reddit-edit:before, .icon-menu .reddit-traffic:before, .icon-menu .reddit-reported:before, .icon-menu .reddit-spam:before, .icon-menu .wikiaction-pages:before, .icon-menu .wikiaction-revisions:before, .icon-menu .reddit-ban:before, .icon-menu .reddit-flair:before, .icon-menu .reddit-moderationlog:before, .icon-menu .reddit-unmoderated:before, .icon-menu .reddit-moderators:before, .icon-menu .moderator-mail:before, .icon-menu .reddit-contributors:before, .icon-menu .reddit-modqueue:before, .giftgold a:before, .gold-form h1.goldgift:before, .users-online:before, .notice-taken:before, .notice-available:before { height:16px; width:16px; display:block;

} .titlebox .leavemoderator:before, .moderator.remove-self .main:before { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -612px;background-repeat: no-repeat; } .titlebox form.leavecontributor-button:before { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -578px;background-repeat: no-repeat; } .titlebox form.flairtoggle { padding:0; } .titlebox .tagline { margin:5px 0 5px 20px; } .icon-menu a { background:white none no-repeat scroll center left; } .icon-menu li {margin:5px 0;} .icon-menu .reddit-edit:before { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -595px;background-repeat: no-repeat; } .icon-menu .reddit-traffic:before { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -595px;background-repeat: no-repeat; } .icon-menu .reddit-reported:before { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -595px;background-repeat: no-repeat; } .icon-menu .reddit-spam:before { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -595px;background-repeat: no-repeat; } .icon-menu .reddit-ban:before { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: 595px;background-repeat: no-repeat; } .icon-menu .reddit-flair:before { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -595px;background-repeat: no-repeat; margin-left:1px; } .icon-menu .reddit-moderationlog:before { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -612px;background-repeat: no-repeat; margin-left:1px; } .icon-menu .reddit-unmoderated:before { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: 612px;background-repeat: no-repeat; margin-left:1px; } .icon-menu .reddit-moderators:before { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -612px;background-repeat: no-repeat;

content:" "; float:left; margin-right:5px;

-34px

-102px

-17px

-102px

-68px

-85px

-0px -

-34px

-17px

-0px -

-34px

} .icon-menu .moderator-mail:before { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -629px;background-repeat: no-repeat; width:15px; height:10px; margin-top:4px; margin-left:1px; } .icon-menu .reddit-contributors:before { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -578px;background-repeat: no-repeat; } .icon-menu .reddit-modqueue:before { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -595px;background-repeat: no-repeat; } .users-online:before { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -578px;background-repeat: no-repeat; } .notice-taken:before, .notice-available:before { margin-right:3px; } .notice-taken:before { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -595px;background-repeat: no-repeat; } .notice-available:before { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -472px;background-repeat: no-repeat; } .linkinfo { padding:5px; border:1px solid #5f99cf; background-color:#EFF7FF; font-family:arial,helvetica,sans-serif; font-size:larger; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; } .linkinfo .score .number { font-size:22px; font-weight:bold; } .linkinfo .score .word { font-size:15px; font-weight:bold; } .linkinfo .upvotes {font-size:80%; color: orangered;} .linkinfo .downvotes {font-size:80%; color: #5f99cf; } .linkinfo .shortlink {font-size:80%; margin-top: 3px; } .linkinfo .shortlink input { border:1px solid gray; font-family:monospace; font-size:140%; padding:3px 2px; width:175px; }

-62px

-102px

-51px

-68px

-85px

-102px

.linkinfo .shortlink input:hover { cursor:text; } .linkinfo table {margin-top:5px;} .linkinfo td, .linkinfo th { padding:2px; font-size:smaller; border:1px solid gray; } a.adminbox { border:solid 1px #eeeeee; color:#cdcdcd; font-family:monospace; text-align:center; padding-right:1px; } a.adminbox:hover { text-decoration:none; color:orangered; border:solid 1px orangered; } .email { font-family:monospace; font-size:larger; } .lined-table, .lined-table th, .lined-table td { border:solid #cdcdcd 1px; border-collapse:collapse; padding:2px; margin-bottom:10px; } .lined-table th { font-weight:bold; } .wide { width:100%; } .centered { text-align:center; vertical-align:middle; } .sr-ad-table .inherited { background-color:#ddeeff; } .sr-ad-table .overridden { background-color:#ffeedd; } .sr-ad-table .unused { background-color:#eee; } .sr-ad-table .inherited .whence { font-style:italic; } .sr-ad-table .overridden .whence { font-weight:bold; } .sr-ad-table .details { font-size:150%; padding:10px; vertical-align:top;

} .sr-ad-table .details div { } .sr-ad-table .details .codename { font-size:150%; margin-bottom:20px; } .sr-ad-table .weight { width:4em; } .ad-assign-table .warning { font-weight:bold; color:red; } .usage-table .intersection { color:#888; font-family:monospace; text-align:right; border-left:none; border-right:none; } .usage-table .intersection span { padding:1px 3px 0 2px; } .usage-table .empty.intersection { text-align:center; color:#ccc; } .usage-table .elapsed.intersection { color:black; } .usage-table .count.intersection { color:black; } .usage-table .average.intersection { color:black; border-right:solid #cdcdcd 1px; } .usage-table .empty.intersection, .usage-table .average.intersection { padding-left:0; margin-left:0; border-right:solid #cdcdcd 1px; padding-right:5px; } a.pretty-button:hover { text-decoration:none !important } .pretty-button { margin-left:5px; margin-bottom:5px; border:1px solid #666; padding:1px 6px; background:white none repeat-x scroll center left; color:#111; font-size:10px; font-weight:normal; line-height:20px; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; outline-style:none; }

a.pretty-button { color:black; } a.pretty-button.pressed { color:white; } a.pretty-button.negative { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: 42px;background-repeat: repeat; } a.pretty-button.negative.pressed { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: 21px;background-repeat: repeat; } a.pretty-button.neutral { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: 84px;background-repeat: repeat; } a.pretty-button.neutral.pressed { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: 63px;background-repeat: repeat; } a.pretty-button.positive { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: 126px;background-repeat: repeat; } a.pretty-button.positive.pressed { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: 105px;background-repeat: repeat; } /* .jury-box .pretty-button a.pressed { margin:-1px 4px -1px 1px; border-width:2px; border-color:black; color:white; } */ .organic-listing .ontrial, .help-cover.juryduty { background-color:#ffecf8; } .organic-listing .ontrial a.title { color:#555; } .organic-listing .ontrial .midcol { margin-top:20px; } .we-need-help { font-size:larger; font-weight:bold; line-height:18px; } .organic-listing .how-to-classify { font-weight:bold; } .jury-box .arrow-msg { display:none; color:red; margin-top:5px; }

-0px -

-0px -

-0px -

-0px -

-0px -

-0px -

.jury-box .thanks-for-voting { margin-left:1em; display:none; color:red; } .jury-box .thanks-for-voting a { margin-left:1em; } .sitetable .linkontrial { padding-top:5px; } .sitetable .we-need-help { display:none; } .oatmeal img { display:block; margin:5px auto; } .lounge { display:none } .lounge p { margin-top:5px; } .gold-accent { margin-top:10px; padding:0 10px 5px; background-color:#fffdcc; border:solid 1px #e1b000; color:#9a7d2e; display:inline-block; } tr.gold-accent { display:table-row; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; } tr.gold-accent + tr > td { padding-top:10px; } #per-sr-karma { width:300px; margin:.6em auto 0 auto; table-layout:fixed; } #per-sr-karma thead th, #per-sr-karma td { text-align:right; } #per-sr-karma tbody th { text-align:left; } #per-sr-karma #sr-karma-header { width:150px; text-align:left; } #per-sr-karma thead th { font-weight:bold; padding-bottom:2px; } #per-sr-karma tbody th { white-space:nowrap; overflow:hidden;

} #per-sr-karma tbody td { font-weight:bold; color:#666; } #per-sr-karma th.helpful span { border-bottom:1px dotted #666; cursor:help; display:inline-block; } .more-karmas { display:none; } .giftgold.karma-breakdown { margin-top:.6em; } .friend-note button[type=submit] { display:none; font-size:x-small; padding-top:1px; padding-bottom:1px; margin:0px; margin-left:5px; width:45px; } .friend-note.edited button[type=submit] { display:inline-block; } .friend-note.edited input[type=text] { width:250px; margin-right: 0px; } .gold-accent h1, .gold-accent th { color:#6a4d00; font-family:"Hoefler Text","Palatino Linotype","Book Antiqua", Palatino,georgia,garamond,FreeSerif,serif; font-variant:small-caps; } .gold-accent .pretty-form input[type=text] { margin-top:1px; margin-bottom:2px; margin-left:0; /* or else friends with benefits' "note" td and th don't line up */ } .gold-accent .pretty-form input[type=text]#name { -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; } .gold-accent .pretty-form button { background-color:#fff088; color:#6a4d00; border:1px solid #9a7d2e; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; } .gold-expiration-info { margin:3px 0; width:278px; text-align:center; }

text-overflow:ellipsis; -o-text-overflow:ellipsis;

.gold-expiration-info .karma { color:#583800; } .giftgold { margin-bottom:5px; } .giftgold a { color:#9a7d2e; font-weight:bold; } .giftgold a:before, .gold-form h1.goldgift:before { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -105px -537px;background-repeat: no-repeat; } .gold-form h1:before { margin-top:3px; } .tiny { font-size:xx-small; } .gold-accent.comment-visits-box { color:#583800; margin:0px 5px 15px; padding:7px 10px 7px 7px; max-width:550px; } .gold-form { font-family:"Hoefler Text","Palatino Linotype","Book Antiqua", Palatino,georgia ,garamond,FreeSerif,serif; min-height:600px; line-height:22px; } .gold-form .roundfield { border:1px solid #E1B000; background-color:#fffdcc; color:#6a4d00; } .gold-form .roundfield-content .gray a { margin-left:0.8em; font-size:small; } .gold-form .note { font-size:11px; font-style:italic; color:#222; margin-top:7px; } .gold-form .spacer { margin-top:20px !important; } .gold-subsection { display:none; position:absolute; } .gold-form textarea, .gold-form input[type=text] { margin-top:3px; } .gold-logo { float:left;

margin-right:15px; } .giftmessage { border:solid #888 1px; color:black; background-color:white; padding:0 10px; margin-bottom:15px; display:inline-block; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; } .gold-button { padding-top:2px; margin-top:8px; margin-right:8px; color:#482800; background-color:#efcc4c; border-color:#fff088 #fff088 #6a3d00 #6a3d00; font-size:16px; font-family:Palatino,georgia,garamond,FreeSerif,serif; -webkit-appearance:none; text-shadow:0px 1px 0px hsla(0,0%,100%,.7); } .gold-dropdown { color:#482800; background-color:#fff088; font-size:16px; font-family:"Hoefler Text","Palatino Linotype","Book Antiqua", Palatino,georgia,garamond,FreeSerif,serif; } .comment-visits-box .title { font-weight:bold; } .comment-visits-box label { margin-left:5px; } .new-comment .usertext-body { background-color:#e5efff; border:solid 1px #cddaf3; margin:-1px 0; } .role { width:800px; } .styled-input { border:1px solid gray; padding:2px; -webkit-box-shadow:inset 0px 1px 1px hsla(0,0%,0%,.3), 0px 1px 0px hsla(0,0%,10 0%,.6); -moz-box-shadow:inset 0px 1px 1px hsla(0,0%,0%,.3), 0px 1px 0px hsla(0,0%,100%, .6); box-shadow:inset 0px 1px 1px hsla(0,0%,0%,.3), 0px 1px 0px hsla(0,0%,100%,.6); } .infobar.client-info { position:relative; margin:10px 2%; width:94%; height:48px;

} .infobar.client-info .icon img { position:absolute; left:10px; width:48px; height:48px; } .infobar.client-info .md { line-height:48px; margin-left:56px; } .infobar.client-info .md p { margin:0; } .oauth2-authorize { position:relative; background:url(../snoo-tray.png) no-repeat; width:415px; height:235px; margin:40px auto 0; padding-left:280px; padding-top:18px; } .oauth2-authorize h1 a { display:block; font-weight:bold; font-size:1.5em; letter-spacing:-.04em; } .oauth2-authorize .icon { position:absolute; left:160px; top:69px; width:72px; height:72px; line-height:72px; text-align:center; white-space:nowrap; } .oauth2-authorize .icon img { vertical-align:middle; } .oauth2-authorize .access, .infobar.client-info { background:#f7f7f7; border:1px solid #b3b3b3; } .oauth2-authorize .access { position:relative; margin:0 -12px; padding:10px 15px; font-size:1.5em; line-height:1.5em; } .oauth2-authorize .access:before { position:absolute; display:block; content:''; border-width:9px; border-style:solid solid outset;

} .oauth2-authorize .access:after { position:absolute; display:block; content:''; border:9px solid; border-color:transparent #f7f7f7 transparent transparent; left:-18px; top:13px; } .oauth2-authorize h2 { font-size:1em; font-weight:normal; color:black; } .oauth2-authorize ul { list-style-type:disc; padding-left:25px; } .oauth2-authorize .notice { color:#333; font-size:.85em; margin:.5em 0; } .oauth2-authorize .fancybutton { margin:0; margin-right:1em; cursor:pointer; } .oauth2-authorize .fancybutton.allow { color:white; background:#ff4500; border-color:#541700; box-shadow:inset 0px 1px 0px rgba(255, 255, 255, .25); text-shadow:0px 1px 0px rgba(0, 0, 0, .7); } .oauth2-authorize .fancybutton.allow:hover { background:#ff571a; } .oauth2-authorize .fancybutton.allow:active { background:#eb3f00; box-shadow:inset 0px -1px 0px rgba(255, 255, 255, .25); } .oauth2-authorize .fancybutton.decline { color:black; background:#eee; border-color:#555; box-shadow:inset 0px 1px 0px rgba(255, 255, 255, .5); text-shadow:0px 1px 0px rgba(255, 255, 255, .7); } .oauth2-authorize .fancybutton.decline:hover { background:#f7f7f7; } .oauth2-authorize .fancybutton.decline:active { background:#e4e4e4; box-shadow:inset 0px -1px 0px white; }

border-color:transparent #b3b3b3 transparent transparent; left:-19px; top:13px;

.modactionlisting table { margin:0 5px; } .modactionlisting td.timestamp, .modactionlisting td.subreddit { white-space:nowrap; } .modactionlisting td.button { padding-right:0; padding-left:1.5em; } .modactionlisting td.description em { font-style:italic; } .modactions td { font-size:small; text-align:left; padding:2px 10px; } .modactions.banuser, .modactions.unbanuser, .modactions.removelink, .modactions.approvelink, .modactions.removecomment, .modactions.approvecomment, .modactions.addmoderator, .modactions.removemoderator, .modactions.addcontributor, .modactions.removecontributor, .modactions.editsettings, .modactions.editflair, .modactions.distinguish, .modactions.marknsfw { height:16px; width:16px; display:block; content:" "; float:left; margin-right:5px; } .modactions.banuser { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: 595px;background-repeat: no-repeat; } .modactions.unbanuser { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -578px;background-repeat: no-repeat; } .modactions.removelink { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -561px;background-repeat: no-repeat; } .modactions.approvelink { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -472px;background-repeat: no-repeat; } .modactions.removecomment { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -561px;background-repeat: no-repeat; } .modactions.approvecomment {

-0px -

-17px

-102px

-102px

-68px

background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -561px;background-repeat: no-repeat; } .modactions.addmoderator { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: 561px;background-repeat: no-repeat; } .modactions.removemoderator { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: 578px;background-repeat: no-repeat; } .modactions.addcontributor { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -537px;background-repeat: no-repeat; } .modactions.removecontributor { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -561px;background-repeat: no-repeat; } .modactions.editsettings { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -595px;background-repeat: no-repeat; } .modactions.editflair { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -595px;background-repeat: no-repeat; } .modactions.distinguish { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -561px;background-repeat: no-repeat; } .modactions.marknsfw { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -561px;background-repeat: no-repeat; } .adminpasswordform { display:block; margin:.5em auto 0 auto; } .adminpasswordform label { display:block; padding:.5em; } .content.api-help { font-size:1.25em; margin:0 auto; max-width:950px; } .api-help .contents { padding:0 20px; margin-left:24em; margin-top:20px; } .api-help .contents .section { margin-bottom:2em; } .api-help .sidebar { float:left; margin-left:10px; }

-17px

-0px -

-0px -

-88px

-85px

-17px

-34px

-34px

-51px

.api-help .sidebar .head { position:relative; background:url(../xray-snoo-head.png) top center no-repeat; height:188px; margin-bottom:-78px; z-index:2; } .api-help .sidebar .feet { position:relative; background:url(../xray-snoo-feet.png) top center no-repeat; height:75px; margin-top:-42px; z-index:2; } .api-help .toc { background:#181818 url(../xray-snoo-body.png) center repeat-y; border:5px solid #959595; border-radius:8px; padding:15px 2em 0 2em; width:18em; } .api-help .contents .introduction { position:relative; border:2px solid #ccc; border-radius:12px; margin-bottom:-1em; } .api-help .contents .introduction p { margin:1em 14px; } .api-help .contents .introduction strong { color:#222; font-weight:bold; } .api-help .introduction:before, .api-help .introduction:after { position:absolute; display:block; content:''; border:15px solid; border-style:solid solid outset; } .api-help .introduction:before { border-color:transparent #ccc transparent transparent; left:-31px; top:58px; } .api-help .introduction:after { border-color:transparent white transparent transparent; left:-28px; top:58px; } .api-help .toc ul { position:relative; margin-top:.5em; margin-bottom:1.5em; z-index:10; } .api-help .toc > ul > li > strong { color:#aaa;

} .api-help .toc a.section { color:#888; font-weight:bold; } .api-help .toc a { display:block; color:#8EB0D2; } .api-help .toc a:hover, .api-help .endpoint a:hover { text-decoration:underline; } .api-help em.placeholder { font-style:italic; font-weight:normal; } .api-help .toc em.placeholder { color:#8EB0D2; } .api-help .toc li.supports-oauth a { background:none; } .api-help .toc li.supports-oauth a:after { content:'oauth'; display:inline-block; position:absolute; right:0; font-size:.75em; background:#29440e; color:#ddc; padding:0 2px; margin-left:2px; border-radius:2px; } .api-help .endpoint em.placeholder { color:#369; } .api-help .endpoint, .api-help .section .description { margin-bottom:1.5em; } .api-help .oauth-scope-list { display:inline; margin-left: 1em; } .api-help .oauth-scope { display:inline-block; margin-left:0.5em; font-size:.75em; font-weight:normal; vertical-align:bottom; background:#577439; color:#fbfbf9; padding:2px 6px; border-radius:2px; } .api-help .methods h2 { color:black; font-size:1.45em; text-align:middle; margin-top:1.5em; margin-bottom:1em; border-bottom:1px solid #aaa; } .api-help .endpoint .info { padding-left:1em;

border-left:1px solid #ddd; } .api-help .endpoint h3, .api-help .endpoint .uri-variants { color:#369; margin-bottom:.5em; } .api-help .endpoint .uri-variants { opacity:.85; font-weight:bold; margin-top:-.5em; margin-left:3em; } .api-help .endpoint .method, .api-help .endpoint .extensions { font-weight:normal; color:gray; } .api-help .endpoint .extensions { margin-left:.5em; } .api-help .endpoint .links { float:right; } .api-help .endpoint .links a { margin-left:.85em; opacity:.45; } .api-help .endpoint:hover .links a { opacity:1; } .api-help .parameters { background:#f0f0f0; border-collapse:separate; border-radius:3px; padding:5px 10px; width:100%; } .api-help .parameters .name { font-family:'Courier New', monospace; width:50%; } #classy-error { text-align:center; } .errorpage-message { margin:1em auto; width:500px; font-size:small; } .errorpage-message.sr-description { border-top:2px solid black; margin-top:2em; padding-top:2em; } .errorpage-message.sr-description h2 { color:black; font-weight:bold; font-size:125%; margin-bottom:.7em; } .sr-description p {

margin:.75em 0; } #pref-otp .roundfield { margin:1em 0; } #pref-otp-qr { display:none; } #otp-secret-info { margin:2em; width:512px; font-size:small; } #otp-secret-info div { margin:1em 0; } #otp-secret-info .secret { font-weight:bold; } .users-online { margin-bottom:.25em; } .users-online .word, .users-online .number:after { cursor:help; } .sr-interest-bar { position:relative; background:#cee3f8 url(../snoo-upside-down.png) 15px top no-repeat; padding:5px; overflow:hidden; border:1px solid #336699; margin-bottom:10px; } .organic-listing .sr-interest-bar { border:none; margin:0; } .sr-interest-bar .bubble { position:relative; margin-left:85px; margin-right:68px; max-width:700px; font-size:13px; background:white; padding:6px; border-radius:8px; } .sr-interest-bar .bubble:after { position:absolute; display:block; content:''; border:10px solid; border-style:solid solid outset; border-color:transparent; border-right-color:white; left:-20px; top:15px; } .sr-interest-bar .bubble p { margin:6px 3px;

margin-top:0; } .sr-interest-bar .subscribe { background-image:url(sprite-reddit.sHfidVUjhhE.png);background-position: -0px 0px;background-repeat: repeat; border:1px solid #444; border-radius:3px; padding:0 6px; color:white; font-weight:bold; } .sr-interest-bar .query-box { position:relative; padding:2px 4px; border:2px solid #979797; border-radius:5px; } .sr-interest-bar.focus .query-box { border-color:#5f99cf; } .sr-interest-bar.error .query-box { border-color:#cf5e5e; } .sr-interest-bar .error-caption, .sr-interest-bar.error .caption { display:none; } .sr-interest-bar.error .error-caption { display:block; } .sr-interest-bar .query { width:100%; font-size:20px; margin:0; padding:0; border:none; outline:none; } .sr-interest-bar .throbber { position:absolute; right:3px; top:5px; } .sr-interest-bar ul.results { margin:0; margin-top:6px; padding-top:2px; border-top:1px dotted #bbb; display:none; } .sr-interest-bar li { display:inline-block; margin:6px 3px; } .sr-interest-bar a { padding:1px 2px; } .sr-interest-bar a:hover { text-decoration:underline; } .sr-interest-bar .results .random {

} .ajax-upload-form iframe { display:none; } .developed-app, .authorized-app { border:solid 1px black; margin-left:20px; margin-bottom:0.5em; padding:7px; position:relative; width:880px; font-size:x-small; } .developed-app.collapsed, .authorized-app { height:100px; } .developed-app .collapsed { display:none; } .developed-app .ajax-upload-form { display:none; } .app-details { display:inline-block; width:200px; height:72px; margin-left:1em; vertical-align:top; } .app-details h2 { font-size:medium; margin: 0px; } .app-details h3 { font-size:x-small; margin: 0px; } .app-icon { display:inline-block; width:72px; height:72px; line-height:72px; text-align:center; white-space:nowrap; } .app-icon img { vertical-align:middle; } .app-permissions li { position:relative; } .app-scope { display:none; position:absolute; top:1ex; left:3ex; border:1px solid black; background:#fffdcc; z-index:1; } .app-description { display:inline-block; font-size:small; width:597px; height:80px; overflow-y:auto; vertical-align:top; } .app-developers { position:absolute; left:289px; bottom:1ex;

color:gray; font-weight:bold;

width:600px; } .edit-app-button, .revoke-app-button { position:absolute; bottom:1ex; left:12px; width:200px; } .edit-app.collapsed, .edit-app-icon, .developed-app .collapsed { display:none; } .edit-app-icon-button { display:block; text-align: center; width: 72px; } .edit-app-form, .edit-app-form form { display:inline-block; } .edit-app-form th, .edit-app-icon th { width:12ex; } .edit-app-form input, .edit-app-form textarea { margin:0px; width: 50ex; } .edit-app-form input[name="name"] { width:20ex !important; } .edit-app-form input[type="file"] { width:auto !important; } .edit-app-form input[type="submit"] { margin-left:10px; width:auto !important; } .delete-app-button { position:absolute; bottom:7px; left:100px; } #create-app { display:none; } table.diff {font-size:small;} .diff_header {background-color:lightgrey} .diff_next {background-color:lightgrey} .diff_add {background-color:lightgreen} .diff_chg {background-color:yellow} .diff_sub {background-color:lightcoral} ------------O3s3W5V3w14LQe7kOhsc0M Content-Disposition: inline; filename=blog_head.png Content-Type: image/png; name=blog_head.png Content-Location: http://www.reddit.com/static/blog_head.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAA6lBMVEUpLzY+PDpG Sk5HR0dKTlNSW2VTXGVVXmdWWl5bYWZdZGtfanVfbHpgXVtianNjbXhkZWdkam1l cX1nc4BpdYJqa2xscHZucHJueYRvfoxwfIhxcG93e4B3h5h4iJh5ipt7gIB8ipl+ fn6BgYGImKOJh4aKjY2Mna6NobSOn7CQo7iar8Wfnp2juM6lo6Gmuc6mu8moqaqs w9etwcmurq6vrauxyN2xyN+0s7K+u7m/1u7C2vPF3fbJ4/7Ly8vPzMnS0tLT0c/Z 19Xe3Nrw8PDz9vT69/T+EA/+MjD+pqT+srD+w8H+zsz+/v6vyeclAAAAqUlEQVQY V3XPRRLCABQE0Y+7u7trgsPgFiBz/+uwAVJQRS/frgU/yT9Y2sJVf7BkQMMz8vou VgOiAyDtbL1g1ixIrrPCGoAM3clUqN6fd4uuVNI9hMSPptqZJHmumY5xSDYz5u36 4ON64ziThbQt5F3TqWt30tKGIEGjBCCwb0lld9op5NYOCFTzgptKubLhwqwCAkwd scn+sJ/EHNP3Sy8fCUTyva+5T0/PTTS6WcrLAgAAAABJRU5ErkJggg== ------------O3s3W5V3w14LQe7kOhsc0M--

Potrebbero piacerti anche