Content-Type: multipart/related; start=; boundary=----------qTEELT6ZhdRRaE8xd7s3ZJ Content-Location: http://www.perthnow.com.au/news/national/diving-dangers-worth-dying-for/story-e6frg15u-1226014882173 Subject: =?utf-8?Q?Body=20of=20missing=20diver=20Agnes=20Milowka=20recovered=20from=20Tank=20Cave=20|=20Perth=20Now?= MIME-Version: 1.0 ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=story-e6frg15u-1226014882173.htm Content-Type: text/html; charset=UTF-8; name=story-e6frg15u-1226014882173.htm Content-Id: Content-Location: http://www.perthnow.com.au/news/national/diving-dangers-worth-dying-for/story-e6frg15u-1226014882173 Content-Transfer-Encoding: Quoted-Printable Body of missing diver Agnes Milowka recovered from Tank Cave |= Perth Now
Last updated: June 17, 2011

Weather: Perth 9°C - 20°C . Chance of a shower.

Internationally-renowned cave diver Agnes M= ilowka made this video before she drowned yesterday near Mt Gambier.

=
3D"diver"=

Agnes Milowka was drawn to the = eerie beauty of her underwater world. Source: AdelaideNow

EXPERT cave divers have retrieved the body of drowned cave diver Agn= es Milowka from a complex subterranean system in the South East.

Ms Milowka's body was brought to the surface of Tank Cave, near Mil= licent, South Australia, by members of the Cave Divers of Association ju= st before 4pm.

Limestone Coast Superintendent Trevor Twilley said = divers had managed to reach Ms Milowka's body in just 32 minutes this mo= rning.

"(It) is much shorter than it has been in the past and= reflected the efforts of divers who have, in the last two days, cleared= the channels," Supt Twilley said.

"Unfortunately, they = had a little bit of difficulty in the extremity of the chamber where Agn= es is located."

Supt Twilley said the Cave Divers' Associatio= n divers had to wait about three hours between dives for the silt to set= tle.

Start = of sidebar. Skip to end of sidebar.

End of s= idebar. Return to start of sidebar.

3D"Newsletter

"In this morning's dive they probably had about 18 inches of v= isibility at the best, at other times zero visibility," he said.

"A lot of the work is being guided by the guide ropes throughou= t the system and also just by feeling."

Dr Richard Harris, a = close friend of the 29-year-old Ms Milowka, is part of the retrieval tea= m which has been trying to clear the way for police divers to pull her b= ody from Tank Cave, near Mount Gambier.

Dr Harris, who has seen Ms= Milowka's body submerged in 20m of water about 550m from the cave entra= nce, says she did not become trapped before her death.

"It lo= oks like she has remained very calm right to the very last breath while = she has been working to extricate herself," he says.

"Wh= en you are in a very narrow part of a cave, visibility turns to zero ver= y quickly."

He says Ms Milowka was an "aggressive diver&= quot; who was on the cutting edge of her sport.

"She can't tu= rn very quickly, she can't see anything and she has been unable to work = out the way to get out of the cave and she has run out of air."

=

An expert cave diver who had mastered Tank Cave many times, Ms Milowk= a became separated from her diving "buddy" before being report= ed missing about 1.45pm on Sunday.

Her friends and fellow expert c= ave divers have been working non-stop since then to recover her body.

Divers recorded a video of the path to Ms Milowka yesterday, which c= onvinced experts that it was possible to retrieve the body.

Rescue= rs have discounted thoughts of drilling through about 15m of earth above= Ms Milowka to recover the body.

The Polish-born 29-year-old had r= ecently worked as a stunt diver for James Cameron's new blockbuster Sanc= tum 3D, which is now showing across Australia.

The movie centres o= n a group of cave divers who are pushed to the limit when an expedition = goes tragically wrong.

It was dedicated to Wes Skiles, a diving le= gend and close friend of Ms Milowka, who died accidentally last year.

It was just one of the many ironies surrounding Ms Milowka's death.<= /p>

Her passion to explore some of the last undiscovered places on Ear= th took her to exotic underwater caves, from Tasmania to the Bahamas.

It also led her to her death at Tank Cave, just kilometres away from= where her love affair with diving began.

The Flinders University = graduate was drawn into the world of cave diving after seeing a hole at = the bottom of Piccaninnie Ponds, near Mt Gambier, in 2004.

The Tan= k Cave network, where she died on Sunday evening, is just kilometres awa= y from Piccaninnie Ponds.

More Story Content

Agnes Milowka's YouTube profile<= /h4>

=
=
=

Perth Weather Forecast

Please install t= he latest Flash player

Top Stories

Perth needs to be more 'vibrant'

3D"pn

UPDATE PERTH CBD area needs to change from business-focused centre to a place= enjoyed for a “wide range” of living and recreation purpose= s, WA's planning minister says.

96 comments on this story=

Latest Sport News

Latest Entertainment News

Mystery of the Pottermore website

= 3D"JK

HARRY Potter author JK Rowling launched a mysterious new webs= ite linking to a clock counting down to an announcement next week.

Feedback

Drop us a line at n= ews@perthnow.com.au

------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=tanto-min.js Content-Type: application/x-javascript; name=tanto-min.js Content-Location: http://resources1.news.com.au/cs/js/tanto-min.js Content-Transfer-Encoding: Base64 ZnVuY3Rpb24gb2JqZWN0KGIpe2Z1bmN0aW9uIGEoKXt9YS5wcm90b3R5cGU9Yjty ZXR1cm4gbmV3IGEoKX1mdW5jdGlvbiAkRigpe3JldHVybiBmdW5jdGlvbigpe2lm KGFyZ3VtZW50cy5sZW5ndGghPT0wKXtyZXR1cm4gYXJndW1lbnRzfXJldHVybn19 aWYodHlwZW9mIF9nbG9iYWxfPT09InVuZGVmaW5lZCIpe19nbG9iYWxfPXsiQG5h bWVzcGFjZSI6ZnVuY3Rpb24oZyxjKXt2YXIgZCxiPWcuc3BsaXQoIi4iKSxmPXdp bmRvdyxlPWZhbHNlO2lmKC9bXmEtekEtWi5dLy50ZXN0KGcpKXtjb25zb2xlLmVy cm9yKCJAbmFtZXBhY2U6IG5vdCBhIHZhbGlkIG5hbWVzcGFjZSBpZGVudGlmaWVy Iik7cmV0dXJuIGZhbHNlfWZvcihkPTA7ZDxiLmxlbmd0aDtkKyspe2lmKCFmW2Jb ZF1dKXtmW2JbZF1dPXt9O2U9dHJ1ZX1mPWZbYltkXV19aWYoISFjKXtyZXR1cm4g ZX1yZXR1cm4gdHJ1ZX0sIkBpbXBvcnQiOmZ1bmN0aW9uKGMsYSl7Zm9yKHZhciBi IGluIGMpe2lmKGMuaGFzT3duUHJvcGVydHkoYikpe2FbYl09Y1tiXX19fSwiQGV4 cG9ydCI6ZnVuY3Rpb24oYixhKXt3aW5kb3dbYV09Yn0sIkByZXF1aXJlcyI6ZnVu Y3Rpb24oaCxnLGYpe3ZhciBkPWZhbHNlLGUsYz0iMjAwOTIyMyIsYixhO2lmKCFn JiZoLmluZGV4T2YoImh0dHAiKTwwJiZ0eXBlb2Ygd2luZG93W2hdIT09InVuZGVm aW5lZCIpe3JldHVybntvbmNvbXBsZXRlOmZ1bmN0aW9uKGkpe2koKX19fVtdLnBp cGUoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpKS5mb3JF YWNoKGZ1bmN0aW9uKGkpe2lmKGg9PT1pLnNyYyl7ZD10cnVlfX0pO2lmKGQmJiFm KXtyZXR1cm57b25jb21wbGV0ZTpmdW5jdGlvbihpKXtpKCl9fX1lPSJodHRwOi8v bmV0d29yay5uZXdzLmNvbS5hdS9qcy8iO2I9eyJuZG0uJCI6Im5kbS5zaG9ydGhh bmQuanMiLCJuZG0uZnVuY3Rpb25hbCI6ImZ1bmN0aW9uYWwuanMiLCJuZG0uY29u dHJvbHMuY2FsZW5kYXIiOiJuZG0uY29udHJvbHMuY2FsZW5kYXIuanMvMCwsIitj KyIsMDAuanMiLCJuZG0uY29udHJvbHMuYXV0b2NvbXBsZXRlIjoibmRtLmNvbnRy b2xzLmF1dG9jb21wbGV0ZS5qcy8wLCwiK2MrIiwwMC5qcyIsIm5kbS5jb250cm9s cy50aGluZ29tYXRpYyI6Im5kbS5jb250cm9scy50aGluZ29tYXRpYy5qcy8wLCwi K2MrIiwwMC5qcyIsIm5kbS5jb250cm9scy56ZWJyYSI6Im5kbS5jb250cm9scy56 ZWJyYS5qcy8wLCwiK2MrIiwwMC5qcyIsIm5kbS5jb250cm9scy5zb3J0YWJsZSI6 Im5kbS5jb250cm9scy5zb3J0YWJsZS5qcy8wLCwiK2MrIiwwMC5qcyJ9O2lmKChu ZG0uYWpheCYmISFiW2hdKXx8aC5pbmRleE9mKCJodHRwIik+PTB8fCEhZyl7aWYo aC5pbmRleE9mKCJodHRwIik+PTB8fCEhZyl7YT1uZG0uYWpheC5pbnNlcnRTY3Jp cHQoaCl9ZWxzZXthPW5kbS5hamF4Lmluc2VydFNjcmlwdCgoZStiW2hdKSl9aWYo bmRtLmRvbS5pc0lFKCkpe2Eub25jb21wbGV0ZT1mdW5jdGlvbihpKXthLm9ucmVh ZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe2lmKHRoaXMucmVhZHlTdGF0ZSE9Imxv YWRlZCImJnRoaXMucmVhZHlTdGF0ZSE9ImNvbXBsZXRlIil7cmV0dXJufWVsc2V7 aSgpfX19fWVsc2V7YS5vbmNvbXBsZXRlPWZ1bmN0aW9uKGkpe2lmKGEuYWRkRXZl bnRMaXN0ZW5lciYmL0hUTUxTY3JpcHRFbGVtZW50Ly50ZXN0KGEpKXthLmFkZEV2 ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKCl7aSgpfSxmYWxzZSl9ZWxzZXth Lm9ubG9hZD1pO3JldHVybiBhfX19cmV0dXJuIGF9ZWxzZXtjb25zb2xlLmxvZygi TWlzc2luZyBtb2R1bGUuIENoZWNrIHlvdXIgc291cmNlIHZlcnNpb24uIEFib3J0 aW5nIG5vdy4iKTt0aHJvdydGYXRhbCBlcnJvcjogbW9kdWxlICInK2grJyIgbm90 IGZvdW5kJ31yZXR1cm4gdHJ1ZX19fWlmKCghZG9jdW1lbnQuZ2V0RWxlbWVudEJ5 SWQpJiZkb2N1bWVudC5hbGwpe2RvY3VtZW50LmdldEVsZW1lbnRCeUlkPWZ1bmN0 aW9uKGEpe3JldHVybiBkb2N1bWVudC5hbGxbYV19fWlmKCFBcnJheS5wcm90b3R5 cGUuaW5kZXhPZil7QXJyYXkucHJvdG90eXBlLmluZGV4T2Y9ZnVuY3Rpb24oYixj KXt2YXIgYT10aGlzLmxlbmd0aCxkPU51bWJlcihhcmd1bWVudHNbMV0pfHwwO2Q9 KGQ8MCk/TWF0aC5jZWlsKGQpOk1hdGguZmxvb3IoZCk7aWYoZDwwKXtkKz1hfWZv cig7ZDxhO2QrKyl7aWYoZCBpbiB0aGlzJiZ0aGlzW2RdPT09Yil7cmV0dXJuIGR9 fXJldHVybiAtMX19aWYoIUFycmF5LnByb3RvdHlwZS5tYXApe0FycmF5LnByb3Rv dHlwZS5tYXA9ZnVuY3Rpb24oYil7dmFyIGE9dGhpcy5sZW5ndGgsZSxkLGM7aWYo dHlwZW9mIGIhPSJmdW5jdGlvbiIpe3Rocm93IG5ldyBUeXBlRXJyb3IoKX1kPVtd O2M9YXJndW1lbnRzWzFdO2ZvcihlPTA7ZTxhO2UrKyl7aWYoZSBpbiB0aGlzKXtk W2VdPWIuY2FsbChjLHRoaXNbZV0sZSx0aGlzKX19cmV0dXJuIGR9fWlmKCFBcnJh eS5wcm90b3R5cGUuZmlsdGVyKXtBcnJheS5wcm90b3R5cGUuZmlsdGVyPWZ1bmN0 aW9uKGIpe3ZhciBhPXRoaXMubGVuZ3RoLGUsZCxjLGY7aWYodHlwZW9mIGIhPSJm dW5jdGlvbiIpe3Rocm93IG5ldyBUeXBlRXJyb3IoKX1kPVtdO2M9YXJndW1lbnRz WzFdO2ZvcihlPTA7ZTxhO2UrKyl7aWYoZSBpbiB0aGlzKXtmPXRoaXNbZV07aWYo Yi5jYWxsKGMsZixlLHRoaXMpKXtkLnB1c2goZil9fX1yZXR1cm4gZH19aWYoIUFy cmF5LnByb3RvdHlwZS5mb3JFYWNoKXtBcnJheS5wcm90b3R5cGUuZm9yRWFjaD1m dW5jdGlvbihiKXt2YXIgYT10aGlzLmxlbmd0aCxkLGM7aWYodHlwZW9mIGIhPSJm dW5jdGlvbiIpe3Rocm93IG5ldyBUeXBlRXJyb3IoKX1jPWFyZ3VtZW50c1sxXTtm b3IoZD0wO2Q8YTtkKyspe2lmKGQgaW4gdGhpcyl7Yi5jYWxsKGMsdGhpc1tkXSxk LHRoaXMpfX19fUFycmF5LnByb3RvdHlwZS5waXBlPWZ1bmN0aW9uKGQpe2lmKHR5 cGVvZiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbD09ImZ1bmN0aW9uIiYmZCBp bnN0YW5jZW9mIE9iamVjdCl7cmV0dXJuIHRoaXMuY29uY2F0KEFycmF5LnByb3Rv dHlwZS5zbGljZS5jYWxsKGQpKX12YXIgYixhO2ZvcihiPTAsYT1kLmxlbmd0aDti PGE7Yj1iKzEpe3RoaXMucHVzaChkW2JdKX1yZXR1cm4gdGhpc307KGZ1bmN0aW9u KCl7dmFyIGIsYTtpZih0eXBlb2YgY29uc29sZT09PSJ1bmRlZmluZWQiKXtpZigh KCJjb25zb2xlIiBpbiB3aW5kb3cpfHwhKCJmaXJlYnVnIiBpbiBjb25zb2xlKSl7 Yj1bImxvZyIsImRlYnVnIiwiaW5mbyIsIndhcm4iLCJlcnJvciIsImFzc2VydCIs ImRpciIsImRpcnhtbCIsImdyb3VwIiwiZ3JvdXBFbmQiLCJ0aW1lIiwidGltZUVu ZCIsImNvdW50IiwidHJhY2UiLCJwcm9maWxlIiwicHJvZmlsZUVuZCJdO3dpbmRv dy5jb25zb2xlPXt9O2ZvcihhPTA7YTxiLmxlbmd0aDsrK2EpeyhmdW5jdGlvbigp e3dpbmRvdy5jb25zb2xlW2JbYV1dPWZ1bmN0aW9uKCl7fX0oKSl9fX19KCkpO0Rh dGUucHJvdG90eXBlLmZvcm1hdD1mdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9ZnVu Y3Rpb24oZyxmKXt2YXIgZT0wLGQ7aWYoIWYpe2Y9Mn1nPVN0cmluZyhnKTtmb3Io ZT0wLGQ9IiI7ZTwoZi1nLmxlbmd0aCk7ZSsrKXtkKz0iMCJ9cmV0dXJuIGQrZ307 cmV0dXJuIGEucmVwbGFjZSgvIlteIl0qInwnW14nXSonfFxiKD86ZHsxLDR9fG17 MSw0fXx5eSg/Onl5KT98KFtoSE1zXSlcMT98VFR8dHR8W2xMXSlcYi9nLGZ1bmN0 aW9uKGUpe3N3aXRjaChlKXtjYXNlImQiOnJldHVybiBiLmdldERhdGUoKTtjYXNl ImRkIjpyZXR1cm4gYyhiLmdldERhdGUoKSk7Y2FzZSJkZGQiOnJldHVyblsiU3Vu IiwiTW9uIiwiVHVlIiwiV2VkIiwiVGhyIiwiRnJpIiwiU2F0Il1bYi5nZXREYXko KV07Y2FzZSJkZGRkIjpyZXR1cm5bIlN1bmRheSIsIk1vbmRheSIsIlR1ZXNkYXki LCJXZWRuZXNkYXkiLCJUaHVyc2RheSIsIkZyaWRheSIsIlNhdHVyZGF5Il1bYi5n ZXREYXkoKV07Y2FzZSJtIjpyZXR1cm4gYi5nZXRNb250aCgpKzE7Y2FzZSJtbSI6 cmV0dXJuIGMoYi5nZXRNb250aCgpKzEpO2Nhc2UibW1tIjpyZXR1cm5bIkphbiIs IkZlYiIsIk1hciIsIkFwciIsIk1heSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNlcCIs Ik9jdCIsIk5vdiIsIkRlYyJdW2IuZ2V0TW9udGgoKV07Y2FzZSJtbW1tIjpyZXR1 cm5bIkphbnVhcnkiLCJGZWJydWFyeSIsIk1hcmNoIiwiQXByaWwiLCJNYXkiLCJK dW5lIiwiSnVseSIsIkF1Z3VzdCIsIlNlcHRlbWJlciIsIk9jdG9iZXIiLCJOb3Zl bWJlciIsIkRlY2VtYmVyIl1bYi5nZXRNb250aCgpXTtjYXNlInl5IjpyZXR1cm4g U3RyaW5nKGIuZ2V0RnVsbFllYXIoKSkuc3Vic3RyKDIpO2Nhc2UieXl5eSI6cmV0 dXJuIGIuZ2V0RnVsbFllYXIoKTtjYXNlImgiOnJldHVybiBiLmdldEhvdXJzKCkl MTJ8fDEyO2Nhc2UiaGgiOnJldHVybiBjKGIuZ2V0SG91cnMoKSUxMnx8MTIpO2Nh c2UiSCI6cmV0dXJuIGIuZ2V0SG91cnMoKTtjYXNlIkhIIjpyZXR1cm4gYyhiLmdl dEhvdXJzKCkpO2Nhc2UiTSI6cmV0dXJuIGIuZ2V0TWludXRlcygpO2Nhc2UiTU0i OnJldHVybiBjKGIuZ2V0TWludXRlcygpKTtjYXNlInMiOnJldHVybiBiLmdldFNl Y29uZHMoKTtjYXNlInNzIjpyZXR1cm4gYyhiLmdldFNlY29uZHMoKSk7Y2FzZSJs IjpyZXR1cm4gYyhiLmdldE1pbGxpc2Vjb25kcygpLDMpO2Nhc2UiTCI6dmFyIGQ9 Yi5nZXRNaWxsaXNlY29uZHMoKTtpZihkPjk5KXtkPU1hdGgucm91bmQoZC8xMCl9 cmV0dXJuIGMoZCk7Y2FzZSJ0dCI6cmV0dXJuIGIuZ2V0SG91cnMoKTwxMj8iYW0i OiJwbSI7Y2FzZSJUVCI6cmV0dXJuIGIuZ2V0SG91cnMoKTwxMj8iQU0iOiJQTSI7 ZGVmYXVsdDpyZXR1cm4gZS5zdWJzdHIoMSxlLmxlbmd0aC0yKX19KX07X2dsb2Jh bF9bIkBuYW1lc3BhY2UiXSgidGFudG8iKTtfZ2xvYmFsX1siQG5hbWVzcGFjZSJd KCJuZG0iKTt0YW50bz1uZG07dGFudG8ubmFtZXNwYWNlPV9nbG9iYWxfWyJAbmFt ZXNwYWNlIl07dGFudG8ubG9hZD1fZ2xvYmFsX1siQHJlcXVpcmVzIl07dGFudG8u bG9hZEFsbD1mdW5jdGlvbihjKXt2YXIgYT1jLnJlcGxhY2UoL1tcc10vZ2ksIiIp LnNwbGl0KCIsIiksZD1bXSxmLGIsZT1mdW5jdGlvbihpKXt2YXIgZz1mYWxzZSxo O2ZvcihoPTA7aCE9YS5sZW5ndGg7aCsrKXtpZihpPT09YVtoXSl7ZFtoXT10cnVl fWlmKCEhZFtoXSl7Zz10cnVlfWVsc2V7Zz1mYWxzZX19aWYoISFnJiZ0eXBlb2Yg Zj09ImZ1bmN0aW9uIil7ZigpfX07Zm9yKGI9MDtiIT1hLmxlbmd0aDtiKyspeyhm dW5jdGlvbigpe3ZhciBnPWFbYl0saD1iO2RbaF09ZmFsc2U7dGFudG8ubG9hZChn LHRydWUpLm9uY29tcGxldGUoZnVuY3Rpb24oKXtlKGcpfSl9KCkpfXJldHVybntv bmNvbXBsZXRlOmZ1bmN0aW9uKGcpe2Y9Z319fTt0YW50by5sb2FkU2VxdWVuY2U9 ZnVuY3Rpb24oYyl7dmFyIGE9Yy5yZXBsYWNlKC9bXHNdL2dpLCIiKS5zcGxpdCgi LCIpLGUsYj0wLGQ9ZnVuY3Rpb24oZil7aWYoZj09PWEubGVuZ3RoLTEpe3JldHVy biBmdW5jdGlvbigpe3RhbnRvLmxvYWQoYVtmXSx0cnVlKS5vbmNvbXBsZXRlKGZ1 bmN0aW9uKCl7ZSgpfSl9fWVsc2V7cmV0dXJuIGZ1bmN0aW9uKCl7dGFudG8ubG9h ZChhW2ZdLHRydWUpLm9uY29tcGxldGUoZChmKzEpKX19fTt0YW50by5sb2FkKGFb Yl0sdHJ1ZSkub25jb21wbGV0ZShkKGIrMSkpO3JldHVybntvbmNvbXBsZXRlOmZ1 bmN0aW9uKGYpe2U9Zn19fTtfZ2xvYmFsX1siQG5hbWVzcGFjZSJdKCJuZG0uZG9t Iik7bmRtLmRvbT1mdW5jdGlvbigpe3ZhciBpbml0TGlzdD1bXSxfdGltZXI9bnVs bCxpO3ZhciBpbml0PWZ1bmN0aW9uKCl7aWYoYXJndW1lbnRzLmNhbGxlZS5kb25l KXtyZXR1cm59YXJndW1lbnRzLmNhbGxlZS5kb25lPXRydWU7bmRtLmRvbS5sb2Fk ZWQ9dHJ1ZTtpZihfdGltZXIpe3dpbmRvdy5jbGVhckludGVydmFsKF90aW1lcik7 X3RpbWVyPW51bGx9Zm9yKGk9MDtpIT09aW5pdExpc3QubGVuZ3RoO2krKyl7aW5p dExpc3RbaV0uYXNzZXJ0KCl9fTt2YXIgaXNNU0lFPQovKkBjY19vbiFAKi8KZmFs c2U7dmFyIEluaXRCdW5kbGU9ZnVuY3Rpb24oZnVuY3RvcixwcmVjb25kaXRpb24s cG9zdGNvbmRpdGlvbil7dGhpcy5mdW5jdG9yPWZ1bmN0b3I7dGhpcy5wcmVjb25k aXRpb249cHJlY29uZGl0aW9uO3RoaXMucG9zdGNvbmRpdGlvbj1wb3N0Y29uZGl0 aW9ufTtJbml0QnVuZGxlLnByb3RvdHlwZS5hc3NlcnQ9ZnVuY3Rpb24oKXtpZih0 aGlzLnByZWNvbmRpdGlvbi5jYWxsKCk9PT10cnVlKXt0aGlzLmZ1bmN0b3IuY2Fs bCgpO2lmKHRoaXMucG9zdGNvbmRpdGlvbi5jYWxsKCk9PT10cnVlKXtyZXR1cm4g dHJ1ZX1lbHNle3JldHVybiBmYWxzZX19ZWxzZXtyZXR1cm4gZmFsc2V9fTtpZihk b2N1bWVudC5hZGRFdmVudExpc3RlbmVyKXtkb2N1bWVudC5hZGRFdmVudExpc3Rl bmVyKCJET01Db250ZW50TG9hZGVkIixpbml0LG51bGwpfWlmKGlzTVNJRSYmZmFs c2Upe2RvY3VtZW50LndyaXRlKCI8c2NyaXB0IGlkPV9fcmVhZHkgZGVmZXIgc3Jj PS8vOj48XC9zY3JpcHQ+Iik7ZG9jdW1lbnQuYWxsLl9fcmVhZHkub25yZWFkeXN0 YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYodGhpcy5yZWFkeVN0YXRlPT0iY29tcGxl dGUiKXt0aGlzLnJlbW92ZU5vZGUoKTtpbml0KCl9fX1pZigvV2ViS2l0L2kudGVz dChuYXZpZ2F0b3IudXNlckFnZW50KSl7X3RpbWVyPXdpbmRvdy5zZXRJbnRlcnZh bChmdW5jdGlvbigpe2lmKC9sb2FkZWR8Y29tcGxldGUvLnRlc3QoZG9jdW1lbnQu cmVhZHlTdGF0ZSkpe2luaXQoKX19LDEwKX12YXIgb2xkPXdpbmRvdy5vbmxvYWR8 fCRGO3dpbmRvdy5vbmxvYWQ9ZnVuY3Rpb24oZXYpe2luaXQoKTtpZihpc01TSUUp e3RyeXtkb2N1bWVudC5leGVjQ29tbWFuZCgiQmFja2dyb3VuZEltYWdlQ2FjaGUi LGZhbHNlLHRydWUpfWNhdGNoKGUpe319b2xkKGV2KX07dmFyIHB1cmdlPWZ1bmN0 aW9uKGQpe3ZhciBhPWQuYXR0cmlidXRlcyxpLGwsbjtpZihhKXtmb3IoaT0wLGw9 YS5sZW5ndGg7aTxsO2krPTEpe249YVtpXS5uYW1lO2lmKHR5cGVvZiBkW25dPT09 ImZ1bmN0aW9uIil7ZFtuXT1udWxsfX19YT1kLmNoaWxkTm9kZXM7aWYoYSl7bD1h Lmxlbmd0aDtmb3IoaT0wO2k8bDtpKz0xKXtwdXJnZShkLmNoaWxkTm9kZXNbaV0p fX19O3JldHVybntoYXNDbGFzczpmdW5jdGlvbihlbCxjbGFzc05hbWUpe3ZhciBy ZT1lbC5jbGFzc05hbWUuc3BsaXQoIiAiKTtyZXR1cm4gLTEhPT1yZS5pbmRleE9m KGNsYXNzTmFtZSl9LGdldEVsZW1lbnRzQnlDbGFzc05hbWU6ZnVuY3Rpb24oKXtp Zihkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKXtyZXR1cm4gZnVuY3Rp b24oY2xhc3NOYW1lLHBhcmVudEVsZW1lbnQsbm9kZU5hbWUpe3ZhciBwYXJlbj1u dWxsLGVsbj1udWxsLHM7aWYodHlwZW9mIHBhcmVudEVsZW1lbnQ9PT0ic3RyaW5n Iil7ZWxuPXBhcmVudEVsZW1lbnQ7cGFyZW49bm9kZU5hbWU7aWYocGFyZW49PT1u dWxsJiZhcmd1bWVudHMubGVuZ3RoPT09Myl7cmV0dXJuW119fWVsc2V7ZWxuPW5v ZGVOYW1lO3BhcmVuPXBhcmVudEVsZW1lbnQ7aWYocGFyZW49PT1udWxsJiZhcmd1 bWVudHMubGVuZ3RoPT09Mil7cmV0dXJuW119fXM9KHBhcmVufHxkb2N1bWVudCku Z2V0RWxlbWVudHNCeUNsYXNzTmFtZShjbGFzc05hbWUpO2lmKGVsbiYmZWxuIT0i KiImJnR5cGVvZiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIT0idW5kZWZpbmVkIil7 ZWxuPWVsbi50b1VwcGVyQ2FzZSgpO3JldHVybiBBcnJheS5wcm90b3R5cGUuZmls dGVyLmNhbGwocyxmdW5jdGlvbihlbCl7cmV0dXJuIGVsLm5vZGVOYW1lPT1lbG59 KX1lbHNle3JldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChzLDApfX19 aWYoZG9jdW1lbnQuZXZhbHVhdGUpe3JldHVybiBmdW5jdGlvbihjbGFzc05hbWUs cGFyZW50RWxlbWVudCxub2RlTmFtZSl7dmFyIHBhcmVuPW51bGwsZWxuPW51bGw7 aWYodHlwZW9mIHBhcmVudEVsZW1lbnQ9PT0ic3RyaW5nIil7ZWxuPXBhcmVudEVs ZW1lbnQ7cGFyZW49bm9kZU5hbWV9ZWxzZXtlbG49bm9kZU5hbWU7cGFyZW49cGFy ZW50RWxlbWVudH1pZighZWxuKXtlbG49IioifWlmKCFwYXJlbil7cGFyZW49ZG9j dW1lbnR9dmFyIHJlc3VsdHM9W10scyxpPTAsZWxlbWVudDtzPWRvY3VtZW50LmV2 YWx1YXRlKCIuLy8iK2VsbisiW2NvbnRhaW5zKGNvbmNhdCgnICcsIEBjbGFzcywg JyAnKSwgJyAiK2NsYXNzTmFtZSsiICcpXSIscGFyZW4sbnVsbCxYUGF0aFJlc3Vs dC5PUkRFUkVEX05PREVfU05BUFNIT1RfVFlQRSxudWxsKTt3aGlsZSgoZWxlbWVu dD1zLnNuYXBzaG90SXRlbShpKyspKSl7cmVzdWx0cy5wdXNoKGVsZW1lbnQpfXJl dHVybiByZXN1bHRzfX1yZXR1cm4gZnVuY3Rpb24oY2xhc3NOYW1lLHBhcmVudEVs ZW1lbnQsbm9kZU5hbWUpe3ZhciBwYXJlbj1udWxsLGVsbj1udWxsO2lmKHR5cGVv ZiBwYXJlbnRFbGVtZW50PT09InN0cmluZyIpe2Vsbj1wYXJlbnRFbGVtZW50O3Bh cmVuPW5vZGVOYW1lfWVsc2V7ZWxuPW5vZGVOYW1lO3BhcmVuPXBhcmVudEVsZW1l bnR9aWYoIWVsbil7ZWxuPSIqIn1pZighcGFyZW4pe3BhcmVuPWRvY3VtZW50fXZh ciByZXN1bHRzPVtdLHM9cGFyZW4uZ2V0RWxlbWVudHNCeVRhZ05hbWUoZWxuKSxp PTAsZWxlbWVudCxlbGVtZW50Q2xhc3NOYW1lO3doaWxlKChlbGVtZW50PXNbaSsr XSkpe2lmKChlbGVtZW50Q2xhc3NOYW1lPWVsZW1lbnQuY2xhc3NOYW1lKSYmKGVs ZW1lbnRDbGFzc05hbWU9PWNsYXNzTmFtZXx8bmRtLmRvbS5oYXNDbGFzcyhlbGVt ZW50LGNsYXNzTmFtZSkpKXtyZXN1bHRzLnB1c2goZWxlbWVudCl9fXJldHVybiBy ZXN1bHRzfX0oKSxpc0lFOmZ1bmN0aW9uKCl7cmV0dXJuICEhaXNNU0lFfSxhZGRM b2FkRXZlbnQ6ZnVuY3Rpb24oZnVuY3RvcixwcmVjb25kaXRpb24scG9zdGNvbmRp dGlvbil7dmFyIF9wcmVjb25kaXRpb249cHJlY29uZGl0aW9ufHxmdW5jdGlvbigp e3JldHVybiB0cnVlfSxfcG9zdGNvbmRpdGlvbj1wb3N0Y29uZGl0aW9ufHxmdW5j dGlvbigpe3JldHVybiB0cnVlfSxpYj1uZXcgSW5pdEJ1bmRsZShmdW5jdG9yLF9w cmVjb25kaXRpb24sX3Bvc3Rjb25kaXRpb24pO2luaXRMaXN0LnB1c2goaWIpO3Jl dHVybiB0cnVlfSxnZXRDdXJyZW50U3R5bGU6ZnVuY3Rpb24oZWxlbSxwcm9wKXt2 YXIgYXIscyxpO2lmKGVsZW0uY3VycmVudFN0eWxlKXthcj1wcm9wLm1hdGNoKC9c d1teXC1dKi9nKTtzPWFyWzBdO2ZvcihpPTE7aTxhci5sZW5ndGg7KytpKXtzKz1h cltpXS5yZXBsYWNlKC9cdy8sYXJbaV0uY2hhckF0KDApLnRvVXBwZXJDYXNlKCkp fXJldHVybiBlbGVtLmN1cnJlbnRTdHlsZVtzXX1lbHNle2lmKGRvY3VtZW50LmRl ZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUpe3JldHVybiBkb2N1bWVudC5kZWZh dWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKGVsZW0sbnVsbCkuZ2V0UHJvcGVydHlW YWx1ZShwcm9wKX1lbHNle3JldHVybiIifX19LGdldFBhZ2VTaXplOmZ1bmN0aW9u KCl7dmFyIHhTY3JvbGwseVNjcm9sbDtpZih3aW5kb3cuaW5uZXJIZWlnaHQmJndp bmRvdy5zY3JvbGxNYXhZKXt4U2Nyb2xsPWRvY3VtZW50LmJvZHkuc2Nyb2xsV2lk dGg7eVNjcm9sbD13aW5kb3cuaW5uZXJIZWlnaHQrd2luZG93LnNjcm9sbE1heFl9 ZWxzZXtpZihkb2N1bWVudC5ib2R5LnNjcm9sbEhlaWdodD5kb2N1bWVudC5ib2R5 Lm9mZnNldEhlaWdodCl7eFNjcm9sbD1kb2N1bWVudC5ib2R5LnNjcm9sbFdpZHRo O3lTY3JvbGw9ZG9jdW1lbnQuYm9keS5zY3JvbGxIZWlnaHR9ZWxzZXt4U2Nyb2xs PWRvY3VtZW50LmJvZHkub2Zmc2V0V2lkdGg7eVNjcm9sbD1kb2N1bWVudC5ib2R5 Lm9mZnNldEhlaWdodH19dmFyIHdpbmRvd1dpZHRoLHdpbmRvd0hlaWdodDtpZih3 aW5kb3cuaW5uZXJIZWlnaHQpe3dpbmRvd1dpZHRoPXdpbmRvdy5pbm5lcldpZHRo O3dpbmRvd0hlaWdodD13aW5kb3cuaW5uZXJIZWlnaHR9ZWxzZXtpZihkb2N1bWVu dC5kb2N1bWVudEVsZW1lbnQmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGll bnRIZWlnaHQpe3dpbmRvd1dpZHRoPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5j bGllbnRXaWR0aDt3aW5kb3dIZWlnaHQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50 LmNsaWVudEhlaWdodH1lbHNle2lmKGRvY3VtZW50LmJvZHkpe3dpbmRvd1dpZHRo PWRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGg7d2luZG93SGVpZ2h0PWRvY3VtZW50 LmJvZHkuY2xpZW50SGVpZ2h0fX19dmFyIHBhZ2VIZWlnaHQ9MDtpZih5U2Nyb2xs PHdpbmRvd0hlaWdodCl7cGFnZUhlaWdodD13aW5kb3dIZWlnaHR9ZWxzZXtwYWdl SGVpZ2h0PXlTY3JvbGx9dmFyIHBhZ2VXaWR0aD0wO2lmKHhTY3JvbGw8d2luZG93 V2lkdGgpe3BhZ2VXaWR0aD13aW5kb3dXaWR0aH1lbHNle3BhZ2VXaWR0aD14U2Ny b2xsfXJldHVybltwYWdlV2lkdGgscGFnZUhlaWdodCx3aW5kb3dXaWR0aCx3aW5k b3dIZWlnaHRdfSxnZXRQYWdlU2Nyb2xsOmZ1bmN0aW9uKCl7aWYodHlwZW9mIHdp bmRvdy5wYWdlWU9mZnNldD09Im51bWJlciIpe25kbS5kb20uZ2V0UGFnZVNjcm9s bD1mdW5jdGlvbigpe3JldHVyblsiIix3aW5kb3cucGFnZVlPZmZzZXRdfX1lbHNl e2lmKHR5cGVvZiBkb2N1bWVudC5jb21wYXRNb2RlPT0ic3RyaW5nIiYmZG9jdW1l bnQuY29tcGF0TW9kZS5pbmRleE9mKCJDU1MiKT49MCYmZG9jdW1lbnQuZG9jdW1l bnRFbGVtZW50JiZ0eXBlb2YgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9s bFRvcD09Im51bWJlciIpe25kbS5kb20uZ2V0U2Nyb2xsWT1mdW5jdGlvbigpe3Jl dHVyblsiIixkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wXX19ZWxz ZXtpZihkb2N1bWVudC5ib2R5JiZ0eXBlb2YgZG9jdW1lbnQuYm9keS5zY3JvbGxU b3A9PSJudW1iZXIiKXtuZG0uZG9tLmdldFBhZ2VTY3JvbGw9ZnVuY3Rpb24oKXty ZXR1cm5bIiIsZG9jdW1lbnQuYm9keS5zY3JvbGxUb3BdfX1lbHNle25kbS5kb20u Z2V0UGFnZVNjcm9sbD1mdW5jdGlvbigpe3JldHVyblsiIixOYU5dfX19fXJldHVy biBuZG0uZG9tLmdldFBhZ2VTY3JvbGwoKX0sZ2V0RXZlbnRUYXJnZXQ6ZnVuY3Rp b24oZSl7dmFyIGV2PWV8fHdpbmRvdy5ldmVudCx0YXJnO2lmKHR5cGVvZiBldj09 PSJ1bmRlZmluZWQiKXtyZXR1cm4gZmFsc2V9dGFyZz1ldi50YXJnZXR8fGV2LnNy Y0VsZW1lbnQ7aWYodGFyZy5ub2RlVHlwZT09PW5kbS5kb20ubm9kZVR5cGUuVEVY VF9OT0RFKXt0YXJnPXRhcmcucGFyZW50Tm9kZX1yZXR1cm4gdGFyZ30sZmluZFBv czpmdW5jdGlvbihvYmope3ZhciBjdXJsZWZ0PTAsY3VydG9wPTA7aWYob2JqLm9m ZnNldFBhcmVudCl7Y3VybGVmdD1vYmoub2Zmc2V0TGVmdDtjdXJ0b3A9b2JqLm9m ZnNldFRvcDt3aGlsZSghIW9iai5vZmZzZXRQYXJlbnQpe29iaj1vYmoub2Zmc2V0 UGFyZW50O2N1cmxlZnQrPW9iai5vZmZzZXRMZWZ0O2N1cnRvcCs9b2JqLm9mZnNl dFRvcH19cmV0dXJuW2N1cmxlZnQsY3VydG9wXX0sZmluZFBhcmVudDpmdW5jdGlv bihlLGlkT3JDbGFzcyl7dmFyIHBhcmVuPWUucGFyZW50Tm9kZTtpZighcGFyZW58 fGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09Imh0bWwiKXtyZXR1cm4gZmFsc2V9 ZWxzZXtpZihwYXJlbi5pZD09PWlkT3JDbGFzcyl7cmV0dXJuIHBhcmVufWVsc2V7 aWYobmRtLmRvbS5oYXNDbGFzcyhwYXJlbixpZE9yQ2xhc3MpKXtyZXR1cm4gcGFy ZW59ZWxzZXtyZXR1cm4gYXJndW1lbnRzLmNhbGxlZShwYXJlbixpZE9yQ2xhc3Mp fX19fSxnZXRNb3VzZVBvczpmdW5jdGlvbihlKXt2YXIgZXY9ZXx8d2luZG93LmV2 ZW50O2lmKHR5cGVvZiBldi5wYWdlWT09PSJudW1iZXIiKXtuZG0uZG9tLmdldE1v dXNlUG9zPWZ1bmN0aW9uKGUpe3JldHVyblsoZXx8d2luZG93LmV2ZW50KS5wYWdl WHx8MCwoZXx8d2luZG93LmV2ZW50KS5wYWdlWXx8MF19fWVsc2V7aWYodHlwZW9m IGV2LmNsaWVudFk9PT0ibnVtYmVyIil7bmRtLmRvbS5nZXRNb3VzZVBvcz1mdW5j dGlvbihlKXtyZXR1cm5bKChlfHx3aW5kb3cuZXZlbnQpLmNsaWVudFgrZG9jdW1l bnQuYm9keS5zY3JvbGxMZWZ0KXx8MCwoKGV8fHdpbmRvdy5ldmVudCkuY2xpZW50 WCtkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCl8fDBdfX1lbHNle25kbS5kb20uZ2V0 TW91c2VQb3M9ZnVuY3Rpb24oKXtyZXR1cm5bMCwwXX19fXJldHVybiBuZG0uZG9t LmdldE1vdXNlUG9zKGUpfSxyZXBsYWNlSFRNTDpmdW5jdGlvbihlbCxodG1sKXt2 YXIgb2xkRWwsbmV3RWw7b2xkRWw9KHR5cGVvZiBlbD09PSJzdHJpbmciP2RvY3Vt ZW50LmdldEVsZW1lbnRCeUlkKGVsKTplbCk7aWYoaXNNU0lFKXtwdXJnZShvbGRF bCk7b2xkRWwuaW5uZXJIVE1MPWh0bWw7cmV0dXJuIG9sZEVsfW5ld0VsPW9sZEVs LmNsb25lTm9kZShmYWxzZSk7bmV3RWwuaW5uZXJIVE1MPWh0bWw7b2xkRWwucGFy ZW50Tm9kZS5yZXBsYWNlQ2hpbGQobmV3RWwsb2xkRWwpO3JldHVybiBuZXdFbH0s cHVyZ2U6ZnVuY3Rpb24oZWxlbSl7cHVyZ2UoZWxlbSl9fX0oKTtuZG0uZG9tLnNj aGVkdWxlcj1mdW5jdGlvbigpe3ZhciBlPVtdLGc9W10saT1udWxsLGE9MCxkPTEw MDAsYj04MDAwLGM9ZmFsc2U7dmFyIGY9ZnVuY3Rpb24oKXtpZihhPT09KGcubGVu Z3RoLTEpKXthPTB9ZWxzZXsrK2F9fTt2YXIgaD1mdW5jdGlvbihuKXt2YXIgbCxr LHEscCxvPWZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlfTtpZihuKXtiPW59dmFyIG09 TWF0aC5jZWlsKGIvZCk7Zm9yKGw9MDtsIT09bTtsKyspe2dbbF09b31wPU1hdGgu YWJzKE1hdGguZmxvb3IobS9lLmxlbmd0aCkpKyIiO3A9cGFyc2VJbnQocC5jaGFy QXQocC5sZW5ndGgtMSksMTApO2ZvcihrPTA7ayE9PWUubGVuZ3RoO2srKyl7cT1n Lmxlbmd0aC0oaysxKSpwO2dbcV09ZVtrXX19O3JldHVybntzdGFydDpmdW5jdGlv bihqKXtpZihpIT09bnVsbCl7cmV0dXJuIGZhbHNlfWgoaik7aT13aW5kb3cuc2V0 VGltZW91dChmdW5jdGlvbigpe2lmKHR5cGVvZiBnW2FdPT09ImZ1bmN0aW9uIil7 Z1thXSgpfWYoKTtpPXdpbmRvdy5zZXRUaW1lb3V0KGFyZ3VtZW50cy5jYWxsZWUs ZCl9LGQpO2M9dHJ1ZX0sc3RvcDpmdW5jdGlvbigpe2lmKGkhPT1udWxsKXt3aW5k b3cuY2xlYXJJbnRlcnZhbChpKTtpPW51bGx9fSxhZGRTY2hlZHVsZTpmdW5jdGlv bihqKXtlLnB1c2goaik7aWYoYyl7aChiKX19fX0oKTtuZG0uZG9tLmNsZWFuPWZ1 bmN0aW9uKCl7dmFyIGI9WyJjbGljayIsIm1vdXNlb3ZlciIsIm1vdXNlb3V0Iiwi bW91c2Vkb3duIiwia2V5cHJlc3MiXTt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50 c0J5VGFnTmFtZSgiKiIpO3ZhciBkLGMsYTtmb3IoZD0wLGE9ZS5sZW5ndGg7ZCE9 YTtkKyspe2ZvcihjPTA7YyE9Yi5sZW5ndGg7YysrKXtpZighIWVbZF1bIm9uIiti W2NdXSYmdHlwZW9mIGVbZF1bIm9uIitiW2NdXT09ImZ1bmN0aW9uIil7ZVtkXVsi b24iK2JbY11dPW51bGx9fX19O25kbS5kb20uYWRkTG9hZEV2ZW50KGZ1bmN0aW9u KCl7dmFyIGE7aWYoISFkb2N1bWVudC5ib2R5KXthPWRvY3VtZW50LmJvZHkub251 bmxvYWR8fGZ1bmN0aW9uKCl7cmV0dXJufTtkb2N1bWVudC5ib2R5Lm9udW5sb2Fk PWZ1bmN0aW9uKGIpe25kbS5kb20uY2xlYW4oKTthKGIpfX1yZXR1cm59LGZ1bmN0 aW9uKCl7cmV0dXJuIG5kbS5kb20uaXNJRSgpfSxmdW5jdGlvbigpe3JldHVybiB0 cnVlfSk7aWYodHlwZW9mIE5vZGU9PT0idW5kZWZpbmVkIil7bmRtLmRvbS5ub2Rl VHlwZT17RUxFTUVOVF9OT0RFOjEsQVRUUklCVVRFX05PREU6MixURVhUX05PREU6 MyxDT01NRU5UX05PREU6OCxET0NVTUVOVF9OT0RFOjksRE9DVU1FTlRfRlJBR01F TlRfTk9ERToxMX19ZWxzZXtuZG0uZG9tLm5vZGVUeXBlPU5vZGV9dGFudG8ubmFt ZXNwYWNlKCJuZG0uZG9tLmV2ZW50cyIpO25kbS5kb20uZXZlbnRzPWZ1bmN0aW9u KCl7dmFyIGE9MTtyZXR1cm57YWRkOmZ1bmN0aW9uKGMsZSxkKXt2YXIgYjtpZihj LmFkZEV2ZW50TGlzdGVuZXIpe2MuYWRkRXZlbnRMaXN0ZW5lcihlLGQsZmFsc2Up fWVsc2V7aWYoIWQuJCRndWlkKXtkLiQkZ3VpZD1hKyt9aWYoIWMuZXZlbnRzKXtj LmV2ZW50cz17fX1iPWMuZXZlbnRzW2VdO2lmKCFiKXtiPWMuZXZlbnRzW2VdPXt9 O2lmKGNbIm9uIitlXSl7YlswXT1jWyJvbiIrZV19Y1sib24iK2VdPW5kbS5kb20u ZXZlbnRzLmhhbmRsZX1iW2QuJCRndWlkXT1kfX0scmVtb3ZlOmZ1bmN0aW9uKGIs ZCxjKXtpZihiLnJlbW92ZUV2ZW50TGlzdGVuZXIpe2IucmVtb3ZlRXZlbnRMaXN0 ZW5lcihkLGMsZmFsc2UpfWVsc2V7aWYoYi5ldmVudHMmJmIuZXZlbnRzW2RdJiZj LiQkZ3VpZCl7ZGVsZXRlIGIuZXZlbnRzW2RdW2MuJCRndWlkXX19fSxoYW5kbGU6 ZnVuY3Rpb24oZSl7dmFyIGMsYixkPXRydWU7ZT1lfHxuZG0uZG9tLmV2ZW50cy5m aXgod2luZG93LmV2ZW50KTtiPXRoaXMuZXZlbnRzW2UudHlwZV07Zm9yKGMgaW4g Yil7aWYoYi5oYXNPd25Qcm9wZXJ0eShjKSl7aWYoIU9iamVjdC5wcm90b3R5cGVb Y10pe3RoaXMuJCRoYW5kbGVyPWJbY107aWYodGhpcy4kJGhhbmRsZXIoZSk9PT1m YWxzZSl7ZD1mYWxzZX19fX1pZih0aGlzLiQkaGFuZGxlcil7dGhpcy4kJGhhbmRs ZXI9bnVsbH1yZXR1cm4gZH0sbWVkaWF0ZTpmdW5jdGlvbihjLGIsZCxlKXtuZG0u YW9wLmFkZEJlZm9yZShjLGIsZnVuY3Rpb24oZil7ZFtlXShmKTtyZXR1cm4gZn0p fSxmaXg6ZnVuY3Rpb24oYil7Yi5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3Ro aXMucmV0dXJuVmFsdWU9ZmFsc2V9O2Iuc3RvcFByb3BhZ2F0aW9uPWZ1bmN0aW9u KCl7dGhpcy5jYW5jZWxCdWJibGU9dHJ1ZX07cmV0dXJuIGJ9fX0oKTtuZG0uZG9t LmFkZExvYWRFdmVudChmdW5jdGlvbigpe3ZhciBjLGQsYSxiO2lmKG5kbS5kb20u aXNJRSgpKXtiPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJhIik7Zm9y KGQ9MCxhPWIubGVuZ3RoO2QhPWE7ZCsrKXsoZnVuY3Rpb24oKXtjPWJbZF07aWYo dHlwZW9mIGMub25jbGljaz09PSJmdW5jdGlvbiIpe25kbS5hb3AuYWRkQWZ0ZXIo Yywib25jbGljayIsZnVuY3Rpb24oZSl7ZXZlbnQucmV0dXJuVmFsdWU9ZTtyZXR1 cm4gZX0pfX0oKSl9fX0pO19nbG9iYWxfWyJAbmFtZXNwYWNlIl0oIm5kbS51dGls Iik7bmRtLnV0aWw9ZnVuY3Rpb24oYSl7cmV0dXJue3BhcnNlVXJpOmZ1bmN0aW9u KGYpe3ZhciBiPXtzdHJpY3RNb2RlOmZhbHNlLGtleTpbInNvdXJjZSIsInByb3Rv Y29sIiwiYXV0aG9yaXR5IiwidXNlckluZm8iLCJ1c2VyIiwicGFzc3dvcmQiLCJo b3N0IiwicG9ydCIsInJlbGF0aXZlIiwicGF0aCIsImRpcmVjdG9yeSIsImZpbGUi LCJxdWVyeSIsImFuY2hvciJdLHE6e25hbWU6InF1ZXJ5S2V5IixwYXJzZXI6Lyg/ PS4pJj8oW14mPV0qKT0/KFteJl0qKS9nfSxwYXJzZXI6e3N0cmljdDovXig/Oihb XjpcLz8jXSspOik/KD86XC9cLygoPzooKFteOkBdKik6PyhbXjpAXSopKT9AKT8o W146XC8/I10qKSg/OjooXGQqKSk/KSk/KCgoKD86W14/I1wvXSpcLykqKShbXj8j XSopKSg/Olw/KFteI10qKSk/KD86IyguKikpPykvLGxvb3NlOi9eKD86KD8hW146 QF0rOlteOkBcL10qQCkoW146XC8/Iy5dKyk6KT8oPzpcL1wvKT8oKD86KChbXjpA XSopOj8oW146QF0qKSk/QCk/KFteOlwvPyNdKikoPzo6KFxkKikpPykoKChcLyg/ OltePyNdKD8hW14/I1wvXSpcLltePyNcLy5dKyg/Ols/I118JCkpKSpcLz8pPyhb Xj8jXC9dKikpKD86XD8oW14jXSopKT8oPzojKC4qKSk/KS99fTt2YXIgZz1iLGU9 Zy5wYXJzZXJbZy5zdHJpY3RNb2RlPyJzdHJpY3QiOiJsb29zZSJdLmV4ZWMoZik7 Zm9yKHZhciBjPTAsZD17fTtjPDE0O2MrKyl7ZFtnLmtleVtjXV09ZVtjXXx8IiJ9 ZFtnLnEubmFtZV09e307ZFtnLmtleVsxMl1dLnJlcGxhY2UoZy5xLnBhcnNlcixm dW5jdGlvbihpLGgsail7aWYoaCl7ZFtnLnEubmFtZV1baF09an19KTtyZXR1cm4g ZH19fSgpO19nbG9iYWxfWyJAbmFtZXNwYWNlIl0oIm5kbSIpO25kbS5hb3A9ZnVu Y3Rpb24oKXt2YXIgYT1mdW5jdGlvbihkLGYsYyl7dmFyIGU9ZFtmXTtkW2ZdPWMo ZSl9LGI9ZnVuY3Rpb24oZixkLGUpe3ZhciBjO2lmKGQuZXhlYyl7Yz1mdW5jdGlv bihoKXtyZXR1cm4gZC5leGVjKGgpfX1lbHNle2lmKGQuY2FsbCl7Yz1mdW5jdGlv bihoKXtyZXR1cm4gZC5jYWxsKHRoaXMsaCl9fX1pZihjKXtmb3IodmFyIGcgaW4g Zil7aWYoYyhnKSl7YShmLGcsZSl9fX1lbHNle2EoZixkLGUpfX07cmV0dXJue2Fk ZEJlZm9yZTpmdW5jdGlvbihmLGMsZSl7dmFyIGQ9ZnVuY3Rpb24oZyl7cmV0dXJu IGZ1bmN0aW9uKCl7cmV0dXJuIGcuYXBwbHkodGhpcyxlKGFyZ3VtZW50cyxnLHRo aXMpKX19O2IoZixjLGQpfSxhZGRBZnRlcjpmdW5jdGlvbihlLGMsZil7dmFyIGQ9 ZnVuY3Rpb24oZyl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGYoZy5hcHBseSh0 aGlzLGFyZ3VtZW50cyksYXJndW1lbnRzLGcsdGhpcyl9fTtiKGUsYyxkKX0sYWRk QXJvdW5kOmZ1bmN0aW9uKGYsYyxlKXt2YXIgZD1mdW5jdGlvbihnKXtyZXR1cm4g ZnVuY3Rpb24oKXtyZXR1cm4gZShhcmd1bWVudHMsZyx0aGlzKX19O2IoZixjLGQp fX19KCk7dGFudG8ubmFtZXNwYWNlKCJuZG0uYWpheCIpO25kbS5hamF4PWZ1bmN0 aW9uKCl7dGFudG8uY2FsbGJhY2s9e307dmFyIGE9MCxiPTAsZD17fSxnPW51bGws ZT1udWxsLGM9ZnVuY3Rpb24obCl7dmFyIGs9ZG9jdW1lbnQuZ2V0RWxlbWVudHNC eVRhZ05hbWUoImhlYWQiKVswXSxqPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNj cmlwdCIpO2c9bDtqLmlkPSJ1cGxvYWQtc2NyaXB0IitiO2ouc2V0QXR0cmlidXRl KCJ0eXBlIiwidGV4dC9qYXZhc2NyaXB0Iik7ai5zZXRBdHRyaWJ1dGUoInNyYyIs bCk7aWYoai5zcmMhPT1sKXtqLnNyYz1sfWoub25sb2FkPWZ1bmN0aW9uKCl7cmV0 dXJuIHRydWV9O2lmKGspe2suYXBwZW5kQ2hpbGQoail9ZWxzZXtkb2N1bWVudC53 cml0ZSgnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iJytsKyci PjxcL3NjcmlwdD4nKX0rK2I7cmV0dXJuIGp9LGk9ZnVuY3Rpb24obCl7dmFyIGo9 ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXSxrPWRvY3Vt ZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtnPWw7ay5pZD0idXBsb2FkLWNzcyIr bC5yZXBsYWNlKC9bXmEtel0vLCIiKTtrLnNldEF0dHJpYnV0ZSgidHlwZSIsInRl eHQvY3NzIik7ay5zZXRBdHRyaWJ1dGUoInJlbCIsInN0eWxlc2hlZXQiKTtrLnNl dEF0dHJpYnV0ZSgiaHJlZiIsbCk7aWYoay5ocmVmIT09bCl7ay5ocmVmPWx9ay5v bmxvYWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdHJ1ZX07aWYoail7ai5hcHBlbmRDaGls ZChrKX1lbHNle2RvY3VtZW50LndyaXRlKCc8bGluayByZWw9InN0eWxlc2hlZXQi IHR5cGU9InRleHQvY3NzIiBocmVmPSInK2wrJyIgLz4nKX1yZXR1cm4ga30saD1m dW5jdGlvbihrLG0saixsKXt2YXIgbixvO2lmKCEhbCl7Zm9yKG4gaW4gZCl7aWYo ZC5oYXNPd25Qcm9wZXJ0eShuKSl7aWYobj09PWspe20oZFtrXSk7cmV0dXJuIGZh bHNlfX19fSsrYTtvPXRhbnRvLnV0aWwucGFyc2VVcmkoaykuaG9zdC5yZXBsYWNl KC9bXmEtel0vZ2ksIiIpKyhhKTt0YW50by5jYWxsYmFja1tvXT1mdW5jdGlvbihw KXtkW2tdPXA7bShwKX07aWYoaj09PWZhbHNlKXt3aW5kb3dbInRhbnRvY2FsbGJh Y2siK29dPXRhbnRvLmNhbGxiYWNrW29dO3JldHVybiJ0YW50b2NhbGxiYWNrIitv fXJldHVybiJ0YW50by5jYWxsYmFjay4iK299LGY9ZnVuY3Rpb24oail7cmV0dXJu IGoucmVwbGFjZSgiZm9yKDs7KTsiLCIiKX07cmV0dXJue2RlZmFuZzpmLGluc2Vy dFNjcmlwdDpjLGNhbGxiYWNrSlNPTjpmdW5jdGlvbihtLHAsbCxuLGspe3ZhciBx PWt8fGZhbHNlLGo9aChtLHAsbCxuKSxvO2lmKCFqKXtyZXR1cm59bz1jKG0ucmVw bGFjZSgvdGFudG9bLl1hamF4Wy5dY2FsbGJhY2tIYW5kbGVyL2dpLGopKTtpZigh biYmcSl7aWYoISFlKXtlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZSl9ZT1vfX0s ZmV0Y2hKU09OOmZ1bmN0aW9uKGope3JldHVybiBudWxsfSxYSFI6ZnVuY3Rpb24o KXt2YXIgaj1mdW5jdGlvbihtLG4sbCl7aWYobSYmbS5yZWFkeVN0YXRlPT09NCYm bS5zdGF0dXM9PT0yMDApe2lmKG4pe24obSl9fWVsc2V7aWYobSYmbS5yZWFkeVN0 YXRlPT09NCl7aWYobiYmdHlwZW9mIGw9PT0idW5kZWZpbmVkIil7bih7ZXJyb3I6 MSxzdGF0dXM6bS5zdGF0dXN9KX1lbHNle2lmKGwpe2woe2Vycm9yOjEsc3RhdHVz Om0uc3RhdHVzfSl9fX19fTt2YXIgaz1mdW5jdGlvbigpe3ZhciBtLG8sbCxuO3Ry eXttPW5ldyBYTUxIdHRwUmVxdWVzdCgpO2s9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3 IFhNTEh0dHBSZXF1ZXN0KCl9fWNhdGNoKHApe249WyJNU1hNTDIuWE1MSFRUUC4z LjAiLCJNU1hNTDIuWE1MSFRUUCIsIk1pY3Jvc29mdC5YTUxIVFRQIl07Zm9yKG89 MCxsPW4ubGVuZ3RoO288bDsrK28pe3RyeXttPW5ldyBBY3RpdmVYT2JqZWN0KG5b b10pOyhmdW5jdGlvbigpe2s9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEFjdGl2ZVhP YmplY3QobltvXSl9fSgpKTticmVha31jYXRjaChxKXt9fX1yZXR1cm4gbX07cmV0 dXJuIGZ1bmN0aW9uKHMscSxyLG0sbCxvKXt2YXIgbj1rKCkscDtuLm9wZW4ocyxx LHRydWUpO24uc2V0UmVxdWVzdEhlYWRlcigiWC1SZXF1ZXN0ZWQtV2l0aCIsIlhN TEh0dHBSZXF1ZXN0Iik7aWYodHlwZW9mIG89PSJudW1iZXIiJiZvPjApe3A9c2V0 VGltZW91dChmdW5jdGlvbigpe24uYWJvcnQoKX0sbyl9bi5vbnJlYWR5c3RhdGVj aGFuZ2U9ZnVuY3Rpb24oKXtqKG4scixsKX07bi5zZW5kKG18fG51bGwpO3JldHVy biBufX0oKX19KCk7 ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=network-3rdpartylibs-concat-min.js Content-Type: application/x-javascript; name=network-3rdpartylibs-concat-min.js Content-Location: http://resources1.news.com.au/cs/network/js/library/network-3rdpartylibs-concat-min.js Content-Transfer-Encoding: Base64 aWYoIXdpbmRvdy50YW50byl7ZnVuY3Rpb24gb2JqZWN0KGIpe2Z1bmN0aW9uIGEo KXt9YS5wcm90b3R5cGU9YjtyZXR1cm4gbmV3IGEoKX1mdW5jdGlvbiAkRigpe3Jl dHVybiBmdW5jdGlvbigpe2lmKGFyZ3VtZW50cy5sZW5ndGghPT0wKXtyZXR1cm4g YXJndW1lbnRzfXJldHVybn19aWYodHlwZW9mIF9nbG9iYWxfPT09InVuZGVmaW5l ZCIpe19nbG9iYWxfPXsiQG5hbWVzcGFjZSI6ZnVuY3Rpb24oZyxjKXt2YXIgZCxi PWcuc3BsaXQoIi4iKSxmPXdpbmRvdyxlPWZhbHNlO2lmKC9bXmEtekEtWi5dLy50 ZXN0KGcpKXtjb25zb2xlLmVycm9yKCJAbmFtZXBhY2U6IG5vdCBhIHZhbGlkIG5h bWVzcGFjZSBpZGVudGlmaWVyIik7cmV0dXJuIGZhbHNlfWZvcihkPTA7ZDxiLmxl bmd0aDtkKyspe2lmKCFmW2JbZF1dKXtmW2JbZF1dPXt9O2U9dHJ1ZX1mPWZbYltk XV19aWYoISFjKXtyZXR1cm4gZX1yZXR1cm4gdHJ1ZX0sIkBpbXBvcnQiOmZ1bmN0 aW9uKGMsYSl7Zm9yKHZhciBiIGluIGMpe2lmKGMuaGFzT3duUHJvcGVydHkoYikp e2FbYl09Y1tiXX19fSwiQGV4cG9ydCI6ZnVuY3Rpb24oYixhKXt3aW5kb3dbYV09 Yn0sIkByZXF1aXJlcyI6ZnVuY3Rpb24oaCxnLGYpe3ZhciBkPWZhbHNlLGUsYz0i MjAwOTIyMyIsYixhO2lmKCFnJiZoLmluZGV4T2YoImh0dHAiKTwwJiZ0eXBlb2Yg d2luZG93W2hdIT09InVuZGVmaW5lZCIpe3JldHVybntvbmNvbXBsZXRlOmZ1bmN0 aW9uKGkpe2koKX19fVtdLnBpcGUoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05h bWUoInNjcmlwdCIpKS5mb3JFYWNoKGZ1bmN0aW9uKGkpe2lmKGg9PT1pLnNyYyl7 ZD10cnVlfX0pO2lmKGQmJiFmKXtyZXR1cm57b25jb21wbGV0ZTpmdW5jdGlvbihp KXtpKCl9fX1lPSJodHRwOi8vbmV0d29yay5uZXdzLmNvbS5hdS9qcy8iO2I9eyJu ZG0uJCI6Im5kbS5zaG9ydGhhbmQuanMiLCJuZG0uZnVuY3Rpb25hbCI6ImZ1bmN0 aW9uYWwuanMiLCJuZG0uY29udHJvbHMuY2FsZW5kYXIiOiJuZG0uY29udHJvbHMu Y2FsZW5kYXIuanMvMCwsIitjKyIsMDAuanMiLCJuZG0uY29udHJvbHMuYXV0b2Nv bXBsZXRlIjoibmRtLmNvbnRyb2xzLmF1dG9jb21wbGV0ZS5qcy8wLCwiK2MrIiww MC5qcyIsIm5kbS5jb250cm9scy50aGluZ29tYXRpYyI6Im5kbS5jb250cm9scy50 aGluZ29tYXRpYy5qcy8wLCwiK2MrIiwwMC5qcyIsIm5kbS5jb250cm9scy56ZWJy YSI6Im5kbS5jb250cm9scy56ZWJyYS5qcy8wLCwiK2MrIiwwMC5qcyIsIm5kbS5j b250cm9scy5zb3J0YWJsZSI6Im5kbS5jb250cm9scy5zb3J0YWJsZS5qcy8wLCwi K2MrIiwwMC5qcyJ9O2lmKChuZG0uYWpheCYmISFiW2hdKXx8aC5pbmRleE9mKCJo dHRwIik+PTB8fCEhZyl7aWYoaC5pbmRleE9mKCJodHRwIik+PTB8fCEhZyl7YT1u ZG0uYWpheC5pbnNlcnRTY3JpcHQoaCl9ZWxzZXthPW5kbS5hamF4Lmluc2VydFNj cmlwdCgoZStiW2hdKSl9aWYobmRtLmRvbS5pc0lFKCkpe2Eub25jb21wbGV0ZT1m dW5jdGlvbihpKXthLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe2lmKHRo aXMucmVhZHlTdGF0ZSE9ImxvYWRlZCImJnRoaXMucmVhZHlTdGF0ZSE9ImNvbXBs ZXRlIil7cmV0dXJufWVsc2V7aSgpfX19fWVsc2V7YS5vbmNvbXBsZXRlPWZ1bmN0 aW9uKGkpe2lmKGEuYWRkRXZlbnRMaXN0ZW5lciYmL0hUTUxTY3JpcHRFbGVtZW50 Ly50ZXN0KGEpKXthLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKCl7 aSgpfSxmYWxzZSl9ZWxzZXthLm9ubG9hZD1pO3JldHVybiBhfX19cmV0dXJuIGF9 ZWxzZXtjb25zb2xlLmxvZygiTWlzc2luZyBtb2R1bGUuIENoZWNrIHlvdXIgc291 cmNlIHZlcnNpb24uIEFib3J0aW5nIG5vdy4iKTt0aHJvdydGYXRhbCBlcnJvcjog bW9kdWxlICInK2grJyIgbm90IGZvdW5kJ31yZXR1cm4gdHJ1ZX19fWlmKCghZG9j dW1lbnQuZ2V0RWxlbWVudEJ5SWQpJiZkb2N1bWVudC5hbGwpe2RvY3VtZW50Lmdl dEVsZW1lbnRCeUlkPWZ1bmN0aW9uKGEpe3JldHVybiBkb2N1bWVudC5hbGxbYV19 fWlmKCFBcnJheS5wcm90b3R5cGUuaW5kZXhPZil7QXJyYXkucHJvdG90eXBlLmlu ZGV4T2Y9ZnVuY3Rpb24oYixjKXt2YXIgYT10aGlzLmxlbmd0aCxkPU51bWJlcihh cmd1bWVudHNbMV0pfHwwO2Q9KGQ8MCk/TWF0aC5jZWlsKGQpOk1hdGguZmxvb3Io ZCk7aWYoZDwwKXtkKz1hfWZvcig7ZDxhO2QrKyl7aWYoZCBpbiB0aGlzJiZ0aGlz W2RdPT09Yil7cmV0dXJuIGR9fXJldHVybiAtMX19aWYoIUFycmF5LnByb3RvdHlw ZS5tYXApe0FycmF5LnByb3RvdHlwZS5tYXA9ZnVuY3Rpb24oYil7dmFyIGE9dGhp cy5sZW5ndGgsZSxkLGM7aWYodHlwZW9mIGIhPSJmdW5jdGlvbiIpe3Rocm93IG5l dyBUeXBlRXJyb3IoKX1kPVtdO2M9YXJndW1lbnRzWzFdO2ZvcihlPTA7ZTxhO2Ur Kyl7aWYoZSBpbiB0aGlzKXtkW2VdPWIuY2FsbChjLHRoaXNbZV0sZSx0aGlzKX19 cmV0dXJuIGR9fWlmKCFBcnJheS5wcm90b3R5cGUuZmlsdGVyKXtBcnJheS5wcm90 b3R5cGUuZmlsdGVyPWZ1bmN0aW9uKGIpe3ZhciBhPXRoaXMubGVuZ3RoLGUsZCxj LGY7aWYodHlwZW9mIGIhPSJmdW5jdGlvbiIpe3Rocm93IG5ldyBUeXBlRXJyb3Io KX1kPVtdO2M9YXJndW1lbnRzWzFdO2ZvcihlPTA7ZTxhO2UrKyl7aWYoZSBpbiB0 aGlzKXtmPXRoaXNbZV07aWYoYi5jYWxsKGMsZixlLHRoaXMpKXtkLnB1c2goZil9 fX1yZXR1cm4gZH19aWYoIUFycmF5LnByb3RvdHlwZS5mb3JFYWNoKXtBcnJheS5w cm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbihiKXt2YXIgYT10aGlzLmxlbmd0aCxk LGM7aWYodHlwZW9mIGIhPSJmdW5jdGlvbiIpe3Rocm93IG5ldyBUeXBlRXJyb3Io KX1jPWFyZ3VtZW50c1sxXTtmb3IoZD0wO2Q8YTtkKyspe2lmKGQgaW4gdGhpcyl7 Yi5jYWxsKGMsdGhpc1tkXSxkLHRoaXMpfX19fUFycmF5LnByb3RvdHlwZS5waXBl PWZ1bmN0aW9uKGQpe2lmKHR5cGVvZiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2Fs bD09ImZ1bmN0aW9uIiYmZCBpbnN0YW5jZW9mIE9iamVjdCl7cmV0dXJuIHRoaXMu Y29uY2F0KEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGQpKX12YXIgYixhO2Zv cihiPTAsYT1kLmxlbmd0aDtiPGE7Yj1iKzEpe3RoaXMucHVzaChkW2JdKX1yZXR1 cm4gdGhpc307KGZ1bmN0aW9uKCl7dmFyIGIsYTtpZih0eXBlb2YgY29uc29sZT09 PSJ1bmRlZmluZWQiKXtpZighKCJjb25zb2xlIiBpbiB3aW5kb3cpfHwhKCJmaXJl YnVnIiBpbiBjb25zb2xlKSl7Yj1bImxvZyIsImRlYnVnIiwiaW5mbyIsIndhcm4i LCJlcnJvciIsImFzc2VydCIsImRpciIsImRpcnhtbCIsImdyb3VwIiwiZ3JvdXBF bmQiLCJ0aW1lIiwidGltZUVuZCIsImNvdW50IiwidHJhY2UiLCJwcm9maWxlIiwi cHJvZmlsZUVuZCJdO3dpbmRvdy5jb25zb2xlPXt9O2ZvcihhPTA7YTxiLmxlbmd0 aDsrK2EpeyhmdW5jdGlvbigpe3dpbmRvdy5jb25zb2xlW2JbYV1dPWZ1bmN0aW9u KCl7fX0oKSl9fX19KCkpO0RhdGUucHJvdG90eXBlLmZvcm1hdD1mdW5jdGlvbihh KXt2YXIgYj10aGlzLGM9ZnVuY3Rpb24oZyxmKXt2YXIgZT0wLGQ7aWYoIWYpe2Y9 Mn1nPVN0cmluZyhnKTtmb3IoZT0wLGQ9IiI7ZTwoZi1nLmxlbmd0aCk7ZSsrKXtk Kz0iMCJ9cmV0dXJuIGQrZ307cmV0dXJuIGEucmVwbGFjZSgvIlteIl0qInwnW14n XSonfFxiKD86ZHsxLDR9fG17MSw0fXx5eSg/Onl5KT98KFtoSE1zXSlcMT98VFR8 dHR8W2xMXSlcYi9nLGZ1bmN0aW9uKGUpe3N3aXRjaChlKXtjYXNlImQiOnJldHVy biBiLmdldERhdGUoKTtjYXNlImRkIjpyZXR1cm4gYyhiLmdldERhdGUoKSk7Y2Fz ZSJkZGQiOnJldHVyblsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGhyIiwiRnJp IiwiU2F0Il1bYi5nZXREYXkoKV07Y2FzZSJkZGRkIjpyZXR1cm5bIlN1bmRheSIs Ik1vbmRheSIsIlR1ZXNkYXkiLCJXZWRuZXNkYXkiLCJUaHVyc2RheSIsIkZyaWRh eSIsIlNhdHVyZGF5Il1bYi5nZXREYXkoKV07Y2FzZSJtIjpyZXR1cm4gYi5nZXRN b250aCgpKzE7Y2FzZSJtbSI6cmV0dXJuIGMoYi5nZXRNb250aCgpKzEpO2Nhc2Ui bW1tIjpyZXR1cm5bIkphbiIsIkZlYiIsIk1hciIsIkFwciIsIk1heSIsIkp1biIs Ikp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyJdW2IuZ2V0TW9udGgo KV07Y2FzZSJtbW1tIjpyZXR1cm5bIkphbnVhcnkiLCJGZWJydWFyeSIsIk1hcmNo IiwiQXByaWwiLCJNYXkiLCJKdW5lIiwiSnVseSIsIkF1Z3VzdCIsIlNlcHRlbWJl ciIsIk9jdG9iZXIiLCJOb3ZlbWJlciIsIkRlY2VtYmVyIl1bYi5nZXRNb250aCgp XTtjYXNlInl5IjpyZXR1cm4gU3RyaW5nKGIuZ2V0RnVsbFllYXIoKSkuc3Vic3Ry KDIpO2Nhc2UieXl5eSI6cmV0dXJuIGIuZ2V0RnVsbFllYXIoKTtjYXNlImgiOnJl dHVybiBiLmdldEhvdXJzKCklMTJ8fDEyO2Nhc2UiaGgiOnJldHVybiBjKGIuZ2V0 SG91cnMoKSUxMnx8MTIpO2Nhc2UiSCI6cmV0dXJuIGIuZ2V0SG91cnMoKTtjYXNl IkhIIjpyZXR1cm4gYyhiLmdldEhvdXJzKCkpO2Nhc2UiTSI6cmV0dXJuIGIuZ2V0 TWludXRlcygpO2Nhc2UiTU0iOnJldHVybiBjKGIuZ2V0TWludXRlcygpKTtjYXNl InMiOnJldHVybiBiLmdldFNlY29uZHMoKTtjYXNlInNzIjpyZXR1cm4gYyhiLmdl dFNlY29uZHMoKSk7Y2FzZSJsIjpyZXR1cm4gYyhiLmdldE1pbGxpc2Vjb25kcygp LDMpO2Nhc2UiTCI6dmFyIGQ9Yi5nZXRNaWxsaXNlY29uZHMoKTtpZihkPjk5KXtk PU1hdGgucm91bmQoZC8xMCl9cmV0dXJuIGMoZCk7Y2FzZSJ0dCI6cmV0dXJuIGIu Z2V0SG91cnMoKTwxMj8iYW0iOiJwbSI7Y2FzZSJUVCI6cmV0dXJuIGIuZ2V0SG91 cnMoKTwxMj8iQU0iOiJQTSI7ZGVmYXVsdDpyZXR1cm4gZS5zdWJzdHIoMSxlLmxl bmd0aC0yKX19KX07X2dsb2JhbF9bIkBuYW1lc3BhY2UiXSgidGFudG8iKTtfZ2xv YmFsX1siQG5hbWVzcGFjZSJdKCJuZG0iKTt0YW50bz1uZG07dGFudG8ubmFtZXNw YWNlPV9nbG9iYWxfWyJAbmFtZXNwYWNlIl07dGFudG8ubG9hZD1fZ2xvYmFsX1si QHJlcXVpcmVzIl07dGFudG8ubG9hZEFsbD1mdW5jdGlvbihjKXt2YXIgYT1jLnJl cGxhY2UoL1tcc10vZ2ksIiIpLnNwbGl0KCIsIiksZD1bXSxmLGIsZT1mdW5jdGlv bihpKXt2YXIgZz1mYWxzZSxoO2ZvcihoPTA7aCE9YS5sZW5ndGg7aCsrKXtpZihp PT09YVtoXSl7ZFtoXT10cnVlfWlmKCEhZFtoXSl7Zz10cnVlfWVsc2V7Zz1mYWxz ZX19aWYoISFnJiZ0eXBlb2YgZj09ImZ1bmN0aW9uIil7ZigpfX07Zm9yKGI9MDti IT1hLmxlbmd0aDtiKyspeyhmdW5jdGlvbigpe3ZhciBnPWFbYl0saD1iO2RbaF09 ZmFsc2U7dGFudG8ubG9hZChnLHRydWUpLm9uY29tcGxldGUoZnVuY3Rpb24oKXtl KGcpfSl9KCkpfXJldHVybntvbmNvbXBsZXRlOmZ1bmN0aW9uKGcpe2Y9Z319fTt0 YW50by5sb2FkU2VxdWVuY2U9ZnVuY3Rpb24oYyl7dmFyIGE9Yy5yZXBsYWNlKC9b XHNdL2dpLCIiKS5zcGxpdCgiLCIpLGUsYj0wLGQ9ZnVuY3Rpb24oZil7aWYoZj09 PWEubGVuZ3RoLTEpe3JldHVybiBmdW5jdGlvbigpe3RhbnRvLmxvYWQoYVtmXSx0 cnVlKS5vbmNvbXBsZXRlKGZ1bmN0aW9uKCl7ZSgpfSl9fWVsc2V7cmV0dXJuIGZ1 bmN0aW9uKCl7dGFudG8ubG9hZChhW2ZdLHRydWUpLm9uY29tcGxldGUoZChmKzEp KX19fTt0YW50by5sb2FkKGFbYl0sdHJ1ZSkub25jb21wbGV0ZShkKGIrMSkpO3Jl dHVybntvbmNvbXBsZXRlOmZ1bmN0aW9uKGYpe2U9Zn19fTtfZ2xvYmFsX1siQG5h bWVzcGFjZSJdKCJuZG0uZG9tIik7bmRtLmRvbT1mdW5jdGlvbigpe3ZhciBpbml0 TGlzdD1bXSxfdGltZXI9bnVsbCxpO3ZhciBpbml0PWZ1bmN0aW9uKCl7aWYoYXJn dW1lbnRzLmNhbGxlZS5kb25lKXtyZXR1cm59YXJndW1lbnRzLmNhbGxlZS5kb25l PXRydWU7bmRtLmRvbS5sb2FkZWQ9dHJ1ZTtpZihfdGltZXIpe3dpbmRvdy5jbGVh ckludGVydmFsKF90aW1lcik7X3RpbWVyPW51bGx9Zm9yKGk9MDtpIT09aW5pdExp c3QubGVuZ3RoO2krKyl7aW5pdExpc3RbaV0uYXNzZXJ0KCl9fTt2YXIgaXNNU0lF PQovKkBjY19vbiFAKi8KZmFsc2U7dmFyIEluaXRCdW5kbGU9ZnVuY3Rpb24oZnVu Y3RvcixwcmVjb25kaXRpb24scG9zdGNvbmRpdGlvbil7dGhpcy5mdW5jdG9yPWZ1 bmN0b3I7dGhpcy5wcmVjb25kaXRpb249cHJlY29uZGl0aW9uO3RoaXMucG9zdGNv bmRpdGlvbj1wb3N0Y29uZGl0aW9ufTtJbml0QnVuZGxlLnByb3RvdHlwZS5hc3Nl cnQ9ZnVuY3Rpb24oKXtpZih0aGlzLnByZWNvbmRpdGlvbi5jYWxsKCk9PT10cnVl KXt0aGlzLmZ1bmN0b3IuY2FsbCgpO2lmKHRoaXMucG9zdGNvbmRpdGlvbi5jYWxs KCk9PT10cnVlKXtyZXR1cm4gdHJ1ZX1lbHNle3JldHVybiBmYWxzZX19ZWxzZXty ZXR1cm4gZmFsc2V9fTtpZihkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKXtkb2N1 bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixpbml0LG51 bGwpfWlmKGlzTVNJRSYmZmFsc2Upe2RvY3VtZW50LndyaXRlKCI8c2NyaXB0IGlk PV9fcmVhZHkgZGVmZXIgc3JjPS8vOj48XC9zY3JpcHQ+Iik7ZG9jdW1lbnQuYWxs Ll9fcmVhZHkub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYodGhpcy5y ZWFkeVN0YXRlPT0iY29tcGxldGUiKXt0aGlzLnJlbW92ZU5vZGUoKTtpbml0KCl9 fX1pZigvV2ViS2l0L2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSl7X3RpbWVy PXdpbmRvdy5zZXRJbnRlcnZhbChmdW5jdGlvbigpe2lmKC9sb2FkZWR8Y29tcGxl dGUvLnRlc3QoZG9jdW1lbnQucmVhZHlTdGF0ZSkpe2luaXQoKX19LDEwKX12YXIg b2xkPXdpbmRvdy5vbmxvYWR8fCRGO3dpbmRvdy5vbmxvYWQ9ZnVuY3Rpb24oZXYp e2luaXQoKTtpZihpc01TSUUpe3RyeXtkb2N1bWVudC5leGVjQ29tbWFuZCgiQmFj a2dyb3VuZEltYWdlQ2FjaGUiLGZhbHNlLHRydWUpfWNhdGNoKGUpe319b2xkKGV2 KX07dmFyIHB1cmdlPWZ1bmN0aW9uKGQpe3ZhciBhPWQuYXR0cmlidXRlcyxpLGws bjtpZihhKXtmb3IoaT0wLGw9YS5sZW5ndGg7aTxsO2krPTEpe249YVtpXS5uYW1l O2lmKHR5cGVvZiBkW25dPT09ImZ1bmN0aW9uIil7ZFtuXT1udWxsfX19YT1kLmNo aWxkTm9kZXM7aWYoYSl7bD1hLmxlbmd0aDtmb3IoaT0wO2k8bDtpKz0xKXtwdXJn ZShkLmNoaWxkTm9kZXNbaV0pfX19O3JldHVybntoYXNDbGFzczpmdW5jdGlvbihl bCxjbGFzc05hbWUpe3ZhciByZT1lbC5jbGFzc05hbWUuc3BsaXQoIiAiKTtyZXR1 cm4gLTEhPT1yZS5pbmRleE9mKGNsYXNzTmFtZSl9LGdldEVsZW1lbnRzQnlDbGFz c05hbWU6ZnVuY3Rpb24oKXtpZihkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NO YW1lKXtyZXR1cm4gZnVuY3Rpb24oY2xhc3NOYW1lLHBhcmVudEVsZW1lbnQsbm9k ZU5hbWUpe3ZhciBwYXJlbj1udWxsLGVsbj1udWxsLHM7aWYodHlwZW9mIHBhcmVu dEVsZW1lbnQ9PT0ic3RyaW5nIil7ZWxuPXBhcmVudEVsZW1lbnQ7cGFyZW49bm9k ZU5hbWU7aWYocGFyZW49PT1udWxsJiZhcmd1bWVudHMubGVuZ3RoPT09Myl7cmV0 dXJuW119fWVsc2V7ZWxuPW5vZGVOYW1lO3BhcmVuPXBhcmVudEVsZW1lbnQ7aWYo cGFyZW49PT1udWxsJiZhcmd1bWVudHMubGVuZ3RoPT09Mil7cmV0dXJuW119fXM9 KHBhcmVufHxkb2N1bWVudCkuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShjbGFzc05h bWUpO2lmKGVsbiYmZWxuIT0iKiImJnR5cGVvZiBBcnJheS5wcm90b3R5cGUuZmls dGVyIT0idW5kZWZpbmVkIil7ZWxuPWVsbi50b1VwcGVyQ2FzZSgpO3JldHVybiBB cnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwocyxmdW5jdGlvbihlbCl7cmV0dXJu IGVsLm5vZGVOYW1lPT1lbG59KX1lbHNle3JldHVybiBBcnJheS5wcm90b3R5cGUu c2xpY2UuY2FsbChzLDApfX19aWYoZG9jdW1lbnQuZXZhbHVhdGUpe3JldHVybiBm dW5jdGlvbihjbGFzc05hbWUscGFyZW50RWxlbWVudCxub2RlTmFtZSl7dmFyIHBh cmVuPW51bGwsZWxuPW51bGw7aWYodHlwZW9mIHBhcmVudEVsZW1lbnQ9PT0ic3Ry aW5nIil7ZWxuPXBhcmVudEVsZW1lbnQ7cGFyZW49bm9kZU5hbWV9ZWxzZXtlbG49 bm9kZU5hbWU7cGFyZW49cGFyZW50RWxlbWVudH1pZighZWxuKXtlbG49IioifWlm KCFwYXJlbil7cGFyZW49ZG9jdW1lbnR9dmFyIHJlc3VsdHM9W10scyxpPTAsZWxl bWVudDtzPWRvY3VtZW50LmV2YWx1YXRlKCIuLy8iK2VsbisiW2NvbnRhaW5zKGNv bmNhdCgnICcsIEBjbGFzcywgJyAnKSwgJyAiK2NsYXNzTmFtZSsiICcpXSIscGFy ZW4sbnVsbCxYUGF0aFJlc3VsdC5PUkRFUkVEX05PREVfU05BUFNIT1RfVFlQRSxu dWxsKTt3aGlsZSgoZWxlbWVudD1zLnNuYXBzaG90SXRlbShpKyspKSl7cmVzdWx0 cy5wdXNoKGVsZW1lbnQpfXJldHVybiByZXN1bHRzfX1yZXR1cm4gZnVuY3Rpb24o Y2xhc3NOYW1lLHBhcmVudEVsZW1lbnQsbm9kZU5hbWUpe3ZhciBwYXJlbj1udWxs LGVsbj1udWxsO2lmKHR5cGVvZiBwYXJlbnRFbGVtZW50PT09InN0cmluZyIpe2Vs bj1wYXJlbnRFbGVtZW50O3BhcmVuPW5vZGVOYW1lfWVsc2V7ZWxuPW5vZGVOYW1l O3BhcmVuPXBhcmVudEVsZW1lbnR9aWYoIWVsbil7ZWxuPSIqIn1pZighcGFyZW4p e3BhcmVuPWRvY3VtZW50fXZhciByZXN1bHRzPVtdLHM9cGFyZW4uZ2V0RWxlbWVu dHNCeVRhZ05hbWUoZWxuKSxpPTAsZWxlbWVudCxlbGVtZW50Q2xhc3NOYW1lO3do aWxlKChlbGVtZW50PXNbaSsrXSkpe2lmKChlbGVtZW50Q2xhc3NOYW1lPWVsZW1l bnQuY2xhc3NOYW1lKSYmKGVsZW1lbnRDbGFzc05hbWU9PWNsYXNzTmFtZXx8bmRt LmRvbS5oYXNDbGFzcyhlbGVtZW50LGNsYXNzTmFtZSkpKXtyZXN1bHRzLnB1c2go ZWxlbWVudCl9fXJldHVybiByZXN1bHRzfX0oKSxpc0lFOmZ1bmN0aW9uKCl7cmV0 dXJuICEhaXNNU0lFfSxhZGRMb2FkRXZlbnQ6ZnVuY3Rpb24oZnVuY3RvcixwcmVj b25kaXRpb24scG9zdGNvbmRpdGlvbil7dmFyIF9wcmVjb25kaXRpb249cHJlY29u ZGl0aW9ufHxmdW5jdGlvbigpe3JldHVybiB0cnVlfSxfcG9zdGNvbmRpdGlvbj1w b3N0Y29uZGl0aW9ufHxmdW5jdGlvbigpe3JldHVybiB0cnVlfSxpYj1uZXcgSW5p dEJ1bmRsZShmdW5jdG9yLF9wcmVjb25kaXRpb24sX3Bvc3Rjb25kaXRpb24pO2lu aXRMaXN0LnB1c2goaWIpO3JldHVybiB0cnVlfSxnZXRDdXJyZW50U3R5bGU6ZnVu Y3Rpb24oZWxlbSxwcm9wKXt2YXIgYXIscyxpO2lmKGVsZW0uY3VycmVudFN0eWxl KXthcj1wcm9wLm1hdGNoKC9cd1teXC1dKi9nKTtzPWFyWzBdO2ZvcihpPTE7aTxh ci5sZW5ndGg7KytpKXtzKz1hcltpXS5yZXBsYWNlKC9cdy8sYXJbaV0uY2hhckF0 KDApLnRvVXBwZXJDYXNlKCkpfXJldHVybiBlbGVtLmN1cnJlbnRTdHlsZVtzXX1l bHNle2lmKGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUpe3Jl dHVybiBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKGVsZW0s bnVsbCkuZ2V0UHJvcGVydHlWYWx1ZShwcm9wKX1lbHNle3JldHVybiIifX19LGdl dFBhZ2VTaXplOmZ1bmN0aW9uKCl7dmFyIHhTY3JvbGwseVNjcm9sbDtpZih3aW5k b3cuaW5uZXJIZWlnaHQmJndpbmRvdy5zY3JvbGxNYXhZKXt4U2Nyb2xsPWRvY3Vt ZW50LmJvZHkuc2Nyb2xsV2lkdGg7eVNjcm9sbD13aW5kb3cuaW5uZXJIZWlnaHQr d2luZG93LnNjcm9sbE1heFl9ZWxzZXtpZihkb2N1bWVudC5ib2R5LnNjcm9sbEhl aWdodD5kb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodCl7eFNjcm9sbD1kb2N1bWVu dC5ib2R5LnNjcm9sbFdpZHRoO3lTY3JvbGw9ZG9jdW1lbnQuYm9keS5zY3JvbGxI ZWlnaHR9ZWxzZXt4U2Nyb2xsPWRvY3VtZW50LmJvZHkub2Zmc2V0V2lkdGg7eVNj cm9sbD1kb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodH19dmFyIHdpbmRvd1dpZHRo LHdpbmRvd0hlaWdodDtpZih3aW5kb3cuaW5uZXJIZWlnaHQpe3dpbmRvd1dpZHRo PXdpbmRvdy5pbm5lcldpZHRoO3dpbmRvd0hlaWdodD13aW5kb3cuaW5uZXJIZWln aHR9ZWxzZXtpZihkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJmRvY3VtZW50LmRv Y3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQpe3dpbmRvd1dpZHRoPWRvY3VtZW50 LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aDt3aW5kb3dIZWlnaHQ9ZG9jdW1l bnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodH1lbHNle2lmKGRvY3VtZW50 LmJvZHkpe3dpbmRvd1dpZHRoPWRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGg7d2lu ZG93SGVpZ2h0PWRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0fX19dmFyIHBhZ2VI ZWlnaHQ9MDtpZih5U2Nyb2xsPHdpbmRvd0hlaWdodCl7cGFnZUhlaWdodD13aW5k b3dIZWlnaHR9ZWxzZXtwYWdlSGVpZ2h0PXlTY3JvbGx9dmFyIHBhZ2VXaWR0aD0w O2lmKHhTY3JvbGw8d2luZG93V2lkdGgpe3BhZ2VXaWR0aD13aW5kb3dXaWR0aH1l bHNle3BhZ2VXaWR0aD14U2Nyb2xsfXJldHVybltwYWdlV2lkdGgscGFnZUhlaWdo dCx3aW5kb3dXaWR0aCx3aW5kb3dIZWlnaHRdfSxnZXRQYWdlU2Nyb2xsOmZ1bmN0 aW9uKCl7aWYodHlwZW9mIHdpbmRvdy5wYWdlWU9mZnNldD09Im51bWJlciIpe25k bS5kb20uZ2V0UGFnZVNjcm9sbD1mdW5jdGlvbigpe3JldHVyblsiIix3aW5kb3cu cGFnZVlPZmZzZXRdfX1lbHNle2lmKHR5cGVvZiBkb2N1bWVudC5jb21wYXRNb2Rl PT0ic3RyaW5nIiYmZG9jdW1lbnQuY29tcGF0TW9kZS5pbmRleE9mKCJDU1MiKT49 MCYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50JiZ0eXBlb2YgZG9jdW1lbnQuZG9j dW1lbnRFbGVtZW50LnNjcm9sbFRvcD09Im51bWJlciIpe25kbS5kb20uZ2V0U2Ny b2xsWT1mdW5jdGlvbigpe3JldHVyblsiIixkb2N1bWVudC5kb2N1bWVudEVsZW1l bnQuc2Nyb2xsVG9wXX19ZWxzZXtpZihkb2N1bWVudC5ib2R5JiZ0eXBlb2YgZG9j dW1lbnQuYm9keS5zY3JvbGxUb3A9PSJudW1iZXIiKXtuZG0uZG9tLmdldFBhZ2VT Y3JvbGw9ZnVuY3Rpb24oKXtyZXR1cm5bIiIsZG9jdW1lbnQuYm9keS5zY3JvbGxU b3BdfX1lbHNle25kbS5kb20uZ2V0UGFnZVNjcm9sbD1mdW5jdGlvbigpe3JldHVy blsiIixOYU5dfX19fXJldHVybiBuZG0uZG9tLmdldFBhZ2VTY3JvbGwoKX0sZ2V0 RXZlbnRUYXJnZXQ6ZnVuY3Rpb24oZSl7dmFyIGV2PWV8fHdpbmRvdy5ldmVudCx0 YXJnO2lmKHR5cGVvZiBldj09PSJ1bmRlZmluZWQiKXtyZXR1cm4gZmFsc2V9dGFy Zz1ldi50YXJnZXR8fGV2LnNyY0VsZW1lbnQ7aWYodGFyZy5ub2RlVHlwZT09PW5k bS5kb20ubm9kZVR5cGUuVEVYVF9OT0RFKXt0YXJnPXRhcmcucGFyZW50Tm9kZX1y ZXR1cm4gdGFyZ30sZmluZFBvczpmdW5jdGlvbihvYmope3ZhciBjdXJsZWZ0PTAs Y3VydG9wPTA7aWYob2JqLm9mZnNldFBhcmVudCl7Y3VybGVmdD1vYmoub2Zmc2V0 TGVmdDtjdXJ0b3A9b2JqLm9mZnNldFRvcDt3aGlsZSghIW9iai5vZmZzZXRQYXJl bnQpe29iaj1vYmoub2Zmc2V0UGFyZW50O2N1cmxlZnQrPW9iai5vZmZzZXRMZWZ0 O2N1cnRvcCs9b2JqLm9mZnNldFRvcH19cmV0dXJuW2N1cmxlZnQsY3VydG9wXX0s ZmluZFBhcmVudDpmdW5jdGlvbihlLGlkT3JDbGFzcyl7dmFyIHBhcmVuPWUucGFy ZW50Tm9kZTtpZighcGFyZW58fGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09Imh0 bWwiKXtyZXR1cm4gZmFsc2V9ZWxzZXtpZihwYXJlbi5pZD09PWlkT3JDbGFzcyl7 cmV0dXJuIHBhcmVufWVsc2V7aWYobmRtLmRvbS5oYXNDbGFzcyhwYXJlbixpZE9y Q2xhc3MpKXtyZXR1cm4gcGFyZW59ZWxzZXtyZXR1cm4gYXJndW1lbnRzLmNhbGxl ZShwYXJlbixpZE9yQ2xhc3MpfX19fSxnZXRNb3VzZVBvczpmdW5jdGlvbihlKXt2 YXIgZXY9ZXx8d2luZG93LmV2ZW50O2lmKHR5cGVvZiBldi5wYWdlWT09PSJudW1i ZXIiKXtuZG0uZG9tLmdldE1vdXNlUG9zPWZ1bmN0aW9uKGUpe3JldHVyblsoZXx8 d2luZG93LmV2ZW50KS5wYWdlWHx8MCwoZXx8d2luZG93LmV2ZW50KS5wYWdlWXx8 MF19fWVsc2V7aWYodHlwZW9mIGV2LmNsaWVudFk9PT0ibnVtYmVyIil7bmRtLmRv bS5nZXRNb3VzZVBvcz1mdW5jdGlvbihlKXtyZXR1cm5bKChlfHx3aW5kb3cuZXZl bnQpLmNsaWVudFgrZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0KXx8MCwoKGV8fHdp bmRvdy5ldmVudCkuY2xpZW50WCtkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCl8fDBd fX1lbHNle25kbS5kb20uZ2V0TW91c2VQb3M9ZnVuY3Rpb24oKXtyZXR1cm5bMCww XX19fXJldHVybiBuZG0uZG9tLmdldE1vdXNlUG9zKGUpfSxyZXBsYWNlSFRNTDpm dW5jdGlvbihlbCxodG1sKXt2YXIgb2xkRWwsbmV3RWw7b2xkRWw9KHR5cGVvZiBl bD09PSJzdHJpbmciP2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsKTplbCk7aWYo aXNNU0lFKXtwdXJnZShvbGRFbCk7b2xkRWwuaW5uZXJIVE1MPWh0bWw7cmV0dXJu IG9sZEVsfW5ld0VsPW9sZEVsLmNsb25lTm9kZShmYWxzZSk7bmV3RWwuaW5uZXJI VE1MPWh0bWw7b2xkRWwucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQobmV3RWwsb2xk RWwpO3JldHVybiBuZXdFbH0scHVyZ2U6ZnVuY3Rpb24oZWxlbSl7cHVyZ2UoZWxl bSl9fX0oKTtuZG0uZG9tLnNjaGVkdWxlcj1mdW5jdGlvbigpe3ZhciBlPVtdLGc9 W10saT1udWxsLGE9MCxkPTEwMDAsYj04MDAwLGM9ZmFsc2U7dmFyIGY9ZnVuY3Rp b24oKXtpZihhPT09KGcubGVuZ3RoLTEpKXthPTB9ZWxzZXsrK2F9fTt2YXIgaD1m dW5jdGlvbihuKXt2YXIgbCxrLHEscCxvPWZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNl fTtpZihuKXtiPW59dmFyIG09TWF0aC5jZWlsKGIvZCk7Zm9yKGw9MDtsIT09bTts Kyspe2dbbF09b31wPU1hdGguYWJzKE1hdGguZmxvb3IobS9lLmxlbmd0aCkpKyIi O3A9cGFyc2VJbnQocC5jaGFyQXQocC5sZW5ndGgtMSksMTApO2ZvcihrPTA7ayE9 PWUubGVuZ3RoO2srKyl7cT1nLmxlbmd0aC0oaysxKSpwO2dbcV09ZVtrXX19O3Jl dHVybntzdGFydDpmdW5jdGlvbihqKXtpZihpIT09bnVsbCl7cmV0dXJuIGZhbHNl fWgoaik7aT13aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpe2lmKHR5cGVvZiBn W2FdPT09ImZ1bmN0aW9uIil7Z1thXSgpfWYoKTtpPXdpbmRvdy5zZXRUaW1lb3V0 KGFyZ3VtZW50cy5jYWxsZWUsZCl9LGQpO2M9dHJ1ZX0sc3RvcDpmdW5jdGlvbigp e2lmKGkhPT1udWxsKXt3aW5kb3cuY2xlYXJJbnRlcnZhbChpKTtpPW51bGx9fSxh ZGRTY2hlZHVsZTpmdW5jdGlvbihqKXtlLnB1c2goaik7aWYoYyl7aChiKX19fX0o KTtuZG0uZG9tLmNsZWFuPWZ1bmN0aW9uKCl7dmFyIGI9WyJjbGljayIsIm1vdXNl b3ZlciIsIm1vdXNlb3V0IiwibW91c2Vkb3duIiwia2V5cHJlc3MiXTt2YXIgZT1k b2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpO3ZhciBkLGMsYTtmb3Io ZD0wLGE9ZS5sZW5ndGg7ZCE9YTtkKyspe2ZvcihjPTA7YyE9Yi5sZW5ndGg7Yysr KXtpZighIWVbZF1bIm9uIitiW2NdXSYmdHlwZW9mIGVbZF1bIm9uIitiW2NdXT09 ImZ1bmN0aW9uIil7ZVtkXVsib24iK2JbY11dPW51bGx9fX19O25kbS5kb20uYWRk TG9hZEV2ZW50KGZ1bmN0aW9uKCl7dmFyIGE7aWYoISFkb2N1bWVudC5ib2R5KXth PWRvY3VtZW50LmJvZHkub251bmxvYWR8fGZ1bmN0aW9uKCl7cmV0dXJufTtkb2N1 bWVudC5ib2R5Lm9udW5sb2FkPWZ1bmN0aW9uKGIpe25kbS5kb20uY2xlYW4oKTth KGIpfX1yZXR1cm59LGZ1bmN0aW9uKCl7cmV0dXJuIG5kbS5kb20uaXNJRSgpfSxm dW5jdGlvbigpe3JldHVybiB0cnVlfSk7aWYodHlwZW9mIE5vZGU9PT0idW5kZWZp bmVkIil7bmRtLmRvbS5ub2RlVHlwZT17RUxFTUVOVF9OT0RFOjEsQVRUUklCVVRF X05PREU6MixURVhUX05PREU6MyxDT01NRU5UX05PREU6OCxET0NVTUVOVF9OT0RF OjksRE9DVU1FTlRfRlJBR01FTlRfTk9ERToxMX19ZWxzZXtuZG0uZG9tLm5vZGVU eXBlPU5vZGV9dGFudG8ubmFtZXNwYWNlKCJuZG0uZG9tLmV2ZW50cyIpO25kbS5k b20uZXZlbnRzPWZ1bmN0aW9uKCl7dmFyIGE9MTtyZXR1cm57YWRkOmZ1bmN0aW9u KGMsZSxkKXt2YXIgYjtpZihjLmFkZEV2ZW50TGlzdGVuZXIpe2MuYWRkRXZlbnRM aXN0ZW5lcihlLGQsZmFsc2UpfWVsc2V7aWYoIWQuJCRndWlkKXtkLiQkZ3VpZD1h Kyt9aWYoIWMuZXZlbnRzKXtjLmV2ZW50cz17fX1iPWMuZXZlbnRzW2VdO2lmKCFi KXtiPWMuZXZlbnRzW2VdPXt9O2lmKGNbIm9uIitlXSl7YlswXT1jWyJvbiIrZV19 Y1sib24iK2VdPW5kbS5kb20uZXZlbnRzLmhhbmRsZX1iW2QuJCRndWlkXT1kfX0s cmVtb3ZlOmZ1bmN0aW9uKGIsZCxjKXtpZihiLnJlbW92ZUV2ZW50TGlzdGVuZXIp e2IucmVtb3ZlRXZlbnRMaXN0ZW5lcihkLGMsZmFsc2UpfWVsc2V7aWYoYi5ldmVu dHMmJmIuZXZlbnRzW2RdJiZjLiQkZ3VpZCl7ZGVsZXRlIGIuZXZlbnRzW2RdW2Mu JCRndWlkXX19fSxoYW5kbGU6ZnVuY3Rpb24oZSl7dmFyIGMsYixkPXRydWU7ZT1l fHxuZG0uZG9tLmV2ZW50cy5maXgod2luZG93LmV2ZW50KTtiPXRoaXMuZXZlbnRz W2UudHlwZV07Zm9yKGMgaW4gYil7aWYoYi5oYXNPd25Qcm9wZXJ0eShjKSl7aWYo IU9iamVjdC5wcm90b3R5cGVbY10pe3RoaXMuJCRoYW5kbGVyPWJbY107aWYodGhp cy4kJGhhbmRsZXIoZSk9PT1mYWxzZSl7ZD1mYWxzZX19fX1pZih0aGlzLiQkaGFu ZGxlcil7dGhpcy4kJGhhbmRsZXI9bnVsbH1yZXR1cm4gZH0sbWVkaWF0ZTpmdW5j dGlvbihjLGIsZCxlKXtuZG0uYW9wLmFkZEJlZm9yZShjLGIsZnVuY3Rpb24oZil7 ZFtlXShmKTtyZXR1cm4gZn0pfSxmaXg6ZnVuY3Rpb24oYil7Yi5wcmV2ZW50RGVm YXVsdD1mdW5jdGlvbigpe3RoaXMucmV0dXJuVmFsdWU9ZmFsc2V9O2Iuc3RvcFBy b3BhZ2F0aW9uPWZ1bmN0aW9uKCl7dGhpcy5jYW5jZWxCdWJibGU9dHJ1ZX07cmV0 dXJuIGJ9fX0oKTtuZG0uZG9tLmFkZExvYWRFdmVudChmdW5jdGlvbigpe3ZhciBj LGQsYSxiO2lmKG5kbS5kb20uaXNJRSgpKXtiPWRvY3VtZW50LmdldEVsZW1lbnRz QnlUYWdOYW1lKCJhIik7Zm9yKGQ9MCxhPWIubGVuZ3RoO2QhPWE7ZCsrKXsoZnVu Y3Rpb24oKXtjPWJbZF07aWYodHlwZW9mIGMub25jbGljaz09PSJmdW5jdGlvbiIp e25kbS5hb3AuYWRkQWZ0ZXIoYywib25jbGljayIsZnVuY3Rpb24oZSl7ZXZlbnQu cmV0dXJuVmFsdWU9ZTtyZXR1cm4gZX0pfX0oKSl9fX0pO19nbG9iYWxfWyJAbmFt ZXNwYWNlIl0oIm5kbS51dGlsIik7bmRtLnV0aWw9ZnVuY3Rpb24oYSl7cmV0dXJu e3BhcnNlVXJpOmZ1bmN0aW9uKGYpe3ZhciBiPXtzdHJpY3RNb2RlOmZhbHNlLGtl eTpbInNvdXJjZSIsInByb3RvY29sIiwiYXV0aG9yaXR5IiwidXNlckluZm8iLCJ1 c2VyIiwicGFzc3dvcmQiLCJob3N0IiwicG9ydCIsInJlbGF0aXZlIiwicGF0aCIs ImRpcmVjdG9yeSIsImZpbGUiLCJxdWVyeSIsImFuY2hvciJdLHE6e25hbWU6InF1 ZXJ5S2V5IixwYXJzZXI6Lyg/PS4pJj8oW14mPV0qKT0/KFteJl0qKS9nfSxwYXJz ZXI6e3N0cmljdDovXig/OihbXjpcLz8jXSspOik/KD86XC9cLygoPzooKFteOkBd Kik6PyhbXjpAXSopKT9AKT8oW146XC8/I10qKSg/OjooXGQqKSk/KSk/KCgoKD86 W14/I1wvXSpcLykqKShbXj8jXSopKSg/Olw/KFteI10qKSk/KD86IyguKikpPykv LGxvb3NlOi9eKD86KD8hW146QF0rOlteOkBcL10qQCkoW146XC8/Iy5dKyk6KT8o PzpcL1wvKT8oKD86KChbXjpAXSopOj8oW146QF0qKSk/QCk/KFteOlwvPyNdKiko Pzo6KFxkKikpPykoKChcLyg/OltePyNdKD8hW14/I1wvXSpcLltePyNcLy5dKyg/ Ols/I118JCkpKSpcLz8pPyhbXj8jXC9dKikpKD86XD8oW14jXSopKT8oPzojKC4q KSk/KS99fTt2YXIgZz1iLGU9Zy5wYXJzZXJbZy5zdHJpY3RNb2RlPyJzdHJpY3Qi OiJsb29zZSJdLmV4ZWMoZik7Zm9yKHZhciBjPTAsZD17fTtjPDE0O2MrKyl7ZFtn LmtleVtjXV09ZVtjXXx8IiJ9ZFtnLnEubmFtZV09e307ZFtnLmtleVsxMl1dLnJl cGxhY2UoZy5xLnBhcnNlcixmdW5jdGlvbihpLGgsail7aWYoaCl7ZFtnLnEubmFt ZV1baF09an19KTtyZXR1cm4gZH19fSgpO19nbG9iYWxfWyJAbmFtZXNwYWNlIl0o Im5kbSIpO25kbS5hb3A9ZnVuY3Rpb24oKXt2YXIgYT1mdW5jdGlvbihkLGYsYyl7 dmFyIGU9ZFtmXTtkW2ZdPWMoZSl9LGI9ZnVuY3Rpb24oZixkLGUpe3ZhciBjO2lm KGQuZXhlYyl7Yz1mdW5jdGlvbihoKXtyZXR1cm4gZC5leGVjKGgpfX1lbHNle2lm KGQuY2FsbCl7Yz1mdW5jdGlvbihoKXtyZXR1cm4gZC5jYWxsKHRoaXMsaCl9fX1p ZihjKXtmb3IodmFyIGcgaW4gZil7aWYoYyhnKSl7YShmLGcsZSl9fX1lbHNle2Eo ZixkLGUpfX07cmV0dXJue2FkZEJlZm9yZTpmdW5jdGlvbihmLGMsZSl7dmFyIGQ9 ZnVuY3Rpb24oZyl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGcuYXBwbHkodGhp cyxlKGFyZ3VtZW50cyxnLHRoaXMpKX19O2IoZixjLGQpfSxhZGRBZnRlcjpmdW5j dGlvbihlLGMsZil7dmFyIGQ9ZnVuY3Rpb24oZyl7cmV0dXJuIGZ1bmN0aW9uKCl7 cmV0dXJuIGYoZy5hcHBseSh0aGlzLGFyZ3VtZW50cyksYXJndW1lbnRzLGcsdGhp cyl9fTtiKGUsYyxkKX0sYWRkQXJvdW5kOmZ1bmN0aW9uKGYsYyxlKXt2YXIgZD1m dW5jdGlvbihnKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZShhcmd1bWVudHMs Zyx0aGlzKX19O2IoZixjLGQpfX19KCk7dGFudG8ubmFtZXNwYWNlKCJuZG0uYWph eCIpO25kbS5hamF4PWZ1bmN0aW9uKCl7dGFudG8uY2FsbGJhY2s9e307dmFyIGE9 MCxiPTAsZD17fSxnPW51bGwsZT1udWxsLGM9ZnVuY3Rpb24obCl7dmFyIGs9ZG9j dW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXSxqPWRvY3VtZW50 LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO2c9bDtqLmlkPSJ1cGxvYWQtc2NyaXB0 IitiO2ouc2V0QXR0cmlidXRlKCJ0eXBlIiwidGV4dC9qYXZhc2NyaXB0Iik7ai5z ZXRBdHRyaWJ1dGUoInNyYyIsbCk7aWYoai5zcmMhPT1sKXtqLnNyYz1sfWoub25s b2FkPWZ1bmN0aW9uKCl7cmV0dXJuIHRydWV9O2lmKGspe2suYXBwZW5kQ2hpbGQo ail9ZWxzZXtkb2N1bWVudC53cml0ZSgnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz Y3JpcHQiIHNyYz0iJytsKyciPjxcL3NjcmlwdD4nKX0rK2I7cmV0dXJuIGp9LGk9 ZnVuY3Rpb24obCl7dmFyIGo9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUo ImhlYWQiKVswXSxrPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtnPWw7 ay5pZD0idXBsb2FkLWNzcyIrbC5yZXBsYWNlKC9bXmEtel0vLCIiKTtrLnNldEF0 dHJpYnV0ZSgidHlwZSIsInRleHQvY3NzIik7ay5zZXRBdHRyaWJ1dGUoInJlbCIs InN0eWxlc2hlZXQiKTtrLnNldEF0dHJpYnV0ZSgiaHJlZiIsbCk7aWYoay5ocmVm IT09bCl7ay5ocmVmPWx9ay5vbmxvYWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdHJ1ZX07 aWYoail7ai5hcHBlbmRDaGlsZChrKX1lbHNle2RvY3VtZW50LndyaXRlKCc8bGlu ayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSInK2wrJyIg Lz4nKX1yZXR1cm4ga30saD1mdW5jdGlvbihrLG0saixsKXt2YXIgbixvO2lmKCEh bCl7Zm9yKG4gaW4gZCl7aWYoZC5oYXNPd25Qcm9wZXJ0eShuKSl7aWYobj09PWsp e20oZFtrXSk7cmV0dXJuIGZhbHNlfX19fSsrYTtvPXRhbnRvLnV0aWwucGFyc2VV cmkoaykuaG9zdC5yZXBsYWNlKC9bXmEtel0vZ2ksIiIpKyhhKTt0YW50by5jYWxs YmFja1tvXT1mdW5jdGlvbihwKXtkW2tdPXA7bShwKX07aWYoaj09PWZhbHNlKXt3 aW5kb3dbInRhbnRvY2FsbGJhY2siK29dPXRhbnRvLmNhbGxiYWNrW29dO3JldHVy biJ0YW50b2NhbGxiYWNrIitvfXJldHVybiJ0YW50by5jYWxsYmFjay4iK299LGY9 ZnVuY3Rpb24oail7cmV0dXJuIGoucmVwbGFjZSgiZm9yKDs7KTsiLCIiKX07cmV0 dXJue2RlZmFuZzpmLGluc2VydFNjcmlwdDpjLGNhbGxiYWNrSlNPTjpmdW5jdGlv bihtLHAsbCxuLGspe3ZhciBxPWt8fGZhbHNlLGo9aChtLHAsbCxuKSxvO2lmKCFq KXtyZXR1cm59bz1jKG0ucmVwbGFjZSgvdGFudG9bLl1hamF4Wy5dY2FsbGJhY2tI YW5kbGVyL2dpLGopKTtpZighbiYmcSl7aWYoISFlKXtlLnBhcmVudE5vZGUucmVt b3ZlQ2hpbGQoZSl9ZT1vfX0sZmV0Y2hKU09OOmZ1bmN0aW9uKGope3JldHVybiBu dWxsfSxYSFI6ZnVuY3Rpb24oKXt2YXIgaj1mdW5jdGlvbihtLG4sbCl7aWYobSYm bS5yZWFkeVN0YXRlPT09NCYmbS5zdGF0dXM9PT0yMDApe2lmKG4pe24obSl9fWVs c2V7aWYobSYmbS5yZWFkeVN0YXRlPT09NCl7aWYobiYmdHlwZW9mIGw9PT0idW5k ZWZpbmVkIil7bih7ZXJyb3I6MSxzdGF0dXM6bS5zdGF0dXN9KX1lbHNle2lmKGwp e2woe2Vycm9yOjEsc3RhdHVzOm0uc3RhdHVzfSl9fX19fTt2YXIgaz1mdW5jdGlv bigpe3ZhciBtLG8sbCxuO3RyeXttPW5ldyBYTUxIdHRwUmVxdWVzdCgpO2s9ZnVu Y3Rpb24oKXtyZXR1cm4gbmV3IFhNTEh0dHBSZXF1ZXN0KCl9fWNhdGNoKHApe249 WyJNU1hNTDIuWE1MSFRUUC4zLjAiLCJNU1hNTDIuWE1MSFRUUCIsIk1pY3Jvc29m dC5YTUxIVFRQIl07Zm9yKG89MCxsPW4ubGVuZ3RoO288bDsrK28pe3RyeXttPW5l dyBBY3RpdmVYT2JqZWN0KG5bb10pOyhmdW5jdGlvbigpe2s9ZnVuY3Rpb24oKXty ZXR1cm4gbmV3IEFjdGl2ZVhPYmplY3QobltvXSl9fSgpKTticmVha31jYXRjaChx KXt9fX1yZXR1cm4gbX07cmV0dXJuIGZ1bmN0aW9uKHMscSxyLG0sbCxvKXt2YXIg bj1rKCkscDtuLm9wZW4ocyxxLHRydWUpO24uc2V0UmVxdWVzdEhlYWRlcigiWC1S ZXF1ZXN0ZWQtV2l0aCIsIlhNTEh0dHBSZXF1ZXN0Iik7aWYodHlwZW9mIG89PSJu dW1iZXIiJiZvPjApe3A9c2V0VGltZW91dChmdW5jdGlvbigpe24uYWJvcnQoKX0s byl9bi5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXtqKG4scixsKX07bi5z ZW5kKG18fG51bGwpO3JldHVybiBufX0oKX19KCl9dGFudG8ubmFtZXNwYWNlKCJu ZG0uY29udHJvbHMiKTsoZnVuY3Rpb24oKXtuZG0uY29udHJvbHMuYXV0b3JlZnJl c2g9e2RlbGF5OjI0MCxjdXJyZW50RGVsYXk6bnVsbCxyZWZyZXNoVmFyaWFibGU6 ImF1dG9yZWZyZXNoIixyZWZyZXNoVmFsdWU6ImF1dG9yZWZyZXNoIixzdGFydFRp bWVzdGFtcDpudWxsLGF1dG9yZWZyZXNoVGltZXI6bnVsbCx0aGlzVVJMOnVuZXNj YXBlKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSksY29va2llOntnZXQ6ZnVuY3Rp b24oZSl7dmFyIGQ9ZG9jdW1lbnQuY29va2llLm1hdGNoKChuZXcgUmVnRXhwKGUr Ij1bXjtdKygkfDspIiwiZ2kiKSkpO2lmKCFkfHwhZFswXSl7cmV0dXJuIG51bGx9 ZWxzZXtyZXR1cm4gdW5lc2NhcGUoZFswXS5zdWJzdHJpbmcoZS5sZW5ndGgrMSxk WzBdLmxlbmd0aCkucmVwbGFjZSgiOyIsIiIpKXx8bnVsbH19LHNldDpmdW5jdGlv bihnLGgsaSl7dmFyIGY9W2crIj0iK2VzY2FwZShoKV07aT0oaXNOYU4ocGFyc2VJ bnQoaSwxMCkpKT8xOmk7dmFyIGU9bmV3IERhdGUoKTt2YXIgZD0ocGFyc2VJbnQo aSwxMCkqMjQqNjAqNjAqMTAwMCk7ZS5zZXRUaW1lKGUuZ2V0VGltZSgpK2QpO2Yu cHVzaCgiZXhwaXJlcz0iK2UudG9HTVRTdHJpbmcoKSk7cmV0dXJuKGRvY3VtZW50 LmNvb2tpZT1mLmpvaW4oIjsiKSl9LHJlbW92ZTpmdW5jdGlvbihkKXtpZihuZG0u Y29udHJvbHMuYXV0b3JlZnJlc2guY29va2llLmdldChkKSl7bmRtLmNvbnRyb2xz LmF1dG9yZWZyZXNoLmNvb2tpZS5zZXQoZCwiIiwtMSl9fX0sd2FpdDpmdW5jdGlv bihmKXtpZighbmRtLmNvbnRyb2xzLmF1dG9yZWZyZXNoLmF1dG9yZWZyZXNoVGlt ZXIpe3JldHVybiBmYWxzZX1mPWYqMTAwMDt2YXIgZD0obmV3IERhdGUoKSkuZ2V0 VGltZSgpLGU9KGQtbmRtLmNvbnRyb2xzLmF1dG9yZWZyZXNoLnN0YXJ0VGltZXN0 YW1wKSxnPW5kbS5jb250cm9scy5hdXRvcmVmcmVzaC5jdXJyZW50RGVsYXktZTtp ZihmPmcpe25kbS5jb250cm9scy5hdXRvcmVmcmVzaC5zdGFydFRpbWVyKHtkZWxh eTpmfSk7cmV0dXJuIGZ9cmV0dXJuIGd9LGluaXQ6ZnVuY3Rpb24oZCl7ZD1kfHx7 ZGVsYXk6bmRtLmNvbnRyb2xzLmF1dG9yZWZyZXNoLmRlbGF5fTtkLmRlbGF5PWQu ZGVsYXkqMTAwMDtpZih3aW5kb3cuRE9OVFJFRlJFU0hQTEVBU0Upe2QuY2FuY2Vs UmVmcmVzaD10cnVlfWlmKGQuZGVsYXk8MTAwMDApe2QuZGVsYXk9bmRtLmNvbnRy b2xzLmF1dG9yZWZyZXNoLmRlbGF5KjEwMDB9aWYoZC5jYW5jZWxSZWZyZXNoKXtj bGVhclRpbWVvdXQobmRtLmNvbnRyb2xzLmF1dG9yZWZyZXNoLmF1dG9yZWZyZXNo VGltZXIpO25kbS5jb250cm9scy5hdXRvcmVmcmVzaC5hdXRvcmVmcmVzaFRpbWVy PW51bGw7bmRtLmNvbnRyb2xzLmF1dG9yZWZyZXNoLnN0YXJ0VGltZXN0YW1wPW51 bGw7cmV0dXJufWVsc2V7bmRtLmNvbnRyb2xzLmF1dG9yZWZyZXNoLnN0YXJ0VGlt ZXIoZCl9fSxzdGFydFRpbWVyOmZ1bmN0aW9uKGQpe25kbS5jb250cm9scy5hdXRv cmVmcmVzaC5zdGFydFRpbWVzdGFtcD0obmV3IERhdGUoKSkuZ2V0VGltZSgpO2Ns ZWFyVGltZW91dChuZG0uY29udHJvbHMuYXV0b3JlZnJlc2guYXV0b3JlZnJlc2hU aW1lcik7bmRtLmNvbnRyb2xzLmF1dG9yZWZyZXNoLmF1dG9yZWZyZXNoVGltZXI9 c2V0VGltZW91dChmdW5jdGlvbigpe25kbS5jb250cm9scy5hdXRvcmVmcmVzaC5j b29raWUuc2V0KG5kbS5jb250cm9scy5hdXRvcmVmcmVzaC5yZWZyZXNoVmFyaWFi bGUsKG5ldyBEYXRlKCkpLmdldFRpbWUoKSk7aWYod2luZG93LmxvY2F0aW9uLnJl bG9hZCl7d2luZG93LmxvY2F0aW9uLnJlbG9hZChmYWxzZSl9ZWxzZXtpZih3aW5k b3cubG9jYXRpb24ucmVwbGFjZSl7d2luZG93LmxvY2F0aW9uLnJlcGxhY2UobmRt LmNvbnRyb2xzLmF1dG9yZWZyZXNoLnRoaXNVUkwpfWVsc2V7d2luZG93LmxvY2F0 aW9uLmhyZWY9bmRtLmNvbnRyb2xzLmF1dG9yZWZyZXNoLnRoaXNVUkx9fX0sZC5k ZWxheSk7bmRtLmNvbnRyb2xzLmF1dG9yZWZyZXNoLmN1cnJlbnREZWxheT1kLmRl bGF5fX07dmFyIGE9bmV3IERhdGUoKTt2YXIgYz1uZG0uY29udHJvbHMuYXV0b3Jl ZnJlc2guY29va2llLmdldChuZG0uY29udHJvbHMuYXV0b3JlZnJlc2gucmVmcmVz aFZhcmlhYmxlKTtpZihjIT09bnVsbCl7dmFyIGI9e307YltuZG0uY29udHJvbHMu YXV0b3JlZnJlc2gucmVmcmVzaFZhcmlhYmxlXT1uZG0uY29udHJvbHMuYXV0b3Jl ZnJlc2gucmVmcmVzaFZhbHVlO3Rjb25mKHtwbHVnaW5zOntwYWdlcGFyYW1zOmJ9 fSk7bmRtLmNvbnRyb2xzLmF1dG9yZWZyZXNoLmNvb2tpZS5yZW1vdmUobmRtLmNv bnRyb2xzLmF1dG9yZWZyZXNoLnJlZnJlc2hWYXJpYWJsZSl9fSgpKTtmdW5jdGlv biB0Y29uZihjKXtjPShjKT9jOnt9O1RSQUtUUj13aW5kb3cuVFJBS1RSfHx7YW50 ZWNlZGVudDp7fX07VFJBS1RSLnBsdWdpbnM9KFRSQUtUUi5wbHVnaW5zfHwiIik7 dmFyIEI9ZnVuY3Rpb24odil7dmFyIGk9dHlwZW9mKHYpO2lmKGk9PSJ1bmRlZmlu ZWQifHx2PT09bnVsbCl7cmV0dXJuIGZhbHNlfWlmKGk9PSJvYmplY3QiKXtpZih2 LnB1c2gpe3JldHVybiJhcnJheSJ9fXJldHVybiBpfTt2YXIgZj1mdW5jdGlvbihp KXtmb3IodmFyIHYgaW4gaSl7aWYoaS5oYXNPd25Qcm9wZXJ0eSh2KSl7cmV0dXJu IGZhbHNlfX1yZXR1cm4gdHJ1ZX07Zm9yKHZhciBnIGluIGMpe2lmKGMuaGFzT3du UHJvcGVydHkoZykpe3ZhciBzPWNbZ107dmFyIGQ9Zy50b0xvd2VyQ2FzZSgpO3Zh ciBEPWQuc3Vic3RyKDAsMSk7dmFyIHU9ZmFsc2U7dmFyIHI9ZmFsc2U7aWYoRD09 IisiKXt1PXRydWU7ZD1kLnN1YnN0cigxKX1lbHNle2lmKEQ9PSIhIil7cj10cnVl O2Q9ZC5zdWJzdHIoMSl9fWlmKGQ9PSJwbHVnaW5zIil7aWYoIVRSQUtUUi5wbHVn aW5zKXtUUkFLVFIucGx1Z2lucz0iIn1lbHNle2lmKHIpe3JldHVybn19dmFyIG89 QihzKTtpZihvIT0ib2JqZWN0Iil7aWYobz09InN0cmluZyIpe3ZhciBiPXt9O2Jb c109e307cz1ifWVsc2V7cmV0dXJufX1mb3IodmFyIGEgaW4gcyl7aWYocy5oYXNP d25Qcm9wZXJ0eShhKSl7dmFyIG09c1thXTt2YXIgZT1UUkFLVFIucGx1Z2lucy5z cGxpdCgiKyIpO3ZhciB6PXRydWU7Zm9yKHZhciB5PTA7eTxlLmxlbmd0aDt5Kysp e2lmKGVbeV09PWEpe3o9ZmFsc2V9fWlmKHope1RSQUtUUi5wbHVnaW5zKz0oKFRS QUtUUi5wbHVnaW5zPT09IiIpPyIiOiIrIikrYX1pZihmKG0pKXtjb250aW51ZX1p ZihUUkFLVFJbYV0hPT11bmRlZmluZWQmJlRSQUtUUlthXSE9PW51bGwpe3ZhciBD PUIoVFJBS1RSW2FdKTtpZihDPT0iYXJyYXkiKXtmb3IodmFyIGw9MDtsPG0ubGVu Z3RoO2wrKyl7VFJBS1RSW2FdLnB1c2gobVtsXSl9fWVsc2V7aWYoQz09Im9iamVj dCIpe2Zvcih2YXIgaiBpbiBtKXtpZihtLmhhc093blByb3BlcnR5KGopKXtUUkFL VFJbYV1bal09bVtqXX19fWVsc2V7VFJBS1RSW2FdPW19fX1lbHNle1RSQUtUUlth XT1tfX19fWVsc2V7aWYoZD09InRhZ3MiKXtpZighVFJBS1RSLnRhZ3Mpe1RSQUtU Ui50YWdzPSIifWVsc2V7aWYocil7cmV0dXJufX12YXIgbz1CKHMpO2lmKG8hPSJh cnJheSIpe2lmKG89PSJzdHJpbmciKXt2YXIgYj1bXTt2YXIgRT1zLnNwbGl0KCIs Iik7Zm9yKHZhciBqPTA7ajxFLmxlbmd0aDtqKyspe2lmKEUuaGFzT3duUHJvcGVy dHkoaikpe3ZhciBuPUVbal07dmFyIGg9bi5zcGxpdCgiPSIpO2Zvcih2YXIgeT0w O3k8aC5sZW5ndGg7eSsrKXtpZihoLmhhc093blByb3BlcnR5KHkpKXtpZigyJXkh PTApe3ZhciBrPXt9O2tbaFt5XV09KGhbeSsxXSk/aFt5KzFdOiJ1bmRlZmluZWQi O2IucHVzaChrKX19fX19cz1ifWVsc2V7cmV0dXJufX12YXIgcT0oVFJBS1RSLnRh Z3MpP1RSQUtUUi50YWdzLnNwbGl0KCIsIik6W107Zm9yKHZhciBBPTA7QTxzLmxl bmd0aDtBKz0xKXtmb3IodmFyIEYgaW4gc1tBXSl7aWYoc1tBXS5oYXNPd25Qcm9w ZXJ0eShGKSl7dmFyIHQ9dHJ1ZTt2YXIgdz1GKyI9IitzW0FdW0ZdO2Zvcih2YXIg eT0wO3k8cS5sZW5ndGg7eSsrKXtpZihxW3ldPT13KXt0PWZhbHNlfX1pZih0KXtU UkFLVFIudGFncys9KChUUkFLVFIudGFncz09PSIiKT8iIjoiLCIpK3d9fX19fWVs c2V7aWYodSl7dmFyIHA9Zy5zdWJzdHIoMSk7VFJBS1RSW3BdPVRSQUtUUltwXXx8 IiI7VFJBS1RSW3BdKz1zfWVsc2V7aWYocil7dmFyIHA9Zy5zdWJzdHIoMSk7aWYo IVRSQUtUUltwXSl7VFJBS1RSW3BdPXN9fWVsc2V7VFJBS1RSW2ddPXN9fX19fX19 ZnVuY3Rpb24gdHJhayhkLGYpe1RSQUtUUj13aW5kb3cuVFJBS1RSfHx7fTtUUkFL VFIuYW50ZWNlZGVudD1UUkFLVFIuYW50ZWNlZGVudHx8e307VFJBS1RSLnBsdWdp bnM9KFRSQUtUUi5wbHVnaW5zfHwiIik7dmFyIGg9ZnVuY3Rpb24oayl7dmFyIGk9 dHlwZW9mKGspO2lmKGk9PSJ1bmRlZmluZWQifHxrPT09bnVsbCl7cmV0dXJuIGZh bHNlfWlmKGk9PSJvYmplY3QiKXtpZihrLnB1c2gpe3JldHVybiJhcnJheSJ9fXJl dHVybiBpfTt2YXIgYT1UUkFLVFIucGx1Z2lucy5zcGxpdCgiKyIpO3ZhciBnPXRy dWU7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspe2lmKGFbY109PWQpe2c9ZmFs c2V9fWlmKGcpe1RSQUtUUi5wbHVnaW5zKz0oKFRSQUtUUi5wbHVnaW5zPT09IiIp PyIiOiIrIikrZH1pZihUUkFLVFJbZF0hPT11bmRlZmluZWQmJlRSQUtUUltkXSE9 PW51bGwpe3ZhciBiPWgoVFJBS1RSW2RdKTtpZihiPT0iYXJyYXkiKXtmb3IodmFy IGo9MDtqPGYubGVuZ3RoO2orKyl7VFJBS1RSW2RdLnB1c2goZltqXSl9fWVsc2V7 aWYoYj09Im9iamVjdCIpe2Zvcih2YXIgZSBpbiBmKXtpZihmLmhhc093blByb3Bl cnR5KGUpKXtUUkFLVFJbZF1bZV09ZltlXX19fWVsc2V7VFJBS1RSW2RdPWZ9fX1l bHNle1RSQUtUUltkXT1mfX12YXIgbG9jYXRpb25UeXBlO3ZhciBnb29nbGVfYWRf cmVxdWVzdF9kb25lPWZ1bmN0aW9uKGIpe3ZhciBlPSIiO3ZhciBkPSIiO2lmKGIu bGVuZ3RoPT09MCl7cmV0dXJufWlmKGIubGVuZ3RoPT09MSl7aWYodHlwZW9mKGdv b2dsZUFkVHlwZSk9PSJ1bmRlZmluZWQiKXtlPSIgdHh0LXNtYWxsLXNxdWFyZSJ9 ZWxzZXtlPSIgdHh0LWxlYWRlcmJvYXJkIn19ZCs9JzxkaXYgY2xhc3M9ImFkIGdv b2dsZS1tcmVjIj4nO2QrPSc8ZGl2IGNsYXNzPSJnb29nbGUtYWQtbW9kdWxlIiBp ZD0iZ29vZ2xlLWFkcyI+JztkKz0nPGRpdiBjbGFzcz0iZ29vZ2xlLWFkLWhlYWRl ciI+PGgzIGNsYXNzPSJoZWFkaW5nIj5BZHMgQnkgR29vZ2xlPC9oMj48L2Rpdj4n O2QrPSc8ZGl2IGNsYXNzPSJnb29nbGUtYWQtY29udGVudCI+JztpZihiWzBdLnR5 cGU9PSJpbWFnZSIpe2QrPSc8YSBocmVmPSInK2JbMF0udXJsKyciIHRhcmdldD0i X3RvcCIgdGl0bGU9ImdvIHRvICcrYlswXS52aXNpYmxlX3VybCsnIj4nO2QrPSc8 aW1nIGJvcmRlcj0iMCIgc3JjPSInK2JbMF0uaW1hZ2VfdXJsKyciIHdpZHRoPSIn K2JbMF0uaW1hZ2Vfd2lkdGgrJyIgaGVpZ2h0PSInK2JbMF0uaW1hZ2VfaGVpZ2h0 KyciPic7ZCs9IjwvYT4ifWVsc2V7aWYoYlswXS50eXBlPT0iZmxhc2giKXtkKz0n PG9iamVjdCBjbGFzc2lkPSJjbHNpZDpEMjdDREI2RS1BRTZELTExY2YtOTZCOC00 NDQ1NTM1NDAwMDAiIGNvZGViYXNlPSJodHRwOi8vZG93bmxvYWQubWFjcm9tZWRp YS5jb20vcHViL3Nob2Nrd2F2ZS9jYWJzL2ZsYXNoL3N3Zmxhc2guY2FiI3ZlcnNp b249NiwwLDAsMCIgV0lEVEg9IicrZ29vZ2xlX2FkLmltYWdlX3dpZHRoKyciIEhF SUdIVD0iJytnb29nbGVfYWQuaW1hZ2VfaGVpZ2h0KyciPjxQQVJBTSBOQU1FPSJt b3ZpZSIgVkFMVUU9IicrZ29vZ2xlX2FkLmltYWdlX3VybCsnIj48UEFSQU0gTkFN RT0icXVhbGl0eSIgVkFMVUU9ImhpZ2giPjxQQVJBTSBOQU1FPSJBbGxvd1Njcmlw dEFjY2VzcyIgVkFMVUU9Im5ldmVyIj48RU1CRUQgc3JjPSInK2dvb2dsZV9hZC5p bWFnZV91cmwrJyIgV0lEVEg9IicrZ29vZ2xlX2FkLmltYWdlX3dpZHRoKyciIEhF SUdIVD0iJytnb29nbGVfYWQuaW1hZ2VfaGVpZ2h0KyciIFRZUEU9ImFwcGxpY2F0 aW9uL3gtc2hvY2t3YXZlLWZsYXNoIiBBbGxvd1NjcmlwdEFjY2Vzcz0ibmV2ZXIi IFBMVUdJTlNQQUdFPSJodHRwOi8vd3d3Lm1hY3JvbWVkaWEuY29tL2dvL2dldGZs YXNocGxheWVyIj48L0VNQkVEPjwvT0JKRUNUPid9ZWxzZXtpZihiLmxlbmd0aD49 MSl7ZCs9Jzx1bCBjbGFzcz0iZ29vZ2xlLWFkLWxpc3QgJytlKyciPic7Zm9yKHZh ciBhPTA7YTxiLmxlbmd0aDsrK2Epe2QrPSI8bGk+IjtkKz0nPGg1PjxhIGhyZWY9 IicrYlthXS51cmwrJyIgb25tb3VzZW91dD0id2luZG93LnN0YXR1cz1cJ1wnIiBv bm1vdXNlb3Zlcj0id2luZG93LnN0YXR1cz1cJ2dvIHRvICcrYlthXS52aXNpYmxl X3VybCsiJ1wiPiIrYlthXS5saW5lMSsiPC9hPjwvaDU+IjtkKz0iPHA+IitiW2Fd LmxpbmUyKyIgIitiW2FdLmxpbmUzKyI8L3A+IjtkKz0nPHAgY2xhc3M9Imxpbmst dXJsIj48YSBocmVmPSInK2JbYV0udXJsKyciIG9ubW91c2VvdXQ9IndpbmRvdy5z dGF0dXM9XCdcJyIgb25tb3VzZW92ZXI9IndpbmRvdy5zdGF0dXM9XCdnbyB0byAn K2JbYV0udmlzaWJsZV91cmwrIidcIj4iK2JbYV0udmlzaWJsZV91cmwrIjwvYT48 L3A+PC9saT4ifWQrPSI8L3VsPiJ9fX1kKz0iPC9kaXY+IjtkKz0iPC9kaXY+Ijtk Kz0iPC9kaXY+Ijtkb2N1bWVudC53cml0ZShkKTtyZXR1cm59O2xvY2F0aW9uVHlw ZT0xOwovKiEKICogalF1ZXJ5IEphdmFTY3JpcHQgTGlicmFyeSB2MS40LjIKICog aHR0cDovL2pxdWVyeS5jb20vCiAqCiAqIENvcHlyaWdodCAyMDEwLCBKb2huIFJl c2lnCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lv biAyIGxpY2Vuc2VzLgogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCiAqCiAq IEluY2x1ZGVzIFNpenpsZS5qcwogKiBodHRwOi8vc2l6emxlanMuY29tLwogKiBD b3B5cmlnaHQgMjAxMCwgVGhlIERvam8gRm91bmRhdGlvbgogKiBSZWxlYXNlZCB1 bmRlciB0aGUgTUlULCBCU0QsIGFuZCBHUEwgTGljZW5zZXMuCiAqCiAqIERhdGU6 IFNhdCBGZWIgMTMgMjI6MzM6NDggMjAxMCAtMDUwMAogKi8KKGZ1bmN0aW9uKGFN LEMpe3ZhciBhPWZ1bmN0aW9uKGFZLGFaKXtyZXR1cm4gbmV3IGEuZm4uaW5pdChh WSxhWil9LG49YU0ualF1ZXJ5LFI9YU0uJCxhYj1hTS5kb2N1bWVudCxYLFA9L15b XjxdKig8W1x3XFddKz4pW14+XSokfF4jKFtcdy1dKykkLyxhVz0vXi5bXjojXFtc LixdKiQvLGF4PS9cUy8sTT0vXihcc3xcdTAwQTApK3woXHN8XHUwMEEwKSskL2cs ZT0vXjwoXHcrKVxzKlwvPz4oPzo8XC9cMT4pPyQvLGI9bmF2aWdhdG9yLnVzZXJB Z2VudCx1LEs9ZmFsc2UsYWQ9W10sYUcsYXQ9T2JqZWN0LnByb3RvdHlwZS50b1N0 cmluZyxhcD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LGc9QXJyYXku cHJvdG90eXBlLnB1c2gsRj1BcnJheS5wcm90b3R5cGUuc2xpY2Uscz1BcnJheS5w cm90b3R5cGUuaW5kZXhPZjthLmZuPWEucHJvdG90eXBlPXtpbml0OmZ1bmN0aW9u KGFZLGExKXt2YXIgYTAsYTIsYVosYTM7aWYoIWFZKXtyZXR1cm4gdGhpc31pZihh WS5ub2RlVHlwZSl7dGhpcy5jb250ZXh0PXRoaXNbMF09YVk7dGhpcy5sZW5ndGg9 MTtyZXR1cm4gdGhpc31pZihhWT09PSJib2R5IiYmIWExKXt0aGlzLmNvbnRleHQ9 YWI7dGhpc1swXT1hYi5ib2R5O3RoaXMuc2VsZWN0b3I9ImJvZHkiO3RoaXMubGVu Z3RoPTE7cmV0dXJuIHRoaXN9aWYodHlwZW9mIGFZPT09InN0cmluZyIpe2EwPVAu ZXhlYyhhWSk7aWYoYTAmJihhMFsxXXx8IWExKSl7aWYoYTBbMV0pe2EzPShhMT9h MS5vd25lckRvY3VtZW50fHxhMTphYik7YVo9ZS5leGVjKGFZKTtpZihhWil7aWYo YS5pc1BsYWluT2JqZWN0KGExKSl7YVk9W2FiLmNyZWF0ZUVsZW1lbnQoYVpbMV0p XTthLmZuLmF0dHIuY2FsbChhWSxhMSx0cnVlKX1lbHNle2FZPVthMy5jcmVhdGVF bGVtZW50KGFaWzFdKV19fWVsc2V7YVo9SihbYTBbMV1dLFthM10pO2FZPShhWi5j YWNoZWFibGU/YVouZnJhZ21lbnQuY2xvbmVOb2RlKHRydWUpOmFaLmZyYWdtZW50 KS5jaGlsZE5vZGVzfXJldHVybiBhLm1lcmdlKHRoaXMsYVkpfWVsc2V7YTI9YWIu Z2V0RWxlbWVudEJ5SWQoYTBbMl0pO2lmKGEyKXtpZihhMi5pZCE9PWEwWzJdKXty ZXR1cm4gWC5maW5kKGFZKX10aGlzLmxlbmd0aD0xO3RoaXNbMF09YTJ9dGhpcy5j b250ZXh0PWFiO3RoaXMuc2VsZWN0b3I9YVk7cmV0dXJuIHRoaXN9fWVsc2V7aWYo IWExJiYvXlx3KyQvLnRlc3QoYVkpKXt0aGlzLnNlbGVjdG9yPWFZO3RoaXMuY29u dGV4dD1hYjthWT1hYi5nZXRFbGVtZW50c0J5VGFnTmFtZShhWSk7cmV0dXJuIGEu bWVyZ2UodGhpcyxhWSl9ZWxzZXtpZighYTF8fGExLmpxdWVyeSl7cmV0dXJuKGEx fHxYKS5maW5kKGFZKX1lbHNle3JldHVybiBhKGExKS5maW5kKGFZKX19fX1lbHNl e2lmKGEuaXNGdW5jdGlvbihhWSkpe3JldHVybiBYLnJlYWR5KGFZKX19aWYoYVku c2VsZWN0b3IhPT1DKXt0aGlzLnNlbGVjdG9yPWFZLnNlbGVjdG9yO3RoaXMuY29u dGV4dD1hWS5jb250ZXh0fXJldHVybiBhLm1ha2VBcnJheShhWSx0aGlzKX0sc2Vs ZWN0b3I6IiIsanF1ZXJ5OiIxLjQuMiIsbGVuZ3RoOjAsc2l6ZTpmdW5jdGlvbigp e3JldHVybiB0aGlzLmxlbmd0aH0sdG9BcnJheTpmdW5jdGlvbigpe3JldHVybiBG LmNhbGwodGhpcywwKX0sZ2V0OmZ1bmN0aW9uKGFZKXtyZXR1cm4gYVk9PW51bGw/ dGhpcy50b0FycmF5KCk6KGFZPDA/dGhpcy5zbGljZShhWSlbMF06dGhpc1thWV0p fSxwdXNoU3RhY2s6ZnVuY3Rpb24oYVosYTEsYVkpe3ZhciBhMD1hKCk7aWYoYS5p c0FycmF5KGFaKSl7Zy5hcHBseShhMCxhWil9ZWxzZXthLm1lcmdlKGEwLGFaKX1h MC5wcmV2T2JqZWN0PXRoaXM7YTAuY29udGV4dD10aGlzLmNvbnRleHQ7aWYoYTE9 PT0iZmluZCIpe2EwLnNlbGVjdG9yPXRoaXMuc2VsZWN0b3IrKHRoaXMuc2VsZWN0 b3I/IiAiOiIiKSthWX1lbHNle2lmKGExKXthMC5zZWxlY3Rvcj10aGlzLnNlbGVj dG9yKyIuIithMSsiKCIrYVkrIikifX1yZXR1cm4gYTB9LGVhY2g6ZnVuY3Rpb24o YVosYVkpe3JldHVybiBhLmVhY2godGhpcyxhWixhWSl9LHJlYWR5OmZ1bmN0aW9u KGFZKXthLmJpbmRSZWFkeSgpO2lmKGEuaXNSZWFkeSl7YVkuY2FsbChhYixhKX1l bHNle2lmKGFkKXthZC5wdXNoKGFZKX19cmV0dXJuIHRoaXN9LGVxOmZ1bmN0aW9u KGFZKXtyZXR1cm4gYVk9PT0tMT90aGlzLnNsaWNlKGFZKTp0aGlzLnNsaWNlKGFZ LCthWSsxKX0sZmlyc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgwKX0sbGFz dDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKC0xKX0sc2xpY2U6ZnVuY3Rpb24o KXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soRi5hcHBseSh0aGlzLGFyZ3VtZW50cyks InNsaWNlIixGLmNhbGwoYXJndW1lbnRzKS5qb2luKCIsIikpfSxtYXA6ZnVuY3Rp b24oYVkpe3JldHVybiB0aGlzLnB1c2hTdGFjayhhLm1hcCh0aGlzLGZ1bmN0aW9u KGEwLGFaKXtyZXR1cm4gYVkuY2FsbChhMCxhWixhMCl9KSl9LGVuZDpmdW5jdGlv bigpe3JldHVybiB0aGlzLnByZXZPYmplY3R8fGEobnVsbCl9LHB1c2g6Zyxzb3J0 OltdLnNvcnQsc3BsaWNlOltdLnNwbGljZX07YS5mbi5pbml0LnByb3RvdHlwZT1h LmZuO2EuZXh0ZW5kPWEuZm4uZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIGEzPWFyZ3Vt ZW50c1swXXx8e30sYTI9MSxhMT1hcmd1bWVudHMubGVuZ3RoLGE1PWZhbHNlLGE2 LGEwLGFZLGFaO2lmKHR5cGVvZiBhMz09PSJib29sZWFuIil7YTU9YTM7YTM9YXJn dW1lbnRzWzFdfHx7fTthMj0yfWlmKHR5cGVvZiBhMyE9PSJvYmplY3QiJiYhYS5p c0Z1bmN0aW9uKGEzKSl7YTM9e319aWYoYTE9PT1hMil7YTM9dGhpczstLWEyfWZv cig7YTI8YTE7YTIrKyl7aWYoKGE2PWFyZ3VtZW50c1thMl0pIT1udWxsKXtmb3Io YTAgaW4gYTYpe2FZPWEzW2EwXTthWj1hNlthMF07aWYoYTM9PT1hWil7Y29udGlu dWV9aWYoYTUmJmFaJiYoYS5pc1BsYWluT2JqZWN0KGFaKXx8YS5pc0FycmF5KGFa KSkpe3ZhciBhND1hWSYmKGEuaXNQbGFpbk9iamVjdChhWSl8fGEuaXNBcnJheShh WSkpP2FZOmEuaXNBcnJheShhWik/W106e307YTNbYTBdPWEuZXh0ZW5kKGE1LGE0 LGFaKX1lbHNle2lmKGFaIT09Qyl7YTNbYTBdPWFafX19fX1yZXR1cm4gYTN9O2Eu ZXh0ZW5kKHtub0NvbmZsaWN0OmZ1bmN0aW9uKGFZKXthTS4kPVI7aWYoYVkpe2FN LmpRdWVyeT1ufXJldHVybiBhfSxpc1JlYWR5OmZhbHNlLHJlYWR5OmZ1bmN0aW9u KCl7aWYoIWEuaXNSZWFkeSl7aWYoIWFiLmJvZHkpe3JldHVybiBzZXRUaW1lb3V0 KGEucmVhZHksMTMpfWEuaXNSZWFkeT10cnVlO2lmKGFkKXt2YXIgYVosYVk9MDt3 aGlsZSgoYVo9YWRbYVkrK10pKXthWi5jYWxsKGFiLGEpfWFkPW51bGx9aWYoYS5m bi50cmlnZ2VySGFuZGxlcil7YShhYikudHJpZ2dlckhhbmRsZXIoInJlYWR5Iil9 fX0sYmluZFJlYWR5OmZ1bmN0aW9uKCl7aWYoSyl7cmV0dXJufUs9dHJ1ZTtpZihh Yi5yZWFkeVN0YXRlPT09ImNvbXBsZXRlIil7cmV0dXJuIGEucmVhZHkoKX1pZihh Yi5hZGRFdmVudExpc3RlbmVyKXthYi5hZGRFdmVudExpc3RlbmVyKCJET01Db250 ZW50TG9hZGVkIixhRyxmYWxzZSk7YU0uYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs YS5yZWFkeSxmYWxzZSl9ZWxzZXtpZihhYi5hdHRhY2hFdmVudCl7YWIuYXR0YWNo RXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsYUcpO2FNLmF0dGFjaEV2ZW50KCJv bmxvYWQiLGEucmVhZHkpO3ZhciBhWT1mYWxzZTt0cnl7YVk9YU0uZnJhbWVFbGVt ZW50PT1udWxsfWNhdGNoKGFaKXt9aWYoYWIuZG9jdW1lbnRFbGVtZW50LmRvU2Ny b2xsJiZhWSl7eCgpfX19fSxpc0Z1bmN0aW9uOmZ1bmN0aW9uKGFZKXtyZXR1cm4g YXQuY2FsbChhWSk9PT0iW29iamVjdCBGdW5jdGlvbl0ifSxpc0FycmF5OmZ1bmN0 aW9uKGFZKXtyZXR1cm4gYXQuY2FsbChhWSk9PT0iW29iamVjdCBBcnJheV0ifSxp c1BsYWluT2JqZWN0OmZ1bmN0aW9uKGFaKXtpZighYVp8fGF0LmNhbGwoYVopIT09 IltvYmplY3QgT2JqZWN0XSJ8fGFaLm5vZGVUeXBlfHxhWi5zZXRJbnRlcnZhbCl7 cmV0dXJuIGZhbHNlfWlmKGFaLmNvbnN0cnVjdG9yJiYhYXAuY2FsbChhWiwiY29u c3RydWN0b3IiKSYmIWFwLmNhbGwoYVouY29uc3RydWN0b3IucHJvdG90eXBlLCJp c1Byb3RvdHlwZU9mIikpe3JldHVybiBmYWxzZX12YXIgYVk7Zm9yKGFZIGluIGFa KXt9cmV0dXJuIGFZPT09Q3x8YXAuY2FsbChhWixhWSl9LGlzRW1wdHlPYmplY3Q6 ZnVuY3Rpb24oYVope2Zvcih2YXIgYVkgaW4gYVope3JldHVybiBmYWxzZX1yZXR1 cm4gdHJ1ZX0sZXJyb3I6ZnVuY3Rpb24oYVkpe3Rocm93IGFZfSxwYXJzZUpTT046 ZnVuY3Rpb24oYVkpe2lmKHR5cGVvZiBhWSE9PSJzdHJpbmcifHwhYVkpe3JldHVy biBudWxsfWFZPWEudHJpbShhWSk7aWYoL15bXF0sOnt9XHNdKiQvLnRlc3QoYVku cmVwbGFjZSgvXFwoPzpbIlxcXC9iZm5ydF18dVswLTlhLWZBLUZdezR9KS9nLCJA IikucmVwbGFjZSgvIlteIlxcXG5ccl0qInx0cnVlfGZhbHNlfG51bGx8LT9cZCso PzpcLlxkKik/KD86W2VFXVsrXC1dP1xkKyk/L2csIl0iKS5yZXBsYWNlKC8oPzpe fDp8LCkoPzpccypcWykrL2csIiIpKSl7cmV0dXJuIGFNLkpTT04mJmFNLkpTT04u cGFyc2U/YU0uSlNPTi5wYXJzZShhWSk6KG5ldyBGdW5jdGlvbigicmV0dXJuICIr YVkpKSgpfWVsc2V7YS5lcnJvcigiSW52YWxpZCBKU09OOiAiK2FZKX19LG5vb3A6 ZnVuY3Rpb24oKXt9LGdsb2JhbEV2YWw6ZnVuY3Rpb24oYTApe2lmKGEwJiZheC50 ZXN0KGEwKSl7dmFyIGFaPWFiLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilb MF18fGFiLmRvY3VtZW50RWxlbWVudCxhWT1hYi5jcmVhdGVFbGVtZW50KCJzY3Jp cHQiKTthWS50eXBlPSJ0ZXh0L2phdmFzY3JpcHQiO2lmKGEuc3VwcG9ydC5zY3Jp cHRFdmFsKXthWS5hcHBlbmRDaGlsZChhYi5jcmVhdGVUZXh0Tm9kZShhMCkpfWVs c2V7YVkudGV4dD1hMH1hWi5pbnNlcnRCZWZvcmUoYVksYVouZmlyc3RDaGlsZCk7 YVoucmVtb3ZlQ2hpbGQoYVkpfX0sbm9kZU5hbWU6ZnVuY3Rpb24oYVosYVkpe3Jl dHVybiBhWi5ub2RlTmFtZSYmYVoubm9kZU5hbWUudG9VcHBlckNhc2UoKT09PWFZ LnRvVXBwZXJDYXNlKCl9LGVhY2g6ZnVuY3Rpb24oYTEsYTUsYTApe3ZhciBhWixh Mj0wLGEzPWExLmxlbmd0aCxhWT1hMz09PUN8fGEuaXNGdW5jdGlvbihhMSk7aWYo YTApe2lmKGFZKXtmb3IoYVogaW4gYTEpe2lmKGE1LmFwcGx5KGExW2FaXSxhMCk9 PT1mYWxzZSl7YnJlYWt9fX1lbHNle2Zvcig7YTI8YTM7KXtpZihhNS5hcHBseShh MVthMisrXSxhMCk9PT1mYWxzZSl7YnJlYWt9fX19ZWxzZXtpZihhWSl7Zm9yKGFa IGluIGExKXtpZihhNS5jYWxsKGExW2FaXSxhWixhMVthWl0pPT09ZmFsc2Upe2Jy ZWFrfX19ZWxzZXtmb3IodmFyIGE0PWExWzBdO2EyPGEzJiZhNS5jYWxsKGE0LGEy LGE0KSE9PWZhbHNlO2E0PWExWysrYTJdKXt9fX1yZXR1cm4gYTF9LHRyaW06ZnVu Y3Rpb24oYVkpe3JldHVybihhWXx8IiIpLnJlcGxhY2UoTSwiIil9LG1ha2VBcnJh eTpmdW5jdGlvbihhMCxhWil7dmFyIGFZPWFafHxbXTtpZihhMCE9bnVsbCl7aWYo YTAubGVuZ3RoPT1udWxsfHx0eXBlb2YgYTA9PT0ic3RyaW5nInx8YS5pc0Z1bmN0 aW9uKGEwKXx8KHR5cGVvZiBhMCE9PSJmdW5jdGlvbiImJmEwLnNldEludGVydmFs KSl7Zy5jYWxsKGFZLGEwKX1lbHNle2EubWVyZ2UoYVksYTApfX1yZXR1cm4gYVl9 LGluQXJyYXk6ZnVuY3Rpb24oYTAsYTEpe2lmKGExLmluZGV4T2Ype3JldHVybiBh MS5pbmRleE9mKGEwKX1mb3IodmFyIGFZPTAsYVo9YTEubGVuZ3RoO2FZPGFaO2FZ Kyspe2lmKGExW2FZXT09PWEwKXtyZXR1cm4gYVl9fXJldHVybiAtMX0sbWVyZ2U6 ZnVuY3Rpb24oYTIsYTApe3ZhciBhMT1hMi5sZW5ndGgsYVo9MDtpZih0eXBlb2Yg YTAubGVuZ3RoPT09Im51bWJlciIpe2Zvcih2YXIgYVk9YTAubGVuZ3RoO2FaPGFZ O2FaKyspe2EyW2ExKytdPWEwW2FaXX19ZWxzZXt3aGlsZShhMFthWl0hPT1DKXth MlthMSsrXT1hMFthWisrXX19YTIubGVuZ3RoPWExO3JldHVybiBhMn0sZ3JlcDpm dW5jdGlvbihhWixhMyxhWSl7dmFyIGEwPVtdO2Zvcih2YXIgYTE9MCxhMj1hWi5s ZW5ndGg7YTE8YTI7YTErKyl7aWYoIWFZIT09IWEzKGFaW2ExXSxhMSkpe2EwLnB1 c2goYVpbYTFdKX19cmV0dXJuIGEwfSxtYXA6ZnVuY3Rpb24oYVosYTQsYVkpe3Zh ciBhMD1bXSxhMztmb3IodmFyIGExPTAsYTI9YVoubGVuZ3RoO2ExPGEyO2ExKysp e2EzPWE0KGFaW2ExXSxhMSxhWSk7aWYoYTMhPW51bGwpe2EwW2EwLmxlbmd0aF09 YTN9fXJldHVybiBhMC5jb25jYXQuYXBwbHkoW10sYTApfSxndWlkOjEscHJveHk6 ZnVuY3Rpb24oYTAsYVosYVkpe2lmKGFyZ3VtZW50cy5sZW5ndGg9PT0yKXtpZih0 eXBlb2YgYVo9PT0ic3RyaW5nIil7YVk9YTA7YTA9YVlbYVpdO2FaPUN9ZWxzZXtp ZihhWiYmIWEuaXNGdW5jdGlvbihhWikpe2FZPWFaO2FaPUN9fX1pZighYVomJmEw KXthWj1mdW5jdGlvbigpe3JldHVybiBhMC5hcHBseShhWXx8dGhpcyxhcmd1bWVu dHMpfX1pZihhMCl7YVouZ3VpZD1hMC5ndWlkPWEwLmd1aWR8fGFaLmd1aWR8fGEu Z3VpZCsrfXJldHVybiBhWn0sdWFNYXRjaDpmdW5jdGlvbihhWil7YVo9YVoudG9M b3dlckNhc2UoKTt2YXIgYVk9Lyh3ZWJraXQpWyBcL10oW1x3Ll0rKS8uZXhlYyhh Wil8fC8ob3BlcmEpKD86Lip2ZXJzaW9uKT9bIFwvXShbXHcuXSspLy5leGVjKGFa KXx8Lyhtc2llKSAoW1x3Ll0rKS8uZXhlYyhhWil8fCEvY29tcGF0aWJsZS8udGVz dChhWikmJi8obW96aWxsYSkoPzouKj8gcnY6KFtcdy5dKykpPy8uZXhlYyhhWil8 fFtdO3JldHVybnticm93c2VyOmFZWzFdfHwiIix2ZXJzaW9uOmFZWzJdfHwiMCJ9 fSxicm93c2VyOnt9fSk7dT1hLnVhTWF0Y2goYik7aWYodS5icm93c2VyKXthLmJy b3dzZXJbdS5icm93c2VyXT10cnVlO2EuYnJvd3Nlci52ZXJzaW9uPXUudmVyc2lv bn1pZihhLmJyb3dzZXIud2Via2l0KXthLmJyb3dzZXIuc2FmYXJpPXRydWV9aWYo cyl7YS5pbkFycmF5PWZ1bmN0aW9uKGFZLGFaKXtyZXR1cm4gcy5jYWxsKGFaLGFZ KX19WD1hKGFiKTtpZihhYi5hZGRFdmVudExpc3RlbmVyKXthRz1mdW5jdGlvbigp e2FiLnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGFHLGZh bHNlKTthLnJlYWR5KCl9fWVsc2V7aWYoYWIuYXR0YWNoRXZlbnQpe2FHPWZ1bmN0 aW9uKCl7aWYoYWIucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSIpe2FiLmRldGFjaEV2 ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLGFHKTthLnJlYWR5KCl9fX19ZnVuY3Rp b24geCgpe2lmKGEuaXNSZWFkeSl7cmV0dXJufXRyeXthYi5kb2N1bWVudEVsZW1l bnQuZG9TY3JvbGwoImxlZnQiKX1jYXRjaChhWSl7c2V0VGltZW91dCh4LDEpO3Jl dHVybn1hLnJlYWR5KCl9ZnVuY3Rpb24gYVYoYVksYVope2lmKGFaLnNyYyl7YS5h amF4KHt1cmw6YVouc3JjLGFzeW5jOmZhbHNlLGRhdGFUeXBlOiJzY3JpcHQifSl9 ZWxzZXthLmdsb2JhbEV2YWwoYVoudGV4dHx8YVoudGV4dENvbnRlbnR8fGFaLmlu bmVySFRNTHx8IiIpfWlmKGFaLnBhcmVudE5vZGUpe2FaLnBhcmVudE5vZGUucmVt b3ZlQ2hpbGQoYVopfX1mdW5jdGlvbiBhbihhWSxhNixhNCxhMCxhMyxhNSl7dmFy IGFaPWFZLmxlbmd0aDtpZih0eXBlb2YgYTY9PT0ib2JqZWN0Iil7Zm9yKHZhciBh MSBpbiBhNil7YW4oYVksYTEsYTZbYTFdLGEwLGEzLGE0KX1yZXR1cm4gYVl9aWYo YTQhPT1DKXthMD0hYTUmJmEwJiZhLmlzRnVuY3Rpb24oYTQpO2Zvcih2YXIgYTI9 MDthMjxhWjthMisrKXthMyhhWVthMl0sYTYsYTA/YTQuY2FsbChhWVthMl0sYTIs YTMoYVlbYTJdLGE2KSk6YTQsYTUpfXJldHVybiBhWX1yZXR1cm4gYVo/YTMoYVlb MF0sYTYpOkN9ZnVuY3Rpb24gYVAoKXtyZXR1cm4obmV3IERhdGUpLmdldFRpbWUo KX0oZnVuY3Rpb24oKXthLnN1cHBvcnQ9e307dmFyIGE0PWFiLmRvY3VtZW50RWxl bWVudCxhMz1hYi5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxhWT1hYi5jcmVhdGVF bGVtZW50KCJkaXYiKSxhWj0ic2NyaXB0IithUCgpO2FZLnN0eWxlLmRpc3BsYXk9 Im5vbmUiO2FZLmlubmVySFRNTD0iICAgPGxpbmsvPjx0YWJsZT48L3RhYmxlPjxh IGhyZWY9Jy9hJyBzdHlsZT0nY29sb3I6cmVkO2Zsb2F0OmxlZnQ7b3BhY2l0eTou NTU7Jz5hPC9hPjxpbnB1dCB0eXBlPSdjaGVja2JveCcvPiI7dmFyIGE2PWFZLmdl dEVsZW1lbnRzQnlUYWdOYW1lKCIqIiksYTU9YVkuZ2V0RWxlbWVudHNCeVRhZ05h bWUoImEiKVswXTtpZighYTZ8fCFhNi5sZW5ndGh8fCFhNSl7cmV0dXJufWEuc3Vw cG9ydD17bGVhZGluZ1doaXRlc3BhY2U6YVkuZmlyc3RDaGlsZC5ub2RlVHlwZT09 PTMsdGJvZHk6IWFZLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0Ym9keSIpLmxlbmd0 aCxodG1sU2VyaWFsaXplOiEhYVkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpbmsi KS5sZW5ndGgsc3R5bGU6L3JlZC8udGVzdChhNS5nZXRBdHRyaWJ1dGUoInN0eWxl IikpLGhyZWZOb3JtYWxpemVkOmE1LmdldEF0dHJpYnV0ZSgiaHJlZiIpPT09Ii9h IixvcGFjaXR5Oi9eMC41NSQvLnRlc3QoYTUuc3R5bGUub3BhY2l0eSksY3NzRmxv YXQ6ISFhNS5zdHlsZS5jc3NGbG9hdCxjaGVja09uOmFZLmdldEVsZW1lbnRzQnlU YWdOYW1lKCJpbnB1dCIpWzBdLnZhbHVlPT09Im9uIixvcHRTZWxlY3RlZDphYi5j cmVhdGVFbGVtZW50KCJzZWxlY3QiKS5hcHBlbmRDaGlsZChhYi5jcmVhdGVFbGVt ZW50KCJvcHRpb24iKSkuc2VsZWN0ZWQscGFyZW50Tm9kZTphWS5yZW1vdmVDaGls ZChhWS5hcHBlbmRDaGlsZChhYi5jcmVhdGVFbGVtZW50KCJkaXYiKSkpLnBhcmVu dE5vZGU9PT1udWxsLGRlbGV0ZUV4cGFuZG86dHJ1ZSxjaGVja0Nsb25lOmZhbHNl LHNjcmlwdEV2YWw6ZmFsc2Usbm9DbG9uZUV2ZW50OnRydWUsYm94TW9kZWw6bnVs bH07YTMudHlwZT0idGV4dC9qYXZhc2NyaXB0Ijt0cnl7YTMuYXBwZW5kQ2hpbGQo YWIuY3JlYXRlVGV4dE5vZGUoIndpbmRvdy4iK2FaKyI9MTsiKSl9Y2F0Y2goYTEp e31hNC5pbnNlcnRCZWZvcmUoYTMsYTQuZmlyc3RDaGlsZCk7aWYoYU1bYVpdKXth LnN1cHBvcnQuc2NyaXB0RXZhbD10cnVlO2RlbGV0ZSBhTVthWl19dHJ5e2RlbGV0 ZSBhMy50ZXN0fWNhdGNoKGExKXthLnN1cHBvcnQuZGVsZXRlRXhwYW5kbz1mYWxz ZX1hNC5yZW1vdmVDaGlsZChhMyk7aWYoYVkuYXR0YWNoRXZlbnQmJmFZLmZpcmVF dmVudCl7YVkuYXR0YWNoRXZlbnQoIm9uY2xpY2siLGZ1bmN0aW9uIGE3KCl7YS5z dXBwb3J0Lm5vQ2xvbmVFdmVudD1mYWxzZTthWS5kZXRhY2hFdmVudCgib25jbGlj ayIsYTcpfSk7YVkuY2xvbmVOb2RlKHRydWUpLmZpcmVFdmVudCgib25jbGljayIp fWFZPWFiLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2FZLmlubmVySFRNTD0iPGlucHV0 IHR5cGU9J3JhZGlvJyBuYW1lPSdyYWRpb3Rlc3QnIGNoZWNrZWQ9J2NoZWNrZWQn Lz4iO3ZhciBhMD1hYi5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7YTAuYXBwZW5k Q2hpbGQoYVkuZmlyc3RDaGlsZCk7YS5zdXBwb3J0LmNoZWNrQ2xvbmU9YTAuY2xv bmVOb2RlKHRydWUpLmNsb25lTm9kZSh0cnVlKS5sYXN0Q2hpbGQuY2hlY2tlZDth KGZ1bmN0aW9uKCl7dmFyIGE4PWFiLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2E4LnN0 eWxlLndpZHRoPWE4LnN0eWxlLnBhZGRpbmdMZWZ0PSIxcHgiO2FiLmJvZHkuYXBw ZW5kQ2hpbGQoYTgpO2EuYm94TW9kZWw9YS5zdXBwb3J0LmJveE1vZGVsPWE4Lm9m ZnNldFdpZHRoPT09MjthYi5ib2R5LnJlbW92ZUNoaWxkKGE4KS5zdHlsZS5kaXNw bGF5PSJub25lIjthOD1udWxsfSk7dmFyIGEyPWZ1bmN0aW9uKGE4KXt2YXIgYmE9 YWIuY3JlYXRlRWxlbWVudCgiZGl2Iik7YTg9Im9uIithODt2YXIgYTk9KGE4IGlu IGJhKTtpZighYTkpe2JhLnNldEF0dHJpYnV0ZShhOCwicmV0dXJuOyIpO2E5PXR5 cGVvZiBiYVthOF09PT0iZnVuY3Rpb24ifWJhPW51bGw7cmV0dXJuIGE5fTthLnN1 cHBvcnQuc3VibWl0QnViYmxlcz1hMigic3VibWl0Iik7YS5zdXBwb3J0LmNoYW5n ZUJ1YmJsZXM9YTIoImNoYW5nZSIpO2E0PWEzPWFZPWE2PWE1PW51bGx9KSgpO2Eu cHJvcHM9eyJmb3IiOiJodG1sRm9yIiwiY2xhc3MiOiJjbGFzc05hbWUiLHJlYWRv bmx5OiJyZWFkT25seSIsbWF4bGVuZ3RoOiJtYXhMZW5ndGgiLGNlbGxzcGFjaW5n OiJjZWxsU3BhY2luZyIscm93c3Bhbjoicm93U3BhbiIsY29sc3BhbjoiY29sU3Bh biIsdGFiaW5kZXg6InRhYkluZGV4Iix1c2VtYXA6InVzZU1hcCIsZnJhbWVib3Jk ZXI6ImZyYW1lQm9yZGVyIn07dmFyIGFJPSJqUXVlcnkiK2FQKCksYUg9MCxhVD17 fTthLmV4dGVuZCh7Y2FjaGU6e30sZXhwYW5kbzphSSxub0RhdGE6e2VtYmVkOnRy dWUsb2JqZWN0OnRydWUsYXBwbGV0OnRydWV9LGRhdGE6ZnVuY3Rpb24oYTAsYVos YTIpe2lmKGEwLm5vZGVOYW1lJiZhLm5vRGF0YVthMC5ub2RlTmFtZS50b0xvd2Vy Q2FzZSgpXSl7cmV0dXJufWEwPWEwPT1hTT9hVDphMDt2YXIgYTM9YTBbYUldLGFZ PWEuY2FjaGUsYTE7aWYoIWEzJiZ0eXBlb2YgYVo9PT0ic3RyaW5nIiYmYTI9PT1D KXtyZXR1cm4gbnVsbH1pZighYTMpe2EzPSsrYUh9aWYodHlwZW9mIGFaPT09Im9i amVjdCIpe2EwW2FJXT1hMzthMT1hWVthM109YS5leHRlbmQodHJ1ZSx7fSxhWil9 ZWxzZXtpZighYVlbYTNdKXthMFthSV09YTM7YVlbYTNdPXt9fX1hMT1hWVthM107 aWYoYTIhPT1DKXthMVthWl09YTJ9cmV0dXJuIHR5cGVvZiBhWj09PSJzdHJpbmci P2ExW2FaXTphMX0scmVtb3ZlRGF0YTpmdW5jdGlvbihhMCxhWil7aWYoYTAubm9k ZU5hbWUmJmEubm9EYXRhW2EwLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldKXtyZXR1 cm59YTA9YTA9PWFNP2FUOmEwO3ZhciBhMj1hMFthSV0sYVk9YS5jYWNoZSxhMT1h WVthMl07aWYoYVope2lmKGExKXtkZWxldGUgYTFbYVpdO2lmKGEuaXNFbXB0eU9i amVjdChhMSkpe2EucmVtb3ZlRGF0YShhMCl9fX1lbHNle2lmKGEuc3VwcG9ydC5k ZWxldGVFeHBhbmRvKXtkZWxldGUgYTBbYS5leHBhbmRvXX1lbHNle2lmKGEwLnJl bW92ZUF0dHJpYnV0ZSl7YTAucmVtb3ZlQXR0cmlidXRlKGEuZXhwYW5kbyl9fWRl bGV0ZSBhWVthMl19fX0pO2EuZm4uZXh0ZW5kKHtkYXRhOmZ1bmN0aW9uKGFZLGEw KXtpZih0eXBlb2YgYVk9PT0idW5kZWZpbmVkIiYmdGhpcy5sZW5ndGgpe3JldHVy biBhLmRhdGEodGhpc1swXSl9ZWxzZXtpZih0eXBlb2YgYVk9PT0ib2JqZWN0Iil7 cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2EuZGF0YSh0aGlzLGFZKX0pfX12 YXIgYTE9YVkuc3BsaXQoIi4iKTthMVsxXT1hMVsxXT8iLiIrYTFbMV06IiI7aWYo YTA9PT1DKXt2YXIgYVo9dGhpcy50cmlnZ2VySGFuZGxlcigiZ2V0RGF0YSIrYTFb MV0rIiEiLFthMVswXV0pO2lmKGFaPT09QyYmdGhpcy5sZW5ndGgpe2FaPWEuZGF0 YSh0aGlzWzBdLGFZKX1yZXR1cm4gYVo9PT1DJiZhMVsxXT90aGlzLmRhdGEoYTFb MF0pOmFafWVsc2V7cmV0dXJuIHRoaXMudHJpZ2dlcigic2V0RGF0YSIrYTFbMV0r IiEiLFthMVswXSxhMF0pLmVhY2goZnVuY3Rpb24oKXthLmRhdGEodGhpcyxhWSxh MCl9KX19LHJlbW92ZURhdGE6ZnVuY3Rpb24oYVkpe3JldHVybiB0aGlzLmVhY2go ZnVuY3Rpb24oKXthLnJlbW92ZURhdGEodGhpcyxhWSl9KX19KTthLmV4dGVuZCh7 cXVldWU6ZnVuY3Rpb24oYVosYVksYTEpe2lmKCFhWil7cmV0dXJufWFZPShhWXx8 ImZ4IikrInF1ZXVlIjt2YXIgYTA9YS5kYXRhKGFaLGFZKTtpZighYTEpe3JldHVy biBhMHx8W119aWYoIWEwfHxhLmlzQXJyYXkoYTEpKXthMD1hLmRhdGEoYVosYVks YS5tYWtlQXJyYXkoYTEpKX1lbHNle2EwLnB1c2goYTEpfXJldHVybiBhMH0sZGVx dWV1ZTpmdW5jdGlvbihhMSxhMCl7YTA9YTB8fCJmeCI7dmFyIGFZPWEucXVldWUo YTEsYTApLGFaPWFZLnNoaWZ0KCk7aWYoYVo9PT0iaW5wcm9ncmVzcyIpe2FaPWFZ LnNoaWZ0KCl9aWYoYVope2lmKGEwPT09ImZ4Iil7YVkudW5zaGlmdCgiaW5wcm9n cmVzcyIpfWFaLmNhbGwoYTEsZnVuY3Rpb24oKXthLmRlcXVldWUoYTEsYTApfSl9 fX0pO2EuZm4uZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbihhWSxhWil7aWYodHlwZW9m IGFZIT09InN0cmluZyIpe2FaPWFZO2FZPSJmeCJ9aWYoYVo9PT1DKXtyZXR1cm4g YS5xdWV1ZSh0aGlzWzBdLGFZKX1yZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGEx LGEyKXt2YXIgYTA9YS5xdWV1ZSh0aGlzLGFZLGFaKTtpZihhWT09PSJmeCImJmEw WzBdIT09ImlucHJvZ3Jlc3MiKXthLmRlcXVldWUodGhpcyxhWSl9fSl9LGRlcXVl dWU6ZnVuY3Rpb24oYVkpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXthLmRl cXVldWUodGhpcyxhWSl9KX0sZGVsYXk6ZnVuY3Rpb24oYVosYVkpe2FaPWEuZng/ YS5meC5zcGVlZHNbYVpdfHxhWjphWjthWT1hWXx8ImZ4IjtyZXR1cm4gdGhpcy5x dWV1ZShhWSxmdW5jdGlvbigpe3ZhciBhMD10aGlzO3NldFRpbWVvdXQoZnVuY3Rp b24oKXthLmRlcXVldWUoYTAsYVkpfSxhWil9KX0sY2xlYXJRdWV1ZTpmdW5jdGlv bihhWSl7cmV0dXJuIHRoaXMucXVldWUoYVl8fCJmeCIsW10pfX0pO3ZhciBhbz0v W1xuXHRdL2csUz0vXHMrLyxhdj0vXHIvZyxhUT0vaHJlZnxzcmN8c3R5bGUvLGQ9 LyhidXR0b258aW5wdXQpL2ksej0vKGJ1dHRvbnxpbnB1dHxvYmplY3R8c2VsZWN0 fHRleHRhcmVhKS9pLGo9L14oYXxhcmVhKSQvaSxJPS9yYWRpb3xjaGVja2JveC87 YS5mbi5leHRlbmQoe2F0dHI6ZnVuY3Rpb24oYVksYVope3JldHVybiBhbih0aGlz LGFZLGFaLHRydWUsYS5hdHRyKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihhWSxhWil7 cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2EuYXR0cih0aGlzLGFZLCIiKTtp Zih0aGlzLm5vZGVUeXBlPT09MSl7dGhpcy5yZW1vdmVBdHRyaWJ1dGUoYVkpfX0p fSxhZGRDbGFzczpmdW5jdGlvbihhNSl7aWYoYS5pc0Z1bmN0aW9uKGE1KSl7cmV0 dXJuIHRoaXMuZWFjaChmdW5jdGlvbihhOCl7dmFyIGE3PWEodGhpcyk7YTcuYWRk Q2xhc3MoYTUuY2FsbCh0aGlzLGE4LGE3LmF0dHIoImNsYXNzIikpKX0pfWlmKGE1 JiZ0eXBlb2YgYTU9PT0ic3RyaW5nIil7dmFyIGFZPShhNXx8IiIpLnNwbGl0KFMp O2Zvcih2YXIgYTE9MCxhMD10aGlzLmxlbmd0aDthMTxhMDthMSsrKXt2YXIgYVo9 dGhpc1thMV07aWYoYVoubm9kZVR5cGU9PT0xKXtpZighYVouY2xhc3NOYW1lKXth Wi5jbGFzc05hbWU9YTV9ZWxzZXt2YXIgYTI9IiAiK2FaLmNsYXNzTmFtZSsiICIs YTQ9YVouY2xhc3NOYW1lO2Zvcih2YXIgYTM9MCxhNj1hWS5sZW5ndGg7YTM8YTY7 YTMrKyl7aWYoYTIuaW5kZXhPZigiICIrYVlbYTNdKyIgIik8MCl7YTQrPSIgIith WVthM119fWFaLmNsYXNzTmFtZT1hLnRyaW0oYTQpfX19fXJldHVybiB0aGlzfSxy ZW1vdmVDbGFzczpmdW5jdGlvbihhMyl7aWYoYS5pc0Z1bmN0aW9uKGEzKSl7cmV0 dXJuIHRoaXMuZWFjaChmdW5jdGlvbihhNyl7dmFyIGE2PWEodGhpcyk7YTYucmVt b3ZlQ2xhc3MoYTMuY2FsbCh0aGlzLGE3LGE2LmF0dHIoImNsYXNzIikpKX0pfWlm KChhMyYmdHlwZW9mIGEzPT09InN0cmluZyIpfHxhMz09PUMpe3ZhciBhND0oYTN8 fCIiKS5zcGxpdChTKTtmb3IodmFyIGEwPTAsYVo9dGhpcy5sZW5ndGg7YTA8YVo7 YTArKyl7dmFyIGEyPXRoaXNbYTBdO2lmKGEyLm5vZGVUeXBlPT09MSYmYTIuY2xh c3NOYW1lKXtpZihhMyl7dmFyIGExPSgiICIrYTIuY2xhc3NOYW1lKyIgIikucmVw bGFjZShhbywiICIpO2Zvcih2YXIgYTU9MCxhWT1hNC5sZW5ndGg7YTU8YVk7YTUr Kyl7YTE9YTEucmVwbGFjZSgiICIrYTRbYTVdKyIgIiwiICIpfWEyLmNsYXNzTmFt ZT1hLnRyaW0oYTEpfWVsc2V7YTIuY2xhc3NOYW1lPSIifX19fXJldHVybiB0aGlz fSx0b2dnbGVDbGFzczpmdW5jdGlvbihhMSxhWil7dmFyIGEwPXR5cGVvZiBhMSxh WT10eXBlb2YgYVo9PT0iYm9vbGVhbiI7aWYoYS5pc0Z1bmN0aW9uKGExKSl7cmV0 dXJuIHRoaXMuZWFjaChmdW5jdGlvbihhMyl7dmFyIGEyPWEodGhpcyk7YTIudG9n Z2xlQ2xhc3MoYTEuY2FsbCh0aGlzLGEzLGEyLmF0dHIoImNsYXNzIiksYVopLGFa KX0pfXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtpZihhMD09PSJzdHJpbmci KXt2YXIgYTQsYTM9MCxhMj1hKHRoaXMpLGE1PWFaLGE2PWExLnNwbGl0KFMpO3do aWxlKChhND1hNlthMysrXSkpe2E1PWFZP2E1OiFhMi5oYXNDbGFzcyhhNCk7YTJb YTU/ImFkZENsYXNzIjoicmVtb3ZlQ2xhc3MiXShhNCl9fWVsc2V7aWYoYTA9PT0i dW5kZWZpbmVkInx8YTA9PT0iYm9vbGVhbiIpe2lmKHRoaXMuY2xhc3NOYW1lKXth LmRhdGEodGhpcywiX19jbGFzc05hbWVfXyIsdGhpcy5jbGFzc05hbWUpfXRoaXMu Y2xhc3NOYW1lPXRoaXMuY2xhc3NOYW1lfHxhMT09PWZhbHNlPyIiOmEuZGF0YSh0 aGlzLCJfX2NsYXNzTmFtZV9fIil8fCIifX19KX0saGFzQ2xhc3M6ZnVuY3Rpb24o YVkpe3ZhciBhMT0iICIrYVkrIiAiO2Zvcih2YXIgYTA9MCxhWj10aGlzLmxlbmd0 aDthMDxhWjthMCsrKXtpZigoIiAiK3RoaXNbYTBdLmNsYXNzTmFtZSsiICIpLnJl cGxhY2UoYW8sIiAiKS5pbmRleE9mKGExKT4tMSl7cmV0dXJuIHRydWV9fXJldHVy biBmYWxzZX0sdmFsOmZ1bmN0aW9uKGE1KXtpZihhNT09PUMpe3ZhciBhWj10aGlz WzBdO2lmKGFaKXtpZihhLm5vZGVOYW1lKGFaLCJvcHRpb24iKSl7cmV0dXJuKGFa LmF0dHJpYnV0ZXMudmFsdWV8fHt9KS5zcGVjaWZpZWQ/YVoudmFsdWU6YVoudGV4 dH1pZihhLm5vZGVOYW1lKGFaLCJzZWxlY3QiKSl7dmFyIGEzPWFaLnNlbGVjdGVk SW5kZXgsYTY9W10sYTc9YVoub3B0aW9ucyxhMj1hWi50eXBlPT09InNlbGVjdC1v bmUiO2lmKGEzPDApe3JldHVybiBudWxsfWZvcih2YXIgYTA9YTI/YTM6MCxhND1h Mj9hMysxOmE3Lmxlbmd0aDthMDxhNDthMCsrKXt2YXIgYTE9YTdbYTBdO2lmKGEx LnNlbGVjdGVkKXthNT1hKGExKS52YWwoKTtpZihhMil7cmV0dXJuIGE1fWE2LnB1 c2goYTUpfX1yZXR1cm4gYTZ9aWYoSS50ZXN0KGFaLnR5cGUpJiYhYS5zdXBwb3J0 LmNoZWNrT24pe3JldHVybiBhWi5nZXRBdHRyaWJ1dGUoInZhbHVlIik9PT1udWxs PyJvbiI6YVoudmFsdWV9cmV0dXJuKGFaLnZhbHVlfHwiIikucmVwbGFjZShhdiwi Iil9cmV0dXJuIEN9dmFyIGFZPWEuaXNGdW5jdGlvbihhNSk7cmV0dXJuIHRoaXMu ZWFjaChmdW5jdGlvbihiYSl7dmFyIGE5PWEodGhpcyksYmI9YTU7aWYodGhpcy5u b2RlVHlwZSE9PTEpe3JldHVybn1pZihhWSl7YmI9YTUuY2FsbCh0aGlzLGJhLGE5 LnZhbCgpKX1pZih0eXBlb2YgYmI9PT0ibnVtYmVyIil7YmIrPSIifWlmKGEuaXNB cnJheShiYikmJkkudGVzdCh0aGlzLnR5cGUpKXt0aGlzLmNoZWNrZWQ9YS5pbkFy cmF5KGE5LnZhbCgpLGJiKT49MH1lbHNle2lmKGEubm9kZU5hbWUodGhpcywic2Vs ZWN0Iikpe3ZhciBhOD1hLm1ha2VBcnJheShiYik7YSgib3B0aW9uIix0aGlzKS5l YWNoKGZ1bmN0aW9uKCl7dGhpcy5zZWxlY3RlZD1hLmluQXJyYXkoYSh0aGlzKS52 YWwoKSxhOCk+PTB9KTtpZighYTgubGVuZ3RoKXt0aGlzLnNlbGVjdGVkSW5kZXg9 LTF9fWVsc2V7dGhpcy52YWx1ZT1iYn19fSl9fSk7YS5leHRlbmQoe2F0dHJGbjp7 dmFsOnRydWUsY3NzOnRydWUsaHRtbDp0cnVlLHRleHQ6dHJ1ZSxkYXRhOnRydWUs d2lkdGg6dHJ1ZSxoZWlnaHQ6dHJ1ZSxvZmZzZXQ6dHJ1ZX0sYXR0cjpmdW5jdGlv bihhWixhWSxhNCxhNyl7aWYoIWFafHxhWi5ub2RlVHlwZT09PTN8fGFaLm5vZGVU eXBlPT09OCl7cmV0dXJuIEN9aWYoYTcmJmFZIGluIGEuYXR0ckZuKXtyZXR1cm4g YShhWilbYVldKGE0KX12YXIgYTA9YVoubm9kZVR5cGUhPT0xfHwhYS5pc1hNTERv YyhhWiksYTM9YTQhPT1DO2FZPWEwJiZhLnByb3BzW2FZXXx8YVk7aWYoYVoubm9k ZVR5cGU9PT0xKXt2YXIgYTI9YVEudGVzdChhWSk7aWYoYVk9PT0ic2VsZWN0ZWQi JiYhYS5zdXBwb3J0Lm9wdFNlbGVjdGVkKXt2YXIgYTU9YVoucGFyZW50Tm9kZTtp ZihhNSl7YTUuc2VsZWN0ZWRJbmRleDtpZihhNS5wYXJlbnROb2RlKXthNS5wYXJl bnROb2RlLnNlbGVjdGVkSW5kZXh9fX1pZihhWSBpbiBhWiYmYTAmJiFhMil7aWYo YTMpe2lmKGFZPT09InR5cGUiJiZkLnRlc3QoYVoubm9kZU5hbWUpJiZhWi5wYXJl bnROb2RlKXthLmVycm9yKCJ0eXBlIHByb3BlcnR5IGNhbid0IGJlIGNoYW5nZWQi KX1hWlthWV09YTR9aWYoYS5ub2RlTmFtZShhWiwiZm9ybSIpJiZhWi5nZXRBdHRy aWJ1dGVOb2RlKGFZKSl7cmV0dXJuIGFaLmdldEF0dHJpYnV0ZU5vZGUoYVkpLm5v ZGVWYWx1ZX1pZihhWT09PSJ0YWJJbmRleCIpe3ZhciBhNj1hWi5nZXRBdHRyaWJ1 dGVOb2RlKCJ0YWJJbmRleCIpO3JldHVybiBhNiYmYTYuc3BlY2lmaWVkP2E2LnZh bHVlOnoudGVzdChhWi5ub2RlTmFtZSl8fGoudGVzdChhWi5ub2RlTmFtZSkmJmFa LmhyZWY/MDpDfXJldHVybiBhWlthWV19aWYoIWEuc3VwcG9ydC5zdHlsZSYmYTAm JmFZPT09InN0eWxlIil7aWYoYTMpe2FaLnN0eWxlLmNzc1RleHQ9IiIrYTR9cmV0 dXJuIGFaLnN0eWxlLmNzc1RleHR9aWYoYTMpe2FaLnNldEF0dHJpYnV0ZShhWSwi IithNCl9dmFyIGExPSFhLnN1cHBvcnQuaHJlZk5vcm1hbGl6ZWQmJmEwJiZhMj9h Wi5nZXRBdHRyaWJ1dGUoYVksMik6YVouZ2V0QXR0cmlidXRlKGFZKTtyZXR1cm4g YTE9PT1udWxsP0M6YTF9cmV0dXJuIGEuc3R5bGUoYVosYVksYTQpfX0pO3ZhciBh Qz0vXC4oLiopJC8sQT1mdW5jdGlvbihhWSl7cmV0dXJuIGFZLnJlcGxhY2UoL1te XHdcc1wuXHxgXS9nLGZ1bmN0aW9uKGFaKXtyZXR1cm4iXFwiK2FafSl9O2EuZXZl bnQ9e2FkZDpmdW5jdGlvbihhMSxhNSxiYSxhMyl7aWYoYTEubm9kZVR5cGU9PT0z fHxhMS5ub2RlVHlwZT09PTgpe3JldHVybn1pZihhMS5zZXRJbnRlcnZhbCYmKGEx IT09YU0mJiFhMS5mcmFtZUVsZW1lbnQpKXthMT1hTX12YXIgYVosYTk7aWYoYmEu aGFuZGxlcil7YVo9YmE7YmE9YVouaGFuZGxlcn1pZighYmEuZ3VpZCl7YmEuZ3Vp ZD1hLmd1aWQrK312YXIgYTY9YS5kYXRhKGExKTtpZighYTYpe3JldHVybn12YXIg YmI9YTYuZXZlbnRzPWE2LmV2ZW50c3x8e30sYTQ9YTYuaGFuZGxlLGE0O2lmKCFh NCl7YTYuaGFuZGxlPWE0PWZ1bmN0aW9uKCl7cmV0dXJuIHR5cGVvZiBhIT09InVu ZGVmaW5lZCImJiFhLmV2ZW50LnRyaWdnZXJlZD9hLmV2ZW50LmhhbmRsZS5hcHBs eShhNC5lbGVtLGFyZ3VtZW50cyk6Q319YTQuZWxlbT1hMTthNT1hNS5zcGxpdCgi ICIpO3ZhciBhOCxhMj0wLGFZO3doaWxlKChhOD1hNVthMisrXSkpe2E5PWFaP2Eu ZXh0ZW5kKHt9LGFaKTp7aGFuZGxlcjpiYSxkYXRhOmEzfTtpZihhOC5pbmRleE9m KCIuIik+LTEpe2FZPWE4LnNwbGl0KCIuIik7YTg9YVkuc2hpZnQoKTthOS5uYW1l c3BhY2U9YVkuc2xpY2UoMCkuc29ydCgpLmpvaW4oIi4iKX1lbHNle2FZPVtdO2E5 Lm5hbWVzcGFjZT0iIn1hOS50eXBlPWE4O2E5Lmd1aWQ9YmEuZ3VpZDt2YXIgYTA9 YmJbYThdLGE3PWEuZXZlbnQuc3BlY2lhbFthOF18fHt9O2lmKCFhMCl7YTA9YmJb YThdPVtdO2lmKCFhNy5zZXR1cHx8YTcuc2V0dXAuY2FsbChhMSxhMyxhWSxhNCk9 PT1mYWxzZSl7aWYoYTEuYWRkRXZlbnRMaXN0ZW5lcil7YTEuYWRkRXZlbnRMaXN0 ZW5lcihhOCxhNCxmYWxzZSl9ZWxzZXtpZihhMS5hdHRhY2hFdmVudCl7YTEuYXR0 YWNoRXZlbnQoIm9uIithOCxhNCl9fX19aWYoYTcuYWRkKXthNy5hZGQuY2FsbChh MSxhOSk7aWYoIWE5LmhhbmRsZXIuZ3VpZCl7YTkuaGFuZGxlci5ndWlkPWJhLmd1 aWR9fWEwLnB1c2goYTkpO2EuZXZlbnQuZ2xvYmFsW2E4XT10cnVlfWExPW51bGx9 LGdsb2JhbDp7fSxyZW1vdmU6ZnVuY3Rpb24oYmQsYTgsYVosYTQpe2lmKGJkLm5v ZGVUeXBlPT09M3x8YmQubm9kZVR5cGU9PT04KXtyZXR1cm59dmFyIGJnLGEzLGE1 LGJiPTAsYTEsYTYsYTksYTIsYTcsYVksYmYsYmM9YS5kYXRhKGJkKSxhMD1iYyYm YmMuZXZlbnRzO2lmKCFiY3x8IWEwKXtyZXR1cm59aWYoYTgmJmE4LnR5cGUpe2Fa PWE4LmhhbmRsZXI7YTg9YTgudHlwZX1pZighYTh8fHR5cGVvZiBhOD09PSJzdHJp bmciJiZhOC5jaGFyQXQoMCk9PT0iLiIpe2E4PWE4fHwiIjtmb3IoYTMgaW4gYTAp e2EuZXZlbnQucmVtb3ZlKGJkLGEzK2E4KX1yZXR1cm59YTg9YTguc3BsaXQoIiAi KTt3aGlsZSgoYTM9YThbYmIrK10pKXtiZj1hMzthWT1udWxsO2ExPWEzLmluZGV4 T2YoIi4iKTwwO2E2PVtdO2lmKCFhMSl7YTY9YTMuc3BsaXQoIi4iKTthMz1hNi5z aGlmdCgpO2E5PW5ldyBSZWdFeHAoIihefFxcLikiK2EubWFwKGE2LnNsaWNlKDAp LnNvcnQoKSxBKS5qb2luKCJcXC4oPzouKlxcLik/IikrIihcXC58JCkiKX1hNz1h MFthM107aWYoIWE3KXtjb250aW51ZX1pZighYVope2Zvcih2YXIgYmE9MDtiYTxh Ny5sZW5ndGg7YmErKyl7YVk9YTdbYmFdO2lmKGExfHxhOS50ZXN0KGFZLm5hbWVz cGFjZSkpe2EuZXZlbnQucmVtb3ZlKGJkLGJmLGFZLmhhbmRsZXIsYmEpO2E3LnNw bGljZShiYS0tLDEpfX1jb250aW51ZX1hMj1hLmV2ZW50LnNwZWNpYWxbYTNdfHx7 fTtmb3IodmFyIGJhPWE0fHwwO2JhPGE3Lmxlbmd0aDtiYSsrKXthWT1hN1tiYV07 aWYoYVouZ3VpZD09PWFZLmd1aWQpe2lmKGExfHxhOS50ZXN0KGFZLm5hbWVzcGFj ZSkpe2lmKGE0PT1udWxsKXthNy5zcGxpY2UoYmEtLSwxKX1pZihhMi5yZW1vdmUp e2EyLnJlbW92ZS5jYWxsKGJkLGFZKX19aWYoYTQhPW51bGwpe2JyZWFrfX19aWYo YTcubGVuZ3RoPT09MHx8YTQhPW51bGwmJmE3Lmxlbmd0aD09PTEpe2lmKCFhMi50 ZWFyZG93bnx8YTIudGVhcmRvd24uY2FsbChiZCxhNik9PT1mYWxzZSl7YWcoYmQs YTMsYmMuaGFuZGxlKX1iZz1udWxsO2RlbGV0ZSBhMFthM119fWlmKGEuaXNFbXB0 eU9iamVjdChhMCkpe3ZhciBiZT1iYy5oYW5kbGU7aWYoYmUpe2JlLmVsZW09bnVs bH1kZWxldGUgYmMuZXZlbnRzO2RlbGV0ZSBiYy5oYW5kbGU7aWYoYS5pc0VtcHR5 T2JqZWN0KGJjKSl7YS5yZW1vdmVEYXRhKGJkKX19fSx0cmlnZ2VyOmZ1bmN0aW9u KGFZLGEyLGEwKXt2YXIgYTc9YVkudHlwZXx8YVksYTE9YXJndW1lbnRzWzNdO2lm KCFhMSl7YVk9dHlwZW9mIGFZPT09Im9iamVjdCI/YVlbYUldP2FZOmEuZXh0ZW5k KGEuRXZlbnQoYTcpLGFZKTphLkV2ZW50KGE3KTtpZihhNy5pbmRleE9mKCIhIik+ PTApe2FZLnR5cGU9YTc9YTcuc2xpY2UoMCwtMSk7YVkuZXhjbHVzaXZlPXRydWV9 aWYoIWEwKXthWS5zdG9wUHJvcGFnYXRpb24oKTtpZihhLmV2ZW50Lmdsb2JhbFth N10pe2EuZWFjaChhLmNhY2hlLGZ1bmN0aW9uKCl7aWYodGhpcy5ldmVudHMmJnRo aXMuZXZlbnRzW2E3XSl7YS5ldmVudC50cmlnZ2VyKGFZLGEyLHRoaXMuaGFuZGxl LmVsZW0pfX0pfX1pZighYTB8fGEwLm5vZGVUeXBlPT09M3x8YTAubm9kZVR5cGU9 PT04KXtyZXR1cm4gQ31hWS5yZXN1bHQ9QzthWS50YXJnZXQ9YTA7YTI9YS5tYWtl QXJyYXkoYTIpO2EyLnVuc2hpZnQoYVkpfWFZLmN1cnJlbnRUYXJnZXQ9YTA7dmFy IGEzPWEuZGF0YShhMCwiaGFuZGxlIik7aWYoYTMpe2EzLmFwcGx5KGEwLGEyKX12 YXIgYTg9YTAucGFyZW50Tm9kZXx8YTAub3duZXJEb2N1bWVudDt0cnl7aWYoIShh MCYmYTAubm9kZU5hbWUmJmEubm9EYXRhW2EwLm5vZGVOYW1lLnRvTG93ZXJDYXNl KCldKSl7aWYoYTBbIm9uIithN10mJmEwWyJvbiIrYTddLmFwcGx5KGEwLGEyKT09 PWZhbHNlKXthWS5yZXN1bHQ9ZmFsc2V9fX1jYXRjaChhNSl7fWlmKCFhWS5pc1By b3BhZ2F0aW9uU3RvcHBlZCgpJiZhOCl7YS5ldmVudC50cmlnZ2VyKGFZLGEyLGE4 LHRydWUpfWVsc2V7aWYoIWFZLmlzRGVmYXVsdFByZXZlbnRlZCgpKXt2YXIgYTQ9 YVkudGFyZ2V0LGFaLGE5PWEubm9kZU5hbWUoYTQsImEiKSYmYTc9PT0iY2xpY2si LGE2PWEuZXZlbnQuc3BlY2lhbFthN118fHt9O2lmKCghYTYuX2RlZmF1bHR8fGE2 Ll9kZWZhdWx0LmNhbGwoYTAsYVkpPT09ZmFsc2UpJiYhYTkmJiEoYTQmJmE0Lm5v ZGVOYW1lJiZhLm5vRGF0YVthNC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSkpe3Ry eXtpZihhNFthN10pe2FaPWE0WyJvbiIrYTddO2lmKGFaKXthNFsib24iK2E3XT1u dWxsfWEuZXZlbnQudHJpZ2dlcmVkPXRydWU7YTRbYTddKCl9fWNhdGNoKGE1KXt9 aWYoYVope2E0WyJvbiIrYTddPWFafWEuZXZlbnQudHJpZ2dlcmVkPWZhbHNlfX19 fSxoYW5kbGU6ZnVuY3Rpb24oYVkpe3ZhciBhNixhMCxhWixhMSxhNzthWT1hcmd1 bWVudHNbMF09YS5ldmVudC5maXgoYVl8fGFNLmV2ZW50KTthWS5jdXJyZW50VGFy Z2V0PXRoaXM7YTY9YVkudHlwZS5pbmRleE9mKCIuIik8MCYmIWFZLmV4Y2x1c2l2 ZTtpZighYTYpe2FaPWFZLnR5cGUuc3BsaXQoIi4iKTthWS50eXBlPWFaLnNoaWZ0 KCk7YTE9bmV3IFJlZ0V4cCgiKF58XFwuKSIrYVouc2xpY2UoMCkuc29ydCgpLmpv aW4oIlxcLig/Oi4qXFwuKT8iKSsiKFxcLnwkKSIpfXZhciBhNz1hLmRhdGEodGhp cywiZXZlbnRzIiksYTA9YTdbYVkudHlwZV07aWYoYTcmJmEwKXthMD1hMC5zbGlj ZSgwKTtmb3IodmFyIGEzPTAsYTI9YTAubGVuZ3RoO2EzPGEyO2EzKyspe3ZhciBh NT1hMFthM107aWYoYTZ8fGExLnRlc3QoYTUubmFtZXNwYWNlKSl7YVkuaGFuZGxl cj1hNS5oYW5kbGVyO2FZLmRhdGE9YTUuZGF0YTthWS5oYW5kbGVPYmo9YTU7dmFy IGE0PWE1LmhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpO2lmKGE0IT09Qyl7 YVkucmVzdWx0PWE0O2lmKGE0PT09ZmFsc2Upe2FZLnByZXZlbnREZWZhdWx0KCk7 YVkuc3RvcFByb3BhZ2F0aW9uKCl9fWlmKGFZLmlzSW1tZWRpYXRlUHJvcGFnYXRp b25TdG9wcGVkKCkpe2JyZWFrfX19fXJldHVybiBhWS5yZXN1bHR9LHByb3BzOiJh bHRLZXkgYXR0ckNoYW5nZSBhdHRyTmFtZSBidWJibGVzIGJ1dHRvbiBjYW5jZWxh YmxlIGNoYXJDb2RlIGNsaWVudFggY2xpZW50WSBjdHJsS2V5IGN1cnJlbnRUYXJn ZXQgZGF0YSBkZXRhaWwgZXZlbnRQaGFzZSBmcm9tRWxlbWVudCBoYW5kbGVyIGtl eUNvZGUgbGF5ZXJYIGxheWVyWSBtZXRhS2V5IG5ld1ZhbHVlIG9mZnNldFggb2Zm c2V0WSBvcmlnaW5hbFRhcmdldCBwYWdlWCBwYWdlWSBwcmV2VmFsdWUgcmVsYXRl ZE5vZGUgcmVsYXRlZFRhcmdldCBzY3JlZW5YIHNjcmVlblkgc2hpZnRLZXkgc3Jj RWxlbWVudCB0YXJnZXQgdG9FbGVtZW50IHZpZXcgd2hlZWxEZWx0YSB3aGljaCIu c3BsaXQoIiAiKSxmaXg6ZnVuY3Rpb24oYTEpe2lmKGExW2FJXSl7cmV0dXJuIGEx fXZhciBhWj1hMTthMT1hLkV2ZW50KGFaKTtmb3IodmFyIGEwPXRoaXMucHJvcHMu bGVuZ3RoLGEzO2EwOyl7YTM9dGhpcy5wcm9wc1stLWEwXTthMVthM109YVpbYTNd fWlmKCFhMS50YXJnZXQpe2ExLnRhcmdldD1hMS5zcmNFbGVtZW50fHxhYn1pZihh MS50YXJnZXQubm9kZVR5cGU9PT0zKXthMS50YXJnZXQ9YTEudGFyZ2V0LnBhcmVu dE5vZGV9aWYoIWExLnJlbGF0ZWRUYXJnZXQmJmExLmZyb21FbGVtZW50KXthMS5y ZWxhdGVkVGFyZ2V0PWExLmZyb21FbGVtZW50PT09YTEudGFyZ2V0P2ExLnRvRWxl bWVudDphMS5mcm9tRWxlbWVudH1pZihhMS5wYWdlWD09bnVsbCYmYTEuY2xpZW50 WCE9bnVsbCl7dmFyIGEyPWFiLmRvY3VtZW50RWxlbWVudCxhWT1hYi5ib2R5O2Ex LnBhZ2VYPWExLmNsaWVudFgrKGEyJiZhMi5zY3JvbGxMZWZ0fHxhWSYmYVkuc2Ny b2xsTGVmdHx8MCktKGEyJiZhMi5jbGllbnRMZWZ0fHxhWSYmYVkuY2xpZW50TGVm dHx8MCk7YTEucGFnZVk9YTEuY2xpZW50WSsoYTImJmEyLnNjcm9sbFRvcHx8YVkm JmFZLnNjcm9sbFRvcHx8MCktKGEyJiZhMi5jbGllbnRUb3B8fGFZJiZhWS5jbGll bnRUb3B8fDApfWlmKCFhMS53aGljaCYmKChhMS5jaGFyQ29kZXx8YTEuY2hhckNv ZGU9PT0wKT9hMS5jaGFyQ29kZTphMS5rZXlDb2RlKSl7YTEud2hpY2g9YTEuY2hh ckNvZGV8fGExLmtleUNvZGV9aWYoIWExLm1ldGFLZXkmJmExLmN0cmxLZXkpe2Ex Lm1ldGFLZXk9YTEuY3RybEtleX1pZighYTEud2hpY2gmJmExLmJ1dHRvbiE9PUMp e2ExLndoaWNoPShhMS5idXR0b24mMT8xOihhMS5idXR0b24mMj8zOihhMS5idXR0 b24mND8yOjApKSl9cmV0dXJuIGExfSxndWlkOjEwMDAwMDAwMCxwcm94eTphLnBy b3h5LHNwZWNpYWw6e3JlYWR5OntzZXR1cDphLmJpbmRSZWFkeSx0ZWFyZG93bjph Lm5vb3B9LGxpdmU6e2FkZDpmdW5jdGlvbihhWSl7YS5ldmVudC5hZGQodGhpcyxh WS5vcmlnVHlwZSxhLmV4dGVuZCh7fSxhWSx7aGFuZGxlcjpWfSkpfSxyZW1vdmU6 ZnVuY3Rpb24oYVope3ZhciBhWT10cnVlLGEwPWFaLm9yaWdUeXBlLnJlcGxhY2Uo YUMsIiIpO2EuZWFjaChhLmRhdGEodGhpcywiZXZlbnRzIikubGl2ZXx8W10sZnVu Y3Rpb24oKXtpZihhMD09PXRoaXMub3JpZ1R5cGUucmVwbGFjZShhQywiIikpe2FZ PWZhbHNlO3JldHVybiBmYWxzZX19KTtpZihhWSl7YS5ldmVudC5yZW1vdmUodGhp cyxhWi5vcmlnVHlwZSxWKX19fSxiZWZvcmV1bmxvYWQ6e3NldHVwOmZ1bmN0aW9u KGEwLGFaLGFZKXtpZih0aGlzLnNldEludGVydmFsKXt0aGlzLm9uYmVmb3JldW5s b2FkPWFZfXJldHVybiBmYWxzZX0sdGVhcmRvd246ZnVuY3Rpb24oYVosYVkpe2lm KHRoaXMub25iZWZvcmV1bmxvYWQ9PT1hWSl7dGhpcy5vbmJlZm9yZXVubG9hZD1u dWxsfX19fX07dmFyIGFnPWFiLnJlbW92ZUV2ZW50TGlzdGVuZXI/ZnVuY3Rpb24o YVosYVksYTApe2FaLnJlbW92ZUV2ZW50TGlzdGVuZXIoYVksYTAsZmFsc2UpfTpm dW5jdGlvbihhWixhWSxhMCl7YVouZGV0YWNoRXZlbnQoIm9uIithWSxhMCl9O2Eu RXZlbnQ9ZnVuY3Rpb24oYVkpe2lmKCF0aGlzLnByZXZlbnREZWZhdWx0KXtyZXR1 cm4gbmV3IGEuRXZlbnQoYVkpfWlmKGFZJiZhWS50eXBlKXt0aGlzLm9yaWdpbmFs RXZlbnQ9YVk7dGhpcy50eXBlPWFZLnR5cGV9ZWxzZXt0aGlzLnR5cGU9YVl9dGhp cy50aW1lU3RhbXA9YVAoKTt0aGlzW2FJXT10cnVlfTtmdW5jdGlvbiBhUigpe3Jl dHVybiBmYWxzZX1mdW5jdGlvbiBmKCl7cmV0dXJuIHRydWV9YS5FdmVudC5wcm90 b3R5cGU9e3ByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dGhpcy5pc0RlZmF1bHRQ cmV2ZW50ZWQ9Zjt2YXIgYVk9dGhpcy5vcmlnaW5hbEV2ZW50O2lmKCFhWSl7cmV0 dXJufWlmKGFZLnByZXZlbnREZWZhdWx0KXthWS5wcmV2ZW50RGVmYXVsdCgpfWFZ LnJldHVyblZhbHVlPWZhbHNlfSxzdG9wUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt0 aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPWY7dmFyIGFZPXRoaXMub3JpZ2luYWxF dmVudDtpZighYVkpe3JldHVybn1pZihhWS5zdG9wUHJvcGFnYXRpb24pe2FZLnN0 b3BQcm9wYWdhdGlvbigpfWFZLmNhbmNlbEJ1YmJsZT10cnVlfSxzdG9wSW1tZWRp YXRlUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt0aGlzLmlzSW1tZWRpYXRlUHJvcGFn YXRpb25TdG9wcGVkPWY7dGhpcy5zdG9wUHJvcGFnYXRpb24oKX0saXNEZWZhdWx0 UHJldmVudGVkOmFSLGlzUHJvcGFnYXRpb25TdG9wcGVkOmFSLGlzSW1tZWRpYXRl UHJvcGFnYXRpb25TdG9wcGVkOmFSfTt2YXIgUT1mdW5jdGlvbihhWil7dmFyIGFZ PWFaLnJlbGF0ZWRUYXJnZXQ7dHJ5e3doaWxlKGFZJiZhWSE9PXRoaXMpe2FZPWFZ LnBhcmVudE5vZGV9aWYoYVkhPT10aGlzKXthWi50eXBlPWFaLmRhdGE7YS5ldmVu dC5oYW5kbGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfX1jYXRjaChhMCl7fX0sYXk9 ZnVuY3Rpb24oYVkpe2FZLnR5cGU9YVkuZGF0YTthLmV2ZW50LmhhbmRsZS5hcHBs eSh0aGlzLGFyZ3VtZW50cyl9O2EuZWFjaCh7bW91c2VlbnRlcjoibW91c2VvdmVy Iixtb3VzZWxlYXZlOiJtb3VzZW91dCJ9LGZ1bmN0aW9uKGFaLGFZKXthLmV2ZW50 LnNwZWNpYWxbYVpdPXtzZXR1cDpmdW5jdGlvbihhMCl7YS5ldmVudC5hZGQodGhp cyxhWSxhMCYmYTAuc2VsZWN0b3I/YXk6USxhWil9LHRlYXJkb3duOmZ1bmN0aW9u KGEwKXthLmV2ZW50LnJlbW92ZSh0aGlzLGFZLGEwJiZhMC5zZWxlY3Rvcj9heTpR KX19fSk7aWYoIWEuc3VwcG9ydC5zdWJtaXRCdWJibGVzKXthLmV2ZW50LnNwZWNp YWwuc3VibWl0PXtzZXR1cDpmdW5jdGlvbihhWixhWSl7aWYodGhpcy5ub2RlTmFt ZS50b0xvd2VyQ2FzZSgpIT09ImZvcm0iKXthLmV2ZW50LmFkZCh0aGlzLCJjbGlj ay5zcGVjaWFsU3VibWl0IixmdW5jdGlvbihhMil7dmFyIGExPWEyLnRhcmdldCxh MD1hMS50eXBlO2lmKChhMD09PSJzdWJtaXQifHxhMD09PSJpbWFnZSIpJiZhKGEx KS5jbG9zZXN0KCJmb3JtIikubGVuZ3RoKXtyZXR1cm4gYUEoInN1Ym1pdCIsdGhp cyxhcmd1bWVudHMpfX0pO2EuZXZlbnQuYWRkKHRoaXMsImtleXByZXNzLnNwZWNp YWxTdWJtaXQiLGZ1bmN0aW9uKGEyKXt2YXIgYTE9YTIudGFyZ2V0LGEwPWExLnR5 cGU7aWYoKGEwPT09InRleHQifHxhMD09PSJwYXNzd29yZCIpJiZhKGExKS5jbG9z ZXN0KCJmb3JtIikubGVuZ3RoJiZhMi5rZXlDb2RlPT09MTMpe3JldHVybiBhQSgi c3VibWl0Iix0aGlzLGFyZ3VtZW50cyl9fSl9ZWxzZXtyZXR1cm4gZmFsc2V9fSx0 ZWFyZG93bjpmdW5jdGlvbihhWSl7YS5ldmVudC5yZW1vdmUodGhpcywiLnNwZWNp YWxTdWJtaXQiKX19fWlmKCFhLnN1cHBvcnQuY2hhbmdlQnViYmxlcyl7dmFyIGFx PS90ZXh0YXJlYXxpbnB1dHxzZWxlY3QvaSxhUyxpPWZ1bmN0aW9uKGFaKXt2YXIg YVk9YVoudHlwZSxhMD1hWi52YWx1ZTtpZihhWT09PSJyYWRpbyJ8fGFZPT09ImNo ZWNrYm94Iil7YTA9YVouY2hlY2tlZH1lbHNle2lmKGFZPT09InNlbGVjdC1tdWx0 aXBsZSIpe2EwPWFaLnNlbGVjdGVkSW5kZXg+LTE/YS5tYXAoYVoub3B0aW9ucyxm dW5jdGlvbihhMSl7cmV0dXJuIGExLnNlbGVjdGVkfSkuam9pbigiLSIpOiIifWVs c2V7aWYoYVoubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PSJzZWxlY3QiKXthMD1h Wi5zZWxlY3RlZEluZGV4fX19cmV0dXJuIGEwfSxPPWZ1bmN0aW9uIE8oYTApe3Zh ciBhWT1hMC50YXJnZXQsYVosYTE7aWYoIWFxLnRlc3QoYVkubm9kZU5hbWUpfHxh WS5yZWFkT25seSl7cmV0dXJufWFaPWEuZGF0YShhWSwiX2NoYW5nZV9kYXRhIik7 YTE9aShhWSk7aWYoYTAudHlwZSE9PSJmb2N1c291dCJ8fGFZLnR5cGUhPT0icmFk aW8iKXthLmRhdGEoYVksIl9jaGFuZ2VfZGF0YSIsYTEpfWlmKGFaPT09Q3x8YTE9 PT1hWil7cmV0dXJufWlmKGFaIT1udWxsfHxhMSl7YTAudHlwZT0iY2hhbmdlIjty ZXR1cm4gYS5ldmVudC50cmlnZ2VyKGEwLGFyZ3VtZW50c1sxXSxhWSl9fTthLmV2 ZW50LnNwZWNpYWwuY2hhbmdlPXtmaWx0ZXJzOntmb2N1c291dDpPLGNsaWNrOmZ1 bmN0aW9uKGEwKXt2YXIgYVo9YTAudGFyZ2V0LGFZPWFaLnR5cGU7aWYoYVk9PT0i cmFkaW8ifHxhWT09PSJjaGVja2JveCJ8fGFaLm5vZGVOYW1lLnRvTG93ZXJDYXNl KCk9PT0ic2VsZWN0Iil7cmV0dXJuIE8uY2FsbCh0aGlzLGEwKX19LGtleWRvd246 ZnVuY3Rpb24oYTApe3ZhciBhWj1hMC50YXJnZXQsYVk9YVoudHlwZTtpZigoYTAu a2V5Q29kZT09PTEzJiZhWi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpIT09InRleHRh cmVhIil8fChhMC5rZXlDb2RlPT09MzImJihhWT09PSJjaGVja2JveCJ8fGFZPT09 InJhZGlvIikpfHxhWT09PSJzZWxlY3QtbXVsdGlwbGUiKXtyZXR1cm4gTy5jYWxs KHRoaXMsYTApfX0sYmVmb3JlYWN0aXZhdGU6ZnVuY3Rpb24oYVope3ZhciBhWT1h Wi50YXJnZXQ7YS5kYXRhKGFZLCJfY2hhbmdlX2RhdGEiLGkoYVkpKX19LHNldHVw OmZ1bmN0aW9uKGEwLGFaKXtpZih0aGlzLnR5cGU9PT0iZmlsZSIpe3JldHVybiBm YWxzZX1mb3IodmFyIGFZIGluIGFTKXthLmV2ZW50LmFkZCh0aGlzLGFZKyIuc3Bl Y2lhbENoYW5nZSIsYVNbYVldKX1yZXR1cm4gYXEudGVzdCh0aGlzLm5vZGVOYW1l KX0sdGVhcmRvd246ZnVuY3Rpb24oYVkpe2EuZXZlbnQucmVtb3ZlKHRoaXMsIi5z cGVjaWFsQ2hhbmdlIik7cmV0dXJuIGFxLnRlc3QodGhpcy5ub2RlTmFtZSl9fTth Uz1hLmV2ZW50LnNwZWNpYWwuY2hhbmdlLmZpbHRlcnN9ZnVuY3Rpb24gYUEoYVos YTAsYVkpe2FZWzBdLnR5cGU9YVo7cmV0dXJuIGEuZXZlbnQuaGFuZGxlLmFwcGx5 KGEwLGFZKX1pZihhYi5hZGRFdmVudExpc3RlbmVyKXthLmVhY2goe2ZvY3VzOiJm b2N1c2luIixibHVyOiJmb2N1c291dCJ9LGZ1bmN0aW9uKGEwLGFZKXthLmV2ZW50 LnNwZWNpYWxbYVldPXtzZXR1cDpmdW5jdGlvbigpe3RoaXMuYWRkRXZlbnRMaXN0 ZW5lcihhMCxhWix0cnVlKX0sdGVhcmRvd246ZnVuY3Rpb24oKXt0aGlzLnJlbW92 ZUV2ZW50TGlzdGVuZXIoYTAsYVosdHJ1ZSl9fTtmdW5jdGlvbiBhWihhMSl7YTE9 YS5ldmVudC5maXgoYTEpO2ExLnR5cGU9YVk7cmV0dXJuIGEuZXZlbnQuaGFuZGxl LmNhbGwodGhpcyxhMSl9fSl9YS5lYWNoKFsiYmluZCIsIm9uZSJdLGZ1bmN0aW9u KGFaLGFZKXthLmZuW2FZXT1mdW5jdGlvbihhNSxhNixhNCl7aWYodHlwZW9mIGE1 PT09Im9iamVjdCIpe2Zvcih2YXIgYTIgaW4gYTUpe3RoaXNbYVldKGEyLGE2LGE1 W2EyXSxhNCl9cmV0dXJuIHRoaXN9aWYoYS5pc0Z1bmN0aW9uKGE2KSl7YTQ9YTY7 YTY9Q312YXIgYTM9YVk9PT0ib25lIj9hLnByb3h5KGE0LGZ1bmN0aW9uKGE3KXth KHRoaXMpLnVuYmluZChhNyxhMyk7cmV0dXJuIGE0LmFwcGx5KHRoaXMsYXJndW1l bnRzKX0pOmE0O2lmKGE1PT09InVubG9hZCImJmFZIT09Im9uZSIpe3RoaXMub25l KGE1LGE2LGE0KX1lbHNle2Zvcih2YXIgYTE9MCxhMD10aGlzLmxlbmd0aDthMTxh MDthMSsrKXthLmV2ZW50LmFkZCh0aGlzW2ExXSxhNSxhMyxhNil9fXJldHVybiB0 aGlzfX0pO2EuZm4uZXh0ZW5kKHt1bmJpbmQ6ZnVuY3Rpb24oYTIsYTEpe2lmKHR5 cGVvZiBhMj09PSJvYmplY3QiJiYhYTIucHJldmVudERlZmF1bHQpe2Zvcih2YXIg YTAgaW4gYTIpe3RoaXMudW5iaW5kKGEwLGEyW2EwXSl9fWVsc2V7Zm9yKHZhciBh Wj0wLGFZPXRoaXMubGVuZ3RoO2FaPGFZO2FaKyspe2EuZXZlbnQucmVtb3ZlKHRo aXNbYVpdLGEyLGExKX19cmV0dXJuIHRoaXN9LGRlbGVnYXRlOmZ1bmN0aW9uKGFZ LGFaLGExLGEwKXtyZXR1cm4gdGhpcy5saXZlKGFaLGExLGEwLGFZKX0sdW5kZWxl Z2F0ZTpmdW5jdGlvbihhWSxhWixhMCl7aWYoYXJndW1lbnRzLmxlbmd0aD09PTAp e3JldHVybiB0aGlzLnVuYmluZCgibGl2ZSIpfWVsc2V7cmV0dXJuIHRoaXMuZGll KGFaLG51bGwsYTAsYVkpfX0sdHJpZ2dlcjpmdW5jdGlvbihhWSxhWil7cmV0dXJu IHRoaXMuZWFjaChmdW5jdGlvbigpe2EuZXZlbnQudHJpZ2dlcihhWSxhWix0aGlz KX0pfSx0cmlnZ2VySGFuZGxlcjpmdW5jdGlvbihhWSxhMCl7aWYodGhpc1swXSl7 dmFyIGFaPWEuRXZlbnQoYVkpO2FaLnByZXZlbnREZWZhdWx0KCk7YVouc3RvcFBy b3BhZ2F0aW9uKCk7YS5ldmVudC50cmlnZ2VyKGFaLGEwLHRoaXNbMF0pO3JldHVy biBhWi5yZXN1bHR9fSx0b2dnbGU6ZnVuY3Rpb24oYTApe3ZhciBhWT1hcmd1bWVu dHMsYVo9MTt3aGlsZShhWjxhWS5sZW5ndGgpe2EucHJveHkoYTAsYVlbYVorK10p fXJldHVybiB0aGlzLmNsaWNrKGEucHJveHkoYTAsZnVuY3Rpb24oYTEpe3ZhciBh Mj0oYS5kYXRhKHRoaXMsImxhc3RUb2dnbGUiK2EwLmd1aWQpfHwwKSVhWjthLmRh dGEodGhpcywibGFzdFRvZ2dsZSIrYTAuZ3VpZCxhMisxKTthMS5wcmV2ZW50RGVm YXVsdCgpO3JldHVybiBhWVthMl0uYXBwbHkodGhpcyxhcmd1bWVudHMpfHxmYWxz ZX0pKX0saG92ZXI6ZnVuY3Rpb24oYVksYVope3JldHVybiB0aGlzLm1vdXNlZW50 ZXIoYVkpLm1vdXNlbGVhdmUoYVp8fGFZKX19KTt2YXIgYXc9e2ZvY3VzOiJmb2N1 c2luIixibHVyOiJmb2N1c291dCIsbW91c2VlbnRlcjoibW91c2VvdmVyIixtb3Vz ZWxlYXZlOiJtb3VzZW91dCJ9O2EuZWFjaChbImxpdmUiLCJkaWUiXSxmdW5jdGlv bihhWixhWSl7YS5mblthWV09ZnVuY3Rpb24oYTcsYTQsYTksYTIpe3ZhciBhOCxh NT0wLGE2LGExLGJhLGEzPWEyfHx0aGlzLnNlbGVjdG9yLGEwPWEyP3RoaXM6YSh0 aGlzLmNvbnRleHQpO2lmKGEuaXNGdW5jdGlvbihhNCkpe2E5PWE0O2E0PUN9YTc9 KGE3fHwiIikuc3BsaXQoIiAiKTt3aGlsZSgoYTg9YTdbYTUrK10pIT1udWxsKXth Nj1hQy5leGVjKGE4KTthMT0iIjtpZihhNil7YTE9YTZbMF07YTg9YTgucmVwbGFj ZShhQywiIil9aWYoYTg9PT0iaG92ZXIiKXthNy5wdXNoKCJtb3VzZWVudGVyIith MSwibW91c2VsZWF2ZSIrYTEpO2NvbnRpbnVlfWJhPWE4O2lmKGE4PT09ImZvY3Vz Inx8YTg9PT0iYmx1ciIpe2E3LnB1c2goYXdbYThdK2ExKTthOD1hOCthMX1lbHNl e2E4PShhd1thOF18fGE4KSthMX1pZihhWT09PSJsaXZlIil7YTAuZWFjaChmdW5j dGlvbigpe2EuZXZlbnQuYWRkKHRoaXMsbShhOCxhMykse2RhdGE6YTQsc2VsZWN0 b3I6YTMsaGFuZGxlcjphOSxvcmlnVHlwZTphOCxvcmlnSGFuZGxlcjphOSxwcmVU eXBlOmJhfSl9KX1lbHNle2EwLnVuYmluZChtKGE4LGEzKSxhOSl9fXJldHVybiB0 aGlzfX0pO2Z1bmN0aW9uIFYoYVkpe3ZhciBhOCxhWj1bXSxiYj1bXSxhNz1hcmd1 bWVudHMsYmEsYTYsYTksYTEsYTMsYTUsYTIsYTQsYmM9YS5kYXRhKHRoaXMsImV2 ZW50cyIpO2lmKGFZLmxpdmVGaXJlZD09PXRoaXN8fCFiY3x8IWJjLmxpdmV8fGFZ LmJ1dHRvbiYmYVkudHlwZT09PSJjbGljayIpe3JldHVybn1hWS5saXZlRmlyZWQ9 dGhpczt2YXIgYTA9YmMubGl2ZS5zbGljZSgwKTtmb3IoYTM9MDthMzxhMC5sZW5n dGg7YTMrKyl7YTk9YTBbYTNdO2lmKGE5Lm9yaWdUeXBlLnJlcGxhY2UoYUMsIiIp PT09YVkudHlwZSl7YmIucHVzaChhOS5zZWxlY3Rvcil9ZWxzZXthMC5zcGxpY2Uo YTMtLSwxKX19YTY9YShhWS50YXJnZXQpLmNsb3Nlc3QoYmIsYVkuY3VycmVudFRh cmdldCk7Zm9yKGE1PTAsYTI9YTYubGVuZ3RoO2E1PGEyO2E1Kyspe2ZvcihhMz0w O2EzPGEwLmxlbmd0aDthMysrKXthOT1hMFthM107aWYoYTZbYTVdLnNlbGVjdG9y PT09YTkuc2VsZWN0b3Ipe2ExPWE2W2E1XS5lbGVtO2JhPW51bGw7aWYoYTkucHJl VHlwZT09PSJtb3VzZWVudGVyInx8YTkucHJlVHlwZT09PSJtb3VzZWxlYXZlIil7 YmE9YShhWS5yZWxhdGVkVGFyZ2V0KS5jbG9zZXN0KGE5LnNlbGVjdG9yKVswXX1p ZighYmF8fGJhIT09YTEpe2FaLnB1c2goe2VsZW06YTEsaGFuZGxlT2JqOmE5fSl9 fX19Zm9yKGE1PTAsYTI9YVoubGVuZ3RoO2E1PGEyO2E1Kyspe2E2PWFaW2E1XTth WS5jdXJyZW50VGFyZ2V0PWE2LmVsZW07YVkuZGF0YT1hNi5oYW5kbGVPYmouZGF0 YTthWS5oYW5kbGVPYmo9YTYuaGFuZGxlT2JqO2lmKGE2LmhhbmRsZU9iai5vcmln SGFuZGxlci5hcHBseShhNi5lbGVtLGE3KT09PWZhbHNlKXthOD1mYWxzZTticmVh a319cmV0dXJuIGE4fWZ1bmN0aW9uIG0oYVosYVkpe3JldHVybiJsaXZlLiIrKGFa JiZhWiE9PSIqIj9hWisiLiI6IiIpK2FZLnJlcGxhY2UoL1wuL2csImAiKS5yZXBs YWNlKC8gL2csIiYiKX1hLmVhY2goKCJibHVyIGZvY3VzIGZvY3VzaW4gZm9jdXNv dXQgbG9hZCByZXNpemUgc2Nyb2xsIHVubG9hZCBjbGljayBkYmxjbGljayBtb3Vz ZWRvd24gbW91c2V1cCBtb3VzZW1vdmUgbW91c2VvdmVyIG1vdXNlb3V0IG1vdXNl ZW50ZXIgbW91c2VsZWF2ZSBjaGFuZ2Ugc2VsZWN0IHN1Ym1pdCBrZXlkb3duIGtl eXByZXNzIGtleXVwIGVycm9yIikuc3BsaXQoIiAiKSxmdW5jdGlvbihhWixhWSl7 YS5mblthWV09ZnVuY3Rpb24oYTApe3JldHVybiBhMD90aGlzLmJpbmQoYVksYTAp OnRoaXMudHJpZ2dlcihhWSl9O2lmKGEuYXR0ckZuKXthLmF0dHJGblthWV09dHJ1 ZX19KTtpZihhTS5hdHRhY2hFdmVudCYmIWFNLmFkZEV2ZW50TGlzdGVuZXIpe2FN LmF0dGFjaEV2ZW50KCJvbnVubG9hZCIsZnVuY3Rpb24oKXtmb3IodmFyIGFaIGlu IGEuY2FjaGUpe2lmKGEuY2FjaGVbYVpdLmhhbmRsZSl7dHJ5e2EuZXZlbnQucmVt b3ZlKGEuY2FjaGVbYVpdLmhhbmRsZS5lbGVtKX1jYXRjaChhWSl7fX19fSk7Ci8q IQogKiBTaXp6bGUgQ1NTIFNlbGVjdG9yIEVuZ2luZSAtIHYxLjAKICogIENvcHly aWdodCAyMDA5LCBUaGUgRG9qbyBGb3VuZGF0aW9uCiAqICBSZWxlYXNlZCB1bmRl ciB0aGUgTUlULCBCU0QsIGFuZCBHUEwgTGljZW5zZXMuCiAqICBNb3JlIGluZm9y bWF0aW9uOiBodHRwOi8vc2l6emxlanMuY29tLwogKi8KfShmdW5jdGlvbigpe3Zh ciBhOT0vKCg/OlwoKD86XChbXigpXStcKXxbXigpXSspK1wpfFxbKD86XFtbXltc XV0qXF18WyciXVteJyJdKlsnIl18W15bXF0nIl0rKStcXXxcXC58W14gPit+LChc W1xcXSspK3xbPit+XSkoXHMqLFxzKik/KCg/Oi58XHJ8XG4pKikvZyxiYT0wLGJj PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsYTQ9ZmFsc2UsYTM9dHJ1ZTtbMCww XS5zb3J0KGZ1bmN0aW9uKCl7YTM9ZmFsc2U7cmV0dXJuIDB9KTt2YXIgYTA9ZnVu Y3Rpb24oYmwsYmcsYm8sYnApe2JvPWJvfHxbXTt2YXIgYnI9Ymc9Ymd8fGFiO2lm KGJnLm5vZGVUeXBlIT09MSYmYmcubm9kZVR5cGUhPT05KXtyZXR1cm5bXX1pZigh Ymx8fHR5cGVvZiBibCE9PSJzdHJpbmciKXtyZXR1cm4gYm99dmFyIGJtPVtdLGJp LGJ0LGJ3LGJoLGJrPXRydWUsYmo9YTEoYmcpLGJxPWJsO3doaWxlKChhOS5leGVj KCIiKSxiaT1hOS5leGVjKGJxKSkhPT1udWxsKXticT1iaVszXTtibS5wdXNoKGJp WzFdKTtpZihiaVsyXSl7Ymg9YmlbM107YnJlYWt9fWlmKGJtLmxlbmd0aD4xJiZh NS5leGVjKGJsKSl7aWYoYm0ubGVuZ3RoPT09MiYmYTYucmVsYXRpdmVbYm1bMF1d KXtidD1iZChibVswXStibVsxXSxiZyl9ZWxzZXtidD1hNi5yZWxhdGl2ZVtibVsw XV0/W2JnXTphMChibS5zaGlmdCgpLGJnKTt3aGlsZShibS5sZW5ndGgpe2JsPWJt LnNoaWZ0KCk7aWYoYTYucmVsYXRpdmVbYmxdKXtibCs9Ym0uc2hpZnQoKX1idD1i ZChibCxidCl9fX1lbHNle2lmKCFicCYmYm0ubGVuZ3RoPjEmJmJnLm5vZGVUeXBl PT09OSYmIWJqJiZhNi5tYXRjaC5JRC50ZXN0KGJtWzBdKSYmIWE2Lm1hdGNoLklE LnRlc3QoYm1bYm0ubGVuZ3RoLTFdKSl7dmFyIGJzPWEwLmZpbmQoYm0uc2hpZnQo KSxiZyxiaik7Ymc9YnMuZXhwcj9hMC5maWx0ZXIoYnMuZXhwcixicy5zZXQpWzBd OmJzLnNldFswXX1pZihiZyl7dmFyIGJzPWJwP3tleHByOmJtLnBvcCgpLHNldDph OChicCl9OmEwLmZpbmQoYm0ucG9wKCksYm0ubGVuZ3RoPT09MSYmKGJtWzBdPT09 In4ifHxibVswXT09PSIrIikmJmJnLnBhcmVudE5vZGU/YmcucGFyZW50Tm9kZTpi Zyxiaik7YnQ9YnMuZXhwcj9hMC5maWx0ZXIoYnMuZXhwcixicy5zZXQpOmJzLnNl dDtpZihibS5sZW5ndGg+MCl7Ync9YTgoYnQpfWVsc2V7Yms9ZmFsc2V9d2hpbGUo Ym0ubGVuZ3RoKXt2YXIgYnY9Ym0ucG9wKCksYnU9YnY7aWYoIWE2LnJlbGF0aXZl W2J2XSl7YnY9IiJ9ZWxzZXtidT1ibS5wb3AoKX1pZihidT09bnVsbCl7YnU9Ymd9 YTYucmVsYXRpdmVbYnZdKGJ3LGJ1LGJqKX19ZWxzZXtidz1ibT1bXX19aWYoIWJ3 KXtidz1idH1pZighYncpe2EwLmVycm9yKGJ2fHxibCl9aWYoYmMuY2FsbChidyk9 PT0iW29iamVjdCBBcnJheV0iKXtpZighYmspe2JvLnB1c2guYXBwbHkoYm8sYncp fWVsc2V7aWYoYmcmJmJnLm5vZGVUeXBlPT09MSl7Zm9yKHZhciBibj0wO2J3W2Ju XSE9bnVsbDtibisrKXtpZihid1tibl0mJihid1tibl09PT10cnVlfHxid1tibl0u bm9kZVR5cGU9PT0xJiZhNyhiZyxid1tibl0pKSl7Ym8ucHVzaChidFtibl0pfX19 ZWxzZXtmb3IodmFyIGJuPTA7YndbYm5dIT1udWxsO2JuKyspe2lmKGJ3W2JuXSYm YndbYm5dLm5vZGVUeXBlPT09MSl7Ym8ucHVzaChidFtibl0pfX19fX1lbHNle2E4 KGJ3LGJvKX1pZihiaCl7YTAoYmgsYnIsYm8sYnApO2EwLnVuaXF1ZVNvcnQoYm8p fXJldHVybiBib307YTAudW5pcXVlU29ydD1mdW5jdGlvbihiaCl7aWYoYmIpe2E0 PWEzO2JoLnNvcnQoYmIpO2lmKGE0KXtmb3IodmFyIGJnPTE7Ymc8YmgubGVuZ3Ro O2JnKyspe2lmKGJoW2JnXT09PWJoW2JnLTFdKXtiaC5zcGxpY2UoYmctLSwxKX19 fX1yZXR1cm4gYmh9O2EwLm1hdGNoZXM9ZnVuY3Rpb24oYmcsYmgpe3JldHVybiBh MChiZyxudWxsLG51bGwsYmgpfTthMC5maW5kPWZ1bmN0aW9uKGJuLGJnLGJvKXt2 YXIgYm0sYms7aWYoIWJuKXtyZXR1cm5bXX1mb3IodmFyIGJqPTAsYmk9YTYub3Jk ZXIubGVuZ3RoO2JqPGJpO2JqKyspe3ZhciBibD1hNi5vcmRlcltial0sYms7aWYo KGJrPWE2LmxlZnRNYXRjaFtibF0uZXhlYyhibikpKXt2YXIgYmg9YmtbMV07Ymsu c3BsaWNlKDEsMSk7aWYoYmguc3Vic3RyKGJoLmxlbmd0aC0xKSE9PSJcXCIpe2Jr WzFdPShia1sxXXx8IiIpLnJlcGxhY2UoL1xcL2csIiIpO2JtPWE2LmZpbmRbYmxd KGJrLGJnLGJvKTtpZihibSE9bnVsbCl7Ym49Ym4ucmVwbGFjZShhNi5tYXRjaFti bF0sIiIpO2JyZWFrfX19fWlmKCFibSl7Ym09YmcuZ2V0RWxlbWVudHNCeVRhZ05h bWUoIioiKX1yZXR1cm57c2V0OmJtLGV4cHI6Ym59fTthMC5maWx0ZXI9ZnVuY3Rp b24oYnIsYnEsYnUsYmspe3ZhciBiaT1icixidz1bXSxibz1icSxibSxiZyxibj1i cSYmYnFbMF0mJmExKGJxWzBdKTt3aGlsZShiciYmYnEubGVuZ3RoKXtmb3IodmFy IGJwIGluIGE2LmZpbHRlcil7aWYoKGJtPWE2LmxlZnRNYXRjaFticF0uZXhlYyhi cikpIT1udWxsJiZibVsyXSl7dmFyIGJoPWE2LmZpbHRlclticF0sYnYsYnQsYmo9 Ym1bMV07Ymc9ZmFsc2U7Ym0uc3BsaWNlKDEsMSk7aWYoYmouc3Vic3RyKGJqLmxl bmd0aC0xKT09PSJcXCIpe2NvbnRpbnVlfWlmKGJvPT09Yncpe2J3PVtdfWlmKGE2 LnByZUZpbHRlclticF0pe2JtPWE2LnByZUZpbHRlclticF0oYm0sYm8sYnUsYncs YmssYm4pO2lmKCFibSl7Ymc9YnY9dHJ1ZX1lbHNle2lmKGJtPT09dHJ1ZSl7Y29u dGludWV9fX1pZihibSl7Zm9yKHZhciBibD0wOyhidD1ib1tibF0pIT1udWxsO2Js Kyspe2lmKGJ0KXtidj1iaChidCxibSxibCxibyk7dmFyIGJzPWJrXiEhYnY7aWYo YnUmJmJ2IT1udWxsKXtpZihicyl7Ymc9dHJ1ZX1lbHNle2JvW2JsXT1mYWxzZX19 ZWxzZXtpZihicyl7YncucHVzaChidCk7Ymc9dHJ1ZX19fX19aWYoYnYhPT1DKXtp ZighYnUpe2JvPWJ3fWJyPWJyLnJlcGxhY2UoYTYubWF0Y2hbYnBdLCIiKTtpZigh Ymcpe3JldHVybltdfWJyZWFrfX19aWYoYnI9PT1iaSl7aWYoYmc9PW51bGwpe2Ew LmVycm9yKGJyKX1lbHNle2JyZWFrfX1iaT1icn1yZXR1cm4gYm99O2EwLmVycm9y PWZ1bmN0aW9uKGJnKXt0aHJvdyJTeW50YXggZXJyb3IsIHVucmVjb2duaXplZCBl eHByZXNzaW9uOiAiK2JnfTt2YXIgYTY9YTAuc2VsZWN0b3JzPXtvcmRlcjpbIklE IiwiTkFNRSIsIlRBRyJdLG1hdGNoOntJRDovIygoPzpbXHdcdTAwYzAtXHVGRkZG LV18XFwuKSspLyxDTEFTUzovXC4oKD86W1x3XHUwMGMwLVx1RkZGRi1dfFxcLikr KS8sTkFNRTovXFtuYW1lPVsnIl0qKCg/Oltcd1x1MDBjMC1cdUZGRkYtXXxcXC4p KylbJyJdKlxdLyxBVFRSOi9cW1xzKigoPzpbXHdcdTAwYzAtXHVGRkZGLV18XFwu KSspXHMqKD86KFxTPz0pXHMqKFsnIl0qKSguKj8pXDN8KVxzKlxdLyxUQUc6L14o KD86W1x3XHUwMGMwLVx1RkZGRlwqLV18XFwuKSspLyxDSElMRDovOihvbmx5fG50 aHxsYXN0fGZpcnN0KS1jaGlsZCg/OlwoKGV2ZW58b2RkfFtcZG4rLV0qKVwpKT8v LFBPUzovOihudGh8ZXF8Z3R8bHR8Zmlyc3R8bGFzdHxldmVufG9kZCkoPzpcKChc ZCopXCkpPyg/PVteLV18JCkvLFBTRVVETzovOigoPzpbXHdcdTAwYzAtXHVGRkZG LV18XFwuKSspKD86XCgoWyciXT8pKCg/OlwoW15cKV0rXCl8W15cKFwpXSopKylc MlwpKT8vfSxsZWZ0TWF0Y2g6e30sYXR0ck1hcDp7ImNsYXNzIjoiY2xhc3NOYW1l IiwiZm9yIjoiaHRtbEZvciJ9LGF0dHJIYW5kbGU6e2hyZWY6ZnVuY3Rpb24oYmcp e3JldHVybiBiZy5nZXRBdHRyaWJ1dGUoImhyZWYiKX19LHJlbGF0aXZlOnsiKyI6 ZnVuY3Rpb24oYm0sYmgpe3ZhciBiaj10eXBlb2YgYmg9PT0ic3RyaW5nIixibD1i aiYmIS9cVy8udGVzdChiaCksYm49YmomJiFibDtpZihibCl7Ymg9YmgudG9Mb3dl ckNhc2UoKX1mb3IodmFyIGJpPTAsYmc9Ym0ubGVuZ3RoLGJrO2JpPGJnO2JpKysp e2lmKChiaz1ibVtiaV0pKXt3aGlsZSgoYms9YmsucHJldmlvdXNTaWJsaW5nKSYm Ymsubm9kZVR5cGUhPT0xKXt9Ym1bYmldPWJufHxiayYmYmsubm9kZU5hbWUudG9M b3dlckNhc2UoKT09PWJoP2JrfHxmYWxzZTpiaz09PWJofX1pZihibil7YTAuZmls dGVyKGJoLGJtLHRydWUpfX0sIj4iOmZ1bmN0aW9uKGJtLGJoKXt2YXIgYms9dHlw ZW9mIGJoPT09InN0cmluZyI7aWYoYmsmJiEvXFcvLnRlc3QoYmgpKXtiaD1iaC50 b0xvd2VyQ2FzZSgpO2Zvcih2YXIgYmk9MCxiZz1ibS5sZW5ndGg7Ymk8Ymc7Ymkr Kyl7dmFyIGJsPWJtW2JpXTtpZihibCl7dmFyIGJqPWJsLnBhcmVudE5vZGU7Ym1b YmldPWJqLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1iaD9iajpmYWxzZX19fWVs c2V7Zm9yKHZhciBiaT0wLGJnPWJtLmxlbmd0aDtiaTxiZztiaSsrKXt2YXIgYmw9 Ym1bYmldO2lmKGJsKXtibVtiaV09Yms/YmwucGFyZW50Tm9kZTpibC5wYXJlbnRO b2RlPT09Ymh9fWlmKGJrKXthMC5maWx0ZXIoYmgsYm0sdHJ1ZSl9fX0sIiI6ZnVu Y3Rpb24oYmosYmgsYmwpe3ZhciBiaT1iYSsrLGJnPWJlO2lmKHR5cGVvZiBiaD09 PSJzdHJpbmciJiYhL1xXLy50ZXN0KGJoKSl7dmFyIGJrPWJoPWJoLnRvTG93ZXJD YXNlKCk7Ymc9YVl9YmcoInBhcmVudE5vZGUiLGJoLGJpLGJqLGJrLGJsKX0sIn4i OmZ1bmN0aW9uKGJqLGJoLGJsKXt2YXIgYmk9YmErKyxiZz1iZTtpZih0eXBlb2Yg Ymg9PT0ic3RyaW5nIiYmIS9cVy8udGVzdChiaCkpe3ZhciBiaz1iaD1iaC50b0xv d2VyQ2FzZSgpO2JnPWFZfWJnKCJwcmV2aW91c1NpYmxpbmciLGJoLGJpLGJqLGJr LGJsKX19LGZpbmQ6e0lEOmZ1bmN0aW9uKGJoLGJpLGJqKXtpZih0eXBlb2YgYmku Z2V0RWxlbWVudEJ5SWQhPT0idW5kZWZpbmVkIiYmIWJqKXt2YXIgYmc9YmkuZ2V0 RWxlbWVudEJ5SWQoYmhbMV0pO3JldHVybiBiZz9bYmddOltdfX0sTkFNRTpmdW5j dGlvbihiaSxibCl7aWYodHlwZW9mIGJsLmdldEVsZW1lbnRzQnlOYW1lIT09InVu ZGVmaW5lZCIpe3ZhciBiaD1bXSxiaz1ibC5nZXRFbGVtZW50c0J5TmFtZShiaVsx XSk7Zm9yKHZhciBiaj0wLGJnPWJrLmxlbmd0aDtiajxiZztiaisrKXtpZihia1ti al0uZ2V0QXR0cmlidXRlKCJuYW1lIik9PT1iaVsxXSl7YmgucHVzaChia1tial0p fX1yZXR1cm4gYmgubGVuZ3RoPT09MD9udWxsOmJofX0sVEFHOmZ1bmN0aW9uKGJn LGJoKXtyZXR1cm4gYmguZ2V0RWxlbWVudHNCeVRhZ05hbWUoYmdbMV0pfX0scHJl RmlsdGVyOntDTEFTUzpmdW5jdGlvbihiaixiaCxiaSxiZyxibSxibil7Ymo9IiAi K2JqWzFdLnJlcGxhY2UoL1xcL2csIiIpKyIgIjtpZihibil7cmV0dXJuIGJqfWZv cih2YXIgYms9MCxibDsoYmw9YmhbYmtdKSE9bnVsbDtiaysrKXtpZihibCl7aWYo Ym1eKGJsLmNsYXNzTmFtZSYmKCIgIitibC5jbGFzc05hbWUrIiAiKS5yZXBsYWNl KC9bXHRcbl0vZywiICIpLmluZGV4T2YoYmopPj0wKSl7aWYoIWJpKXtiZy5wdXNo KGJsKX19ZWxzZXtpZihiaSl7YmhbYmtdPWZhbHNlfX19fXJldHVybiBmYWxzZX0s SUQ6ZnVuY3Rpb24oYmcpe3JldHVybiBiZ1sxXS5yZXBsYWNlKC9cXC9nLCIiKX0s VEFHOmZ1bmN0aW9uKGJoLGJnKXtyZXR1cm4gYmhbMV0udG9Mb3dlckNhc2UoKX0s Q0hJTEQ6ZnVuY3Rpb24oYmcpe2lmKGJnWzFdPT09Im50aCIpe3ZhciBiaD0vKC0/ KShcZCopbigoPzpcK3wtKT9cZCopLy5leGVjKGJnWzJdPT09ImV2ZW4iJiYiMm4i fHxiZ1syXT09PSJvZGQiJiYiMm4rMSJ8fCEvXEQvLnRlc3QoYmdbMl0pJiYiMG4r IitiZ1syXXx8YmdbMl0pO2JnWzJdPShiaFsxXSsoYmhbMl18fDEpKS0wO2JnWzNd PWJoWzNdLTB9YmdbMF09YmErKztyZXR1cm4gYmd9LEFUVFI6ZnVuY3Rpb24oYmss YmgsYmksYmcsYmwsYm0pe3ZhciBiaj1ia1sxXS5yZXBsYWNlKC9cXC9nLCIiKTtp ZighYm0mJmE2LmF0dHJNYXBbYmpdKXtia1sxXT1hNi5hdHRyTWFwW2JqXX1pZihi a1syXT09PSJ+PSIpe2JrWzRdPSIgIitia1s0XSsiICJ9cmV0dXJuIGJrfSxQU0VV RE86ZnVuY3Rpb24oYmssYmgsYmksYmcsYmwpe2lmKGJrWzFdPT09Im5vdCIpe2lm KChhOS5leGVjKGJrWzNdKXx8IiIpLmxlbmd0aD4xfHwvXlx3Ly50ZXN0KGJrWzNd KSl7YmtbM109YTAoYmtbM10sbnVsbCxudWxsLGJoKX1lbHNle3ZhciBiaj1hMC5m aWx0ZXIoYmtbM10sYmgsYmksdHJ1ZV5ibCk7aWYoIWJpKXtiZy5wdXNoLmFwcGx5 KGJnLGJqKX1yZXR1cm4gZmFsc2V9fWVsc2V7aWYoYTYubWF0Y2guUE9TLnRlc3Qo YmtbMF0pfHxhNi5tYXRjaC5DSElMRC50ZXN0KGJrWzBdKSl7cmV0dXJuIHRydWV9 fXJldHVybiBia30sUE9TOmZ1bmN0aW9uKGJnKXtiZy51bnNoaWZ0KHRydWUpO3Jl dHVybiBiZ319LGZpbHRlcnM6e2VuYWJsZWQ6ZnVuY3Rpb24oYmcpe3JldHVybiBi Zy5kaXNhYmxlZD09PWZhbHNlJiZiZy50eXBlIT09ImhpZGRlbiJ9LGRpc2FibGVk OmZ1bmN0aW9uKGJnKXtyZXR1cm4gYmcuZGlzYWJsZWQ9PT10cnVlfSxjaGVja2Vk OmZ1bmN0aW9uKGJnKXtyZXR1cm4gYmcuY2hlY2tlZD09PXRydWV9LHNlbGVjdGVk OmZ1bmN0aW9uKGJnKXtiZy5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXg7cmV0dXJu IGJnLnNlbGVjdGVkPT09dHJ1ZX0scGFyZW50OmZ1bmN0aW9uKGJnKXtyZXR1cm4g ISFiZy5maXJzdENoaWxkfSxlbXB0eTpmdW5jdGlvbihiZyl7cmV0dXJuICFiZy5m aXJzdENoaWxkfSxoYXM6ZnVuY3Rpb24oYmksYmgsYmcpe3JldHVybiAhIWEwKGJn WzNdLGJpKS5sZW5ndGh9LGhlYWRlcjpmdW5jdGlvbihiZyl7cmV0dXJuL2hcZC9p LnRlc3QoYmcubm9kZU5hbWUpfSx0ZXh0OmZ1bmN0aW9uKGJnKXtyZXR1cm4idGV4 dCI9PT1iZy50eXBlfSxyYWRpbzpmdW5jdGlvbihiZyl7cmV0dXJuInJhZGlvIj09 PWJnLnR5cGV9LGNoZWNrYm94OmZ1bmN0aW9uKGJnKXtyZXR1cm4iY2hlY2tib3gi PT09YmcudHlwZX0sZmlsZTpmdW5jdGlvbihiZyl7cmV0dXJuImZpbGUiPT09Ymcu dHlwZX0scGFzc3dvcmQ6ZnVuY3Rpb24oYmcpe3JldHVybiJwYXNzd29yZCI9PT1i Zy50eXBlfSxzdWJtaXQ6ZnVuY3Rpb24oYmcpe3JldHVybiJzdWJtaXQiPT09Ymcu dHlwZX0saW1hZ2U6ZnVuY3Rpb24oYmcpe3JldHVybiJpbWFnZSI9PT1iZy50eXBl fSxyZXNldDpmdW5jdGlvbihiZyl7cmV0dXJuInJlc2V0Ij09PWJnLnR5cGV9LGJ1 dHRvbjpmdW5jdGlvbihiZyl7cmV0dXJuImJ1dHRvbiI9PT1iZy50eXBlfHxiZy5u b2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09ImJ1dHRvbiJ9LGlucHV0OmZ1bmN0aW9u KGJnKXtyZXR1cm4vaW5wdXR8c2VsZWN0fHRleHRhcmVhfGJ1dHRvbi9pLnRlc3Qo Ymcubm9kZU5hbWUpfX0sc2V0RmlsdGVyczp7Zmlyc3Q6ZnVuY3Rpb24oYmgsYmcp e3JldHVybiBiZz09PTB9LGxhc3Q6ZnVuY3Rpb24oYmksYmgsYmcsYmope3JldHVy biBiaD09PWJqLmxlbmd0aC0xfSxldmVuOmZ1bmN0aW9uKGJoLGJnKXtyZXR1cm4g YmclMj09PTB9LG9kZDpmdW5jdGlvbihiaCxiZyl7cmV0dXJuIGJnJTI9PT0xfSxs dDpmdW5jdGlvbihiaSxiaCxiZyl7cmV0dXJuIGJoPGJnWzNdLTB9LGd0OmZ1bmN0 aW9uKGJpLGJoLGJnKXtyZXR1cm4gYmg+YmdbM10tMH0sbnRoOmZ1bmN0aW9uKGJp LGJoLGJnKXtyZXR1cm4gYmdbM10tMD09PWJofSxlcTpmdW5jdGlvbihiaSxiaCxi Zyl7cmV0dXJuIGJnWzNdLTA9PT1iaH19LGZpbHRlcjp7UFNFVURPOmZ1bmN0aW9u KGJtLGJpLGJqLGJuKXt2YXIgYmg9YmlbMV0sYms9YTYuZmlsdGVyc1tiaF07aWYo Ymspe3JldHVybiBiayhibSxiaixiaSxibil9ZWxzZXtpZihiaD09PSJjb250YWlu cyIpe3JldHVybihibS50ZXh0Q29udGVudHx8Ym0uaW5uZXJUZXh0fHxhWihbYm1d KXx8IiIpLmluZGV4T2YoYmlbM10pPj0wfWVsc2V7aWYoYmg9PT0ibm90Iil7dmFy IGJsPWJpWzNdO2Zvcih2YXIgYmo9MCxiZz1ibC5sZW5ndGg7Ymo8Ymc7YmorKyl7 aWYoYmxbYmpdPT09Ym0pe3JldHVybiBmYWxzZX19cmV0dXJuIHRydWV9ZWxzZXth MC5lcnJvcigiU3ludGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjog IitiaCl9fX19LENISUxEOmZ1bmN0aW9uKGJnLGJqKXt2YXIgYm09YmpbMV0sYmg9 Ymc7c3dpdGNoKGJtKXtjYXNlIm9ubHkiOmNhc2UiZmlyc3QiOndoaWxlKChiaD1i aC5wcmV2aW91c1NpYmxpbmcpKXtpZihiaC5ub2RlVHlwZT09PTEpe3JldHVybiBm YWxzZX19aWYoYm09PT0iZmlyc3QiKXtyZXR1cm4gdHJ1ZX1iaD1iZztjYXNlImxh c3QiOndoaWxlKChiaD1iaC5uZXh0U2libGluZykpe2lmKGJoLm5vZGVUeXBlPT09 MSl7cmV0dXJuIGZhbHNlfX1yZXR1cm4gdHJ1ZTtjYXNlIm50aCI6dmFyIGJpPWJq WzJdLGJwPWJqWzNdO2lmKGJpPT09MSYmYnA9PT0wKXtyZXR1cm4gdHJ1ZX12YXIg Ymw9YmpbMF0sYm89YmcucGFyZW50Tm9kZTtpZihibyYmKGJvLnNpemNhY2hlIT09 Ymx8fCFiZy5ub2RlSW5kZXgpKXt2YXIgYms9MDtmb3IoYmg9Ym8uZmlyc3RDaGls ZDtiaDtiaD1iaC5uZXh0U2libGluZyl7aWYoYmgubm9kZVR5cGU9PT0xKXtiaC5u b2RlSW5kZXg9Kytia319Ym8uc2l6Y2FjaGU9Ymx9dmFyIGJuPWJnLm5vZGVJbmRl eC1icDtpZihiaT09PTApe3JldHVybiBibj09PTB9ZWxzZXtyZXR1cm4oYm4lYmk9 PT0wJiZibi9iaT49MCl9fX0sSUQ6ZnVuY3Rpb24oYmgsYmcpe3JldHVybiBiaC5u b2RlVHlwZT09PTEmJmJoLmdldEF0dHJpYnV0ZSgiaWQiKT09PWJnfSxUQUc6ZnVu Y3Rpb24oYmgsYmcpe3JldHVybihiZz09PSIqIiYmYmgubm9kZVR5cGU9PT0xKXx8 Ymgubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PWJnfSxDTEFTUzpmdW5jdGlvbihi aCxiZyl7cmV0dXJuKCIgIisoYmguY2xhc3NOYW1lfHxiaC5nZXRBdHRyaWJ1dGUo ImNsYXNzIikpKyIgIikuaW5kZXhPZihiZyk+LTF9LEFUVFI6ZnVuY3Rpb24oYmws Ymope3ZhciBiaT1ialsxXSxiZz1hNi5hdHRySGFuZGxlW2JpXT9hNi5hdHRySGFu ZGxlW2JpXShibCk6YmxbYmldIT1udWxsP2JsW2JpXTpibC5nZXRBdHRyaWJ1dGUo YmkpLGJtPWJnKyIiLGJrPWJqWzJdLGJoPWJqWzRdO3JldHVybiBiZz09bnVsbD9i az09PSIhPSI6Yms9PT0iPSI/Ym09PT1iaDpiaz09PSIqPSI/Ym0uaW5kZXhPZihi aCk+PTA6Yms9PT0ifj0iPygiICIrYm0rIiAiKS5pbmRleE9mKGJoKT49MDohYmg/ Ym0mJmJnIT09ZmFsc2U6Yms9PT0iIT0iP2JtIT09Ymg6Yms9PT0iXj0iP2JtLmlu ZGV4T2YoYmgpPT09MDpiaz09PSIkPSI/Ym0uc3Vic3RyKGJtLmxlbmd0aC1iaC5s ZW5ndGgpPT09Ymg6Yms9PT0ifD0iP2JtPT09Ymh8fGJtLnN1YnN0cigwLGJoLmxl bmd0aCsxKT09PWJoKyItIjpmYWxzZX0sUE9TOmZ1bmN0aW9uKGJrLGJoLGJpLGJs KXt2YXIgYmc9YmhbMl0sYmo9YTYuc2V0RmlsdGVyc1tiZ107aWYoYmope3JldHVy biBiaihiayxiaSxiaCxibCl9fX19O3ZhciBhNT1hNi5tYXRjaC5QT1M7Zm9yKHZh ciBhMiBpbiBhNi5tYXRjaCl7YTYubWF0Y2hbYTJdPW5ldyBSZWdFeHAoYTYubWF0 Y2hbYTJdLnNvdXJjZSsvKD8hW15cW10qXF0pKD8hW15cKF0qXCkpLy5zb3VyY2Up O2E2LmxlZnRNYXRjaFthMl09bmV3IFJlZ0V4cCgvKF4oPzoufFxyfFxuKSo/KS8u c291cmNlK2E2Lm1hdGNoW2EyXS5zb3VyY2UucmVwbGFjZSgvXFwoXGQrKS9nLGZ1 bmN0aW9uKGJoLGJnKXtyZXR1cm4iXFwiKyhiZy0wKzEpfSkpfXZhciBhOD1mdW5j dGlvbihiaCxiZyl7Ymg9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYmgsMCk7 aWYoYmcpe2JnLnB1c2guYXBwbHkoYmcsYmgpO3JldHVybiBiZ31yZXR1cm4gYmh9 O3RyeXtBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhYi5kb2N1bWVudEVsZW1l bnQuY2hpbGROb2RlcywwKVswXS5ub2RlVHlwZX1jYXRjaChiZil7YTg9ZnVuY3Rp b24oYmssYmope3ZhciBiaD1ianx8W107aWYoYmMuY2FsbChiayk9PT0iW29iamVj dCBBcnJheV0iKXtBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShiaCxiayl9ZWxz ZXtpZih0eXBlb2YgYmsubGVuZ3RoPT09Im51bWJlciIpe2Zvcih2YXIgYmk9MCxi Zz1iay5sZW5ndGg7Ymk8Ymc7YmkrKyl7YmgucHVzaChia1tiaV0pfX1lbHNle2Zv cih2YXIgYmk9MDtia1tiaV07YmkrKyl7YmgucHVzaChia1tiaV0pfX19cmV0dXJu IGJofX12YXIgYmI7aWYoYWIuZG9jdW1lbnRFbGVtZW50LmNvbXBhcmVEb2N1bWVu dFBvc2l0aW9uKXtiYj1mdW5jdGlvbihiaCxiZyl7aWYoIWJoLmNvbXBhcmVEb2N1 bWVudFBvc2l0aW9ufHwhYmcuY29tcGFyZURvY3VtZW50UG9zaXRpb24pe2lmKGJo PT1iZyl7YTQ9dHJ1ZX1yZXR1cm4gYmguY29tcGFyZURvY3VtZW50UG9zaXRpb24/ LTE6MX12YXIgYmk9YmguY29tcGFyZURvY3VtZW50UG9zaXRpb24oYmcpJjQ/LTE6 Ymg9PT1iZz8wOjE7aWYoYmk9PT0wKXthND10cnVlfXJldHVybiBiaX19ZWxzZXtp Zigic291cmNlSW5kZXgiIGluIGFiLmRvY3VtZW50RWxlbWVudCl7YmI9ZnVuY3Rp b24oYmgsYmcpe2lmKCFiaC5zb3VyY2VJbmRleHx8IWJnLnNvdXJjZUluZGV4KXtp ZihiaD09Ymcpe2E0PXRydWV9cmV0dXJuIGJoLnNvdXJjZUluZGV4Py0xOjF9dmFy IGJpPWJoLnNvdXJjZUluZGV4LWJnLnNvdXJjZUluZGV4O2lmKGJpPT09MCl7YTQ9 dHJ1ZX1yZXR1cm4gYml9fWVsc2V7aWYoYWIuY3JlYXRlUmFuZ2Upe2JiPWZ1bmN0 aW9uKGJqLGJoKXtpZighYmoub3duZXJEb2N1bWVudHx8IWJoLm93bmVyRG9jdW1l bnQpe2lmKGJqPT1iaCl7YTQ9dHJ1ZX1yZXR1cm4gYmoub3duZXJEb2N1bWVudD8t MToxfXZhciBiaT1iai5vd25lckRvY3VtZW50LmNyZWF0ZVJhbmdlKCksYmc9Ymgu b3duZXJEb2N1bWVudC5jcmVhdGVSYW5nZSgpO2JpLnNldFN0YXJ0KGJqLDApO2Jp LnNldEVuZChiaiwwKTtiZy5zZXRTdGFydChiaCwwKTtiZy5zZXRFbmQoYmgsMCk7 dmFyIGJrPWJpLmNvbXBhcmVCb3VuZGFyeVBvaW50cyhSYW5nZS5TVEFSVF9UT19F TkQsYmcpO2lmKGJrPT09MCl7YTQ9dHJ1ZX1yZXR1cm4gYmt9fX19ZnVuY3Rpb24g YVooYmcpe3ZhciBiaD0iIixiajtmb3IodmFyIGJpPTA7YmdbYmldO2JpKyspe2Jq PWJnW2JpXTtpZihiai5ub2RlVHlwZT09PTN8fGJqLm5vZGVUeXBlPT09NCl7Ymgr PWJqLm5vZGVWYWx1ZX1lbHNle2lmKGJqLm5vZGVUeXBlIT09OCl7YmgrPWFaKGJq LmNoaWxkTm9kZXMpfX19cmV0dXJuIGJofShmdW5jdGlvbigpe3ZhciBiaD1hYi5j cmVhdGVFbGVtZW50KCJkaXYiKSxiaT0ic2NyaXB0IisobmV3IERhdGUpLmdldFRp bWUoKTtiaC5pbm5lckhUTUw9IjxhIG5hbWU9JyIrYmkrIicvPiI7dmFyIGJnPWFi LmRvY3VtZW50RWxlbWVudDtiZy5pbnNlcnRCZWZvcmUoYmgsYmcuZmlyc3RDaGls ZCk7aWYoYWIuZ2V0RWxlbWVudEJ5SWQoYmkpKXthNi5maW5kLklEPWZ1bmN0aW9u KGJrLGJsLGJtKXtpZih0eXBlb2YgYmwuZ2V0RWxlbWVudEJ5SWQhPT0idW5kZWZp bmVkIiYmIWJtKXt2YXIgYmo9YmwuZ2V0RWxlbWVudEJ5SWQoYmtbMV0pO3JldHVy biBiaj9iai5pZD09PWJrWzFdfHx0eXBlb2YgYmouZ2V0QXR0cmlidXRlTm9kZSE9 PSJ1bmRlZmluZWQiJiZiai5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpLm5vZGVWYWx1 ZT09PWJrWzFdP1tial06QzpbXX19O2E2LmZpbHRlci5JRD1mdW5jdGlvbihibCxi ail7dmFyIGJrPXR5cGVvZiBibC5nZXRBdHRyaWJ1dGVOb2RlIT09InVuZGVmaW5l ZCImJmJsLmdldEF0dHJpYnV0ZU5vZGUoImlkIik7cmV0dXJuIGJsLm5vZGVUeXBl PT09MSYmYmsmJmJrLm5vZGVWYWx1ZT09PWJqfX1iZy5yZW1vdmVDaGlsZChiaCk7 Ymc9Ymg9bnVsbH0pKCk7KGZ1bmN0aW9uKCl7dmFyIGJnPWFiLmNyZWF0ZUVsZW1l bnQoImRpdiIpO2JnLmFwcGVuZENoaWxkKGFiLmNyZWF0ZUNvbW1lbnQoIiIpKTtp ZihiZy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aD4wKXthNi5maW5k LlRBRz1mdW5jdGlvbihiaCxibCl7dmFyIGJrPWJsLmdldEVsZW1lbnRzQnlUYWdO YW1lKGJoWzFdKTtpZihiaFsxXT09PSIqIil7dmFyIGJqPVtdO2Zvcih2YXIgYmk9 MDtia1tiaV07YmkrKyl7aWYoYmtbYmldLm5vZGVUeXBlPT09MSl7YmoucHVzaChi a1tiaV0pfX1iaz1ian1yZXR1cm4gYmt9fWJnLmlubmVySFRNTD0iPGEgaHJlZj0n Iyc+PC9hPiI7aWYoYmcuZmlyc3RDaGlsZCYmdHlwZW9mIGJnLmZpcnN0Q2hpbGQu Z2V0QXR0cmlidXRlIT09InVuZGVmaW5lZCImJmJnLmZpcnN0Q2hpbGQuZ2V0QXR0 cmlidXRlKCJocmVmIikhPT0iIyIpe2E2LmF0dHJIYW5kbGUuaHJlZj1mdW5jdGlv bihiaCl7cmV0dXJuIGJoLmdldEF0dHJpYnV0ZSgiaHJlZiIsMil9fWJnPW51bGx9 KSgpO2lmKGFiLnF1ZXJ5U2VsZWN0b3JBbGwpeyhmdW5jdGlvbigpe3ZhciBiZz1h MCxiaT1hYi5jcmVhdGVFbGVtZW50KCJkaXYiKTtiaS5pbm5lckhUTUw9IjxwIGNs YXNzPSdURVNUJz48L3A+IjtpZihiaS5xdWVyeVNlbGVjdG9yQWxsJiZiaS5xdWVy eVNlbGVjdG9yQWxsKCIuVEVTVCIpLmxlbmd0aD09PTApe3JldHVybn1hMD1mdW5j dGlvbihibSxibCxiaixiayl7Ymw9Ymx8fGFiO2lmKCFiayYmYmwubm9kZVR5cGU9 PT05JiYhYTEoYmwpKXt0cnl7cmV0dXJuIGE4KGJsLnF1ZXJ5U2VsZWN0b3JBbGwo Ym0pLGJqKX1jYXRjaChibil7fX1yZXR1cm4gYmcoYm0sYmwsYmosYmspfTtmb3Io dmFyIGJoIGluIGJnKXthMFtiaF09YmdbYmhdfWJpPW51bGx9KSgpfShmdW5jdGlv bigpe3ZhciBiZz1hYi5jcmVhdGVFbGVtZW50KCJkaXYiKTtiZy5pbm5lckhUTUw9 IjxkaXYgY2xhc3M9J3Rlc3QgZSc+PC9kaXY+PGRpdiBjbGFzcz0ndGVzdCc+PC9k aXY+IjtpZighYmcuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZXx8YmcuZ2V0RWxlbWVu dHNCeUNsYXNzTmFtZSgiZSIpLmxlbmd0aD09PTApe3JldHVybn1iZy5sYXN0Q2hp bGQuY2xhc3NOYW1lPSJlIjtpZihiZy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJl IikubGVuZ3RoPT09MSl7cmV0dXJufWE2Lm9yZGVyLnNwbGljZSgxLDAsIkNMQVNT Iik7YTYuZmluZC5DTEFTUz1mdW5jdGlvbihiaCxiaSxiail7aWYodHlwZW9mIGJp LmdldEVsZW1lbnRzQnlDbGFzc05hbWUhPT0idW5kZWZpbmVkIiYmIWJqKXtyZXR1 cm4gYmkuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShiaFsxXSl9fTtiZz1udWxsfSko KTtmdW5jdGlvbiBhWShiaCxibSxibCxicCxibixibyl7Zm9yKHZhciBiaj0wLGJp PWJwLmxlbmd0aDtiajxiaTtiaisrKXt2YXIgYmc9YnBbYmpdO2lmKGJnKXtiZz1i Z1tiaF07dmFyIGJrPWZhbHNlO3doaWxlKGJnKXtpZihiZy5zaXpjYWNoZT09PWJs KXtiaz1icFtiZy5zaXpzZXRdO2JyZWFrfWlmKGJnLm5vZGVUeXBlPT09MSYmIWJv KXtiZy5zaXpjYWNoZT1ibDtiZy5zaXpzZXQ9Ymp9aWYoYmcubm9kZU5hbWUudG9M b3dlckNhc2UoKT09PWJtKXtiaz1iZzticmVha31iZz1iZ1tiaF19YnBbYmpdPWJr fX19ZnVuY3Rpb24gYmUoYmgsYm0sYmwsYnAsYm4sYm8pe2Zvcih2YXIgYmo9MCxi aT1icC5sZW5ndGg7Ymo8Ymk7YmorKyl7dmFyIGJnPWJwW2JqXTtpZihiZyl7Ymc9 YmdbYmhdO3ZhciBiaz1mYWxzZTt3aGlsZShiZyl7aWYoYmcuc2l6Y2FjaGU9PT1i bCl7Yms9YnBbYmcuc2l6c2V0XTticmVha31pZihiZy5ub2RlVHlwZT09PTEpe2lm KCFibyl7Ymcuc2l6Y2FjaGU9Ymw7Ymcuc2l6c2V0PWJqfWlmKHR5cGVvZiBibSE9 PSJzdHJpbmciKXtpZihiZz09PWJtKXtiaz10cnVlO2JyZWFrfX1lbHNle2lmKGEw LmZpbHRlcihibSxbYmddKS5sZW5ndGg+MCl7Yms9Ymc7YnJlYWt9fX1iZz1iZ1ti aF19YnBbYmpdPWJrfX19dmFyIGE3PWFiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9u P2Z1bmN0aW9uKGJoLGJnKXtyZXR1cm4gISEoYmguY29tcGFyZURvY3VtZW50UG9z aXRpb24oYmcpJjE2KX06ZnVuY3Rpb24oYmgsYmcpe3JldHVybiBiaCE9PWJnJiYo YmguY29udGFpbnM/YmguY29udGFpbnMoYmcpOnRydWUpfTt2YXIgYTE9ZnVuY3Rp b24oYmcpe3ZhciBiaD0oYmc/Ymcub3duZXJEb2N1bWVudHx8Ymc6MCkuZG9jdW1l bnRFbGVtZW50O3JldHVybiBiaD9iaC5ub2RlTmFtZSE9PSJIVE1MIjpmYWxzZX07 dmFyIGJkPWZ1bmN0aW9uKGJnLGJuKXt2YXIgYmo9W10sYms9IiIsYmwsYmk9Ym4u bm9kZVR5cGU/W2JuXTpibjt3aGlsZSgoYmw9YTYubWF0Y2guUFNFVURPLmV4ZWMo YmcpKSl7YmsrPWJsWzBdO2JnPWJnLnJlcGxhY2UoYTYubWF0Y2guUFNFVURPLCIi KX1iZz1hNi5yZWxhdGl2ZVtiZ10/YmcrIioiOmJnO2Zvcih2YXIgYm09MCxiaD1i aS5sZW5ndGg7Ym08Ymg7Ym0rKyl7YTAoYmcsYmlbYm1dLGJqKX1yZXR1cm4gYTAu ZmlsdGVyKGJrLGJqKX07YS5maW5kPWEwO2EuZXhwcj1hMC5zZWxlY3RvcnM7YS5l eHByWyI6Il09YS5leHByLmZpbHRlcnM7YS51bmlxdWU9YTAudW5pcXVlU29ydDth LnRleHQ9YVo7YS5pc1hNTERvYz1hMTthLmNvbnRhaW5zPWE3O3JldHVybjthTS5T aXp6bGU9YTB9KSgpO3ZhciBOPS9VbnRpbCQvLFk9L14oPzpwYXJlbnRzfHByZXZV bnRpbHxwcmV2QWxsKS8sYUw9LywvLEY9QXJyYXkucHJvdG90eXBlLnNsaWNlO3Zh ciBhaT1mdW5jdGlvbihhMSxhMCxhWSl7aWYoYS5pc0Z1bmN0aW9uKGEwKSl7cmV0 dXJuIGEuZ3JlcChhMSxmdW5jdGlvbihhMyxhMil7cmV0dXJuICEhYTAuY2FsbChh MyxhMixhMyk9PT1hWX0pfWVsc2V7aWYoYTAubm9kZVR5cGUpe3JldHVybiBhLmdy ZXAoYTEsZnVuY3Rpb24oYTMsYTIpe3JldHVybihhMz09PWEwKT09PWFZfSl9ZWxz ZXtpZih0eXBlb2YgYTA9PT0ic3RyaW5nIil7dmFyIGFaPWEuZ3JlcChhMSxmdW5j dGlvbihhMil7cmV0dXJuIGEyLm5vZGVUeXBlPT09MX0pO2lmKGFXLnRlc3QoYTAp KXtyZXR1cm4gYS5maWx0ZXIoYTAsYVosIWFZKX1lbHNle2EwPWEuZmlsdGVyKGEw LGFaKX19fX1yZXR1cm4gYS5ncmVwKGExLGZ1bmN0aW9uKGEzLGEyKXtyZXR1cm4o YS5pbkFycmF5KGEzLGEwKT49MCk9PT1hWX0pfTthLmZuLmV4dGVuZCh7ZmluZDpm dW5jdGlvbihhWSl7dmFyIGEwPXRoaXMucHVzaFN0YWNrKCIiLCJmaW5kIixhWSks YTM9MDtmb3IodmFyIGExPTAsYVo9dGhpcy5sZW5ndGg7YTE8YVo7YTErKyl7YTM9 YTAubGVuZ3RoO2EuZmluZChhWSx0aGlzW2ExXSxhMCk7aWYoYTE+MCl7Zm9yKHZh ciBhND1hMzthNDxhMC5sZW5ndGg7YTQrKyl7Zm9yKHZhciBhMj0wO2EyPGEzO2Ey Kyspe2lmKGEwW2EyXT09PWEwW2E0XSl7YTAuc3BsaWNlKGE0LS0sMSk7YnJlYWt9 fX19fXJldHVybiBhMH0saGFzOmZ1bmN0aW9uKGFaKXt2YXIgYVk9YShhWik7cmV0 dXJuIHRoaXMuZmlsdGVyKGZ1bmN0aW9uKCl7Zm9yKHZhciBhMT0wLGEwPWFZLmxl bmd0aDthMTxhMDthMSsrKXtpZihhLmNvbnRhaW5zKHRoaXMsYVlbYTFdKSl7cmV0 dXJuIHRydWV9fX0pfSxub3Q6ZnVuY3Rpb24oYVkpe3JldHVybiB0aGlzLnB1c2hT dGFjayhhaSh0aGlzLGFZLGZhbHNlKSwibm90IixhWSl9LGZpbHRlcjpmdW5jdGlv bihhWSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGFpKHRoaXMsYVksdHJ1ZSksImZp bHRlciIsYVkpfSxpczpmdW5jdGlvbihhWSl7cmV0dXJuICEhYVkmJmEuZmlsdGVy KGFZLHRoaXMpLmxlbmd0aD4wfSxjbG9zZXN0OmZ1bmN0aW9uKGE3LGFZKXtpZihh LmlzQXJyYXkoYTcpKXt2YXIgYTQ9W10sYTY9dGhpc1swXSxhMyxhMj17fSxhMDtp ZihhNiYmYTcubGVuZ3RoKXtmb3IodmFyIGExPTAsYVo9YTcubGVuZ3RoO2ExPGFa O2ExKyspe2EwPWE3W2ExXTtpZighYTJbYTBdKXthMlthMF09YS5leHByLm1hdGNo LlBPUy50ZXN0KGEwKT9hKGEwLGFZfHx0aGlzLmNvbnRleHQpOmEwfX13aGlsZShh NiYmYTYub3duZXJEb2N1bWVudCYmYTYhPT1hWSl7Zm9yKGEwIGluIGEyKXthMz1h MlthMF07aWYoYTMuanF1ZXJ5P2EzLmluZGV4KGE2KT4tMTphKGE2KS5pcyhhMykp e2E0LnB1c2goe3NlbGVjdG9yOmEwLGVsZW06YTZ9KTtkZWxldGUgYTJbYTBdfX1h Nj1hNi5wYXJlbnROb2RlfX1yZXR1cm4gYTR9dmFyIGE1PWEuZXhwci5tYXRjaC5Q T1MudGVzdChhNyk/YShhNyxhWXx8dGhpcy5jb250ZXh0KTpudWxsO3JldHVybiB0 aGlzLm1hcChmdW5jdGlvbihhOCxhOSl7d2hpbGUoYTkmJmE5Lm93bmVyRG9jdW1l bnQmJmE5IT09YVkpe2lmKGE1P2E1LmluZGV4KGE5KT4tMTphKGE5KS5pcyhhNykp e3JldHVybiBhOX1hOT1hOS5wYXJlbnROb2RlfXJldHVybiBudWxsfSl9LGluZGV4 OmZ1bmN0aW9uKGFZKXtpZighYVl8fHR5cGVvZiBhWT09PSJzdHJpbmciKXtyZXR1 cm4gYS5pbkFycmF5KHRoaXNbMF0sYVk/YShhWSk6dGhpcy5wYXJlbnQoKS5jaGls ZHJlbigpKX1yZXR1cm4gYS5pbkFycmF5KGFZLmpxdWVyeT9hWVswXTphWSx0aGlz KX0sYWRkOmZ1bmN0aW9uKGFZLGFaKXt2YXIgYTE9dHlwZW9mIGFZPT09InN0cmlu ZyI/YShhWSxhWnx8dGhpcy5jb250ZXh0KTphLm1ha2VBcnJheShhWSksYTA9YS5t ZXJnZSh0aGlzLmdldCgpLGExKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soeShhMVsw XSl8fHkoYTBbMF0pP2EwOmEudW5pcXVlKGEwKSl9LGFuZFNlbGY6ZnVuY3Rpb24o KXtyZXR1cm4gdGhpcy5hZGQodGhpcy5wcmV2T2JqZWN0KX19KTtmdW5jdGlvbiB5 KGFZKXtyZXR1cm4gIWFZfHwhYVkucGFyZW50Tm9kZXx8YVkucGFyZW50Tm9kZS5u b2RlVHlwZT09PTExfWEuZWFjaCh7cGFyZW50OmZ1bmN0aW9uKGFaKXt2YXIgYVk9 YVoucGFyZW50Tm9kZTtyZXR1cm4gYVkmJmFZLm5vZGVUeXBlIT09MTE/YVk6bnVs bH0scGFyZW50czpmdW5jdGlvbihhWSl7cmV0dXJuIGEuZGlyKGFZLCJwYXJlbnRO b2RlIil9LHBhcmVudHNVbnRpbDpmdW5jdGlvbihhWixhWSxhMCl7cmV0dXJuIGEu ZGlyKGFaLCJwYXJlbnROb2RlIixhMCl9LG5leHQ6ZnVuY3Rpb24oYVkpe3JldHVy biBhLm50aChhWSwyLCJuZXh0U2libGluZyIpfSxwcmV2OmZ1bmN0aW9uKGFZKXty ZXR1cm4gYS5udGgoYVksMiwicHJldmlvdXNTaWJsaW5nIil9LG5leHRBbGw6ZnVu Y3Rpb24oYVkpe3JldHVybiBhLmRpcihhWSwibmV4dFNpYmxpbmciKX0scHJldkFs bDpmdW5jdGlvbihhWSl7cmV0dXJuIGEuZGlyKGFZLCJwcmV2aW91c1NpYmxpbmci KX0sbmV4dFVudGlsOmZ1bmN0aW9uKGFaLGFZLGEwKXtyZXR1cm4gYS5kaXIoYVos Im5leHRTaWJsaW5nIixhMCl9LHByZXZVbnRpbDpmdW5jdGlvbihhWixhWSxhMCl7 cmV0dXJuIGEuZGlyKGFaLCJwcmV2aW91c1NpYmxpbmciLGEwKX0sc2libGluZ3M6 ZnVuY3Rpb24oYVkpe3JldHVybiBhLnNpYmxpbmcoYVkucGFyZW50Tm9kZS5maXJz dENoaWxkLGFZKX0sY2hpbGRyZW46ZnVuY3Rpb24oYVkpe3JldHVybiBhLnNpYmxp bmcoYVkuZmlyc3RDaGlsZCl9LGNvbnRlbnRzOmZ1bmN0aW9uKGFZKXtyZXR1cm4g YS5ub2RlTmFtZShhWSwiaWZyYW1lIik/YVkuY29udGVudERvY3VtZW50fHxhWS5j b250ZW50V2luZG93LmRvY3VtZW50OmEubWFrZUFycmF5KGFZLmNoaWxkTm9kZXMp fX0sZnVuY3Rpb24oYVksYVope2EuZm5bYVldPWZ1bmN0aW9uKGEyLGEwKXt2YXIg YTE9YS5tYXAodGhpcyxhWixhMik7aWYoIU4udGVzdChhWSkpe2EwPWEyfWlmKGEw JiZ0eXBlb2YgYTA9PT0ic3RyaW5nIil7YTE9YS5maWx0ZXIoYTAsYTEpfWExPXRo aXMubGVuZ3RoPjE/YS51bmlxdWUoYTEpOmExO2lmKCh0aGlzLmxlbmd0aD4xfHxh TC50ZXN0KGEwKSkmJlkudGVzdChhWSkpe2ExPWExLnJldmVyc2UoKX1yZXR1cm4g dGhpcy5wdXNoU3RhY2soYTEsYVksRi5jYWxsKGFyZ3VtZW50cykuam9pbigiLCIp KX19KTthLmV4dGVuZCh7ZmlsdGVyOmZ1bmN0aW9uKGEwLGFZLGFaKXtpZihhWil7 YTA9Ijpub3QoIithMCsiKSJ9cmV0dXJuIGEuZmluZC5tYXRjaGVzKGEwLGFZKX0s ZGlyOmZ1bmN0aW9uKGEwLGFaLGEyKXt2YXIgYVk9W10sYTE9YTBbYVpdO3doaWxl KGExJiZhMS5ub2RlVHlwZSE9PTkmJihhMj09PUN8fGExLm5vZGVUeXBlIT09MXx8 IWEoYTEpLmlzKGEyKSkpe2lmKGExLm5vZGVUeXBlPT09MSl7YVkucHVzaChhMSl9 YTE9YTFbYVpdfXJldHVybiBhWX0sbnRoOmZ1bmN0aW9uKGEyLGFZLGEwLGExKXth WT1hWXx8MTt2YXIgYVo9MDtmb3IoO2EyO2EyPWEyW2EwXSl7aWYoYTIubm9kZVR5 cGU9PT0xJiYrK2FaPT09YVkpe2JyZWFrfX1yZXR1cm4gYTJ9LHNpYmxpbmc6ZnVu Y3Rpb24oYTAsYVope3ZhciBhWT1bXTtmb3IoO2EwO2EwPWEwLm5leHRTaWJsaW5n KXtpZihhMC5ub2RlVHlwZT09PTEmJmEwIT09YVope2FZLnB1c2goYTApfX1yZXR1 cm4gYVl9fSk7dmFyIFQ9LyBqUXVlcnlcZCs9Iig/OlxkK3xudWxsKSIvZyxaPS9e XHMrLyxIPS8oPChbXHc6XSspW14+XSo/KVwvPi9nLGFsPS9eKD86YXJlYXxicnxj b2x8ZW1iZWR8aHJ8aW1nfGlucHV0fGxpbmt8bWV0YXxwYXJhbSkkL2ksYz0vPChb XHc6XSspLyx0PS88dGJvZHkvaSxMPS88fCYjP1x3KzsvLEU9LzxzY3JpcHR8PG9i amVjdHw8ZW1iZWR8PG9wdGlvbnw8c3R5bGUvaSxsPS9jaGVja2VkXHMqKD86W149 XXw9XHMqLmNoZWNrZWQuKS9pLHA9ZnVuY3Rpb24oYVosYTAsYVkpe3JldHVybiBh bC50ZXN0KGFZKT9hWjphMCsiPjwvIithWSsiPiJ9LGFjPXtvcHRpb246WzEsIjxz ZWxlY3QgbXVsdGlwbGU9J211bHRpcGxlJz4iLCI8L3NlbGVjdD4iXSxsZWdlbmQ6 WzEsIjxmaWVsZHNldD4iLCI8L2ZpZWxkc2V0PiJdLHRoZWFkOlsxLCI8dGFibGU+ IiwiPC90YWJsZT4iXSx0cjpbMiwiPHRhYmxlPjx0Ym9keT4iLCI8L3Rib2R5Pjwv dGFibGU+Il0sdGQ6WzMsIjx0YWJsZT48dGJvZHk+PHRyPiIsIjwvdHI+PC90Ym9k eT48L3RhYmxlPiJdLGNvbDpbMiwiPHRhYmxlPjx0Ym9keT48L3Rib2R5Pjxjb2xn cm91cD4iLCI8L2NvbGdyb3VwPjwvdGFibGU+Il0sYXJlYTpbMSwiPG1hcD4iLCI8 L21hcD4iXSxfZGVmYXVsdDpbMCwiIiwiIl19O2FjLm9wdGdyb3VwPWFjLm9wdGlv bjthYy50Ym9keT1hYy50Zm9vdD1hYy5jb2xncm91cD1hYy5jYXB0aW9uPWFjLnRo ZWFkO2FjLnRoPWFjLnRkO2lmKCFhLnN1cHBvcnQuaHRtbFNlcmlhbGl6ZSl7YWMu X2RlZmF1bHQ9WzEsImRpdjxkaXY+IiwiPC9kaXY+Il19YS5mbi5leHRlbmQoe3Rl eHQ6ZnVuY3Rpb24oYVkpe2lmKGEuaXNGdW5jdGlvbihhWSkpe3JldHVybiB0aGlz LmVhY2goZnVuY3Rpb24oYTApe3ZhciBhWj1hKHRoaXMpO2FaLnRleHQoYVkuY2Fs bCh0aGlzLGEwLGFaLnRleHQoKSkpfSl9aWYodHlwZW9mIGFZIT09Im9iamVjdCIm JmFZIT09Qyl7cmV0dXJuIHRoaXMuZW1wdHkoKS5hcHBlbmQoKHRoaXNbMF0mJnRo aXNbMF0ub3duZXJEb2N1bWVudHx8YWIpLmNyZWF0ZVRleHROb2RlKGFZKSl9cmV0 dXJuIGEudGV4dCh0aGlzKX0sd3JhcEFsbDpmdW5jdGlvbihhWSl7aWYoYS5pc0Z1 bmN0aW9uKGFZKSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihhMCl7YSh0aGlz KS53cmFwQWxsKGFZLmNhbGwodGhpcyxhMCkpfSl9aWYodGhpc1swXSl7dmFyIGFa PWEoYVksdGhpc1swXS5vd25lckRvY3VtZW50KS5lcSgwKS5jbG9uZSh0cnVlKTtp Zih0aGlzWzBdLnBhcmVudE5vZGUpe2FaLmluc2VydEJlZm9yZSh0aGlzWzBdKX1h Wi5tYXAoZnVuY3Rpb24oKXt2YXIgYTA9dGhpczt3aGlsZShhMC5maXJzdENoaWxk JiZhMC5maXJzdENoaWxkLm5vZGVUeXBlPT09MSl7YTA9YTAuZmlyc3RDaGlsZH1y ZXR1cm4gYTB9KS5hcHBlbmQodGhpcyl9cmV0dXJuIHRoaXN9LHdyYXBJbm5lcjpm dW5jdGlvbihhWSl7aWYoYS5pc0Z1bmN0aW9uKGFZKSl7cmV0dXJuIHRoaXMuZWFj aChmdW5jdGlvbihhWil7YSh0aGlzKS53cmFwSW5uZXIoYVkuY2FsbCh0aGlzLGFa KSl9KX1yZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGFaPWEodGhpcyks YTA9YVouY29udGVudHMoKTtpZihhMC5sZW5ndGgpe2EwLndyYXBBbGwoYVkpfWVs c2V7YVouYXBwZW5kKGFZKX19KX0sd3JhcDpmdW5jdGlvbihhWSl7cmV0dXJuIHRo aXMuZWFjaChmdW5jdGlvbigpe2EodGhpcykud3JhcEFsbChhWSl9KX0sdW53cmFw OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50KCkuZWFjaChmdW5jdGlvbigp e2lmKCFhLm5vZGVOYW1lKHRoaXMsImJvZHkiKSl7YSh0aGlzKS5yZXBsYWNlV2l0 aCh0aGlzLmNoaWxkTm9kZXMpfX0pLmVuZCgpfSxhcHBlbmQ6ZnVuY3Rpb24oKXty ZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsdHJ1ZSxmdW5jdGlvbihhWSl7 aWYodGhpcy5ub2RlVHlwZT09PTEpe3RoaXMuYXBwZW5kQ2hpbGQoYVkpfX0pfSxw cmVwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRz LHRydWUsZnVuY3Rpb24oYVkpe2lmKHRoaXMubm9kZVR5cGU9PT0xKXt0aGlzLmlu c2VydEJlZm9yZShhWSx0aGlzLmZpcnN0Q2hpbGQpfX0pfSxiZWZvcmU6ZnVuY3Rp b24oKXtpZih0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGUpe3JldHVybiB0aGlz LmRvbU1hbmlwKGFyZ3VtZW50cyxmYWxzZSxmdW5jdGlvbihhWil7dGhpcy5wYXJl bnROb2RlLmluc2VydEJlZm9yZShhWix0aGlzKX0pfWVsc2V7aWYoYXJndW1lbnRz Lmxlbmd0aCl7dmFyIGFZPWEoYXJndW1lbnRzWzBdKTthWS5wdXNoLmFwcGx5KGFZ LHRoaXMudG9BcnJheSgpKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soYVksImJlZm9y ZSIsYXJndW1lbnRzKX19fSxhZnRlcjpmdW5jdGlvbigpe2lmKHRoaXNbMF0mJnRo aXNbMF0ucGFyZW50Tm9kZSl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRz LGZhbHNlLGZ1bmN0aW9uKGFaKXt0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3Jl KGFaLHRoaXMubmV4dFNpYmxpbmcpfSl9ZWxzZXtpZihhcmd1bWVudHMubGVuZ3Ro KXt2YXIgYVk9dGhpcy5wdXNoU3RhY2sodGhpcywiYWZ0ZXIiLGFyZ3VtZW50cyk7 YVkucHVzaC5hcHBseShhWSxhKGFyZ3VtZW50c1swXSkudG9BcnJheSgpKTtyZXR1 cm4gYVl9fX0scmVtb3ZlOmZ1bmN0aW9uKGFZLGExKXtmb3IodmFyIGFaPTAsYTA7 KGEwPXRoaXNbYVpdKSE9bnVsbDthWisrKXtpZighYVl8fGEuZmlsdGVyKGFZLFth MF0pLmxlbmd0aCl7aWYoIWExJiZhMC5ub2RlVHlwZT09PTEpe2EuY2xlYW5EYXRh KGEwLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikpO2EuY2xlYW5EYXRhKFthMF0p fWlmKGEwLnBhcmVudE5vZGUpe2EwLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYTAp fX19cmV0dXJuIHRoaXN9LGVtcHR5OmZ1bmN0aW9uKCl7Zm9yKHZhciBhWT0wLGFa OyhhWj10aGlzW2FZXSkhPW51bGw7YVkrKyl7aWYoYVoubm9kZVR5cGU9PT0xKXth LmNsZWFuRGF0YShhWi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpKX13aGlsZShh Wi5maXJzdENoaWxkKXthWi5yZW1vdmVDaGlsZChhWi5maXJzdENoaWxkKX19cmV0 dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKGFaKXt2YXIgYVk9dGhpcy5tYXAoZnVu Y3Rpb24oKXtpZighYS5zdXBwb3J0Lm5vQ2xvbmVFdmVudCYmIWEuaXNYTUxEb2Mo dGhpcykpe3ZhciBhMT10aGlzLm91dGVySFRNTCxhMD10aGlzLm93bmVyRG9jdW1l bnQ7aWYoIWExKXt2YXIgYTI9YTAuY3JlYXRlRWxlbWVudCgiZGl2Iik7YTIuYXBw ZW5kQ2hpbGQodGhpcy5jbG9uZU5vZGUodHJ1ZSkpO2ExPWEyLmlubmVySFRNTH1y ZXR1cm4gYS5jbGVhbihbYTEucmVwbGFjZShULCIiKS5yZXBsYWNlKC89KFtePSIn PlxzXStcLyk+L2csJz0iJDEiPicpLnJlcGxhY2UoWiwiIildLGEwKVswXX1lbHNl e3JldHVybiB0aGlzLmNsb25lTm9kZSh0cnVlKX19KTtpZihhWj09PXRydWUpe3Eo dGhpcyxhWSk7cSh0aGlzLmZpbmQoIioiKSxhWS5maW5kKCIqIikpfXJldHVybiBh WX0saHRtbDpmdW5jdGlvbihhMCl7aWYoYTA9PT1DKXtyZXR1cm4gdGhpc1swXSYm dGhpc1swXS5ub2RlVHlwZT09PTE/dGhpc1swXS5pbm5lckhUTUwucmVwbGFjZShU LCIiKTpudWxsfWVsc2V7aWYodHlwZW9mIGEwPT09InN0cmluZyImJiFFLnRlc3Qo YTApJiYoYS5zdXBwb3J0LmxlYWRpbmdXaGl0ZXNwYWNlfHwhWi50ZXN0KGEwKSkm JiFhY1soYy5leGVjKGEwKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKV0pe2Ew PWEwLnJlcGxhY2UoSCxwKTt0cnl7Zm9yKHZhciBhWj0wLGFZPXRoaXMubGVuZ3Ro O2FaPGFZO2FaKyspe2lmKHRoaXNbYVpdLm5vZGVUeXBlPT09MSl7YS5jbGVhbkRh dGEodGhpc1thWl0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSk7dGhpc1thWl0u aW5uZXJIVE1MPWEwfX19Y2F0Y2goYTEpe3RoaXMuZW1wdHkoKS5hcHBlbmQoYTAp fX1lbHNle2lmKGEuaXNGdW5jdGlvbihhMCkpe3RoaXMuZWFjaChmdW5jdGlvbihh NCl7dmFyIGEzPWEodGhpcyksYTI9YTMuaHRtbCgpO2EzLmVtcHR5KCkuYXBwZW5k KGZ1bmN0aW9uKCl7cmV0dXJuIGEwLmNhbGwodGhpcyxhNCxhMil9KX0pfWVsc2V7 dGhpcy5lbXB0eSgpLmFwcGVuZChhMCl9fX1yZXR1cm4gdGhpc30scmVwbGFjZVdp dGg6ZnVuY3Rpb24oYVkpe2lmKHRoaXNbMF0mJnRoaXNbMF0ucGFyZW50Tm9kZSl7 aWYoYS5pc0Z1bmN0aW9uKGFZKSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihh MSl7dmFyIGEwPWEodGhpcyksYVo9YTAuaHRtbCgpO2EwLnJlcGxhY2VXaXRoKGFZ LmNhbGwodGhpcyxhMSxhWikpfSl9aWYodHlwZW9mIGFZIT09InN0cmluZyIpe2FZ PWEoYVkpLmRldGFjaCgpfXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIg YTA9dGhpcy5uZXh0U2libGluZyxhWj10aGlzLnBhcmVudE5vZGU7YSh0aGlzKS5y ZW1vdmUoKTtpZihhMCl7YShhMCkuYmVmb3JlKGFZKX1lbHNle2EoYVopLmFwcGVu ZChhWSl9fSl9ZWxzZXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soYShhLmlzRnVuY3Rp b24oYVkpP2FZKCk6YVkpLCJyZXBsYWNlV2l0aCIsYVkpfX0sZGV0YWNoOmZ1bmN0 aW9uKGFZKXtyZXR1cm4gdGhpcy5yZW1vdmUoYVksdHJ1ZSl9LGRvbU1hbmlwOmZ1 bmN0aW9uKGE0LGE5LGE4KXt2YXIgYTEsYTIsYTc9YTRbMF0sYVo9W10sYTMsYTY7 aWYoIWEuc3VwcG9ydC5jaGVja0Nsb25lJiZhcmd1bWVudHMubGVuZ3RoPT09MyYm dHlwZW9mIGE3PT09InN0cmluZyImJmwudGVzdChhNykpe3JldHVybiB0aGlzLmVh Y2goZnVuY3Rpb24oKXthKHRoaXMpLmRvbU1hbmlwKGE0LGE5LGE4LHRydWUpfSl9 aWYoYS5pc0Z1bmN0aW9uKGE3KSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihi Yil7dmFyIGJhPWEodGhpcyk7YTRbMF09YTcuY2FsbCh0aGlzLGJiLGE5P2JhLmh0 bWwoKTpDKTtiYS5kb21NYW5pcChhNCxhOSxhOCl9KX1pZih0aGlzWzBdKXthNj1h NyYmYTcucGFyZW50Tm9kZTtpZihhLnN1cHBvcnQucGFyZW50Tm9kZSYmYTYmJmE2 Lm5vZGVUeXBlPT09MTEmJmE2LmNoaWxkTm9kZXMubGVuZ3RoPT09dGhpcy5sZW5n dGgpe2ExPXtmcmFnbWVudDphNn19ZWxzZXthMT1KKGE0LHRoaXMsYVopfWEzPWEx LmZyYWdtZW50O2lmKGEzLmNoaWxkTm9kZXMubGVuZ3RoPT09MSl7YTI9YTM9YTMu Zmlyc3RDaGlsZH1lbHNle2EyPWEzLmZpcnN0Q2hpbGR9aWYoYTIpe2E5PWE5JiZh Lm5vZGVOYW1lKGEyLCJ0ciIpO2Zvcih2YXIgYTA9MCxhWT10aGlzLmxlbmd0aDth MDxhWTthMCsrKXthOC5jYWxsKGE5P2E1KHRoaXNbYTBdLGEyKTp0aGlzW2EwXSxh MD4wfHxhMS5jYWNoZWFibGV8fHRoaXMubGVuZ3RoPjE/YTMuY2xvbmVOb2RlKHRy dWUpOmEzKX19aWYoYVoubGVuZ3RoKXthLmVhY2goYVosYVYpfX1yZXR1cm4gdGhp cztmdW5jdGlvbiBhNShiYSxiYil7cmV0dXJuIGEubm9kZU5hbWUoYmEsInRhYmxl Iik/KGJhLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0Ym9keSIpWzBdfHxiYS5hcHBl bmRDaGlsZChiYS5vd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRib2R5Iikp KTpiYX19fSk7ZnVuY3Rpb24gcShhMCxhWSl7dmFyIGFaPTA7YVkuZWFjaChmdW5j dGlvbigpe2lmKHRoaXMubm9kZU5hbWUhPT0oYTBbYVpdJiZhMFthWl0ubm9kZU5h bWUpKXtyZXR1cm59dmFyIGE1PWEuZGF0YShhMFthWisrXSksYTQ9YS5kYXRhKHRo aXMsYTUpLGExPWE1JiZhNS5ldmVudHM7aWYoYTEpe2RlbGV0ZSBhNC5oYW5kbGU7 YTQuZXZlbnRzPXt9O2Zvcih2YXIgYTMgaW4gYTEpe2Zvcih2YXIgYTIgaW4gYTFb YTNdKXthLmV2ZW50LmFkZCh0aGlzLGEzLGExW2EzXVthMl0sYTFbYTNdW2EyXS5k YXRhKX19fX0pfWZ1bmN0aW9uIEooYTMsYTEsYVope3ZhciBhMixhWSxhMCxhND0o YTEmJmExWzBdP2ExWzBdLm93bmVyRG9jdW1lbnR8fGExWzBdOmFiKTtpZihhMy5s ZW5ndGg9PT0xJiZ0eXBlb2YgYTNbMF09PT0ic3RyaW5nIiYmYTNbMF0ubGVuZ3Ro PDUxMiYmYTQ9PT1hYiYmIUUudGVzdChhM1swXSkmJihhLnN1cHBvcnQuY2hlY2tD bG9uZXx8IWwudGVzdChhM1swXSkpKXthWT10cnVlO2EwPWEuZnJhZ21lbnRzW2Ez WzBdXTtpZihhMCl7aWYoYTAhPT0xKXthMj1hMH19fWlmKCFhMil7YTI9YTQuY3Jl YXRlRG9jdW1lbnRGcmFnbWVudCgpO2EuY2xlYW4oYTMsYTQsYTIsYVopfWlmKGFZ KXthLmZyYWdtZW50c1thM1swXV09YTA/YTI6MX1yZXR1cm57ZnJhZ21lbnQ6YTIs Y2FjaGVhYmxlOmFZfX1hLmZyYWdtZW50cz17fTthLmVhY2goe2FwcGVuZFRvOiJh cHBlbmQiLHByZXBlbmRUbzoicHJlcGVuZCIsaW5zZXJ0QmVmb3JlOiJiZWZvcmUi LGluc2VydEFmdGVyOiJhZnRlciIscmVwbGFjZUFsbDoicmVwbGFjZVdpdGgifSxm dW5jdGlvbihhWSxhWil7YS5mblthWV09ZnVuY3Rpb24oYTApe3ZhciBhMz1bXSxh Nj1hKGEwKSxhNT10aGlzLmxlbmd0aD09PTEmJnRoaXNbMF0ucGFyZW50Tm9kZTtp ZihhNSYmYTUubm9kZVR5cGU9PT0xMSYmYTUuY2hpbGROb2Rlcy5sZW5ndGg9PT0x JiZhNi5sZW5ndGg9PT0xKXthNlthWl0odGhpc1swXSk7cmV0dXJuIHRoaXN9ZWxz ZXtmb3IodmFyIGE0PTAsYTE9YTYubGVuZ3RoO2E0PGExO2E0Kyspe3ZhciBhMj0o YTQ+MD90aGlzLmNsb25lKHRydWUpOnRoaXMpLmdldCgpO2EuZm5bYVpdLmFwcGx5 KGEoYTZbYTRdKSxhMik7YTM9YTMuY29uY2F0KGEyKX1yZXR1cm4gdGhpcy5wdXNo U3RhY2soYTMsYVksYTYuc2VsZWN0b3IpfX19KTthLmV4dGVuZCh7Y2xlYW46ZnVu Y3Rpb24oYTAsYTIsYTksYTQpe2EyPWEyfHxhYjtpZih0eXBlb2YgYTIuY3JlYXRl RWxlbWVudD09PSJ1bmRlZmluZWQiKXthMj1hMi5vd25lckRvY3VtZW50fHxhMlsw XSYmYTJbMF0ub3duZXJEb2N1bWVudHx8YWJ9dmFyIGJhPVtdO2Zvcih2YXIgYTg9 MCxhMzsoYTM9YTBbYThdKSE9bnVsbDthOCsrKXtpZih0eXBlb2YgYTM9PT0ibnVt YmVyIil7YTMrPSIifWlmKCFhMyl7Y29udGludWV9aWYodHlwZW9mIGEzPT09InN0 cmluZyImJiFMLnRlc3QoYTMpKXthMz1hMi5jcmVhdGVUZXh0Tm9kZShhMyl9ZWxz ZXtpZih0eXBlb2YgYTM9PT0ic3RyaW5nIil7YTM9YTMucmVwbGFjZShILHApO3Zh ciBiYj0oYy5leGVjKGEzKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKSxhMT1h Y1tiYl18fGFjLl9kZWZhdWx0LGE3PWExWzBdLGFaPWEyLmNyZWF0ZUVsZW1lbnQo ImRpdiIpO2FaLmlubmVySFRNTD1hMVsxXSthMythMVsyXTt3aGlsZShhNy0tKXth Wj1hWi5sYXN0Q2hpbGR9aWYoIWEuc3VwcG9ydC50Ym9keSl7dmFyIGFZPXQudGVz dChhMyksYTY9YmI9PT0idGFibGUiJiYhYVk/YVouZmlyc3RDaGlsZCYmYVouZmly c3RDaGlsZC5jaGlsZE5vZGVzOmExWzFdPT09Ijx0YWJsZT4iJiYhYVk/YVouY2hp bGROb2RlczpbXTtmb3IodmFyIGE1PWE2Lmxlbmd0aC0xO2E1Pj0wOy0tYTUpe2lm KGEubm9kZU5hbWUoYTZbYTVdLCJ0Ym9keSIpJiYhYTZbYTVdLmNoaWxkTm9kZXMu bGVuZ3RoKXthNlthNV0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChhNlthNV0pfX19 aWYoIWEuc3VwcG9ydC5sZWFkaW5nV2hpdGVzcGFjZSYmWi50ZXN0KGEzKSl7YVou aW5zZXJ0QmVmb3JlKGEyLmNyZWF0ZVRleHROb2RlKFouZXhlYyhhMylbMF0pLGFa LmZpcnN0Q2hpbGQpfWEzPWFaLmNoaWxkTm9kZXN9fWlmKGEzLm5vZGVUeXBlKXti YS5wdXNoKGEzKX1lbHNle2JhPWEubWVyZ2UoYmEsYTMpfX1pZihhOSl7Zm9yKHZh ciBhOD0wO2JhW2E4XTthOCsrKXtpZihhNCYmYS5ub2RlTmFtZShiYVthOF0sInNj cmlwdCIpJiYoIWJhW2E4XS50eXBlfHxiYVthOF0udHlwZS50b0xvd2VyQ2FzZSgp PT09InRleHQvamF2YXNjcmlwdCIpKXthNC5wdXNoKGJhW2E4XS5wYXJlbnROb2Rl P2JhW2E4XS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGJhW2E4XSk6YmFbYThdKX1l bHNle2lmKGJhW2E4XS5ub2RlVHlwZT09PTEpe2JhLnNwbGljZS5hcHBseShiYSxb YTgrMSwwXS5jb25jYXQoYS5tYWtlQXJyYXkoYmFbYThdLmdldEVsZW1lbnRzQnlU YWdOYW1lKCJzY3JpcHQiKSkpKX1hOS5hcHBlbmRDaGlsZChiYVthOF0pfX19cmV0 dXJuIGJhfSxjbGVhbkRhdGE6ZnVuY3Rpb24oYVope3ZhciBhMixhMCxhWT1hLmNh Y2hlLGE1PWEuZXZlbnQuc3BlY2lhbCxhND1hLnN1cHBvcnQuZGVsZXRlRXhwYW5k bztmb3IodmFyIGEzPTAsYTE7KGExPWFaW2EzXSkhPW51bGw7YTMrKyl7YTA9YTFb YS5leHBhbmRvXTtpZihhMCl7YTI9YVlbYTBdO2lmKGEyLmV2ZW50cyl7Zm9yKHZh ciBhNiBpbiBhMi5ldmVudHMpe2lmKGE1W2E2XSl7YS5ldmVudC5yZW1vdmUoYTEs YTYpfWVsc2V7YWcoYTEsYTYsYTIuaGFuZGxlKX19fWlmKGE0KXtkZWxldGUgYTFb YS5leHBhbmRvXX1lbHNle2lmKGExLnJlbW92ZUF0dHJpYnV0ZSl7YTEucmVtb3Zl QXR0cmlidXRlKGEuZXhwYW5kbyl9fWRlbGV0ZSBhWVthMF19fX19KTt2YXIgYXI9 L3otP2luZGV4fGZvbnQtP3dlaWdodHxvcGFjaXR5fHpvb218bGluZS0/aGVpZ2h0 L2ksVT0vYWxwaGFcKFteKV0qXCkvLGFhPS9vcGFjaXR5PShbXildKikvLGFoPS9m bG9hdC9pLGF6PS8tKFthLXpdKS9pZyx2PS8oW0EtWl0pL2csYU89L14tP1xkKyg/ OnB4KT8kL2ksYVU9L14tP1xkLyxhSz17cG9zaXRpb246ImFic29sdXRlIix2aXNp YmlsaXR5OiJoaWRkZW4iLGRpc3BsYXk6ImJsb2NrIn0sVz1bIkxlZnQiLCJSaWdo dCJdLGFFPVsiVG9wIiwiQm90dG9tIl0sYWs9YWIuZGVmYXVsdFZpZXcmJmFiLmRl ZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUsYU49YS5zdXBwb3J0LmNzc0Zsb2F0 PyJjc3NGbG9hdCI6InN0eWxlRmxvYXQiLGs9ZnVuY3Rpb24oYVksYVope3JldHVy biBhWi50b1VwcGVyQ2FzZSgpfTthLmZuLmNzcz1mdW5jdGlvbihhWSxhWil7cmV0 dXJuIGFuKHRoaXMsYVksYVosdHJ1ZSxmdW5jdGlvbihhMSxhMCxhMil7aWYoYTI9 PT1DKXtyZXR1cm4gYS5jdXJDU1MoYTEsYTApfWlmKHR5cGVvZiBhMj09PSJudW1i ZXIiJiYhYXIudGVzdChhMCkpe2EyKz0icHgifWEuc3R5bGUoYTEsYTAsYTIpfSl9 O2EuZXh0ZW5kKHtzdHlsZTpmdW5jdGlvbihhMixhWixhMyl7aWYoIWEyfHxhMi5u b2RlVHlwZT09PTN8fGEyLm5vZGVUeXBlPT09OCl7cmV0dXJuIEN9aWYoKGFaPT09 IndpZHRoInx8YVo9PT0iaGVpZ2h0IikmJnBhcnNlRmxvYXQoYTMpPDApe2EzPUN9 dmFyIGExPWEyLnN0eWxlfHxhMixhND1hMyE9PUM7aWYoIWEuc3VwcG9ydC5vcGFj aXR5JiZhWj09PSJvcGFjaXR5Iil7aWYoYTQpe2ExLnpvb209MTt2YXIgYVk9cGFy c2VJbnQoYTMsMTApKyIiPT09Ik5hTiI/IiI6ImFscGhhKG9wYWNpdHk9IithMyox MDArIikiO3ZhciBhMD1hMS5maWx0ZXJ8fGEuY3VyQ1NTKGEyLCJmaWx0ZXIiKXx8 IiI7YTEuZmlsdGVyPVUudGVzdChhMCk/YTAucmVwbGFjZShVLGFZKTphWX1yZXR1 cm4gYTEuZmlsdGVyJiZhMS5maWx0ZXIuaW5kZXhPZigib3BhY2l0eT0iKT49MD8o cGFyc2VGbG9hdChhYS5leGVjKGExLmZpbHRlcilbMV0pLzEwMCkrIiI6IiJ9aWYo YWgudGVzdChhWikpe2FaPWFOfWFaPWFaLnJlcGxhY2UoYXosayk7aWYoYTQpe2Ex W2FaXT1hM31yZXR1cm4gYTFbYVpdfSxjc3M6ZnVuY3Rpb24oYTEsYVosYTMsYVkp e2lmKGFaPT09IndpZHRoInx8YVo9PT0iaGVpZ2h0Iil7dmFyIGE1LGEwPWFLLGE0 PWFaPT09IndpZHRoIj9XOmFFO2Z1bmN0aW9uIGEyKCl7YTU9YVo9PT0id2lkdGgi P2ExLm9mZnNldFdpZHRoOmExLm9mZnNldEhlaWdodDtpZihhWT09PSJib3JkZXIi KXtyZXR1cm59YS5lYWNoKGE0LGZ1bmN0aW9uKCl7aWYoIWFZKXthNS09cGFyc2VG bG9hdChhLmN1ckNTUyhhMSwicGFkZGluZyIrdGhpcyx0cnVlKSl8fDB9aWYoYVk9 PT0ibWFyZ2luIil7YTUrPXBhcnNlRmxvYXQoYS5jdXJDU1MoYTEsIm1hcmdpbiIr dGhpcyx0cnVlKSl8fDB9ZWxzZXthNS09cGFyc2VGbG9hdChhLmN1ckNTUyhhMSwi Ym9yZGVyIit0aGlzKyJXaWR0aCIsdHJ1ZSkpfHwwfX0pfWlmKGExLm9mZnNldFdp ZHRoIT09MCl7YTIoKX1lbHNle2Euc3dhcChhMSxhMCxhMil9cmV0dXJuIE1hdGgu bWF4KDAsTWF0aC5yb3VuZChhNSkpfXJldHVybiBhLmN1ckNTUyhhMSxhWixhMyl9 LGN1ckNTUzpmdW5jdGlvbihhNCxhWixhMCl7dmFyIGE3LGFZPWE0LnN0eWxlLGEx O2lmKCFhLnN1cHBvcnQub3BhY2l0eSYmYVo9PT0ib3BhY2l0eSImJmE0LmN1cnJl bnRTdHlsZSl7YTc9YWEudGVzdChhNC5jdXJyZW50U3R5bGUuZmlsdGVyfHwiIik/ KHBhcnNlRmxvYXQoUmVnRXhwLiQxKS8xMDApKyIiOiIiO3JldHVybiBhNz09PSIi PyIxIjphN31pZihhaC50ZXN0KGFaKSl7YVo9YU59aWYoIWEwJiZhWSYmYVlbYVpd KXthNz1hWVthWl19ZWxzZXtpZihhayl7aWYoYWgudGVzdChhWikpe2FaPSJmbG9h dCJ9YVo9YVoucmVwbGFjZSh2LCItJDEiKS50b0xvd2VyQ2FzZSgpO3ZhciBhNj1h NC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3O2lmKCFhNil7cmV0dXJuIG51bGx9 dmFyIGE4PWE2LmdldENvbXB1dGVkU3R5bGUoYTQsbnVsbCk7aWYoYTgpe2E3PWE4 LmdldFByb3BlcnR5VmFsdWUoYVopfWlmKGFaPT09Im9wYWNpdHkiJiZhNz09PSIi KXthNz0iMSJ9fWVsc2V7aWYoYTQuY3VycmVudFN0eWxlKXt2YXIgYTM9YVoucmVw bGFjZShheixrKTthNz1hNC5jdXJyZW50U3R5bGVbYVpdfHxhNC5jdXJyZW50U3R5 bGVbYTNdO2lmKCFhTy50ZXN0KGE3KSYmYVUudGVzdChhNykpe3ZhciBhMj1hWS5s ZWZ0LGE1PWE0LnJ1bnRpbWVTdHlsZS5sZWZ0O2E0LnJ1bnRpbWVTdHlsZS5sZWZ0 PWE0LmN1cnJlbnRTdHlsZS5sZWZ0O2FZLmxlZnQ9YTM9PT0iZm9udFNpemUiPyIx ZW0iOihhN3x8MCk7YTc9YVkucGl4ZWxMZWZ0KyJweCI7YVkubGVmdD1hMjthNC5y dW50aW1lU3R5bGUubGVmdD1hNX19fX1yZXR1cm4gYTd9LHN3YXA6ZnVuY3Rpb24o YTEsYTAsYTIpe3ZhciBhWT17fTtmb3IodmFyIGFaIGluIGEwKXthWVthWl09YTEu c3R5bGVbYVpdO2ExLnN0eWxlW2FaXT1hMFthWl19YTIuY2FsbChhMSk7Zm9yKHZh ciBhWiBpbiBhMCl7YTEuc3R5bGVbYVpdPWFZW2FaXX19fSk7aWYoYS5leHByJiZh LmV4cHIuZmlsdGVycyl7YS5leHByLmZpbHRlcnMuaGlkZGVuPWZ1bmN0aW9uKGEx KXt2YXIgYVo9YTEub2Zmc2V0V2lkdGgsYVk9YTEub2Zmc2V0SGVpZ2h0LGEwPWEx Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT0idHIiO3JldHVybiBhWj09PTAmJmFZ PT09MCYmIWEwP3RydWU6YVo+MCYmYVk+MCYmIWEwP2ZhbHNlOmEuY3VyQ1NTKGEx LCJkaXNwbGF5Iik9PT0ibm9uZSJ9O2EuZXhwci5maWx0ZXJzLnZpc2libGU9ZnVu Y3Rpb24oYVkpe3JldHVybiAhYS5leHByLmZpbHRlcnMuaGlkZGVuKGFZKX19dmFy IGFmPWFQKCksYUo9LzxzY3JpcHQoLnxccykqP1wvc2NyaXB0Pi9naSxvPS9zZWxl Y3R8dGV4dGFyZWEvaSxhQj0vY29sb3J8ZGF0ZXxkYXRldGltZXxlbWFpbHxoaWRk ZW58bW9udGh8bnVtYmVyfHBhc3N3b3JkfHJhbmdlfHNlYXJjaHx0ZWx8dGV4dHx0 aW1lfHVybHx3ZWVrL2kscj0vPVw/KCZ8JCkvLEQ9L1w/LyxhWD0vKFw/fCYpXz0u Kj8oJnwkKS8sQj0vXihcdys6KT9cL1wvKFteXC8/I10rKS8saD0vJTIwL2csdz1h LmZuLmxvYWQ7YS5mbi5leHRlbmQoe2xvYWQ6ZnVuY3Rpb24oYTAsYTMsYTQpe2lm KHR5cGVvZiBhMCE9PSJzdHJpbmciKXtyZXR1cm4gdy5jYWxsKHRoaXMsYTApfWVs c2V7aWYoIXRoaXMubGVuZ3RoKXtyZXR1cm4gdGhpc319dmFyIGEyPWEwLmluZGV4 T2YoIiAiKTtpZihhMj49MCl7dmFyIGFZPWEwLnNsaWNlKGEyLGEwLmxlbmd0aCk7 YTA9YTAuc2xpY2UoMCxhMil9dmFyIGExPSJHRVQiO2lmKGEzKXtpZihhLmlzRnVu Y3Rpb24oYTMpKXthND1hMzthMz1udWxsfWVsc2V7aWYodHlwZW9mIGEzPT09Im9i amVjdCIpe2EzPWEucGFyYW0oYTMsYS5hamF4U2V0dGluZ3MudHJhZGl0aW9uYWwp O2ExPSJQT1NUIn19fXZhciBhWj10aGlzO2EuYWpheCh7dXJsOmEwLHR5cGU6YTEs ZGF0YVR5cGU6Imh0bWwiLGRhdGE6YTMsY29tcGxldGU6ZnVuY3Rpb24oYTYsYTUp e2lmKGE1PT09InN1Y2Nlc3MifHxhNT09PSJub3Rtb2RpZmllZCIpe2FaLmh0bWwo YVk/YSgiPGRpdiAvPiIpLmFwcGVuZChhNi5yZXNwb25zZVRleHQucmVwbGFjZShh SiwiIikpLmZpbmQoYVkpOmE2LnJlc3BvbnNlVGV4dCl9aWYoYTQpe2FaLmVhY2go YTQsW2E2LnJlc3BvbnNlVGV4dCxhNSxhNl0pfX19KTtyZXR1cm4gdGhpc30sc2Vy aWFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIGEucGFyYW0odGhpcy5zZXJpYWxpemVB cnJheSgpKX0sc2VyaWFsaXplQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5t YXAoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbGVtZW50cz9hLm1ha2VBcnJheSh0 aGlzLmVsZW1lbnRzKTp0aGlzfSkuZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuIHRo aXMubmFtZSYmIXRoaXMuZGlzYWJsZWQmJih0aGlzLmNoZWNrZWR8fG8udGVzdCh0 aGlzLm5vZGVOYW1lKXx8YUIudGVzdCh0aGlzLnR5cGUpKX0pLm1hcChmdW5jdGlv bihhWSxhWil7dmFyIGEwPWEodGhpcykudmFsKCk7cmV0dXJuIGEwPT1udWxsP251 bGw6YS5pc0FycmF5KGEwKT9hLm1hcChhMCxmdW5jdGlvbihhMixhMSl7cmV0dXJu e25hbWU6YVoubmFtZSx2YWx1ZTphMn19KTp7bmFtZTphWi5uYW1lLHZhbHVlOmEw fX0pLmdldCgpfX0pO2EuZWFjaCgiYWpheFN0YXJ0IGFqYXhTdG9wIGFqYXhDb21w bGV0ZSBhamF4RXJyb3IgYWpheFN1Y2Nlc3MgYWpheFNlbmQiLnNwbGl0KCIgIiks ZnVuY3Rpb24oYVksYVope2EuZm5bYVpdPWZ1bmN0aW9uKGEwKXtyZXR1cm4gdGhp cy5iaW5kKGFaLGEwKX19KTthLmV4dGVuZCh7Z2V0OmZ1bmN0aW9uKGFZLGEwLGEx LGFaKXtpZihhLmlzRnVuY3Rpb24oYTApKXthWj1hWnx8YTE7YTE9YTA7YTA9bnVs bH1yZXR1cm4gYS5hamF4KHt0eXBlOiJHRVQiLHVybDphWSxkYXRhOmEwLHN1Y2Nl c3M6YTEsZGF0YVR5cGU6YVp9KX0sZ2V0U2NyaXB0OmZ1bmN0aW9uKGFZLGFaKXty ZXR1cm4gYS5nZXQoYVksbnVsbCxhWiwic2NyaXB0Iil9LGdldEpTT046ZnVuY3Rp b24oYVksYVosYTApe3JldHVybiBhLmdldChhWSxhWixhMCwianNvbiIpfSxwb3N0 OmZ1bmN0aW9uKGFZLGEwLGExLGFaKXtpZihhLmlzRnVuY3Rpb24oYTApKXthWj1h Wnx8YTE7YTE9YTA7YTA9e319cmV0dXJuIGEuYWpheCh7dHlwZToiUE9TVCIsdXJs OmFZLGRhdGE6YTAsc3VjY2VzczphMSxkYXRhVHlwZTphWn0pfSxhamF4U2V0dXA6 ZnVuY3Rpb24oYVkpe2EuZXh0ZW5kKGEuYWpheFNldHRpbmdzLGFZKX0sYWpheFNl dHRpbmdzOnt1cmw6bG9jYXRpb24uaHJlZixnbG9iYWw6dHJ1ZSx0eXBlOiJHRVQi LGNvbnRlbnRUeXBlOiJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQi LHByb2Nlc3NEYXRhOnRydWUsYXN5bmM6dHJ1ZSx4aHI6YU0uWE1MSHR0cFJlcXVl c3QmJihhTS5sb2NhdGlvbi5wcm90b2NvbCE9PSJmaWxlOiJ8fCFhTS5BY3RpdmVY T2JqZWN0KT9mdW5jdGlvbigpe3JldHVybiBuZXcgYU0uWE1MSHR0cFJlcXVlc3Qo KX06ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIG5ldyBhTS5BY3RpdmVYT2JqZWN0KCJN aWNyb3NvZnQuWE1MSFRUUCIpfWNhdGNoKGFZKXt9fSxhY2NlcHRzOnt4bWw6ImFw cGxpY2F0aW9uL3htbCwgdGV4dC94bWwiLGh0bWw6InRleHQvaHRtbCIsc2NyaXB0 OiJ0ZXh0L2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2phdmFzY3JpcHQiLGpzb246 ImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdCIsdGV4dDoidGV4dC9w bGFpbiIsX2RlZmF1bHQ6IiovKiJ9fSxsYXN0TW9kaWZpZWQ6e30sZXRhZzp7fSxh amF4OmZ1bmN0aW9uKGJkKXt2YXIgYTg9YS5leHRlbmQodHJ1ZSx7fSxhLmFqYXhT ZXR0aW5ncyxiZCk7dmFyIGJpLGJjLGJoLGJqPWJkJiZiZC5jb250ZXh0fHxhOCxh MD1hOC50eXBlLnRvVXBwZXJDYXNlKCk7aWYoYTguZGF0YSYmYTgucHJvY2Vzc0Rh dGEmJnR5cGVvZiBhOC5kYXRhIT09InN0cmluZyIpe2E4LmRhdGE9YS5wYXJhbShh OC5kYXRhLGE4LnRyYWRpdGlvbmFsKX1pZihhOC5kYXRhVHlwZT09PSJqc29ucCIp e2lmKGEwPT09IkdFVCIpe2lmKCFyLnRlc3QoYTgudXJsKSl7YTgudXJsKz0oRC50 ZXN0KGE4LnVybCk/IiYiOiI/IikrKGE4Lmpzb25wfHwiY2FsbGJhY2siKSsiPT8i fX1lbHNle2lmKCFhOC5kYXRhfHwhci50ZXN0KGE4LmRhdGEpKXthOC5kYXRhPShh OC5kYXRhP2E4LmRhdGErIiYiOiIiKSsoYTguanNvbnB8fCJjYWxsYmFjayIpKyI9 PyJ9fWE4LmRhdGFUeXBlPSJqc29uIn1pZihhOC5kYXRhVHlwZT09PSJqc29uIiYm KGE4LmRhdGEmJnIudGVzdChhOC5kYXRhKXx8ci50ZXN0KGE4LnVybCkpKXtiaT1h OC5qc29ucENhbGxiYWNrfHwoImpzb25wIithZisrKTtpZihhOC5kYXRhKXthOC5k YXRhPShhOC5kYXRhKyIiKS5yZXBsYWNlKHIsIj0iK2JpKyIkMSIpfWE4LnVybD1h OC51cmwucmVwbGFjZShyLCI9IitiaSsiJDEiKTthOC5kYXRhVHlwZT0ic2NyaXB0 IjthTVtiaV09YU1bYmldfHxmdW5jdGlvbihiayl7Ymg9Yms7YTMoKTthNigpO2FN W2JpXT1DO3RyeXtkZWxldGUgYU1bYmldfWNhdGNoKGJsKXt9aWYoYTEpe2ExLnJl bW92ZUNoaWxkKGJmKX19fWlmKGE4LmRhdGFUeXBlPT09InNjcmlwdCImJmE4LmNh Y2hlPT09bnVsbCl7YTguY2FjaGU9ZmFsc2V9aWYoYTguY2FjaGU9PT1mYWxzZSYm YTA9PT0iR0VUIil7dmFyIGFZPWFQKCk7dmFyIGJnPWE4LnVybC5yZXBsYWNlKGFY LCIkMV89IithWSsiJDIiKTthOC51cmw9YmcrKChiZz09PWE4LnVybCk/KEQudGVz dChhOC51cmwpPyImIjoiPyIpKyJfPSIrYVk6IiIpfWlmKGE4LmRhdGEmJmEwPT09 IkdFVCIpe2E4LnVybCs9KEQudGVzdChhOC51cmwpPyImIjoiPyIpK2E4LmRhdGF9 aWYoYTguZ2xvYmFsJiYhYS5hY3RpdmUrKyl7YS5ldmVudC50cmlnZ2VyKCJhamF4 U3RhcnQiKX12YXIgYmI9Qi5leGVjKGE4LnVybCksYTI9YmImJihiYlsxXSYmYmJb MV0hPT1sb2NhdGlvbi5wcm90b2NvbHx8YmJbMl0hPT1sb2NhdGlvbi5ob3N0KTtp ZihhOC5kYXRhVHlwZT09PSJzY3JpcHQiJiZhMD09PSJHRVQiJiZhMil7dmFyIGEx PWFiLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF18fGFiLmRvY3VtZW50 RWxlbWVudDt2YXIgYmY9YWIuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7YmYuc3Jj PWE4LnVybDtpZihhOC5zY3JpcHRDaGFyc2V0KXtiZi5jaGFyc2V0PWE4LnNjcmlw dENoYXJzZXR9aWYoIWJpKXt2YXIgYmE9ZmFsc2U7YmYub25sb2FkPWJmLm9ucmVh ZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe2lmKCFiYSYmKCF0aGlzLnJlYWR5U3Rh dGV8fHRoaXMucmVhZHlTdGF0ZT09PSJsb2FkZWQifHx0aGlzLnJlYWR5U3RhdGU9 PT0iY29tcGxldGUiKSl7YmE9dHJ1ZTthMygpO2E2KCk7YmYub25sb2FkPWJmLm9u cmVhZHlzdGF0ZWNoYW5nZT1udWxsO2lmKGExJiZiZi5wYXJlbnROb2RlKXthMS5y ZW1vdmVDaGlsZChiZil9fX19YTEuaW5zZXJ0QmVmb3JlKGJmLGExLmZpcnN0Q2hp bGQpO3JldHVybiBDfXZhciBhNT1mYWxzZTt2YXIgYTQ9YTgueGhyKCk7aWYoIWE0 KXtyZXR1cm59aWYoYTgudXNlcm5hbWUpe2E0Lm9wZW4oYTAsYTgudXJsLGE4LmFz eW5jLGE4LnVzZXJuYW1lLGE4LnBhc3N3b3JkKX1lbHNle2E0Lm9wZW4oYTAsYTgu dXJsLGE4LmFzeW5jKX10cnl7aWYoYTguZGF0YXx8YmQmJmJkLmNvbnRlbnRUeXBl KXthNC5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLGE4LmNvbnRlbnRU eXBlKX1pZihhOC5pZk1vZGlmaWVkKXtpZihhLmxhc3RNb2RpZmllZFthOC51cmxd KXthNC5zZXRSZXF1ZXN0SGVhZGVyKCJJZi1Nb2RpZmllZC1TaW5jZSIsYS5sYXN0 TW9kaWZpZWRbYTgudXJsXSl9aWYoYS5ldGFnW2E4LnVybF0pe2E0LnNldFJlcXVl c3RIZWFkZXIoIklmLU5vbmUtTWF0Y2giLGEuZXRhZ1thOC51cmxdKX19aWYoIWEy KXthNC5zZXRSZXF1ZXN0SGVhZGVyKCJYLVJlcXVlc3RlZC1XaXRoIiwiWE1MSHR0 cFJlcXVlc3QiKX1hNC5zZXRSZXF1ZXN0SGVhZGVyKCJBY2NlcHQiLGE4LmRhdGFU eXBlJiZhOC5hY2NlcHRzW2E4LmRhdGFUeXBlXT9hOC5hY2NlcHRzW2E4LmRhdGFU eXBlXSsiLCAqLyoiOmE4LmFjY2VwdHMuX2RlZmF1bHQpfWNhdGNoKGJlKXt9aWYo YTguYmVmb3JlU2VuZCYmYTguYmVmb3JlU2VuZC5jYWxsKGJqLGE0LGE4KT09PWZh bHNlKXtpZihhOC5nbG9iYWwmJiEtLWEuYWN0aXZlKXthLmV2ZW50LnRyaWdnZXIo ImFqYXhTdG9wIil9YTQuYWJvcnQoKTtyZXR1cm4gZmFsc2V9aWYoYTguZ2xvYmFs KXthOSgiYWpheFNlbmQiLFthNCxhOF0pfXZhciBhNz1hNC5vbnJlYWR5c3RhdGVj aGFuZ2U9ZnVuY3Rpb24oYmspe2lmKCFhNHx8YTQucmVhZHlTdGF0ZT09PTB8fGJr PT09ImFib3J0Iil7aWYoIWE1KXthNigpfWE1PXRydWU7aWYoYTQpe2E0Lm9ucmVh ZHlzdGF0ZWNoYW5nZT1hLm5vb3B9fWVsc2V7aWYoIWE1JiZhNCYmKGE0LnJlYWR5 U3RhdGU9PT00fHxiaz09PSJ0aW1lb3V0Iikpe2E1PXRydWU7YTQub25yZWFkeXN0 YXRlY2hhbmdlPWEubm9vcDtiYz1iaz09PSJ0aW1lb3V0Ij8idGltZW91dCI6IWEu aHR0cFN1Y2Nlc3MoYTQpPyJlcnJvciI6YTguaWZNb2RpZmllZCYmYS5odHRwTm90 TW9kaWZpZWQoYTQsYTgudXJsKT8ibm90bW9kaWZpZWQiOiJzdWNjZXNzIjt2YXIg Ym07aWYoYmM9PT0ic3VjY2VzcyIpe3RyeXtiaD1hLmh0dHBEYXRhKGE0LGE4LmRh dGFUeXBlLGE4KX1jYXRjaChibCl7YmM9InBhcnNlcmVycm9yIjtibT1ibH19aWYo YmM9PT0ic3VjY2VzcyJ8fGJjPT09Im5vdG1vZGlmaWVkIil7aWYoIWJpKXthMygp fX1lbHNle2EuaGFuZGxlRXJyb3IoYTgsYTQsYmMsYm0pfWE2KCk7aWYoYms9PT0i dGltZW91dCIpe2E0LmFib3J0KCl9aWYoYTguYXN5bmMpe2E0PW51bGx9fX19O3Ry eXt2YXIgYVo9YTQuYWJvcnQ7YTQuYWJvcnQ9ZnVuY3Rpb24oKXtpZihhNCl7YVou Y2FsbChhNCl9YTcoImFib3J0Iil9fWNhdGNoKGJlKXt9aWYoYTguYXN5bmMmJmE4 LnRpbWVvdXQ+MCl7c2V0VGltZW91dChmdW5jdGlvbigpe2lmKGE0JiYhYTUpe2E3 KCJ0aW1lb3V0Iil9fSxhOC50aW1lb3V0KX10cnl7YTQuc2VuZChhMD09PSJQT1NU Inx8YTA9PT0iUFVUInx8YTA9PT0iREVMRVRFIj9hOC5kYXRhOm51bGwpfWNhdGNo KGJlKXthLmhhbmRsZUVycm9yKGE4LGE0LG51bGwsYmUpO2E2KCl9aWYoIWE4LmFz eW5jKXthNygpfWZ1bmN0aW9uIGEzKCl7aWYoYTguc3VjY2Vzcyl7YTguc3VjY2Vz cy5jYWxsKGJqLGJoLGJjLGE0KX1pZihhOC5nbG9iYWwpe2E5KCJhamF4U3VjY2Vz cyIsW2E0LGE4XSl9fWZ1bmN0aW9uIGE2KCl7aWYoYTguY29tcGxldGUpe2E4LmNv bXBsZXRlLmNhbGwoYmosYTQsYmMpfWlmKGE4Lmdsb2JhbCl7YTkoImFqYXhDb21w bGV0ZSIsW2E0LGE4XSl9aWYoYTguZ2xvYmFsJiYhLS1hLmFjdGl2ZSl7YS5ldmVu dC50cmlnZ2VyKCJhamF4U3RvcCIpfX1mdW5jdGlvbiBhOShibCxiayl7KGE4LmNv bnRleHQ/YShhOC5jb250ZXh0KTphLmV2ZW50KS50cmlnZ2VyKGJsLGJrKX1yZXR1 cm4gYTR9LGhhbmRsZUVycm9yOmZ1bmN0aW9uKGFaLGExLGFZLGEwKXtpZihhWi5l cnJvcil7YVouZXJyb3IuY2FsbChhWi5jb250ZXh0fHxhWixhMSxhWSxhMCl9aWYo YVouZ2xvYmFsKXsoYVouY29udGV4dD9hKGFaLmNvbnRleHQpOmEuZXZlbnQpLnRy aWdnZXIoImFqYXhFcnJvciIsW2ExLGFaLGEwXSl9fSxhY3RpdmU6MCxodHRwU3Vj Y2VzczpmdW5jdGlvbihhWil7dHJ5e3JldHVybiAhYVouc3RhdHVzJiZsb2NhdGlv bi5wcm90b2NvbD09PSJmaWxlOiJ8fChhWi5zdGF0dXM+PTIwMCYmYVouc3RhdHVz PDMwMCl8fGFaLnN0YXR1cz09PTMwNHx8YVouc3RhdHVzPT09MTIyM3x8YVouc3Rh dHVzPT09MH1jYXRjaChhWSl7fXJldHVybiBmYWxzZX0saHR0cE5vdE1vZGlmaWVk OmZ1bmN0aW9uKGExLGFZKXt2YXIgYTA9YTEuZ2V0UmVzcG9uc2VIZWFkZXIoIkxh c3QtTW9kaWZpZWQiKSxhWj1hMS5nZXRSZXNwb25zZUhlYWRlcigiRXRhZyIpO2lm KGEwKXthLmxhc3RNb2RpZmllZFthWV09YTB9aWYoYVope2EuZXRhZ1thWV09YVp9 cmV0dXJuIGExLnN0YXR1cz09PTMwNHx8YTEuc3RhdHVzPT09MH0saHR0cERhdGE6 ZnVuY3Rpb24oYTMsYTEsYTApe3ZhciBhWj1hMy5nZXRSZXNwb25zZUhlYWRlcigi Y29udGVudC10eXBlIil8fCIiLGFZPWExPT09InhtbCJ8fCFhMSYmYVouaW5kZXhP ZigieG1sIik+PTAsYTI9YVk/YTMucmVzcG9uc2VYTUw6YTMucmVzcG9uc2VUZXh0 O2lmKGFZJiZhMi5kb2N1bWVudEVsZW1lbnQubm9kZU5hbWU9PT0icGFyc2VyZXJy b3IiKXthLmVycm9yKCJwYXJzZXJlcnJvciIpfWlmKGEwJiZhMC5kYXRhRmlsdGVy KXthMj1hMC5kYXRhRmlsdGVyKGEyLGExKX1pZih0eXBlb2YgYTI9PT0ic3RyaW5n Iil7aWYoYTE9PT0ianNvbiJ8fCFhMSYmYVouaW5kZXhPZigianNvbiIpPj0wKXth Mj1hLnBhcnNlSlNPTihhMil9ZWxzZXtpZihhMT09PSJzY3JpcHQifHwhYTEmJmFa LmluZGV4T2YoImphdmFzY3JpcHQiKT49MCl7YS5nbG9iYWxFdmFsKGEyKX19fXJl dHVybiBhMn0scGFyYW06ZnVuY3Rpb24oYVksYTEpe3ZhciBhWj1bXTtpZihhMT09 PUMpe2ExPWEuYWpheFNldHRpbmdzLnRyYWRpdGlvbmFsfWlmKGEuaXNBcnJheShh WSl8fGFZLmpxdWVyeSl7YS5lYWNoKGFZLGZ1bmN0aW9uKCl7YTModGhpcy5uYW1l LHRoaXMudmFsdWUpfSl9ZWxzZXtmb3IodmFyIGEyIGluIGFZKXthMChhMixhWVth Ml0pfX1yZXR1cm4gYVouam9pbigiJiIpLnJlcGxhY2UoaCwiKyIpO2Z1bmN0aW9u IGEwKGE0LGE1KXtpZihhLmlzQXJyYXkoYTUpKXthLmVhY2goYTUsZnVuY3Rpb24o YTcsYTYpe2lmKGExfHwvXFtcXSQvLnRlc3QoYTQpKXthMyhhNCxhNil9ZWxzZXth MChhNCsiWyIrKHR5cGVvZiBhNj09PSJvYmplY3QifHxhLmlzQXJyYXkoYTYpP2E3 OiIiKSsiXSIsYTYpfX0pfWVsc2V7aWYoIWExJiZhNSE9bnVsbCYmdHlwZW9mIGE1 PT09Im9iamVjdCIpe2EuZWFjaChhNSxmdW5jdGlvbihhNyxhNil7YTAoYTQrIlsi K2E3KyJdIixhNil9KX1lbHNle2EzKGE0LGE1KX19fWZ1bmN0aW9uIGEzKGE0LGE1 KXthNT1hLmlzRnVuY3Rpb24oYTUpP2E1KCk6YTU7YVpbYVoubGVuZ3RoXT1lbmNv ZGVVUklDb21wb25lbnQoYTQpKyI9IitlbmNvZGVVUklDb21wb25lbnQoYTUpfX19 KTt2YXIgRz17fSxhZT0vdG9nZ2xlfHNob3d8aGlkZS8sYXU9L14oWystXT0pPyhb XGQrLS5dKykoLiopJC8sYUYsYWo9W1siaGVpZ2h0IiwibWFyZ2luVG9wIiwibWFy Z2luQm90dG9tIiwicGFkZGluZ1RvcCIsInBhZGRpbmdCb3R0b20iXSxbIndpZHRo IiwibWFyZ2luTGVmdCIsIm1hcmdpblJpZ2h0IiwicGFkZGluZ0xlZnQiLCJwYWRk aW5nUmlnaHQiXSxbIm9wYWNpdHkiXV07YS5mbi5leHRlbmQoe3Nob3c6ZnVuY3Rp b24oYVosYTcpe2lmKGFafHxhWj09PTApe3JldHVybiB0aGlzLmFuaW1hdGUoYUQo InNob3ciLDMpLGFaLGE3KX1lbHNle2Zvcih2YXIgYTQ9MCxhMT10aGlzLmxlbmd0 aDthNDxhMTthNCsrKXt2YXIgYVk9YS5kYXRhKHRoaXNbYTRdLCJvbGRkaXNwbGF5 Iik7dGhpc1thNF0uc3R5bGUuZGlzcGxheT1hWXx8IiI7aWYoYS5jc3ModGhpc1th NF0sImRpc3BsYXkiKT09PSJub25lIil7dmFyIGE2PXRoaXNbYTRdLm5vZGVOYW1l LGE1O2lmKEdbYTZdKXthNT1HW2E2XX1lbHNle3ZhciBhMD1hKCI8IithNisiIC8+ IikuYXBwZW5kVG8oImJvZHkiKTthNT1hMC5jc3MoImRpc3BsYXkiKTtpZihhNT09 PSJub25lIil7YTU9ImJsb2NrIn1hMC5yZW1vdmUoKTtHW2E2XT1hNX1hLmRhdGEo dGhpc1thNF0sIm9sZGRpc3BsYXkiLGE1KX19Zm9yKHZhciBhMz0wLGEyPXRoaXMu bGVuZ3RoO2EzPGEyO2EzKyspe3RoaXNbYTNdLnN0eWxlLmRpc3BsYXk9YS5kYXRh KHRoaXNbYTNdLCJvbGRkaXNwbGF5Iil8fCIifXJldHVybiB0aGlzfX0saGlkZTpm dW5jdGlvbihhMyxhNCl7aWYoYTN8fGEzPT09MCl7cmV0dXJuIHRoaXMuYW5pbWF0 ZShhRCgiaGlkZSIsMyksYTMsYTQpfWVsc2V7Zm9yKHZhciBhMj0wLGFaPXRoaXMu bGVuZ3RoO2EyPGFaO2EyKyspe3ZhciBhWT1hLmRhdGEodGhpc1thMl0sIm9sZGRp c3BsYXkiKTtpZighYVkmJmFZIT09Im5vbmUiKXthLmRhdGEodGhpc1thMl0sIm9s ZGRpc3BsYXkiLGEuY3NzKHRoaXNbYTJdLCJkaXNwbGF5IikpfX1mb3IodmFyIGEx PTAsYTA9dGhpcy5sZW5ndGg7YTE8YTA7YTErKyl7dGhpc1thMV0uc3R5bGUuZGlz cGxheT0ibm9uZSJ9cmV0dXJuIHRoaXN9fSxfdG9nZ2xlOmEuZm4udG9nZ2xlLHRv Z2dsZTpmdW5jdGlvbihhMCxhWil7dmFyIGFZPXR5cGVvZiBhMD09PSJib29sZWFu IjtpZihhLmlzRnVuY3Rpb24oYTApJiZhLmlzRnVuY3Rpb24oYVopKXt0aGlzLl90 b2dnbGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWVsc2V7aWYoYTA9PW51bGx8fGFZ KXt0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYTE9YVk/YTA6YSh0aGlzKS5pcygi OmhpZGRlbiIpO2EodGhpcylbYTE/InNob3ciOiJoaWRlIl0oKX0pfWVsc2V7dGhp cy5hbmltYXRlKGFEKCJ0b2dnbGUiLDMpLGEwLGFaKX19cmV0dXJuIHRoaXN9LGZh ZGVUbzpmdW5jdGlvbihhWSxhMCxhWil7cmV0dXJuIHRoaXMuZmlsdGVyKCI6aGlk ZGVuIikuY3NzKCJvcGFjaXR5IiwwKS5zaG93KCkuZW5kKCkuYW5pbWF0ZSh7b3Bh Y2l0eTphMH0sYVksYVopfSxhbmltYXRlOmZ1bmN0aW9uKGEyLGFaLGExLGEwKXt2 YXIgYVk9YS5zcGVlZChhWixhMSxhMCk7aWYoYS5pc0VtcHR5T2JqZWN0KGEyKSl7 cmV0dXJuIHRoaXMuZWFjaChhWS5jb21wbGV0ZSl9cmV0dXJuIHRoaXNbYVkucXVl dWU9PT1mYWxzZT8iZWFjaCI6InF1ZXVlIl0oZnVuY3Rpb24oKXt2YXIgYTU9YS5l eHRlbmQoe30sYVkpLGE3LGE2PXRoaXMubm9kZVR5cGU9PT0xJiZhKHRoaXMpLmlz KCI6aGlkZGVuIiksYTM9dGhpcztmb3IoYTcgaW4gYTIpe3ZhciBhND1hNy5yZXBs YWNlKGF6LGspO2lmKGE3IT09YTQpe2EyW2E0XT1hMlthN107ZGVsZXRlIGEyW2E3 XTthNz1hNH1pZihhMlthN109PT0iaGlkZSImJmE2fHxhMlthN109PT0ic2hvdyIm JiFhNil7cmV0dXJuIGE1LmNvbXBsZXRlLmNhbGwodGhpcyl9aWYoKGE3PT09Imhl aWdodCJ8fGE3PT09IndpZHRoIikmJnRoaXMuc3R5bGUpe2E1LmRpc3BsYXk9YS5j c3ModGhpcywiZGlzcGxheSIpO2E1Lm92ZXJmbG93PXRoaXMuc3R5bGUub3ZlcmZs b3d9aWYoYS5pc0FycmF5KGEyW2E3XSkpeyhhNS5zcGVjaWFsRWFzaW5nPWE1LnNw ZWNpYWxFYXNpbmd8fHt9KVthN109YTJbYTddWzFdO2EyW2E3XT1hMlthN11bMF19 fWlmKGE1Lm92ZXJmbG93IT1udWxsKXt0aGlzLnN0eWxlLm92ZXJmbG93PSJoaWRk ZW4ifWE1LmN1ckFuaW09YS5leHRlbmQoe30sYTIpO2EuZWFjaChhMixmdW5jdGlv bihhOSxiZCl7dmFyIGJjPW5ldyBhLmZ4KGEzLGE1LGE5KTtpZihhZS50ZXN0KGJk KSl7YmNbYmQ9PT0idG9nZ2xlIj9hNj8ic2hvdyI6ImhpZGUiOmJkXShhMil9ZWxz ZXt2YXIgYmI9YXUuZXhlYyhiZCksYmU9YmMuY3VyKHRydWUpfHwwO2lmKGJiKXt2 YXIgYTg9cGFyc2VGbG9hdChiYlsyXSksYmE9YmJbM118fCJweCI7aWYoYmEhPT0i cHgiKXthMy5zdHlsZVthOV09KGE4fHwxKStiYTtiZT0oKGE4fHwxKS9iYy5jdXIo dHJ1ZSkpKmJlO2EzLnN0eWxlW2E5XT1iZStiYX1pZihiYlsxXSl7YTg9KChiYlsx XT09PSItPSI/LTE6MSkqYTgpK2JlfWJjLmN1c3RvbShiZSxhOCxiYSl9ZWxzZXti Yy5jdXN0b20oYmUsYmQsIiIpfX19KTtyZXR1cm4gdHJ1ZX0pfSxzdG9wOmZ1bmN0 aW9uKGFaLGFZKXt2YXIgYTA9YS50aW1lcnM7aWYoYVope3RoaXMucXVldWUoW10p fXRoaXMuZWFjaChmdW5jdGlvbigpe2Zvcih2YXIgYTE9YTAubGVuZ3RoLTE7YTE+ PTA7YTEtLSl7aWYoYTBbYTFdLmVsZW09PT10aGlzKXtpZihhWSl7YTBbYTFdKHRy dWUpfWEwLnNwbGljZShhMSwxKX19fSk7aWYoIWFZKXt0aGlzLmRlcXVldWUoKX1y ZXR1cm4gdGhpc319KTthLmVhY2goe3NsaWRlRG93bjphRCgic2hvdyIsMSksc2xp ZGVVcDphRCgiaGlkZSIsMSksc2xpZGVUb2dnbGU6YUQoInRvZ2dsZSIsMSksZmFk ZUluOntvcGFjaXR5OiJzaG93In0sZmFkZU91dDp7b3BhY2l0eToiaGlkZSJ9fSxm dW5jdGlvbihhWSxhWil7YS5mblthWV09ZnVuY3Rpb24oYTAsYTEpe3JldHVybiB0 aGlzLmFuaW1hdGUoYVosYTAsYTEpfX0pO2EuZXh0ZW5kKHtzcGVlZDpmdW5jdGlv bihhMCxhMSxhWil7dmFyIGFZPWEwJiZ0eXBlb2YgYTA9PT0ib2JqZWN0Ij9hMDp7 Y29tcGxldGU6YVp8fCFhWiYmYTF8fGEuaXNGdW5jdGlvbihhMCkmJmEwLGR1cmF0 aW9uOmEwLGVhc2luZzphWiYmYTF8fGExJiYhYS5pc0Z1bmN0aW9uKGExKSYmYTF9 O2FZLmR1cmF0aW9uPWEuZngub2ZmPzA6dHlwZW9mIGFZLmR1cmF0aW9uPT09Im51 bWJlciI/YVkuZHVyYXRpb246YS5meC5zcGVlZHNbYVkuZHVyYXRpb25dfHxhLmZ4 LnNwZWVkcy5fZGVmYXVsdDthWS5vbGQ9YVkuY29tcGxldGU7YVkuY29tcGxldGU9 ZnVuY3Rpb24oKXtpZihhWS5xdWV1ZSE9PWZhbHNlKXthKHRoaXMpLmRlcXVldWUo KX1pZihhLmlzRnVuY3Rpb24oYVkub2xkKSl7YVkub2xkLmNhbGwodGhpcyl9fTty ZXR1cm4gYVl9LGVhc2luZzp7bGluZWFyOmZ1bmN0aW9uKGEwLGExLGFZLGFaKXty ZXR1cm4gYVkrYVoqYTB9LHN3aW5nOmZ1bmN0aW9uKGEwLGExLGFZLGFaKXtyZXR1 cm4oKC1NYXRoLmNvcyhhMCpNYXRoLlBJKS8yKSswLjUpKmFaK2FZfX0sdGltZXJz OltdLGZ4OmZ1bmN0aW9uKGFaLGFZLGEwKXt0aGlzLm9wdGlvbnM9YVk7dGhpcy5l bGVtPWFaO3RoaXMucHJvcD1hMDtpZighYVkub3JpZyl7YVkub3JpZz17fX19fSk7 YS5meC5wcm90b3R5cGU9e3VwZGF0ZTpmdW5jdGlvbigpe2lmKHRoaXMub3B0aW9u cy5zdGVwKXt0aGlzLm9wdGlvbnMuc3RlcC5jYWxsKHRoaXMuZWxlbSx0aGlzLm5v dyx0aGlzKX0oYS5meC5zdGVwW3RoaXMucHJvcF18fGEuZnguc3RlcC5fZGVmYXVs dCkodGhpcyk7aWYoKHRoaXMucHJvcD09PSJoZWlnaHQifHx0aGlzLnByb3A9PT0i d2lkdGgiKSYmdGhpcy5lbGVtLnN0eWxlKXt0aGlzLmVsZW0uc3R5bGUuZGlzcGxh eT0iYmxvY2sifX0sY3VyOmZ1bmN0aW9uKGFaKXtpZih0aGlzLmVsZW1bdGhpcy5w cm9wXSE9bnVsbCYmKCF0aGlzLmVsZW0uc3R5bGV8fHRoaXMuZWxlbS5zdHlsZVt0 aGlzLnByb3BdPT1udWxsKSl7cmV0dXJuIHRoaXMuZWxlbVt0aGlzLnByb3BdfXZh ciBhWT1wYXJzZUZsb2F0KGEuY3NzKHRoaXMuZWxlbSx0aGlzLnByb3AsYVopKTty ZXR1cm4gYVkmJmFZPi0xMDAwMD9hWTpwYXJzZUZsb2F0KGEuY3VyQ1NTKHRoaXMu ZWxlbSx0aGlzLnByb3ApKXx8MH0sY3VzdG9tOmZ1bmN0aW9uKGEyLGExLGEwKXt0 aGlzLnN0YXJ0VGltZT1hUCgpO3RoaXMuc3RhcnQ9YTI7dGhpcy5lbmQ9YTE7dGhp cy51bml0PWEwfHx0aGlzLnVuaXR8fCJweCI7dGhpcy5ub3c9dGhpcy5zdGFydDt0 aGlzLnBvcz10aGlzLnN0YXRlPTA7dmFyIGFZPXRoaXM7ZnVuY3Rpb24gYVooYTMp e3JldHVybiBhWS5zdGVwKGEzKX1hWi5lbGVtPXRoaXMuZWxlbTtpZihhWigpJiZh LnRpbWVycy5wdXNoKGFaKSYmIWFGKXthRj1zZXRJbnRlcnZhbChhLmZ4LnRpY2ss MTMpfX0sc2hvdzpmdW5jdGlvbigpe3RoaXMub3B0aW9ucy5vcmlnW3RoaXMucHJv cF09YS5zdHlsZSh0aGlzLmVsZW0sdGhpcy5wcm9wKTt0aGlzLm9wdGlvbnMuc2hv dz10cnVlO3RoaXMuY3VzdG9tKHRoaXMucHJvcD09PSJ3aWR0aCJ8fHRoaXMucHJv cD09PSJoZWlnaHQiPzE6MCx0aGlzLmN1cigpKTthKHRoaXMuZWxlbSkuc2hvdygp fSxoaWRlOmZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLm9yaWdbdGhpcy5wcm9wXT1h LnN0eWxlKHRoaXMuZWxlbSx0aGlzLnByb3ApO3RoaXMub3B0aW9ucy5oaWRlPXRy dWU7dGhpcy5jdXN0b20odGhpcy5jdXIoKSwwKX0sc3RlcDpmdW5jdGlvbihhMSl7 dmFyIGE2PWFQKCksYTI9dHJ1ZTtpZihhMXx8YTY+PXRoaXMub3B0aW9ucy5kdXJh dGlvbit0aGlzLnN0YXJ0VGltZSl7dGhpcy5ub3c9dGhpcy5lbmQ7dGhpcy5wb3M9 dGhpcy5zdGF0ZT0xO3RoaXMudXBkYXRlKCk7dGhpcy5vcHRpb25zLmN1ckFuaW1b dGhpcy5wcm9wXT10cnVlO2Zvcih2YXIgYTMgaW4gdGhpcy5vcHRpb25zLmN1ckFu aW0pe2lmKHRoaXMub3B0aW9ucy5jdXJBbmltW2EzXSE9PXRydWUpe2EyPWZhbHNl fX1pZihhMil7aWYodGhpcy5vcHRpb25zLmRpc3BsYXkhPW51bGwpe3RoaXMuZWxl bS5zdHlsZS5vdmVyZmxvdz10aGlzLm9wdGlvbnMub3ZlcmZsb3c7dmFyIGEwPWEu ZGF0YSh0aGlzLmVsZW0sIm9sZGRpc3BsYXkiKTt0aGlzLmVsZW0uc3R5bGUuZGlz cGxheT1hMD9hMDp0aGlzLm9wdGlvbnMuZGlzcGxheTtpZihhLmNzcyh0aGlzLmVs ZW0sImRpc3BsYXkiKT09PSJub25lIil7dGhpcy5lbGVtLnN0eWxlLmRpc3BsYXk9 ImJsb2NrIn19aWYodGhpcy5vcHRpb25zLmhpZGUpe2EodGhpcy5lbGVtKS5oaWRl KCl9aWYodGhpcy5vcHRpb25zLmhpZGV8fHRoaXMub3B0aW9ucy5zaG93KXtmb3Io dmFyIGFZIGluIHRoaXMub3B0aW9ucy5jdXJBbmltKXthLnN0eWxlKHRoaXMuZWxl bSxhWSx0aGlzLm9wdGlvbnMub3JpZ1thWV0pfX10aGlzLm9wdGlvbnMuY29tcGxl dGUuY2FsbCh0aGlzLmVsZW0pfXJldHVybiBmYWxzZX1lbHNle3ZhciBhWj1hNi10 aGlzLnN0YXJ0VGltZTt0aGlzLnN0YXRlPWFaL3RoaXMub3B0aW9ucy5kdXJhdGlv bjt2YXIgYTQ9dGhpcy5vcHRpb25zLnNwZWNpYWxFYXNpbmcmJnRoaXMub3B0aW9u cy5zcGVjaWFsRWFzaW5nW3RoaXMucHJvcF07dmFyIGE1PXRoaXMub3B0aW9ucy5l YXNpbmd8fChhLmVhc2luZy5zd2luZz8ic3dpbmciOiJsaW5lYXIiKTt0aGlzLnBv cz1hLmVhc2luZ1thNHx8YTVdKHRoaXMuc3RhdGUsYVosMCwxLHRoaXMub3B0aW9u cy5kdXJhdGlvbik7dGhpcy5ub3c9dGhpcy5zdGFydCsoKHRoaXMuZW5kLXRoaXMu c3RhcnQpKnRoaXMucG9zKTt0aGlzLnVwZGF0ZSgpfXJldHVybiB0cnVlfX07YS5l eHRlbmQoYS5meCx7dGljazpmdW5jdGlvbigpe3ZhciBhWj1hLnRpbWVycztmb3Io dmFyIGFZPTA7YVk8YVoubGVuZ3RoO2FZKyspe2lmKCFhWlthWV0oKSl7YVouc3Bs aWNlKGFZLS0sMSl9fWlmKCFhWi5sZW5ndGgpe2EuZnguc3RvcCgpfX0sc3RvcDpm dW5jdGlvbigpe2NsZWFySW50ZXJ2YWwoYUYpO2FGPW51bGx9LHNwZWVkczp7c2xv dzo2MDAsZmFzdDoyMDAsX2RlZmF1bHQ6NDAwfSxzdGVwOntvcGFjaXR5OmZ1bmN0 aW9uKGFZKXthLnN0eWxlKGFZLmVsZW0sIm9wYWNpdHkiLGFZLm5vdyl9LF9kZWZh dWx0OmZ1bmN0aW9uKGFZKXtpZihhWS5lbGVtLnN0eWxlJiZhWS5lbGVtLnN0eWxl W2FZLnByb3BdIT1udWxsKXthWS5lbGVtLnN0eWxlW2FZLnByb3BdPShhWS5wcm9w PT09IndpZHRoInx8YVkucHJvcD09PSJoZWlnaHQiP01hdGgubWF4KDAsYVkubm93 KTphWS5ub3cpK2FZLnVuaXR9ZWxzZXthWS5lbGVtW2FZLnByb3BdPWFZLm5vd319 fX0pO2lmKGEuZXhwciYmYS5leHByLmZpbHRlcnMpe2EuZXhwci5maWx0ZXJzLmFu aW1hdGVkPWZ1bmN0aW9uKGFZKXtyZXR1cm4gYS5ncmVwKGEudGltZXJzLGZ1bmN0 aW9uKGFaKXtyZXR1cm4gYVk9PT1hWi5lbGVtfSkubGVuZ3RofX1mdW5jdGlvbiBh RChhWixhWSl7dmFyIGEwPXt9O2EuZWFjaChhai5jb25jYXQuYXBwbHkoW10sYWou c2xpY2UoMCxhWSkpLGZ1bmN0aW9uKCl7YTBbdGhpc109YVp9KTtyZXR1cm4gYTB9 aWYoImdldEJvdW5kaW5nQ2xpZW50UmVjdCIgaW4gYWIuZG9jdW1lbnRFbGVtZW50 KXthLmZuLm9mZnNldD1mdW5jdGlvbihhNyl7dmFyIGEwPXRoaXNbMF07aWYoYTcp e3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYTgpe2Eub2Zmc2V0LnNldE9mZnNl dCh0aGlzLGE3LGE4KX0pfWlmKCFhMHx8IWEwLm93bmVyRG9jdW1lbnQpe3JldHVy biBudWxsfWlmKGEwPT09YTAub3duZXJEb2N1bWVudC5ib2R5KXtyZXR1cm4gYS5v ZmZzZXQuYm9keU9mZnNldChhMCl9dmFyIGEyPWEwLmdldEJvdW5kaW5nQ2xpZW50 UmVjdCgpLGE2PWEwLm93bmVyRG9jdW1lbnQsYTM9YTYuYm9keSxhWT1hNi5kb2N1 bWVudEVsZW1lbnQsYTE9YVkuY2xpZW50VG9wfHxhMy5jbGllbnRUb3B8fDAsYTQ9 YVkuY2xpZW50TGVmdHx8YTMuY2xpZW50TGVmdHx8MCxhNT1hMi50b3ArKHNlbGYu cGFnZVlPZmZzZXR8fGEuc3VwcG9ydC5ib3hNb2RlbCYmYVkuc2Nyb2xsVG9wfHxh My5zY3JvbGxUb3ApLWExLGFaPWEyLmxlZnQrKHNlbGYucGFnZVhPZmZzZXR8fGEu c3VwcG9ydC5ib3hNb2RlbCYmYVkuc2Nyb2xsTGVmdHx8YTMuc2Nyb2xsTGVmdCkt YTQ7cmV0dXJue3RvcDphNSxsZWZ0OmFafX19ZWxzZXthLmZuLm9mZnNldD1mdW5j dGlvbihhOSl7dmFyIGEzPXRoaXNbMF07aWYoYTkpe3JldHVybiB0aGlzLmVhY2go ZnVuY3Rpb24oYmEpe2Eub2Zmc2V0LnNldE9mZnNldCh0aGlzLGE5LGJhKX0pfWlm KCFhM3x8IWEzLm93bmVyRG9jdW1lbnQpe3JldHVybiBudWxsfWlmKGEzPT09YTMu b3duZXJEb2N1bWVudC5ib2R5KXtyZXR1cm4gYS5vZmZzZXQuYm9keU9mZnNldChh Myl9YS5vZmZzZXQuaW5pdGlhbGl6ZSgpO3ZhciBhMD1hMy5vZmZzZXRQYXJlbnQs YVo9YTMsYTg9YTMub3duZXJEb2N1bWVudCxhNixhMT1hOC5kb2N1bWVudEVsZW1l bnQsYTQ9YTguYm9keSxhNT1hOC5kZWZhdWx0VmlldyxhWT1hNT9hNS5nZXRDb21w dXRlZFN0eWxlKGEzLG51bGwpOmEzLmN1cnJlbnRTdHlsZSxhNz1hMy5vZmZzZXRU b3AsYTI9YTMub2Zmc2V0TGVmdDt3aGlsZSgoYTM9YTMucGFyZW50Tm9kZSkmJmEz IT09YTQmJmEzIT09YTEpe2lmKGEub2Zmc2V0LnN1cHBvcnRzRml4ZWRQb3NpdGlv biYmYVkucG9zaXRpb249PT0iZml4ZWQiKXticmVha31hNj1hNT9hNS5nZXRDb21w dXRlZFN0eWxlKGEzLG51bGwpOmEzLmN1cnJlbnRTdHlsZTthNy09YTMuc2Nyb2xs VG9wO2EyLT1hMy5zY3JvbGxMZWZ0O2lmKGEzPT09YTApe2E3Kz1hMy5vZmZzZXRU b3A7YTIrPWEzLm9mZnNldExlZnQ7aWYoYS5vZmZzZXQuZG9lc05vdEFkZEJvcmRl ciYmIShhLm9mZnNldC5kb2VzQWRkQm9yZGVyRm9yVGFibGVBbmRDZWxscyYmL150 KGFibGV8ZHxoKSQvaS50ZXN0KGEzLm5vZGVOYW1lKSkpe2E3Kz1wYXJzZUZsb2F0 KGE2LmJvcmRlclRvcFdpZHRoKXx8MDthMis9cGFyc2VGbG9hdChhNi5ib3JkZXJM ZWZ0V2lkdGgpfHwwfWFaPWEwLGEwPWEzLm9mZnNldFBhcmVudH1pZihhLm9mZnNl dC5zdWJ0cmFjdHNCb3JkZXJGb3JPdmVyZmxvd05vdFZpc2libGUmJmE2Lm92ZXJm bG93IT09InZpc2libGUiKXthNys9cGFyc2VGbG9hdChhNi5ib3JkZXJUb3BXaWR0 aCl8fDA7YTIrPXBhcnNlRmxvYXQoYTYuYm9yZGVyTGVmdFdpZHRoKXx8MH1hWT1h Nn1pZihhWS5wb3NpdGlvbj09PSJyZWxhdGl2ZSJ8fGFZLnBvc2l0aW9uPT09InN0 YXRpYyIpe2E3Kz1hNC5vZmZzZXRUb3A7YTIrPWE0Lm9mZnNldExlZnR9aWYoYS5v ZmZzZXQuc3VwcG9ydHNGaXhlZFBvc2l0aW9uJiZhWS5wb3NpdGlvbj09PSJmaXhl ZCIpe2E3Kz1NYXRoLm1heChhMS5zY3JvbGxUb3AsYTQuc2Nyb2xsVG9wKTthMis9 TWF0aC5tYXgoYTEuc2Nyb2xsTGVmdCxhNC5zY3JvbGxMZWZ0KX1yZXR1cm57dG9w OmE3LGxlZnQ6YTJ9fX1hLm9mZnNldD17aW5pdGlhbGl6ZTpmdW5jdGlvbigpe3Zh ciBhWT1hYi5ib2R5LGFaPWFiLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGEyLGE0LGEz LGE1LGEwPXBhcnNlRmxvYXQoYS5jdXJDU1MoYVksIm1hcmdpblRvcCIsdHJ1ZSkp fHwwLGExPSI8ZGl2IHN0eWxlPSdwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0 OjA7bWFyZ2luOjA7Ym9yZGVyOjVweCBzb2xpZCAjMDAwO3BhZGRpbmc6MDt3aWR0 aDoxcHg7aGVpZ2h0OjFweDsnPjxkaXY+PC9kaXY+PC9kaXY+PHRhYmxlIHN0eWxl PSdwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7bWFyZ2luOjA7Ym9yZGVy OjVweCBzb2xpZCAjMDAwO3BhZGRpbmc6MDt3aWR0aDoxcHg7aGVpZ2h0OjFweDsn IGNlbGxwYWRkaW5nPScwJyBjZWxsc3BhY2luZz0nMCc+PHRyPjx0ZD48L3RkPjwv dHI+PC90YWJsZT4iO2EuZXh0ZW5kKGFaLnN0eWxlLHtwb3NpdGlvbjoiYWJzb2x1 dGUiLHRvcDowLGxlZnQ6MCxtYXJnaW46MCxib3JkZXI6MCx3aWR0aDoiMXB4Iixo ZWlnaHQ6IjFweCIsdmlzaWJpbGl0eToiaGlkZGVuIn0pO2FaLmlubmVySFRNTD1h MTthWS5pbnNlcnRCZWZvcmUoYVosYVkuZmlyc3RDaGlsZCk7YTI9YVouZmlyc3RD aGlsZDthND1hMi5maXJzdENoaWxkO2E1PWEyLm5leHRTaWJsaW5nLmZpcnN0Q2hp bGQuZmlyc3RDaGlsZDt0aGlzLmRvZXNOb3RBZGRCb3JkZXI9KGE0Lm9mZnNldFRv cCE9PTUpO3RoaXMuZG9lc0FkZEJvcmRlckZvclRhYmxlQW5kQ2VsbHM9KGE1Lm9m ZnNldFRvcD09PTUpO2E0LnN0eWxlLnBvc2l0aW9uPSJmaXhlZCIsYTQuc3R5bGUu dG9wPSIyMHB4Ijt0aGlzLnN1cHBvcnRzRml4ZWRQb3NpdGlvbj0oYTQub2Zmc2V0 VG9wPT09MjB8fGE0Lm9mZnNldFRvcD09PTE1KTthNC5zdHlsZS5wb3NpdGlvbj1h NC5zdHlsZS50b3A9IiI7YTIuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsYTIuc3R5 bGUucG9zaXRpb249InJlbGF0aXZlIjt0aGlzLnN1YnRyYWN0c0JvcmRlckZvck92 ZXJmbG93Tm90VmlzaWJsZT0oYTQub2Zmc2V0VG9wPT09LTUpO3RoaXMuZG9lc05v dEluY2x1ZGVNYXJnaW5JbkJvZHlPZmZzZXQ9KGFZLm9mZnNldFRvcCE9PWEwKTth WS5yZW1vdmVDaGlsZChhWik7YVk9YVo9YTI9YTQ9YTM9YTU9bnVsbDthLm9mZnNl dC5pbml0aWFsaXplPWEubm9vcH0sYm9keU9mZnNldDpmdW5jdGlvbihhWSl7dmFy IGEwPWFZLm9mZnNldFRvcCxhWj1hWS5vZmZzZXRMZWZ0O2Eub2Zmc2V0LmluaXRp YWxpemUoKTtpZihhLm9mZnNldC5kb2VzTm90SW5jbHVkZU1hcmdpbkluQm9keU9m ZnNldCl7YTArPXBhcnNlRmxvYXQoYS5jdXJDU1MoYVksIm1hcmdpblRvcCIsdHJ1 ZSkpfHwwO2FaKz1wYXJzZUZsb2F0KGEuY3VyQ1NTKGFZLCJtYXJnaW5MZWZ0Iix0 cnVlKSl8fDB9cmV0dXJue3RvcDphMCxsZWZ0OmFafX0sc2V0T2Zmc2V0OmZ1bmN0 aW9uKGEzLGFaLGEwKXtpZigvc3RhdGljLy50ZXN0KGEuY3VyQ1NTKGEzLCJwb3Np dGlvbiIpKSl7YTMuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIn12YXIgYTI9YShh MyksYTU9YTIub2Zmc2V0KCksYVk9cGFyc2VJbnQoYS5jdXJDU1MoYTMsInRvcCIs dHJ1ZSksMTApfHwwLGE0PXBhcnNlSW50KGEuY3VyQ1NTKGEzLCJsZWZ0Iix0cnVl KSwxMCl8fDA7aWYoYS5pc0Z1bmN0aW9uKGFaKSl7YVo9YVouY2FsbChhMyxhMCxh NSl9dmFyIGExPXt0b3A6KGFaLnRvcC1hNS50b3ApK2FZLGxlZnQ6KGFaLmxlZnQt YTUubGVmdCkrYTR9O2lmKCJ1c2luZyIgaW4gYVope2FaLnVzaW5nLmNhbGwoYTMs YTEpfWVsc2V7YTIuY3NzKGExKX19fTthLmZuLmV4dGVuZCh7cG9zaXRpb246ZnVu Y3Rpb24oKXtpZighdGhpc1swXSl7cmV0dXJuIG51bGx9dmFyIGEwPXRoaXNbMF0s YVo9dGhpcy5vZmZzZXRQYXJlbnQoKSxhMT10aGlzLm9mZnNldCgpLGFZPS9eYm9k eXxodG1sJC9pLnRlc3QoYVpbMF0ubm9kZU5hbWUpP3t0b3A6MCxsZWZ0OjB9OmFa Lm9mZnNldCgpO2ExLnRvcC09cGFyc2VGbG9hdChhLmN1ckNTUyhhMCwibWFyZ2lu VG9wIix0cnVlKSl8fDA7YTEubGVmdC09cGFyc2VGbG9hdChhLmN1ckNTUyhhMCwi bWFyZ2luTGVmdCIsdHJ1ZSkpfHwwO2FZLnRvcCs9cGFyc2VGbG9hdChhLmN1ckNT UyhhWlswXSwiYm9yZGVyVG9wV2lkdGgiLHRydWUpKXx8MDthWS5sZWZ0Kz1wYXJz ZUZsb2F0KGEuY3VyQ1NTKGFaWzBdLCJib3JkZXJMZWZ0V2lkdGgiLHRydWUpKXx8 MDtyZXR1cm57dG9wOmExLnRvcC1hWS50b3AsbGVmdDphMS5sZWZ0LWFZLmxlZnR9 fSxvZmZzZXRQYXJlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rp b24oKXt2YXIgYVk9dGhpcy5vZmZzZXRQYXJlbnR8fGFiLmJvZHk7d2hpbGUoYVkm JighL15ib2R5fGh0bWwkL2kudGVzdChhWS5ub2RlTmFtZSkmJmEuY3NzKGFZLCJw b3NpdGlvbiIpPT09InN0YXRpYyIpKXthWT1hWS5vZmZzZXRQYXJlbnR9cmV0dXJu IGFZfSl9fSk7YS5lYWNoKFsiTGVmdCIsIlRvcCJdLGZ1bmN0aW9uKGFaLGFZKXt2 YXIgYTA9InNjcm9sbCIrYVk7YS5mblthMF09ZnVuY3Rpb24oYTMpe3ZhciBhMT10 aGlzWzBdLGEyO2lmKCFhMSl7cmV0dXJuIG51bGx9aWYoYTMhPT1DKXtyZXR1cm4g dGhpcy5lYWNoKGZ1bmN0aW9uKCl7YTI9YW0odGhpcyk7aWYoYTIpe2EyLnNjcm9s bFRvKCFhWj9hMzphKGEyKS5zY3JvbGxMZWZ0KCksYVo/YTM6YShhMikuc2Nyb2xs VG9wKCkpfWVsc2V7dGhpc1thMF09YTN9fSl9ZWxzZXthMj1hbShhMSk7cmV0dXJu IGEyPygicGFnZVhPZmZzZXQiIGluIGEyKT9hMlthWj8icGFnZVlPZmZzZXQiOiJw YWdlWE9mZnNldCJdOmEuc3VwcG9ydC5ib3hNb2RlbCYmYTIuZG9jdW1lbnQuZG9j dW1lbnRFbGVtZW50W2EwXXx8YTIuZG9jdW1lbnQuYm9keVthMF06YTFbYTBdfX19 KTtmdW5jdGlvbiBhbShhWSl7cmV0dXJuKCJzY3JvbGxUbyIgaW4gYVkmJmFZLmRv Y3VtZW50KT9hWTphWS5ub2RlVHlwZT09PTk/YVkuZGVmYXVsdFZpZXd8fGFZLnBh cmVudFdpbmRvdzpmYWxzZX1hLmVhY2goWyJIZWlnaHQiLCJXaWR0aCJdLGZ1bmN0 aW9uKGFaLGFZKXt2YXIgYTA9YVkudG9Mb3dlckNhc2UoKTthLmZuWyJpbm5lciIr YVldPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXNbMF0/YS5jc3ModGhpc1swXSxhMCxm YWxzZSwicGFkZGluZyIpOm51bGx9O2EuZm5bIm91dGVyIithWV09ZnVuY3Rpb24o YTEpe3JldHVybiB0aGlzWzBdP2EuY3NzKHRoaXNbMF0sYTAsZmFsc2UsYTE/Im1h cmdpbiI6ImJvcmRlciIpOm51bGx9O2EuZm5bYTBdPWZ1bmN0aW9uKGExKXt2YXIg YTI9dGhpc1swXTtpZighYTIpe3JldHVybiBhMT09bnVsbD9udWxsOnRoaXN9aWYo YS5pc0Z1bmN0aW9uKGExKSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihhNCl7 dmFyIGEzPWEodGhpcyk7YTNbYTBdKGExLmNhbGwodGhpcyxhNCxhM1thMF0oKSkp fSl9cmV0dXJuKCJzY3JvbGxUbyIgaW4gYTImJmEyLmRvY3VtZW50KT9hMi5kb2N1 bWVudC5jb21wYXRNb2RlPT09IkNTUzFDb21wYXQiJiZhMi5kb2N1bWVudC5kb2N1 bWVudEVsZW1lbnRbImNsaWVudCIrYVldfHxhMi5kb2N1bWVudC5ib2R5WyJjbGll bnQiK2FZXTooYTIubm9kZVR5cGU9PT05KT9NYXRoLm1heChhMi5kb2N1bWVudEVs ZW1lbnRbImNsaWVudCIrYVldLGEyLmJvZHlbInNjcm9sbCIrYVldLGEyLmRvY3Vt ZW50RWxlbWVudFsic2Nyb2xsIithWV0sYTIuYm9keVsib2Zmc2V0IithWV0sYTIu ZG9jdW1lbnRFbGVtZW50WyJvZmZzZXQiK2FZXSk6YTE9PT1DP2EuY3NzKGEyLGEw KTp0aGlzLmNzcyhhMCx0eXBlb2YgYTE9PT0ic3RyaW5nIj9hMTphMSsicHgiKX19 KTthTS5qUXVlcnk9YU0uJD1hfSkod2luZG93KTt0YW50by5uYW1lc3BhY2UoIm5k bS5qUXVlcnkiKTtuZG0ualF1ZXJ5PWpRdWVyeTtpZighdGhpcy5KU09OKXtKU09O PXt9fShmdW5jdGlvbigpe2Z1bmN0aW9uIGYobil7cmV0dXJuIG48MTA/IjAiK246 bn1pZih0eXBlb2YgRGF0ZS5wcm90b3R5cGUudG9KU09OIT09ImZ1bmN0aW9uIil7 RGF0ZS5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKGtleSl7cmV0dXJuIHRoaXMu Z2V0VVRDRnVsbFllYXIoKSsiLSIrZih0aGlzLmdldFVUQ01vbnRoKCkrMSkrIi0i K2YodGhpcy5nZXRVVENEYXRlKCkpKyJUIitmKHRoaXMuZ2V0VVRDSG91cnMoKSkr IjoiK2YodGhpcy5nZXRVVENNaW51dGVzKCkpKyI6IitmKHRoaXMuZ2V0VVRDU2Vj b25kcygpKSsiWiJ9O1N0cmluZy5wcm90b3R5cGUudG9KU09OPU51bWJlci5wcm90 b3R5cGUudG9KU09OPUJvb2xlYW4ucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbihr ZXkpe3JldHVybiB0aGlzLnZhbHVlT2YoKX19dmFyIGN4PS9bXHUwMDAwXHUwMGFk XHUwNjAwLVx1MDYwNFx1MDcwZlx1MTdiNFx1MTdiNVx1MjAwYy1cdTIwMGZcdTIw MjgtXHUyMDJmXHUyMDYwLVx1MjA2Zlx1ZmVmZlx1ZmZmMC1cdWZmZmZdL2csZXNj YXBhYmxlPS9bXFxcIlx4MDAtXHgxZlx4N2YtXHg5Zlx1MDBhZFx1MDYwMC1cdTA2 MDRcdTA3MGZcdTE3YjRcdTE3YjVcdTIwMGMtXHUyMDBmXHUyMDI4LVx1MjAyZlx1 MjA2MC1cdTIwNmZcdWZlZmZcdWZmZjAtXHVmZmZmXS9nLGdhcCxpbmRlbnQsbWV0 YT17IlxiIjoiXFxiIiwiXHQiOiJcXHQiLCJcbiI6IlxcbiIsIlxmIjoiXFxmIiwi XHIiOiJcXHIiLCciJzonXFwiJywiXFwiOiJcXFxcIn0scmVwO2Z1bmN0aW9uIHF1 b3RlKHN0cmluZyl7ZXNjYXBhYmxlLmxhc3RJbmRleD0wO3JldHVybiBlc2NhcGFi bGUudGVzdChzdHJpbmcpPyciJytzdHJpbmcucmVwbGFjZShlc2NhcGFibGUsZnVu Y3Rpb24oYSl7dmFyIGM9bWV0YVthXTtyZXR1cm4gdHlwZW9mIGM9PT0ic3RyaW5n Ij9jOiJcXHUiKygiMDAwMCIrYS5jaGFyQ29kZUF0KDApLnRvU3RyaW5nKDE2KSku c2xpY2UoLTQpfSkrJyInOiciJytzdHJpbmcrJyInfWZ1bmN0aW9uIHN0cihrZXks aG9sZGVyKXt2YXIgaSxrLHYsbGVuZ3RoLG1pbmQ9Z2FwLHBhcnRpYWwsdmFsdWU9 aG9sZGVyW2tleV07aWYodmFsdWUmJnR5cGVvZiB2YWx1ZT09PSJvYmplY3QiJiZ0 eXBlb2YgdmFsdWUudG9KU09OPT09ImZ1bmN0aW9uIil7dmFsdWU9dmFsdWUudG9K U09OKGtleSl9aWYodHlwZW9mIHJlcD09PSJmdW5jdGlvbiIpe3ZhbHVlPXJlcC5j YWxsKGhvbGRlcixrZXksdmFsdWUpfXN3aXRjaCh0eXBlb2YgdmFsdWUpe2Nhc2Ui c3RyaW5nIjpyZXR1cm4gcXVvdGUodmFsdWUpO2Nhc2UibnVtYmVyIjpyZXR1cm4g aXNGaW5pdGUodmFsdWUpP1N0cmluZyh2YWx1ZSk6Im51bGwiO2Nhc2UiYm9vbGVh biI6Y2FzZSJudWxsIjpyZXR1cm4gU3RyaW5nKHZhbHVlKTtjYXNlIm9iamVjdCI6 aWYoIXZhbHVlKXtyZXR1cm4ibnVsbCJ9Z2FwKz1pbmRlbnQ7cGFydGlhbD1bXTtp ZihPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmFwcGx5KHZhbHVlKT09PSJbb2Jq ZWN0IEFycmF5XSIpe2xlbmd0aD12YWx1ZS5sZW5ndGg7Zm9yKGk9MDtpPGxlbmd0 aDtpKz0xKXtwYXJ0aWFsW2ldPXN0cihpLHZhbHVlKXx8Im51bGwifXY9cGFydGlh bC5sZW5ndGg9PT0wPyJbXSI6Z2FwPyJbXG4iK2dhcCtwYXJ0aWFsLmpvaW4oIixc biIrZ2FwKSsiXG4iK21pbmQrIl0iOiJbIitwYXJ0aWFsLmpvaW4oIiwiKSsiXSI7 Z2FwPW1pbmQ7cmV0dXJuIHZ9aWYocmVwJiZ0eXBlb2YgcmVwPT09Im9iamVjdCIp e2xlbmd0aD1yZXAubGVuZ3RoO2ZvcihpPTA7aTxsZW5ndGg7aSs9MSl7az1yZXBb aV07aWYodHlwZW9mIGs9PT0ic3RyaW5nIil7dj1zdHIoayx2YWx1ZSk7aWYodil7 cGFydGlhbC5wdXNoKHF1b3RlKGspKyhnYXA/IjogIjoiOiIpK3YpfX19fWVsc2V7 Zm9yKGsgaW4gdmFsdWUpe2lmKE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKHZh bHVlLGspKXt2PXN0cihrLHZhbHVlKTtpZih2KXtwYXJ0aWFsLnB1c2gocXVvdGUo aykrKGdhcD8iOiAiOiI6Iikrdil9fX19dj1wYXJ0aWFsLmxlbmd0aD09PTA/Int9 IjpnYXA/IntcbiIrZ2FwK3BhcnRpYWwuam9pbigiLFxuIitnYXApKyJcbiIrbWlu ZCsifSI6InsiK3BhcnRpYWwuam9pbigiLCIpKyJ9IjtnYXA9bWluZDtyZXR1cm4g dn19aWYodHlwZW9mIEpTT04uc3RyaW5naWZ5IT09ImZ1bmN0aW9uIil7SlNPTi5z dHJpbmdpZnk9ZnVuY3Rpb24odmFsdWUscmVwbGFjZXIsc3BhY2Upe3ZhciBpO2dh cD0iIjtpbmRlbnQ9IiI7aWYodHlwZW9mIHNwYWNlPT09Im51bWJlciIpe2Zvcihp PTA7aTxzcGFjZTtpKz0xKXtpbmRlbnQrPSIgIn19ZWxzZXtpZih0eXBlb2Ygc3Bh Y2U9PT0ic3RyaW5nIil7aW5kZW50PXNwYWNlfX1yZXA9cmVwbGFjZXI7aWYocmVw bGFjZXImJnR5cGVvZiByZXBsYWNlciE9PSJmdW5jdGlvbiImJih0eXBlb2YgcmVw bGFjZXIhPT0ib2JqZWN0Inx8dHlwZW9mIHJlcGxhY2VyLmxlbmd0aCE9PSJudW1i ZXIiKSl7dGhyb3cgbmV3IEVycm9yKCJKU09OLnN0cmluZ2lmeSIpfXJldHVybiBz dHIoIiIseyIiOnZhbHVlfSl9fWlmKHR5cGVvZiBKU09OLnBhcnNlIT09ImZ1bmN0 aW9uIil7SlNPTi5wYXJzZT1mdW5jdGlvbih0ZXh0LHJldml2ZXIpe3ZhciBqO2Z1 bmN0aW9uIHdhbGsoaG9sZGVyLGtleSl7dmFyIGssdix2YWx1ZT1ob2xkZXJba2V5 XTtpZih2YWx1ZSYmdHlwZW9mIHZhbHVlPT09Im9iamVjdCIpe2ZvcihrIGluIHZh bHVlKXtpZihPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbCh2YWx1ZSxrKSl7dj13 YWxrKHZhbHVlLGspO2lmKHYhPT11bmRlZmluZWQpe3ZhbHVlW2tdPXZ9ZWxzZXtk ZWxldGUgdmFsdWVba119fX19cmV0dXJuIHJldml2ZXIuY2FsbChob2xkZXIsa2V5 LHZhbHVlKX1jeC5sYXN0SW5kZXg9MDtpZihjeC50ZXN0KHRleHQpKXt0ZXh0PXRl eHQucmVwbGFjZShjeCxmdW5jdGlvbihhKXtyZXR1cm4iXFx1IisoIjAwMDAiK2Eu Y2hhckNvZGVBdCgwKS50b1N0cmluZygxNikpLnNsaWNlKC00KX0pfWlmKC9eW1xd LDp7fVxzXSokLy50ZXN0KHRleHQucmVwbGFjZSgvXFwoPzpbIlxcXC9iZm5ydF18 dVswLTlhLWZBLUZdezR9KS9nLCJAIikucmVwbGFjZSgvIlteIlxcXG5ccl0qInx0 cnVlfGZhbHNlfG51bGx8LT9cZCsoPzpcLlxkKik/KD86W2VFXVsrXC1dP1xkKyk/ L2csIl0iKS5yZXBsYWNlKC8oPzpefDp8LCkoPzpccypcWykrL2csIiIpKSl7aj1l dmFsKCIoIit0ZXh0KyIpIik7cmV0dXJuIHR5cGVvZiByZXZpdmVyPT09ImZ1bmN0 aW9uIj93YWxrKHsiIjpqfSwiIik6an10aHJvdyBuZXcgU3ludGF4RXJyb3IoIkpT T04ucGFyc2UiKX19fSkoKTsoZnVuY3Rpb24oKXt2YXIgYj13aW5kb3cub25sb2Fk fHxmdW5jdGlvbigpe307dmFyIGE9ZnVuY3Rpb24oYyl7aWYodHlwZW9mIHdpbmRv dy5fcnNQRVA9PSJ1bmRlZmluZWQiKXt3aW5kb3cuX3JzUEVQPSIifWlmKHR5cGVv ZiB3aW5kb3cuX3JzVGVjaD09InVuZGVmaW5lZCIpe3dpbmRvdy5fcnNUZWNoPSIi fWlmKHR5cGVvZiB3aW5kb3cuX3JzVHlwZUU9PSJ1bmRlZmluZWQiKXt3aW5kb3cu X3JzVHlwZUU9IiJ9aWYodHlwZW9mIHdpbmRvdy5fcnNQRm9ybT09InVuZGVmaW5l ZCIpe3dpbmRvdy5fcnNQRm9ybT0iIn1pZih0eXBlb2Ygd2luZG93Ll9yc0V2ZW50 RmFjdG9yeT09InVuZGVmaW5lZCIpe3dpbmRvdy5fcnNFdmVudEZhY3Rvcnk9ZnVu Y3Rpb24oZSxkKXt2YXIgZj13aW5kb3cuX3JzTkQrImNnaS1iaW4vbT9ybmQ9Iiso bmV3IERhdGUoKSkuZ2V0VGltZSgpO2YrPSImY2k9Iit3aW5kb3cuX3JzQ0k7Zis9 IiZjZz0iK2VzY2FwZShkKTtmKz0iJmNjPTEiO2lmKCh3aW5kb3cuX3JzVHlwZUU9 PSJkb3dubG9hZCIpfHwod2luZG93Ll9yc1R5cGVFPT0iY2xpY2tfbGluayIpKXtm Kz0iJnNpPSIrd2luZG93Ll9yc1R5cGVFKyJfIitlc2NhcGUoZSl9ZWxzZXtmKz0i JnNpPSIrd2luZG93Ll9yc1R5cGVFKyJfIitlc2NhcGUoZSkrIl8iK2VzY2FwZSh3 aW5kb3cubG9jYXRpb24pfWlmKHdpbmRvdy5fcnNQRVA9PT0iIil7Zis9IiZycD0i K2VzY2FwZSh3aW5kb3cubG9jYXRpb24pfWVsc2V7Zis9IiZycD0iK3dpbmRvdy5f cnNQRVB9d2luZG93Ll9yc1BFUD13aW5kb3cuX3JzVHlwZUUrIl8iK2VzY2FwZShl KSsiXyIrZXNjYXBlKHdpbmRvdy5sb2NhdGlvbik7aWYoZi5sZW5ndGg+MjA0OCl7 Zj1mLnN1YnN0cmluZygwLDIwNDgpfXJldHVybiBmfX1pZih0eXBlb2Ygd2luZG93 Ll9yc1BhZ2VFdmVudD09InVuZGVmaW5lZCIpe3dpbmRvdy5fcnNQYWdlRXZlbnQ9 ZnVuY3Rpb24oZil7d2luZG93Ll9yc1R5cGVFPSJwYWdlIjt3aW5kb3cuX3JzVGVj aD0iYWpheCI7dmFyIGU9bmV3IEltYWdlKDEsMSk7dmFyIGQ9YXJndW1lbnRzLmxl bmd0aD4xP2FyZ3VtZW50c1sxXTp3aW5kb3cuX3JzQ0c7ZS5vbkxvYWQ9ZnVuY3Rp b24oKXt9O2Uuc3JjPXdpbmRvdy5fcnNFdmVudEZhY3RvcnkoZixkKX19aWYodHlw ZW9mIHdpbmRvdy5fcnNTZWN0aW9uRXZlbnQ9PSJ1bmRlZmluZWQiKXt3aW5kb3cu X3JzU2VjdGlvbkV2ZW50PWZ1bmN0aW9uKGYpe3dpbmRvdy5fcnNUeXBlRT0ic2Vj dGlvbiI7d2luZG93Ll9yc1RlY2g9ImFqYXgiO3ZhciBlPW5ldyBJbWFnZSgxLDEp O3ZhciBkPWFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06d2luZG93Ll9y c0NHO2Uub25Mb2FkPWZ1bmN0aW9uKCl7fTtlLnNyYz13aW5kb3cuX3JzRXZlbnRG YWN0b3J5KGYsZCl9fWlmKHR5cGVvZiB3aW5kb3cuX3JzU2xpZGVTaG93RXZlbnQ9 PSJ1bmRlZmluZWQiKXt3aW5kb3cuX3JzU2xpZGVTaG93RXZlbnQ9ZnVuY3Rpb24o Zil7d2luZG93Ll9yc1R5cGVFPSJzbGlkZSI7d2luZG93Ll9yc1RlY2g9ImFqYXgi O3ZhciBlPW5ldyBJbWFnZSgxLDEpO3ZhciBkPWFyZ3VtZW50cy5sZW5ndGg+MT9h cmd1bWVudHNbMV06d2luZG93Ll9yc0NHO2Uub25Mb2FkPWZ1bmN0aW9uKCl7fTtl LnNyYz13aW5kb3cuX3JzRXZlbnRGYWN0b3J5KGYsZCl9fWlmKHR5cGVvZiB3aW5k b3cuX3JzRG93bmxvYWRFdmVudD09InVuZGVmaW5lZCIpe3dpbmRvdy5fcnNEb3du bG9hZEV2ZW50PWZ1bmN0aW9uKGUpe3dpbmRvdy5fcnNUeXBlRT0iZG93bmxvYWQi O3ZhciBkPWFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06d2luZG93Ll9y c0NHO3ZhciBmPW5ldyBJbWFnZSgxLDEpO2Yuc3JjPXdpbmRvdy5fcnNFdmVudEZh Y3RvcnkoZSxkKTt3aW5kb3cuX3JzUGF1c2Uod2luZG93Ll9yc1RDKX19aWYodHlw ZW9mIHdpbmRvdy5fcnNDbGlja0RzdD09InVuZGVmaW5lZCIpe3dpbmRvdy5fcnND bGlja0RzdD0iIn1pZih0eXBlb2Ygd2luZG93Ll9yc0NsaWNrRXZlbnQ9PSJ1bmRl ZmluZWQiKXt3aW5kb3cuX3JzQ2xpY2tFdmVudD1mdW5jdGlvbihlKXt3aW5kb3cu X3JzVHlwZUU9ImNsaWNrX2xpbmsiO3ZhciBkPWFyZ3VtZW50cy5sZW5ndGg+MT9h cmd1bWVudHNbMV06d2luZG93Ll9yc0NHO3ZhciBmPW5ldyBJbWFnZSgxLDEpO2Yu c3JjPXdpbmRvdy5fcnNFdmVudEZhY3RvcnkoZSxkKTt3aW5kb3cuX3JzQ2xpY2tE c3Q9ZTtzZXRUaW1lb3V0KCJ3aW5kb3cubG9jYXRpb24gPSB3aW5kb3cuX3JzQ2xp Y2tEc3QiLHdpbmRvdy5fcnNUQyl9fX07d2luZG93Lm9ubG9hZD1mdW5jdGlvbihj KXtiKGMpO2EoKX07YSgpfSkoKTsoZnVuY3Rpb24oKXt2YXIgYj13aW5kb3cub25s b2FkfHxmdW5jdGlvbigpe307dmFyIGE9ZnVuY3Rpb24oYyl7d2luZG93LlRSQUtU UlNpdGVUb05pZWxzZW5DaGFubmVsPWZ1bmN0aW9uKCl7dmFyIGU9e3Vua25vd246 InVua25vd24iLCJ1bmRlZmluZWQiOiJ1bmtub3duIixuZXdzOiJuZXdzY29tYXUi LGR0bToiZGFpbHl0ZWxlZ3JhcGgiLGh3dDoiaGVyYWxkc3VuIix0YXVzOiJ0aGVh dXN0cmFsaWFuIix0Y206ImNvdXJpZXJtYWlsIixhZHY6ImFkZWxhaWRlbm93Iix0 c3Q6InBlcnRobm93IixnY2I6ImdvbGRjb2FzdCIsZm94czoiZm94c3BvcnRzIixj YXJzOiJjYXJzZ3VpZGUiLHZvZ3VlOiJ2b2d1ZSJ9O3ZhciBkPVRSQUtUUi5jb25m aWcucmVzb2x2ZSgpLnNpdGU7ZD0oZCk/ZC50b0xvd2VyQ2FzZSgpOiIiO3JldHVy biBlW2R8fCJ1bmtub3duIl18fCJ1bmtub3duIn07aWYod2luZG93LlRSQUtUUil7 aWYoVFJBS1RSLmNvbmZpZyYmVFJBS1RSLmNvbmZpZy5yZXNvbHZlKCkubmllbHNl biE9PSJleGlzdGluZyIpe3dpbmRvdy5ORE1UUkFDSz1mdW5jdGlvbihmKXt2YXIg ZT1mO3ZhciBkPWUudHJhY2tpbmdFdmVudCsiIjtpZihkPT09ImludGVyZmFjZSIp e2Q9ImV2ZW50In1pZih0eXBlb2YgVFJBS1RSW2RdPT09ImZ1bmN0aW9uIil7ZS5j b250eXA9Zi5jb250ZW50VHlwZXx8Im11bHRpbWVkaWEiO2UuZXZlbnQ9ZS50cmFj a2luZ0V2ZW50fHwiZXZlbnQiO2UudmVuZG9ycz1lLnZlbmRvcnN8fHt9O2UudmVu ZG9ycy5uaWVsc2VuPXt0aXRsZToibXVsdGltZWRpYStpbnRlcmFjdGl2ZSsiK1RS QUtUUlNpdGVUb05pZWxzZW5DaGFubmVsKCkrIisiK2UudHJhY2tpbmdJRC5yZXBs YWNlKC9bJyImISMkJSo6fFwvPjx+O10vZ2ksIisiKX07ZGVsZXRlIGUuY29udGVu dFR5cGU7ZGVsZXRlIGUudHJhY2tpbmdFdmVudDtUUkFLVFJbZF0oZSwvdW5pY2Ev KTtlLnRpdGxlPSJtdWx0aW1lZGlhK2ludGVyYWN0aXZlKyIrVFJBS1RSU2l0ZVRv TmllbHNlbkNoYW5uZWwoKSsiKyIrZS50cmFja2luZ0lELnJlcGxhY2UoL1snIiYh IyQlKjp8XC8+PH47XS9naSwiKyIpO1RSQUtUUltkXShlLC9uaWVsc2VuLyl9ZWxz ZXt9fX1lbHNle3dpbmRvdy5ORE1UUkFDSz1mdW5jdGlvbihmKXt2YXIgZT1mO3Zh ciBkPWUudHJhY2tpbmdFdmVudCsiIjtpZihkPT09ImludGVyZmFjZSIpe2Q9ImV2 ZW50In1pZih0eXBlb2YgVFJBS1RSW2RdPT09ImZ1bmN0aW9uIil7ZS5jb250eXA9 Zi5jb250ZW50VHlwZXx8Im11bHRpbWVkaWEiO2UuZXZlbnQ9ZS50cmFja2luZ0V2 ZW50fHwiZXZlbnQiO2UudmVuZG9ycz1lLnZlbmRvcnN8fHt9O2UudmVuZG9ycy5u aWVsc2VuPXt0aXRsZToibXVsdGltZWRpYStpbnRlcmFjdGl2ZSsiK1RSQUtUUlNp dGVUb05pZWxzZW5DaGFubmVsKCkrIisiK2UudHJhY2tpbmdJRC5yZXBsYWNlKC9b JyImISMkJSo6fFwvPjx+O10vZ2ksIisiKX07ZGVsZXRlIGUuY29udGVudFR5cGU7 ZGVsZXRlIGUudHJhY2tpbmdFdmVudDtUUkFLVFJbZF0oZSwvdW5pY2EvKX1lbHNl e31pZihkPT09InNsaWRlIiYmKHR5cGVvZiBfcnNTbGlkZVNob3dFdmVudD09PSJm dW5jdGlvbiIpKXtfcnNTbGlkZVNob3dFdmVudCgibXVsdGltZWRpYStpbnRlcmFj dGl2ZSsiK1RSQUtUUlNpdGVUb05pZWxzZW5DaGFubmVsKCkrIisiK2UudHJhY2tp bmdJRC5yZXBsYWNlKC9bJyImISMkJSo6fFwvPjx+O10vZ2ksIisiKSl9fX19ZWxz ZXt3aW5kb3cuTkRNVFJBQ0s9ZnVuY3Rpb24oZCl7aWYoZC50cmFja2luZ0V2ZW50 PT09InNsaWRlIiYmKHR5cGVvZiBfcnNTbGlkZVNob3dFdmVudD09PSJmdW5jdGlv biIpKXtfcnNTbGlkZVNob3dFdmVudCgibXVsdGltZWRpYStpbnRlcmFjdGl2ZSsi K1RSQUtUUlNpdGVUb05pZWxzZW5DaGFubmVsKCkrIisiK2QudHJhY2tpbmdJRC5y ZXBsYWNlKC9bJyImISMkJSo6fFwvPjx+O10vZ2ksIisiKSl9fX19O3dpbmRvdy5v bmxvYWQ9ZnVuY3Rpb24oYyl7YihjKTthKCl9O2EoKX0pKCk7Ci8qIQlTV0ZPYmpl Y3QgdjIuMiA8aHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL3N3Zm9iamVjdC8+IAoJ aXMgcmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlIDxodHRwOi8vd3d3Lm9w ZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocD4gCiovCnZhciBz d2ZvYmplY3Q9ZnVuY3Rpb24oKXt2YXIgRD0idW5kZWZpbmVkIixyPSJvYmplY3Qi LFM9IlNob2Nrd2F2ZSBGbGFzaCIsVz0iU2hvY2t3YXZlRmxhc2guU2hvY2t3YXZl Rmxhc2giLHE9ImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoIixSPSJTV0ZP YmplY3RFeHBySW5zdCIseD0ib25yZWFkeXN0YXRlY2hhbmdlIixPPXdpbmRvdyxq PWRvY3VtZW50LHQ9bmF2aWdhdG9yLFQ9ZmFsc2UsVT1baF0sbz1bXSxOPVtdLEk9 W10sbCxRLEUsQixKPWZhbHNlLGE9ZmFsc2UsbixHLG09dHJ1ZSxNPWZ1bmN0aW9u KCl7dmFyIGFhPXR5cGVvZiBqLmdldEVsZW1lbnRCeUlkIT1EJiZ0eXBlb2Ygai5n ZXRFbGVtZW50c0J5VGFnTmFtZSE9RCYmdHlwZW9mIGouY3JlYXRlRWxlbWVudCE9 RCxhaD10LnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLFk9dC5wbGF0Zm9ybS50b0xv d2VyQ2FzZSgpLGFlPVk/L3dpbi8udGVzdChZKTovd2luLy50ZXN0KGFoKSxhYz1Z Py9tYWMvLnRlc3QoWSk6L21hYy8udGVzdChhaCksYWY9L3dlYmtpdC8udGVzdChh aCk/cGFyc2VGbG9hdChhaC5yZXBsYWNlKC9eLip3ZWJraXRcLyhcZCsoXC5cZCsp PykuKiQvLCIkMSIpKTpmYWxzZSxYPSErIlx2MSIsYWc9WzAsMCwwXSxhYj1udWxs O2lmKHR5cGVvZiB0LnBsdWdpbnMhPUQmJnR5cGVvZiB0LnBsdWdpbnNbU109PXIp e2FiPXQucGx1Z2luc1tTXS5kZXNjcmlwdGlvbjtpZihhYiYmISh0eXBlb2YgdC5t aW1lVHlwZXMhPUQmJnQubWltZVR5cGVzW3FdJiYhdC5taW1lVHlwZXNbcV0uZW5h YmxlZFBsdWdpbikpe1Q9dHJ1ZTtYPWZhbHNlO2FiPWFiLnJlcGxhY2UoL14uKlxz KyhcUytccytcUyskKS8sIiQxIik7YWdbMF09cGFyc2VJbnQoYWIucmVwbGFjZSgv XiguKilcLi4qJC8sIiQxIiksMTApO2FnWzFdPXBhcnNlSW50KGFiLnJlcGxhY2Uo L14uKlwuKC4qKVxzLiokLywiJDEiKSwxMCk7YWdbMl09L1thLXpBLVpdLy50ZXN0 KGFiKT9wYXJzZUludChhYi5yZXBsYWNlKC9eLipbYS16QS1aXSsoLiopJC8sIiQx IiksMTApOjB9fWVsc2V7aWYodHlwZW9mIE8uQWN0aXZlWE9iamVjdCE9RCl7dHJ5 e3ZhciBhZD1uZXcgQWN0aXZlWE9iamVjdChXKTtpZihhZCl7YWI9YWQuR2V0VmFy aWFibGUoIiR2ZXJzaW9uIik7aWYoYWIpe1g9dHJ1ZTthYj1hYi5zcGxpdCgiICIp WzFdLnNwbGl0KCIsIik7YWc9W3BhcnNlSW50KGFiWzBdLDEwKSxwYXJzZUludChh YlsxXSwxMCkscGFyc2VJbnQoYWJbMl0sMTApXX19fWNhdGNoKFope319fXJldHVy bnt3MzphYSxwdjphZyx3azphZixpZTpYLHdpbjphZSxtYWM6YWN9fSgpLGs9ZnVu Y3Rpb24oKXtpZighTS53Myl7cmV0dXJufWlmKCh0eXBlb2Ygai5yZWFkeVN0YXRl IT1EJiZqLnJlYWR5U3RhdGU9PSJjb21wbGV0ZSIpfHwodHlwZW9mIGoucmVhZHlT dGF0ZT09RCYmKGouZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXXx8ai5i b2R5KSkpe2YoKX1pZighSil7aWYodHlwZW9mIGouYWRkRXZlbnRMaXN0ZW5lciE9 RCl7ai5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixmLGZhbHNl KX1pZihNLmllJiZNLndpbil7ai5hdHRhY2hFdmVudCh4LGZ1bmN0aW9uKCl7aWYo ai5yZWFkeVN0YXRlPT0iY29tcGxldGUiKXtqLmRldGFjaEV2ZW50KHgsYXJndW1l bnRzLmNhbGxlZSk7ZigpfX0pO2lmKE89PXRvcCl7KGZ1bmN0aW9uKCl7aWYoSil7 cmV0dXJufXRyeXtqLmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbCgibGVmdCIpfWNh dGNoKFgpe3NldFRpbWVvdXQoYXJndW1lbnRzLmNhbGxlZSwwKTtyZXR1cm59Zigp fSkoKX19aWYoTS53ayl7KGZ1bmN0aW9uKCl7aWYoSil7cmV0dXJufWlmKCEvbG9h ZGVkfGNvbXBsZXRlLy50ZXN0KGoucmVhZHlTdGF0ZSkpe3NldFRpbWVvdXQoYXJn dW1lbnRzLmNhbGxlZSwwKTtyZXR1cm59ZigpfSkoKX1zKGYpfX0oKTtmdW5jdGlv biBmKCl7aWYoSil7cmV0dXJufXRyeXt2YXIgWj1qLmdldEVsZW1lbnRzQnlUYWdO YW1lKCJib2R5IilbMF0uYXBwZW5kQ2hpbGQoQygic3BhbiIpKTtaLnBhcmVudE5v ZGUucmVtb3ZlQ2hpbGQoWil9Y2F0Y2goYWEpe3JldHVybn1KPXRydWU7dmFyIFg9 VS5sZW5ndGg7Zm9yKHZhciBZPTA7WTxYO1krKyl7VVtZXSgpfX1mdW5jdGlvbiBL KFgpe2lmKEope1goKX1lbHNle1VbVS5sZW5ndGhdPVh9fWZ1bmN0aW9uIHMoWSl7 aWYodHlwZW9mIE8uYWRkRXZlbnRMaXN0ZW5lciE9RCl7Ty5hZGRFdmVudExpc3Rl bmVyKCJsb2FkIixZLGZhbHNlKX1lbHNle2lmKHR5cGVvZiBqLmFkZEV2ZW50TGlz dGVuZXIhPUQpe2ouYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsWSxmYWxzZSl9ZWxz ZXtpZih0eXBlb2YgTy5hdHRhY2hFdmVudCE9RCl7aShPLCJvbmxvYWQiLFkpfWVs c2V7aWYodHlwZW9mIE8ub25sb2FkPT0iZnVuY3Rpb24iKXt2YXIgWD1PLm9ubG9h ZDtPLm9ubG9hZD1mdW5jdGlvbigpe1goKTtZKCl9fWVsc2V7Ty5vbmxvYWQ9WX19 fX19ZnVuY3Rpb24gaCgpe2lmKFQpe1YoKX1lbHNle0goKX19ZnVuY3Rpb24gVigp e3ZhciBYPWouZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXTt2YXIgYWE9 QyhyKTthYS5zZXRBdHRyaWJ1dGUoInR5cGUiLHEpO3ZhciBaPVguYXBwZW5kQ2hp bGQoYWEpO2lmKFope3ZhciBZPTA7KGZ1bmN0aW9uKCl7aWYodHlwZW9mIFouR2V0 VmFyaWFibGUhPUQpe3ZhciBhYj1aLkdldFZhcmlhYmxlKCIkdmVyc2lvbiIpO2lm KGFiKXthYj1hYi5zcGxpdCgiICIpWzFdLnNwbGl0KCIsIik7TS5wdj1bcGFyc2VJ bnQoYWJbMF0sMTApLHBhcnNlSW50KGFiWzFdLDEwKSxwYXJzZUludChhYlsyXSwx MCldfX1lbHNle2lmKFk8MTApe1krKztzZXRUaW1lb3V0KGFyZ3VtZW50cy5jYWxs ZWUsMTApO3JldHVybn19WC5yZW1vdmVDaGlsZChhYSk7Wj1udWxsO0goKX0pKCl9 ZWxzZXtIKCl9fWZ1bmN0aW9uIEgoKXt2YXIgYWc9by5sZW5ndGg7aWYoYWc+MCl7 Zm9yKHZhciBhZj0wO2FmPGFnO2FmKyspe3ZhciBZPW9bYWZdLmlkO3ZhciBhYj1v W2FmXS5jYWxsYmFja0ZuO3ZhciBhYT17c3VjY2VzczpmYWxzZSxpZDpZfTtpZihN LnB2WzBdPjApe3ZhciBhZT1jKFkpO2lmKGFlKXtpZihGKG9bYWZdLnN3ZlZlcnNp b24pJiYhKE0ud2smJk0ud2s8MzEyKSl7dyhZLHRydWUpO2lmKGFiKXthYS5zdWNj ZXNzPXRydWU7YWEucmVmPXooWSk7YWIoYWEpfX1lbHNle2lmKG9bYWZdLmV4cHJl c3NJbnN0YWxsJiZBKCkpe3ZhciBhaT17fTthaS5kYXRhPW9bYWZdLmV4cHJlc3NJ bnN0YWxsO2FpLndpZHRoPWFlLmdldEF0dHJpYnV0ZSgid2lkdGgiKXx8IjAiO2Fp LmhlaWdodD1hZS5nZXRBdHRyaWJ1dGUoImhlaWdodCIpfHwiMCI7aWYoYWUuZ2V0 QXR0cmlidXRlKCJjbGFzcyIpKXthaS5zdHlsZWNsYXNzPWFlLmdldEF0dHJpYnV0 ZSgiY2xhc3MiKX1pZihhZS5nZXRBdHRyaWJ1dGUoImFsaWduIikpe2FpLmFsaWdu PWFlLmdldEF0dHJpYnV0ZSgiYWxpZ24iKX12YXIgYWg9e307dmFyIFg9YWUuZ2V0 RWxlbWVudHNCeVRhZ05hbWUoInBhcmFtIik7dmFyIGFjPVgubGVuZ3RoO2Zvcih2 YXIgYWQ9MDthZDxhYzthZCsrKXtpZihYW2FkXS5nZXRBdHRyaWJ1dGUoIm5hbWUi KS50b0xvd2VyQ2FzZSgpIT0ibW92aWUiKXthaFtYW2FkXS5nZXRBdHRyaWJ1dGUo Im5hbWUiKV09WFthZF0uZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpfX1QKGFpLGFoLFks YWIpfWVsc2V7cChhZSk7aWYoYWIpe2FiKGFhKX19fX19ZWxzZXt3KFksdHJ1ZSk7 aWYoYWIpe3ZhciBaPXooWSk7aWYoWiYmdHlwZW9mIFouU2V0VmFyaWFibGUhPUQp e2FhLnN1Y2Nlc3M9dHJ1ZTthYS5yZWY9Wn1hYihhYSl9fX19fWZ1bmN0aW9uIHoo YWEpe3ZhciBYPW51bGw7dmFyIFk9YyhhYSk7aWYoWSYmWS5ub2RlTmFtZT09Ik9C SkVDVCIpe2lmKHR5cGVvZiBZLlNldFZhcmlhYmxlIT1EKXtYPVl9ZWxzZXt2YXIg Wj1ZLmdldEVsZW1lbnRzQnlUYWdOYW1lKHIpWzBdO2lmKFope1g9Wn19fXJldHVy biBYfWZ1bmN0aW9uIEEoKXtyZXR1cm4gIWEmJkYoIjYuMC42NSIpJiYoTS53aW58 fE0ubWFjKSYmIShNLndrJiZNLndrPDMxMil9ZnVuY3Rpb24gUChhYSxhYixYLFop e2E9dHJ1ZTtFPVp8fG51bGw7Qj17c3VjY2VzczpmYWxzZSxpZDpYfTt2YXIgYWU9 YyhYKTtpZihhZSl7aWYoYWUubm9kZU5hbWU9PSJPQkpFQ1QiKXtsPWcoYWUpO1E9 bnVsbH1lbHNle2w9YWU7UT1YfWFhLmlkPVI7aWYodHlwZW9mIGFhLndpZHRoPT1E fHwoIS8lJC8udGVzdChhYS53aWR0aCkmJnBhcnNlSW50KGFhLndpZHRoLDEwKTwz MTApKXthYS53aWR0aD0iMzEwIn1pZih0eXBlb2YgYWEuaGVpZ2h0PT1EfHwoIS8l JC8udGVzdChhYS5oZWlnaHQpJiZwYXJzZUludChhYS5oZWlnaHQsMTApPDEzNykp e2FhLmhlaWdodD0iMTM3In1qLnRpdGxlPWoudGl0bGUuc2xpY2UoMCw0NykrIiAt IEZsYXNoIFBsYXllciBJbnN0YWxsYXRpb24iO3ZhciBhZD1NLmllJiZNLndpbj8i QWN0aXZlWCI6IlBsdWdJbiIsYWM9Ik1NcmVkaXJlY3RVUkw9IitPLmxvY2F0aW9u LnRvU3RyaW5nKCkucmVwbGFjZSgvJi9nLCIlMjYiKSsiJk1NcGxheWVyVHlwZT0i K2FkKyImTU1kb2N0aXRsZT0iK2oudGl0bGU7aWYodHlwZW9mIGFiLmZsYXNodmFy cyE9RCl7YWIuZmxhc2h2YXJzKz0iJiIrYWN9ZWxzZXthYi5mbGFzaHZhcnM9YWN9 aWYoTS5pZSYmTS53aW4mJmFlLnJlYWR5U3RhdGUhPTQpe3ZhciBZPUMoImRpdiIp O1grPSJTV0ZPYmplY3ROZXciO1kuc2V0QXR0cmlidXRlKCJpZCIsWCk7YWUucGFy ZW50Tm9kZS5pbnNlcnRCZWZvcmUoWSxhZSk7YWUuc3R5bGUuZGlzcGxheT0ibm9u ZSI7KGZ1bmN0aW9uKCl7aWYoYWUucmVhZHlTdGF0ZT09NCl7YWUucGFyZW50Tm9k ZS5yZW1vdmVDaGlsZChhZSl9ZWxzZXtzZXRUaW1lb3V0KGFyZ3VtZW50cy5jYWxs ZWUsMTApfX0pKCl9dShhYSxhYixYKX19ZnVuY3Rpb24gcChZKXtpZihNLmllJiZN LndpbiYmWS5yZWFkeVN0YXRlIT00KXt2YXIgWD1DKCJkaXYiKTtZLnBhcmVudE5v ZGUuaW5zZXJ0QmVmb3JlKFgsWSk7WC5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChn KFkpLFgpO1kuc3R5bGUuZGlzcGxheT0ibm9uZSI7KGZ1bmN0aW9uKCl7aWYoWS5y ZWFkeVN0YXRlPT00KXtZLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoWSl9ZWxzZXtz ZXRUaW1lb3V0KGFyZ3VtZW50cy5jYWxsZWUsMTApfX0pKCl9ZWxzZXtZLnBhcmVu dE5vZGUucmVwbGFjZUNoaWxkKGcoWSksWSl9fWZ1bmN0aW9uIGcoYWIpe3ZhciBh YT1DKCJkaXYiKTtpZihNLndpbiYmTS5pZSl7YWEuaW5uZXJIVE1MPWFiLmlubmVy SFRNTH1lbHNle3ZhciBZPWFiLmdldEVsZW1lbnRzQnlUYWdOYW1lKHIpWzBdO2lm KFkpe3ZhciBhZD1ZLmNoaWxkTm9kZXM7aWYoYWQpe3ZhciBYPWFkLmxlbmd0aDtm b3IodmFyIFo9MDtaPFg7WisrKXtpZighKGFkW1pdLm5vZGVUeXBlPT0xJiZhZFta XS5ub2RlTmFtZT09IlBBUkFNIikmJiEoYWRbWl0ubm9kZVR5cGU9PTgpKXthYS5h cHBlbmRDaGlsZChhZFtaXS5jbG9uZU5vZGUodHJ1ZSkpfX19fX1yZXR1cm4gYWF9 ZnVuY3Rpb24gdShhaSxhZyxZKXt2YXIgWCxhYT1jKFkpO2lmKE0ud2smJk0ud2s8 MzEyKXtyZXR1cm4gWH1pZihhYSl7aWYodHlwZW9mIGFpLmlkPT1EKXthaS5pZD1Z fWlmKE0uaWUmJk0ud2luKXt2YXIgYWg9IiI7Zm9yKHZhciBhZSBpbiBhaSl7aWYo YWlbYWVdIT1PYmplY3QucHJvdG90eXBlW2FlXSl7aWYoYWUudG9Mb3dlckNhc2Uo KT09ImRhdGEiKXthZy5tb3ZpZT1haVthZV19ZWxzZXtpZihhZS50b0xvd2VyQ2Fz ZSgpPT0ic3R5bGVjbGFzcyIpe2FoKz0nIGNsYXNzPSInK2FpW2FlXSsnIid9ZWxz ZXtpZihhZS50b0xvd2VyQ2FzZSgpIT0iY2xhc3NpZCIpe2FoKz0iICIrYWUrJz0i JythaVthZV0rJyInfX19fX12YXIgYWY9IiI7Zm9yKHZhciBhZCBpbiBhZyl7aWYo YWdbYWRdIT1PYmplY3QucHJvdG90eXBlW2FkXSl7YWYrPSc8cGFyYW0gbmFtZT0i JythZCsnIiB2YWx1ZT0iJythZ1thZF0rJyIgLz4nfX1hYS5vdXRlckhUTUw9Jzxv YmplY3QgY2xhc3NpZD0iY2xzaWQ6RDI3Q0RCNkUtQUU2RC0xMWNmLTk2QjgtNDQ0 NTUzNTQwMDAwIicrYWgrIj4iK2FmKyI8L29iamVjdD4iO05bTi5sZW5ndGhdPWFp LmlkO1g9YyhhaS5pZCl9ZWxzZXt2YXIgWj1DKHIpO1ouc2V0QXR0cmlidXRlKCJ0 eXBlIixxKTtmb3IodmFyIGFjIGluIGFpKXtpZihhaVthY10hPU9iamVjdC5wcm90 b3R5cGVbYWNdKXtpZihhYy50b0xvd2VyQ2FzZSgpPT0ic3R5bGVjbGFzcyIpe1ou c2V0QXR0cmlidXRlKCJjbGFzcyIsYWlbYWNdKX1lbHNle2lmKGFjLnRvTG93ZXJD YXNlKCkhPSJjbGFzc2lkIil7Wi5zZXRBdHRyaWJ1dGUoYWMsYWlbYWNdKX19fX1m b3IodmFyIGFiIGluIGFnKXtpZihhZ1thYl0hPU9iamVjdC5wcm90b3R5cGVbYWJd JiZhYi50b0xvd2VyQ2FzZSgpIT0ibW92aWUiKXtlKFosYWIsYWdbYWJdKX19YWEu cGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQoWixhYSk7WD1afX1yZXR1cm4gWH1mdW5j dGlvbiBlKFosWCxZKXt2YXIgYWE9QygicGFyYW0iKTthYS5zZXRBdHRyaWJ1dGUo Im5hbWUiLFgpO2FhLnNldEF0dHJpYnV0ZSgidmFsdWUiLFkpO1ouYXBwZW5kQ2hp bGQoYWEpfWZ1bmN0aW9uIHkoWSl7dmFyIFg9YyhZKTtpZihYJiZYLm5vZGVOYW1l PT0iT0JKRUNUIil7aWYoTS5pZSYmTS53aW4pe1guc3R5bGUuZGlzcGxheT0ibm9u ZSI7KGZ1bmN0aW9uKCl7aWYoWC5yZWFkeVN0YXRlPT00KXtiKFkpfWVsc2V7c2V0 VGltZW91dChhcmd1bWVudHMuY2FsbGVlLDEwKX19KSgpfWVsc2V7WC5wYXJlbnRO b2RlLnJlbW92ZUNoaWxkKFgpfX19ZnVuY3Rpb24gYihaKXt2YXIgWT1jKFopO2lm KFkpe2Zvcih2YXIgWCBpbiBZKXtpZih0eXBlb2YgWVtYXT09ImZ1bmN0aW9uIil7 WVtYXT1udWxsfX1ZLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoWSl9fWZ1bmN0aW9u IGMoWil7dmFyIFg9bnVsbDt0cnl7WD1qLmdldEVsZW1lbnRCeUlkKFopfWNhdGNo KFkpe31yZXR1cm4gWH1mdW5jdGlvbiBDKFgpe3JldHVybiBqLmNyZWF0ZUVsZW1l bnQoWCl9ZnVuY3Rpb24gaShaLFgsWSl7Wi5hdHRhY2hFdmVudChYLFkpO0lbSS5s ZW5ndGhdPVtaLFgsWV19ZnVuY3Rpb24gRihaKXt2YXIgWT1NLnB2LFg9Wi5zcGxp dCgiLiIpO1hbMF09cGFyc2VJbnQoWFswXSwxMCk7WFsxXT1wYXJzZUludChYWzFd LDEwKXx8MDtYWzJdPXBhcnNlSW50KFhbMl0sMTApfHwwO3JldHVybihZWzBdPlhb MF18fChZWzBdPT1YWzBdJiZZWzFdPlhbMV0pfHwoWVswXT09WFswXSYmWVsxXT09 WFsxXSYmWVsyXT49WFsyXSkpP3RydWU6ZmFsc2V9ZnVuY3Rpb24gdihhYyxZLGFk LGFiKXtpZihNLmllJiZNLm1hYyl7cmV0dXJufXZhciBhYT1qLmdldEVsZW1lbnRz QnlUYWdOYW1lKCJoZWFkIilbMF07aWYoIWFhKXtyZXR1cm59dmFyIFg9KGFkJiZ0 eXBlb2YgYWQ9PSJzdHJpbmciKT9hZDoic2NyZWVuIjtpZihhYil7bj1udWxsO0c9 bnVsbH1pZighbnx8RyE9WCl7dmFyIFo9Qygic3R5bGUiKTtaLnNldEF0dHJpYnV0 ZSgidHlwZSIsInRleHQvY3NzIik7Wi5zZXRBdHRyaWJ1dGUoIm1lZGlhIixYKTtu PWFhLmFwcGVuZENoaWxkKFopO2lmKE0uaWUmJk0ud2luJiZ0eXBlb2Ygai5zdHls ZVNoZWV0cyE9RCYmai5zdHlsZVNoZWV0cy5sZW5ndGg+MCl7bj1qLnN0eWxlU2hl ZXRzW2ouc3R5bGVTaGVldHMubGVuZ3RoLTFdfUc9WH1pZihNLmllJiZNLndpbil7 aWYobiYmdHlwZW9mIG4uYWRkUnVsZT09cil7bi5hZGRSdWxlKGFjLFkpfX1lbHNl e2lmKG4mJnR5cGVvZiBqLmNyZWF0ZVRleHROb2RlIT1EKXtuLmFwcGVuZENoaWxk KGouY3JlYXRlVGV4dE5vZGUoYWMrIiB7IitZKyJ9IikpfX19ZnVuY3Rpb24gdyha LFgpe2lmKCFtKXtyZXR1cm59dmFyIFk9WD8idmlzaWJsZSI6ImhpZGRlbiI7aWYo SiYmYyhaKSl7YyhaKS5zdHlsZS52aXNpYmlsaXR5PVl9ZWxzZXt2KCIjIitaLCJ2 aXNpYmlsaXR5OiIrWSl9fWZ1bmN0aW9uIEwoWSl7dmFyIFo9L1tcXFwiPD5cLjtd Lzt2YXIgWD1aLmV4ZWMoWSkhPW51bGw7cmV0dXJuIFgmJnR5cGVvZiBlbmNvZGVV UklDb21wb25lbnQhPUQ/ZW5jb2RlVVJJQ29tcG9uZW50KFkpOll9dmFyIGQ9ZnVu Y3Rpb24oKXtpZihNLmllJiZNLndpbil7d2luZG93LmF0dGFjaEV2ZW50KCJvbnVu bG9hZCIsZnVuY3Rpb24oKXt2YXIgYWM9SS5sZW5ndGg7Zm9yKHZhciBhYj0wO2Fi PGFjO2FiKyspe0lbYWJdWzBdLmRldGFjaEV2ZW50KElbYWJdWzFdLElbYWJdWzJd KX12YXIgWj1OLmxlbmd0aDtmb3IodmFyIGFhPTA7YWE8WjthYSsrKXt5KE5bYWFd KX1mb3IodmFyIFkgaW4gTSl7TVtZXT1udWxsfU09bnVsbDtmb3IodmFyIFggaW4g c3dmb2JqZWN0KXtzd2ZvYmplY3RbWF09bnVsbH1zd2ZvYmplY3Q9bnVsbH0pfX0o KTtyZXR1cm57cmVnaXN0ZXJPYmplY3Q6ZnVuY3Rpb24oYWIsWCxhYSxaKXtpZihN LnczJiZhYiYmWCl7dmFyIFk9e307WS5pZD1hYjtZLnN3ZlZlcnNpb249WDtZLmV4 cHJlc3NJbnN0YWxsPWFhO1kuY2FsbGJhY2tGbj1aO29bby5sZW5ndGhdPVk7dyhh YixmYWxzZSl9ZWxzZXtpZihaKXtaKHtzdWNjZXNzOmZhbHNlLGlkOmFifSl9fX0s Z2V0T2JqZWN0QnlJZDpmdW5jdGlvbihYKXtpZihNLnczKXtyZXR1cm4geihYKX19 LGVtYmVkU1dGOmZ1bmN0aW9uKGFiLGFoLGFlLGFnLFksYWEsWixhZCxhZixhYyl7 dmFyIFg9e3N1Y2Nlc3M6ZmFsc2UsaWQ6YWh9O2lmKE0udzMmJiEoTS53ayYmTS53 azwzMTIpJiZhYiYmYWgmJmFlJiZhZyYmWSl7dyhhaCxmYWxzZSk7SyhmdW5jdGlv bigpe2FlKz0iIjthZys9IiI7dmFyIGFqPXt9O2lmKGFmJiZ0eXBlb2YgYWY9PT1y KXtmb3IodmFyIGFsIGluIGFmKXthalthbF09YWZbYWxdfX1hai5kYXRhPWFiO2Fq LndpZHRoPWFlO2FqLmhlaWdodD1hZzt2YXIgYW09e307aWYoYWQmJnR5cGVvZiBh ZD09PXIpe2Zvcih2YXIgYWsgaW4gYWQpe2FtW2FrXT1hZFtha119fWlmKFomJnR5 cGVvZiBaPT09cil7Zm9yKHZhciBhaSBpbiBaKXtpZih0eXBlb2YgYW0uZmxhc2h2 YXJzIT1EKXthbS5mbGFzaHZhcnMrPSImIithaSsiPSIrWlthaV19ZWxzZXthbS5m bGFzaHZhcnM9YWkrIj0iK1pbYWldfX19aWYoRihZKSl7dmFyIGFuPXUoYWosYW0s YWgpO2lmKGFqLmlkPT1haCl7dyhhaCx0cnVlKX1YLnN1Y2Nlc3M9dHJ1ZTtYLnJl Zj1hbn1lbHNle2lmKGFhJiZBKCkpe2FqLmRhdGE9YWE7UChhaixhbSxhaCxhYyk7 cmV0dXJufWVsc2V7dyhhaCx0cnVlKX19aWYoYWMpe2FjKFgpfX0pfWVsc2V7aWYo YWMpe2FjKFgpfX19LHN3aXRjaE9mZkF1dG9IaWRlU2hvdzpmdW5jdGlvbigpe209 ZmFsc2V9LHVhOk0sZ2V0Rmxhc2hQbGF5ZXJWZXJzaW9uOmZ1bmN0aW9uKCl7cmV0 dXJue21ham9yOk0ucHZbMF0sbWlub3I6TS5wdlsxXSxyZWxlYXNlOk0ucHZbMl19 fSxoYXNGbGFzaFBsYXllclZlcnNpb246RixjcmVhdGVTV0Y6ZnVuY3Rpb24oWixZ LFgpe2lmKE0udzMpe3JldHVybiB1KFosWSxYKX1lbHNle3JldHVybiB1bmRlZmlu ZWR9fSxzaG93RXhwcmVzc0luc3RhbGw6ZnVuY3Rpb24oWixhYSxYLFkpe2lmKE0u dzMmJkEoKSl7UChaLGFhLFgsWSl9fSxyZW1vdmVTV0Y6ZnVuY3Rpb24oWCl7aWYo TS53Myl7eShYKX19LGNyZWF0ZUNTUzpmdW5jdGlvbihhYSxaLFksWCl7aWYoTS53 Myl7dihhYSxaLFksWCl9fSxhZGREb21Mb2FkRXZlbnQ6SyxhZGRMb2FkRXZlbnQ6 cyxnZXRRdWVyeVBhcmFtVmFsdWU6ZnVuY3Rpb24oYWEpe3ZhciBaPWoubG9jYXRp b24uc2VhcmNofHxqLmxvY2F0aW9uLmhhc2g7aWYoWil7aWYoL1w/Ly50ZXN0KFop KXtaPVouc3BsaXQoIj8iKVsxXX1pZihhYT09bnVsbCl7cmV0dXJuIEwoWil9dmFy IFk9Wi5zcGxpdCgiJiIpO2Zvcih2YXIgWD0wO1g8WS5sZW5ndGg7WCsrKXtpZihZ W1hdLnN1YnN0cmluZygwLFlbWF0uaW5kZXhPZigiPSIpKT09YWEpe3JldHVybiBM KFlbWF0uc3Vic3RyaW5nKChZW1hdLmluZGV4T2YoIj0iKSsxKSkpfX19cmV0dXJu IiJ9LGV4cHJlc3NJbnN0YWxsQ2FsbGJhY2s6ZnVuY3Rpb24oKXtpZihhKXt2YXIg WD1jKFIpO2lmKFgmJmwpe1gucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQobCxYKTtp ZihRKXt3KFEsdHJ1ZSk7aWYoTS5pZSYmTS53aW4pe2wuc3R5bGUuZGlzcGxheT0i YmxvY2sifX1pZihFKXtFKEIpfX1hPWZhbHNlfX19fSgpOyhmdW5jdGlvbihiKXt2 YXIgYT1zd2ZvYmplY3QuZW1iZWRTV0Y7c3dmb2JqZWN0LmVtYmVkU1dGPWZ1bmN0 aW9uKGMsZSxmLG4sayxsLGgsaSxqKXt2YXIgZD0iZmxhc2gtbG9hZGluZyIsZz1i KCIjIitlKS5jbG9zZXN0KCIubW9kdWxlIiksbTtpZihoJiZoLmNzc2NsYXNzbmFt ZSl7Zy5hZGRDbGFzcyhoLmNzc2NsYXNzbmFtZSl9Zy5hZGRDbGFzcyhkKyIgZmxh c2gtIitmKyJ4IituKTttPWZ1bmN0aW9uKCl7Zy5yZW1vdmVDbGFzcyhkKX07YShj LGUsZixuLGssbCxoLGksaixtKX19KG5kbS5qUXVlcnkpKTt0YW50by5uYW1lc3Bh Y2UoIm5kbS5tZWRpYSIpO25kbS5tZWRpYS5wcmVmcz17c3dmOiJodHRwOi8vc3Rh dGljLnZpZGVvLm5ld3MuY29tLmF1L3dpZGdldC9idWlsZC92MC44MC5zd2YiLGxh c3REaXY6IiIsZGl2czp7fSxmbGFzaFZlcnNpb246IjkuMC4wIn07bmRtLm1lZGlh LmVtYmVkV2lkZ2V0PWZ1bmN0aW9uKGMsYSl7ZnVuY3Rpb24gaShtKXt2YXIgbD1b IkphbnVhcnkiLCJGZWJydWFyeSIsIk1hcmNoIiwiQXByaWwiLCJNYXkiLCJKdW5l IiwiSnVseSIsIkF1Z3VzdCIsIlNlcHRlbWJlciIsIk9jdG9iZXIiLCJOb3ZlbWJl ciIsIkRlY2VtYmVyIl07cmV0dXJuKG0mJm0+LTEmJm08MTIpP2xbbV06IiJ9ZnVu Y3Rpb24gayhtKXtmdW5jdGlvbiBsKHEpe3JldHVybigocT45KT8iIjoiMCIpK3F9 dmFyIHA9TWF0aC5mbG9vcihtLzEwMDApO3ZhciBvPU1hdGguZmxvb3IocC82MCk7 cD1wJTYwO3ZhciBuPWwocCk7bz1vJTYwO249bChvKSsiOiIrbjtyZXR1cm4gbn1m dW5jdGlvbiBlKGwpe3JldHVybihsPT09bnVsbHx8bD09Im51bGwiKT8iIjpsfXZh ciBiPW5hdmlnYXRvci51c2VyQWdlbnQ7dmFyIGg9d2luZG93LmxvY2F0aW9uLmhv c3Q7dmFyIGY9KChiLmluZGV4T2YoImlQYWQiKSE9LTEpJiYoaC5pbmRleE9mKCJ0 aGVhdXN0cmFsaWFuIikhPS0xKSk7aWYoIWYpe25kbS5tZWRpYS5wcmVmcy5sYXN0 RGl2PWF8fCJtZWRpYS13aWRnZXQiO25kbS5tZWRpYS5wcmVmcy5kaXZzW2MucmVw bGFjZSgvW15hLXpdL2dpLCIiKV09YXx8Im1lZGlhLXdpZGdldCI7dGFudG8uYWph eC5jYWxsYmFja0pTT04oYywkRix0cnVlLHRydWUpfWVsc2V7dmFyIGo9dmNtc0hU TUw1VmlkZW9QbGF5ZXIoKTtqLnNldCgic3RhcnRWaWRlbyIsMSk7ai5zZXQoImVu ZFZpZGVvIiw1KTt2YXIgZD0nPGRpdiBpZD0icHJvbW9XaWRnZXQiIGNsYXNzPSJj bGVhcmZpeCI+CTxkaXYgaWQ9InByb21vV2lkZ2V0VG9wIj48L2Rpdj4JPGRpdiBp ZD0icHJvbW9WaWRlbyI+PC9kaXY+CTxkaXYgaWQ9InZpZGVvTGlzdCIgY2xhc3M9 ImNsZWFyZml4Ij48L2Rpdj48L2Rpdj4nO2pRdWVyeSgiIyIrYSkuaHRtbChkKTt2 YXIgZz0iaHR0cDovL3BsYXllci52aWRlby5uZXdzLmNvbS5hdS90aGVhdXN0cmFs aWFuLyI7ai5pbml0KHtzaG93QmlnVmlkZW86ZmFsc2UsY3NzUHJlZml4OiJwXyIs Y2FsbGJhY2s6ZnVuY3Rpb24obCl7dmFyIG09ai5nZXQoIm1haW5WaWRlb1RvU2hv dyIpO2pRdWVyeSgiI3Byb21vVmlkZW8iKS5odG1sKCc8YSBocmVmPSInK2crIiMi K20uZ3VpZCsnIj4JPGltZyBjbGFzcz0icHJvbW9WaWRlb0ltYWdlIiBzcmM9Iicr bS5wb3N0ZXJVcmwrJyIvPgk8ZGl2IGNsYXNzPSJwcm9tb1ZpZGVvV2F0Y2hCdXR0 b24iPjwvZGl2Pgk8ZGl2IGNsYXNzPSJwcm9tb1ZpZGVvSW5mbyI+CQk8c3BhbiBj bGFzcz0idGl0bGUiPicrZShtLnRpdGxlKSsnPC9zcGFuPgkJPHNwYW4gY2xhc3M9 ImRlc2NyaXB0aW9uIj4nK2UobS5kZXNjcmlwdGlvbikrJzwvc3Bhbj4JCTxzcGFu IGNsYXNzPSJkdXJhdGlvbiI+JytrKG0udmlkZW9bai5nZXQoInZpZGVvVHlwZSIp XS5sZW5ndGgpKyI8L3NwYW4+CTwvZGl2PjwvYT4iKX0sZGlzcGxheUZlZWRWaWRl bzpmdW5jdGlvbihtKXt2YXIgbD0nPGRpdiBpZD0icmVsZWFzZVJvd18nK20uZ3Vp ZCsnIiBjbGFzcz0icF92aWRlb0VudHJ5IGNsZWFyZml4Ij4JPGEgaWQ9InJlbGVh c2VTaGVhdGhfJyttLmd1aWQrJyIgY2xhc3M9InJlbGVhc2VTaGVhdGhIaWRkZW4i IGhyZWY9IicrZysiIyIrbS5ndWlkKyciIG5hbWU9InJlbGVhc2VTaGVhdGhfJytt Lmd1aWQrJyI+CQk8ZGl2PgkJCTxzcGFuJysoKG0udGh1bWJVcmwhPSIiKT8nIHN0 eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJnF1b3Q7JyttLnRodW1iVXJsKycm cXVvdDspOyInOiIiKSsnIGlkPSJyZWxlYXNlVGh1bWJuYWlsTGlua18nK20uZ3Vp ZCsnIiBjbGFzcz0idGh1bWIiPjwvc3Bhbj4JCQk8ZGl2IGNsYXNzPSJ3YXRjaEJ1 dHRvbiI+PC9kaXY+CQkJPGRpdiBjbGFzcz0iaW5mbyI+CQkJCTxzcGFuIGNsYXNz PSJ0aXRsZSI+JytlKG0udGl0bGUpKyc8L3NwYW4+CQkJCTxzcGFuIGNsYXNzPSJk ZXNjcmlwdGlvbiI+JytlKG0uZGVzY3JpcHRpb24pKyc8L3NwYW4+CQkJCTxzcGFu IGNsYXNzPSJkdXJhdGlvbiI+JytrKG0udmlkZW9bai5nZXQoInZpZGVvVHlwZSIp XS5sZW5ndGgpKyc8L3NwYW4+CQkJCTxzcGFuIGNsYXNzPSJhZGRlZCI+JyttLnB1 YkRhdGUuZ2V0RGF0ZSgpKyIgIitpKG0ucHViRGF0ZS5nZXRNb250aCgpKSsiICIr bS5wdWJEYXRlLmdldEZ1bGxZZWFyKCkrJzwvc3Bhbj4JCQkJPHNwYW4gY2xhc3M9 InJlbGVhc2VPd25lciI+JyttLnJlbGVhc2VPd25lcisiPC9zcGFuPgkJCTwvZGl2 PgkJPC9kaXY+CTwvYT48L2Rpdj4iO3JldHVybiBsfX0pfX07bmRtLm1lZGlhLndp ZGdldEpTT049ZnVuY3Rpb24oYSl7dmFyIGI9bmRtLm1lZGlhLnByZWZzLmxhc3RE aXY7aWYoISFhLnVybCl7Yj1uZG0ubWVkaWEucHJlZnMuZGl2c1thLnVybC5yZXBs YWNlKC9bXmEtel0vZ2ksIiIpXX1zd2ZvYmplY3QuZW1iZWRTV0YobmRtLm1lZGlh LnByZWZzLnN3ZixiLGEuc3dmLndpZHRoLGEuc3dmLmhlaWdodCxuZG0ubWVkaWEu cHJlZnMuZmxhc2hWZXJzaW9uLGZhbHNlLHtjb25maWdSQVc6ZW5jb2RlVVJJQ29t cG9uZW50KEpTT04uc3RyaW5naWZ5KGEud2lkZ2V0KSksaHRtbFVSTDplbmNvZGVV UklDb21wb25lbnQoZG9jdW1lbnQubG9jYXRpb24pfSxhLnN3Zix7fSl9O25kbS5t ZWRpYS5zaGltPWZ1bmN0aW9uKCl7aWYodHlwZW9mIG5kbS5tZWRpYS53aWRnZXRD YWxsYmFjaz09PSJmdW5jdGlvbiIpe2lmKHR5cGVvZiBKU09OPT09InVuZGVmaW5l ZCIpe3RhbnRvLmxvYWQoImh0dHA6Ly9uZXR3b3JrLm5ld3MuY29tLmF1L2pzL2pz b24uanMiKS5vbmNvbXBsZXRlKG5kbS5tZWRpYS53aWRnZXRDYWxsYmFjayl9ZWxz ZXtuZG0ubWVkaWEud2lkZ2V0Q2FsbGJhY2soKX19fTtpZih0eXBlb2Ygc3dmb2Jq ZWN0PT09InVuZGVmaW5lZCIpe3RhbnRvLmxvYWQoImh0dHA6Ly9tZWRpYS5uZXdz LmNvbS5hdS9mbGFzaC9qcy9zd2ZvYmplY3Qvc3dmb2JqZWN0LmpzIikub25jb21w bGV0ZShmdW5jdGlvbigpe25kbS5tZWRpYS5zaGltKCl9KX1lbHNle25kbS5tZWRp YS5zaGltKCl9bmRtLm1lZGlhLmVuY29kZT1mdW5jdGlvbihhKXtyZXR1cm4gYS50 b1N0cmluZygpLnJlcGxhY2UoL1snIiYhIyQlXio6fFwvPjx+O10vZ2ksIiIpfTtu ZG1fbWVkaWFfdHJhY2tfY3VzdG9tPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBfaGJT ZXQ9PT0iZnVuY3Rpb24iKXtpZihhLmNsaXBJbmRleCl7X2hiU2V0KCJjdi5jMjEi LG5kbS5tZWRpYS5lbmNvZGUoYS5tYXN0aGVhZElEKSsiXyIrbmRtLm1lZGlhLmVu Y29kZShhLndpZGdldElEKSsiX3RhYl8iK25kbS5tZWRpYS5lbmNvZGUoYS50YWJJ bmRleCkrIl9wb3NfIituZG0ubWVkaWEuZW5jb2RlKGEuY2xpcEluZGV4KSsifCIr bmRtLm1lZGlhLmVuY29kZShhLmNsaXBMYWJlbCkpO19oYlNlbmQoKX19fTt2YXIg dmNtc0hUTUw1VmlkZW9QbGF5ZXI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBKU09OUmVx dWVzdChVUkwsQ2FsbGJhY2ssQ29udGV4dCl7dmFyIGhlYWQ9ZG9jdW1lbnQuZ2V0 RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKTtpZighaGVhZCl7YWxlcnQoIllvdSBu ZWVkIHRvIGRlZmluZSBhIDxoZWFkPiBlbGVtZW50IHRvIHVzZSB0aGUgSlNPTlJl cXVlc3Qgb2JqZWN0LiIpO3JldHVybiBmYWxzZX10aGlzLmhlYWRUYWc9aGVhZC5p dGVtKDApO2lmKFVSTD09PW51bGx8fFVSTC5sZW5ndGg9PT0wKXthbGVydCgiWW91 IG5lZWQgdG8gcHJvdmlkZSB0aGUgVVJMLiIpO3JldHVybiBmYWxzZX10aGlzLnVy bD1VUkw7aWYoQ2FsbGJhY2smJkNhbGxiYWNrIT09bnVsbCYmQ2FsbGJhY2subGVu Z3RoPjApe3RoaXMudXJsKz0iJmNhbGxiYWNrPSIrZXNjYXBlKENhbGxiYWNrKX1p ZihDb250ZXh0JiZDb250ZXh0IT09bnVsbCYmQ29udGV4dC5sZW5ndGg+MCl7dGhp cy51cmwrPSImY29udGV4dD0iK2VzY2FwZShDb250ZXh0KX10aGlzLnNjcmlwdElE PSJKU09OUmVxdWVzdCIrSlNPTlJlcXVlc3QuaW5kZXgrK31KU09OUmVxdWVzdC5p bmRleD0xO0pTT05SZXF1ZXN0LnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKCl7dmFy IHNjcmlwdE9iaj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtzY3Jp cHRPYmouc2V0QXR0cmlidXRlKCJ0eXBlIiwidGV4dC9qYXZhc2NyaXB0Iik7c2Ny aXB0T2JqLnNldEF0dHJpYnV0ZSgic3JjIix0aGlzLnVybCk7c2NyaXB0T2JqLnNl dEF0dHJpYnV0ZSgiaWQiLHRoaXMuc2NyaXB0SUQpO3RoaXMuaGVhZFRhZy5hcHBl bmRDaGlsZChzY3JpcHRPYmopfTtmdW5jdGlvbiBtb250aE5hbWUobnVtKXt2YXIg bW9udGhOYW1lcz1bIkphbnVhcnkiLCJGZWJydWFyeSIsIk1hcmNoIiwiQXByaWwi LCJNYXkiLCJKdW5lIiwiSnVseSIsIkF1Z3VzdCIsIlNlcHRlbWJlciIsIk9jdG9i ZXIiLCJOb3ZlbWJlciIsIkRlY2VtYmVyIl07cmV0dXJuKG51bSYmbnVtPi0xJiZu dW08MTIpP21vbnRoTmFtZXNbbnVtXToiIn1mdW5jdGlvbiBjb252ZXJ0TVMobXMp e2Z1bmN0aW9uIHR3byh4KXtyZXR1cm4oKHg+OSk/IiI6IjAiKSt4fXZhciBzZWM9 TWF0aC5mbG9vcihtcy8xMDAwKTt2YXIgbWluPU1hdGguZmxvb3Ioc2VjLzYwKTtz ZWM9c2VjJTYwO3ZhciB0PXR3byhzZWMpO21pbj1taW4lNjA7dD10d28obWluKSsi OiIrdDtyZXR1cm4gdH1mdW5jdGlvbiBjbGVhbk51bGwodGV4dCl7cmV0dXJuKHRl eHQ9PT1udWxsfHx0ZXh0PT0ibnVsbCIpPyIiOnRleHR9dmFyIHBDb29raWU9e2dl dDpmdW5jdGlvbihrZXkpe3ZhciB0bXA9ZG9jdW1lbnQuY29va2llLm1hdGNoKChu ZXcgUmVnRXhwKGtleSsiPVteO10rKCR8OykiLCJnaSIpKSk7aWYoIXRtcHx8IXRt cFswXSl7cmV0dXJuIG51bGx9ZWxzZXtyZXR1cm4gdW5lc2NhcGUodG1wWzBdLnN1 YnN0cmluZyhrZXkubGVuZ3RoKzEsdG1wWzBdLmxlbmd0aCkucmVwbGFjZSgiOyIs IiIpKXx8bnVsbH19LHNldDpmdW5jdGlvbihrZXksdmFsdWUsZGF5cyl7dmFyIGNv b2tpZT1ba2V5KyI9Iitlc2NhcGUodmFsdWUpXTtkYXlzPShpc05hTihwYXJzZUlu dChkYXlzLDEwKSkpPzE6ZGF5czt2YXIgbm93PW5ldyBEYXRlKCk7dmFyIGFkZERh eXM9KHBhcnNlSW50KGRheXMsMTApKjI0KjYwKjYwKjEwMDApO25vdy5zZXRUaW1l KG5vdy5nZXRUaW1lKCkrYWRkRGF5cyk7Y29va2llLnB1c2goImV4cGlyZXM9Iitu b3cudG9HTVRTdHJpbmcoKSk7cmV0dXJuKGRvY3VtZW50LmNvb2tpZT1jb29raWUu am9pbigiOyIpKX0scmVtb3ZlOmZ1bmN0aW9uKGtleSl7aWYocENvb2tpZS5jb29r aWUuZ2V0KGtleSkpe3BDb29raWUuY29va2llLnNldChrZXksIiIsLTEpfX19O3Zh ciBlbXB0eUZ1bmM9KGZ1bmN0aW9uKCl7fSk7aWYoISgiY29uc29sZSIgaW4gd2lu ZG93KXx8ISgiZmlyZWJ1ZyIgaW4gY29uc29sZSkpe3ZhciBuYW1lcz1bImxvZyIs ImRlYnVnIiwiaW5mbyIsIndhcm4iLCJlcnJvciIsImFzc2VydCIsImRpciIsImRp cnhtbCIsImdyb3VwIiwiZ3JvdXBFbmQiLCJ0aW1lIiwidGltZUVuZCIsImNvdW50 IiwidHJhY2UiLCJwcm9maWxlIiwicHJvZmlsZUVuZCJdO3dpbmRvdy5jb25zb2xl PXt9O2Zvcih2YXIgaT0wO2k8bmFtZXMubGVuZ3RoOysraSl7d2luZG93LmNvbnNv bGVbbmFtZXNbaV1dPWVtcHR5RnVuY319dmFyIGZlZWRVUkw9Imh0dHA6Ly9uZG0u ZmVlZC50aGVwbGF0Zm9ybS5jb20vZi9nNU9xSy8zR1hMVExITllXeEsiLG1heERl c2NyaXB0aW9uTGVuZ3RoPTExOCxtYXhUaXRsZUxlbmd0aD01MCxkZXRlY3RlZFZp ZGVvVHlwZT0iIix2aWRlb1BsYXlpbmdHdWlkPSIiLHZpZGVvUXVhbGl0eUNvb2tp ZU5hbWU9InZpZGVvUXVhbGl0eSIsdmlkZW9FbnRyaWVzPXt9LGNvb2tpZVZpZGVv VHlwZT1wQ29va2llLmdldCh2aWRlb1F1YWxpdHlDb29raWVOYW1lKSx2aWRlb1R5 cGU9KGNvb2tpZVZpZGVvVHlwZSk/Y29va2llVmlkZW9UeXBlOiJ3aWZpIixzdGFy dFZpZGVvPTAsZW5kVmlkZW89MTAsdmlkZW9JbmNyZW1lbnQ9MTAsbGlzdGVuRnVu Y0xpc3Q9W10scHJldmlvdXNIYXNoPSIiLGhhc2hDaGVja1RpbWVyPW51bGwsbWFp blZpZGVvVG9TaG93PW51bGwsYXJncz17fSxhbGxvd0V4cG9zZVZhcnM9WyJ2aWRl b1R5cGUiLCJzdGFydFZpZGVvIiwiZW5kVmlkZW8iLCJtYWluVmlkZW9Ub1Nob3ci LCJ2aWRlb0VudHJpZXMiLCJ2aWRlb1BsYXlpbmdHdWlkIl0sc2VsZj17Z2V0OmZ1 bmN0aW9uKHdoYXQpe2Zvcih2YXIgaT0wO2k8YWxsb3dFeHBvc2VWYXJzLmxlbmd0 aDtpKz0xKXtpZihhbGxvd0V4cG9zZVZhcnNbaV09PXdoYXQpe3JldHVybihldmFs KHdoYXQpKX19fSxzZXQ6ZnVuY3Rpb24od2hhdCx2YWx1ZSl7Zm9yKHZhciBpPTA7 aTxhbGxvd0V4cG9zZVZhcnMubGVuZ3RoO2krPTEpe2lmKGFsbG93RXhwb3NlVmFy c1tpXT09d2hhdCl7ZXZhbCh3aGF0KyI9Iit2YWx1ZSk7cmV0dXJufX19LGluaXQ6 ZnVuY3Rpb24ob3B0aW9ucyl7YXJncz1qUXVlcnkuZXh0ZW5kKHtxdWFsaXR5XzNn OiIjcXVhbGl0eV8zZyIscXVhbGl0eV93aWZpOiIjcXVhbGl0eV93aWZpIix2aWRl b0xvYWRtb3JlQnV0dG9uOiIjdmlkZW9Mb2FkbW9yZUJ1dHRvbiIsdmlkZW9RdWFs aXR5U3Vycm91bmQ6IiN2aWRlb1F1YWxpdHlTdXJyb3VuZCIsdmlkZW9MaXN0VGFy Z2V0OiIjdmlkZW9MaXN0Iix2aWRlb0xvYWRtb3JlTWVzc2FnZToiI3ZpZGVvTG9h ZG1vcmVNZXNzYWdlIixjc3NQcmVmaXg6IiIsZGlzcGxheUZlZWRWaWRlbzpudWxs LHNob3dCaWdWaWRlbzp0cnVlLGNhbGxiYWNrOm51bGx9LG9wdGlvbnMpO2lmKGFy Z3MuZGlzcGxheUZlZWRWaWRlbyl7c2VsZi5kaXNwbGF5RmVlZFZpZGVvPWFyZ3Mu ZGlzcGxheUZlZWRWaWRlb31zZWxmLmJ3Q2hlY2soKTt3aW5kb3cubWFpbkZlZWRQ YXJzZXI9c2VsZi5tYWluRmVlZFBhcnNlcjt2YXIgcmVxPW5ldyBKU09OUmVxdWVz dChmZWVkVVJMKyI/IiwibWFpbkZlZWRQYXJzZXIiKTtyZXEuc2VuZCgpO2pRdWVy eShhcmdzLnF1YWxpdHlfM2cpLmNsaWNrKGZ1bmN0aW9uKCl7c2VsZi5zZXRRdWFs aXR5KCJ0aHJlZWciKX0pO2pRdWVyeShhcmdzLnF1YWxpdHlfd2lmaSkuY2xpY2so ZnVuY3Rpb24oKXtzZWxmLnNldFF1YWxpdHkoIndpZmkiKX0pO2pRdWVyeShhcmdz LnZpZGVvTG9hZG1vcmVCdXR0b24pLmNsaWNrKGZ1bmN0aW9uKCl7c3RhcnRWaWRl bys9dmlkZW9JbmNyZW1lbnQ7ZW5kVmlkZW8rPXZpZGVvSW5jcmVtZW50O3NlbGYu c2hvd1ZpZGVvcyhzdGFydFZpZGVvLGVuZFZpZGVvKX0pO2hhc2hDaGVja1RpbWVy PXNldEludGVydmFsKHNlbGYuY2hlY2tIYXNoLDE1MDApfSxid0NoZWNrOmZ1bmN0 aW9uKCl7dmFyIGltZ1NpemVzPVsxMzA1OCwyNTQ5OSw1OTc5NSwxMDA5MTYsMjE1 NTYzXTt2YXIgYmFzZUltZ1VSTD0iaHR0cDovL3N0YXRpYy52aWRlby5uZXdzLmNv bS5hdS9pcGFkL21heCI7dmFyIGltZ051bWJlcj00O3ZhciBzdGFydFRpbWU9KG5l dyBEYXRlKCkpLmdldFRpbWUoKTt2YXIgaW1nPW5ldyBJbWFnZSgpO2pRdWVyeShp bWcpLmxvYWQoZnVuY3Rpb24oKXt2YXIgaW1nU2l6ZT1pbWdTaXplc1tpbWdOdW1i ZXJdO3ZhciBlbmRUaW1lPShuZXcgRGF0ZSgpKS5nZXRUaW1lKCk7dmFyIGRvd25s b2FkVGltZT0oc3RhcnRUaW1lPT1lbmRUaW1lKT8wLjAxOihlbmRUaW1lLXN0YXJ0 VGltZSkvMTAwMDt2YXIgYnl0ZXNQZXJTZWNvbmQ9aW1nU2l6ZS9kb3dubG9hZFRp bWU7dmFyIGticHM9Ynl0ZXNQZXJTZWNvbmQvMTAwMDtpZihrYnBzPDY0KXtpZigo IWNvb2tpZVZpZGVvVHlwZSkpe3ZpZGVvVHlwZT0idGhyZWVnIn19ZGV0ZWN0ZWRW aWRlb1R5cGU9dmlkZW9UeXBlO3NlbGYuc2V0UXVhbGl0eSh2aWRlb1R5cGUpfSku ZXJyb3IoZnVuY3Rpb24oKXt9KS5hdHRyKCJzcmMiLGJhc2VJbWdVUkwraW1nTnVt YmVyKyIuanBnP3RzPSIrc3RhcnRUaW1lKX0sZ2V0VmlkZW9FbnRyeURldGFpbHM6 ZnVuY3Rpb24oaXRtKXt2YXIgdmlkZW9FbnRyeT17ZGVzY3JpcHRpb246KGl0bS5k ZXNjcmlwdGlvbi5sZW5ndGg+bWF4RGVzY3JpcHRpb25MZW5ndGgpP2l0bS5kZXNj cmlwdGlvbi5zdWJzdHJpbmcoMCwobWF4RGVzY3JpcHRpb25MZW5ndGgtMSkpKyIu Li4iOml0bS5kZXNjcmlwdGlvbix0aXRsZTooaXRtLnRpdGxlLmxlbmd0aD5tYXhU aXRsZUxlbmd0aCk/aXRtLnRpdGxlLnN1YnN0cmluZygwLChtYXhUaXRsZUxlbmd0 aC0xKSkrIi4uLiI6aXRtLnRpdGxlLHJlbGVhc2VPd25lcjppdG0ubWVkaWEkY29w eXJpZ2h0LnJlcGxhY2UoL15ORE0uKi1ccysvLCIiKSxwdWJEYXRlOihuZXcgRGF0 ZShpdG0ucHViRGF0ZSkpLGd1aWQ6aXRtLmd1aWQsbWVkaWFpZDoiIix0aHVtYlVy bDoiIixwb3N0ZXJVcmw6IiIsY29weXJpZ2h0Q1NTQ2xhc3M6IiIsdmlkZW86e3Ro cmVlZzp7dXJsOiIiLGxlbmd0aDoiIn0sd2lmaTp7dXJsOiIiLGxlbmd0aDoiIn19 fTt2YXIgbWVkaWFpZD1pdG0uaWQ7bWVkaWFpZD1tZWRpYWlkLnN1YnN0cihtZWRp YWlkLmxhc3RJbmRleE9mKCIvIikrMSk7dmlkZW9FbnRyeS5tZWRpYWlkPW1lZGlh aWQ7dmFyIGNyQ2xhc3Nlcz17IlNreSBOZXdzIjoic2t5bmV3cyIsIk5ld3MuY29t LmF1IjoibmV3c2NvbWF1In07dmlkZW9FbnRyeS5jb3B5cmlnaHRDU1NDbGFzcz0o Y3JDbGFzc2VzW3ZpZGVvRW50cnkucmVsZWFzZU93bmVyXSk/Y3JDbGFzc2VzW3Zp ZGVvRW50cnkucmVsZWFzZU93bmVyXToiIjtpZihpdG0ubWVkaWEkdGh1bWJuYWls cyYmaXRtLm1lZGlhJHRodW1ibmFpbHMubGVuZ3RoKXt2YXIgdGh1bWJzPWl0bS5t ZWRpYSR0aHVtYm5haWxzLG1heFRodW1iU2l6ZT0wLG1pblRodW1iU2l6ZT0xMDAw MDAwMDAwLG1heFRodW1iVXJsPSIiLG1pblRodW1iVXJsPSIiO2Zvcih2YXIgdGk9 MDt0aTx0aHVtYnMubGVuZ3RoO3RpKz0xKXt2YXIgdGh1bWI9dGh1bWJzW3RpXTtp Zih0aHVtYi5wbGZpbGUkY29udGVudFR5cGU9PSJpbWFnZSIpe3ZhciB0aHVtYlNp emU9KHBhcnNlSW50KHRodW1iLnBsZmlsZSRoZWlnaHQsMTApKnBhcnNlSW50KHRo dW1iLnBsZmlsZSR3aWR0aCwxMCkpO2lmKHRodW1iU2l6ZT5tYXhUaHVtYlNpemUp e21heFRodW1iU2l6ZT10aHVtYlNpemU7bWF4VGh1bWJVcmw9dGh1bWIucGxmaWxl JHVybH1pZih0aHVtYlNpemU8bWluVGh1bWJTaXplKXttaW5UaHVtYlNpemU9dGh1 bWJTaXplO21pblRodW1iVXJsPXRodW1iLnBsZmlsZSR1cmx9fX12aWRlb0VudHJ5 LnRodW1iVXJsPW1pblRodW1iVXJsO3ZpZGVvRW50cnkucG9zdGVyVXJsPW1heFRo dW1iVXJsfWlmKGl0bS5tZWRpYSRjb250ZW50JiZpdG0ubWVkaWEkY29udGVudC5s ZW5ndGgpe3ZhciB2aWRlb3M9aXRtLm1lZGlhJGNvbnRlbnQsbWF4VmlkZW9TaXpl PTAsbWluVmlkZW9TaXplPTEwMDAwMDAwMDAsbWF4VmlkZW9Vcmw9IiIsbWluVmlk ZW9Vcmw9IiIsbWF4TGVuZ3RoLG1pbkxlbmd0aDtmb3IodmFyIHZpPTA7dmk8dmlk ZW9zLmxlbmd0aDt2aSs9MSl7dmFyIHZpZGVvPXZpZGVvc1t2aV07aWYodmlkZW8u cGxmaWxlJGZvcm1hdD09Ik1QRUc0Iil7dmFyIHZpZGVvU2l6ZT1wYXJzZUludCh2 aWRlby5wbGZpbGUkZmlsZVNpemUsMTApO2lmKHZpZGVvU2l6ZT5tYXhWaWRlb1Np emUpe21heFZpZGVvU2l6ZT12aWRlb1NpemU7bWF4VmlkZW9Vcmw9dmlkZW8ucGxm aWxlJHVybDttYXhMZW5ndGg9dmlkZW8ucGxmaWxlJGR1cmF0aW9ufWlmKHZpZGVv U2l6ZTxtaW5WaWRlb1NpemUpe21pblZpZGVvU2l6ZT12aWRlb1NpemU7bWluVmlk ZW9Vcmw9dmlkZW8ucGxmaWxlJHVybDttaW5MZW5ndGg9dmlkZW8ucGxmaWxlJGR1 cmF0aW9ufX19dmlkZW9FbnRyeS52aWRlbz17dGhyZWVnOnt1cmw6bWluVmlkZW9V cmwsbGVuZ3RoOnBhcnNlSW50KG1pbkxlbmd0aCwxMCkqMTAwMH0sd2lmaTp7dXJs Om1heFZpZGVvVXJsLGxlbmd0aDpwYXJzZUludChtYXhMZW5ndGgsMTApKjEwMDB9 fX12aWRlb0VudHJ5LnRwT2JqPXtpZDp2aWRlb0VudHJ5Lm1lZGlhaWQsZGF0YTp7 YmFzZUNsaXA6e2NvbnRlbnRJRDp2aWRlb0VudHJ5Lm1lZGlhaWQsbGVuZ3RoUGxh eWVkOjAsYXV0aG9yOml0bS5hdXRob3IsdGl0bGU6aXRtLnRpdGxlfSxpc0FkOmZh bHNlLGxlbmd0aDp2aWRlb0VudHJ5LnZpZGVvLndpZmkubGVuZ3RofSxwbGF5ZXJf dHlwZToiYXJjaGl2ZSJ9O3JldHVybiB2aWRlb0VudHJ5fSxkaXNwbGF5RmVlZFZp ZGVvOmZ1bmN0aW9uKGl0bSl7dmFyIG91dHB1dD0nPGRpdiBpZD0icmVsZWFzZVJv d18nK2l0bS5ndWlkKyciIGNsYXNzPSInK2FyZ3MuY3NzUHJlZml4KyJ2aWRlb0Vu dHJ5ICIraXRtLmNvcHlyaWdodENTU0NsYXNzKycgY2xlYXJmaXgiPgk8YSBpZD0i cmVsZWFzZVNoZWF0aF8nK2l0bS5ndWlkKyciIGNsYXNzPSJyZWxlYXNlU2hlYXRo SGlkZGVuIiBocmVmPSIjJytpdG0uZ3VpZCsnIiBuYW1lPSJyZWxlYXNlU2hlYXRo XycraXRtLmd1aWQrJyI+CQk8ZGl2PgkJCTxzcGFuJysoKGl0bS50aHVtYlVybCE9 IiIpPycgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybCgmcXVvdDsnK2l0bS50 aHVtYlVybCsnJnF1b3Q7KTsiJzoiIikrJyBpZD0icmVsZWFzZVRodW1ibmFpbExp bmtfJytpdG0uZ3VpZCsnIiBjbGFzcz0idGh1bWIiPjwvc3Bhbj4JCQk8ZGl2IGNs YXNzPSJpbmZvIj4JCQkJPHNwYW4gY2xhc3M9InRpdGxlIj4nK2NsZWFuTnVsbChp dG0udGl0bGUpKyc8L3NwYW4+CQkJCTxzcGFuIGNsYXNzPSJkZXNjcmlwdGlvbiI+ JytjbGVhbk51bGwoaXRtLmRlc2NyaXB0aW9uKSsnPC9zcGFuPgkJCQk8c3BhbiBj bGFzcz0iZHVyYXRpb24iPicrY29udmVydE1TKGl0bS52aWRlb1t2aWRlb1R5cGVd Lmxlbmd0aCkrJ++/ve+/vXzvv73vv708L3NwYW4+CQkJCTxzcGFuIGNsYXNzPSJh ZGRlZCI+JytpdG0ucHViRGF0ZS5nZXREYXRlKCkrIiAiK21vbnRoTmFtZShpdG0u cHViRGF0ZS5nZXRNb250aCgpKSsiICIraXRtLnB1YkRhdGUuZ2V0RnVsbFllYXIo KSsn77+977+9fO+/ve+/vTwvc3Bhbj4JCQkJPHNwYW4gY2xhc3M9InJlbGVhc2VP d25lciI+JytpdG0ucmVsZWFzZU93bmVyKyI8L3NwYW4+CQkJPC9kaXY+CQk8L2Rp dj4JPC9hPjwvZGl2PiI7cmV0dXJuIG91dHB1dH0sc2hvd1ZpZGVvczpmdW5jdGlv bihmcm9tLHRvKXt2YXIgaT0wLHNob3duVmlkZW9zPTA7Zm9yKHZhciBndWlkIGlu IHZpZGVvRW50cmllcyl7aWYodmlkZW9FbnRyaWVzLmhhc093blByb3BlcnR5KGd1 aWQpKXtpZihpPj1mcm9tJiZpPHRvKXtqUXVlcnkoYXJncy52aWRlb0xpc3RUYXJn ZXQpLmFwcGVuZChzZWxmLmRpc3BsYXlGZWVkVmlkZW8odmlkZW9FbnRyaWVzW2d1 aWRdKSk7c2hvd25WaWRlb3MrPTF9aSs9MX19aWYoc2hvd25WaWRlb3M9PT0wKXtq UXVlcnkoYXJncy52aWRlb0xvYWRtb3JlTWVzc2FnZSkuaHRtbCgiU29ycnksIG5v IG1vcmUgdmlkZW9zIik7c2V0VGltZW91dChmdW5jdGlvbigpe2pRdWVyeShhcmdz LnZpZGVvTG9hZG1vcmVCdXR0b24pLmhpZGUoInNsb3ciKX0sMjAwMCl9cmV0dXJu IHNob3duVmlkZW9zfSxtYWluRmVlZFBhcnNlcjpmdW5jdGlvbihyZXNwb25zZSl7 aWYocmVzcG9uc2UmJnJlc3BvbnNlLmVudHJpZXMmJnJlc3BvbnNlLmVudHJpZXMu bGVuZ3RoKXt2YXIgdmlkZW9Ub1Nob3c9bnVsbDtmb3IodmFyIGk9MDtpPHJlc3Bv bnNlLmVudHJpZXMubGVuZ3RoO2krPTEpe3ZhciBpdG09c2VsZi5nZXRWaWRlb0Vu dHJ5RGV0YWlscyhyZXNwb25zZS5lbnRyaWVzW2ldKTt2aWRlb0VudHJpZXNbaXRt Lmd1aWRdPWl0bTtpZihpPT09MCl7dmlkZW9Ub1Nob3c9aXRtfX1tYWluVmlkZW9U b1Nob3c9dmlkZW9Ub1Nob3c7c2VsZi5zaG93VmlkZW9zKHN0YXJ0VmlkZW8sZW5k VmlkZW8pO3ZhciBoYXNoVmFsdWU9d2luZG93LmxvY2F0aW9uLmhhc2g7aWYoKCFo YXNoVmFsdWV8fGhhc2hWYWx1ZT09IiIpJiZhcmdzLnNob3dCaWdWaWRlbyl7c2Vs Zi5sb2FkVmlkZW8obWFpblZpZGVvVG9TaG93Lmd1aWQpfWpRdWVyeShhcmdzLnZp ZGVvTG9hZG1vcmVCdXR0b24pLnNob3coInNsb3ciKTtqUXVlcnkoYXJncy52aWRl b1F1YWxpdHlTdXJyb3VuZCkuc2hvdygic2xvdyIpO2lmKGFyZ3MuY2FsbGJhY2sp e2FyZ3MuY2FsbGJhY2sodmlkZW9FbnRyaWVzKX19fSxnZXRWaWRlbzpmdW5jdGlv bihndWlkLGNhbGxiYWNrKXt2YXIgbXlWaWRlbz12aWRlb0VudHJpZXNbZ3VpZF07 aWYoIW15VmlkZW8pe3dpbmRvdy52Y21zR2V0U3BlY2lmaWNWaWRlb0RldGFpbHM9 ZnVuY3Rpb24ocmVzcG9uc2Upe3ZhciB2aWRlb1RvU2hvdz1udWxsO2lmKHJlc3Bv bnNlKXt2YXIgaXRtPXNlbGYuZ2V0VmlkZW9FbnRyeURldGFpbHMocmVzcG9uc2Up O3ZpZGVvRW50cmllc1tpdG0uZ3VpZF09aXRtfXJldHVybiBjYWxsYmFjayh2aWRl b1RvU2hvdyl9O3ZhciByZXE9bmV3IEpTT05SZXF1ZXN0KGZlZWRVUkwrIj9ieUdV SUQ9IitndWlkLCJ2Y21zR2V0U3BlY2lmaWNWaWRlb0RldGFpbHMiKTtyZXEuc2Vu ZCgpfWVsc2V7cmV0dXJuIGNhbGxiYWNrKG15VmlkZW8pfX0sYWRkRXZlbnQ6ZnVu Y3Rpb24oZXZlbnQsZnVuYyl7bGlzdGVuRnVuY0xpc3QucHVzaCh7ZXZlbnQ6ZXZl bnQsZnVuYzpmdW5jfSl9LHJlbW92ZUV2ZW50OmZ1bmN0aW9uKGV2ZW50LGZ1bmMp e2xpc3RlbkZ1bmNMaXN0LnB1c2goe2V2ZW50OmV2ZW50LGZ1bmM6ZnVuY30pfSxi aW5kVmlkZW9FdmVudDpmdW5jdGlvbih2aWRlbyxldmVudCxmdW5jKXt2aWRlby5h ZGRFdmVudExpc3RlbmVyKGV2ZW50LGZ1bmMsdHJ1ZSl9LHVuQmluZFZpZGVvRXZl bnQ6ZnVuY3Rpb24odmlkZW8sZXZlbnQsZnVuYyl7dmlkZW8ucmVtb3ZlRXZlbnRM aXN0ZW5lcihldmVudCxmdW5jLHRydWUpfSxsb2FkVmlkZW86ZnVuY3Rpb24oZ3Vp ZCxhdXRvcGxheSl7YXV0b3BsYXk9ZmFsc2U7c2VsZi5nZXRWaWRlbyhndWlkLGZ1 bmN0aW9uKHZpZGVvKXtpZih2aWRlbyl7dmFyIHZpZGVvU291cmNlPSc8dmlkZW8g aWQ9Im1haW5WaWRlb05vZGUiIHNyYz0iJyt2aWRlby52aWRlb1t2aWRlb1R5cGVd LnVybCsnIiB0eXBlPSJ2aWRlby9tcDQiIHdpZHRoPSI0ODMiIGhlaWdodD0iMzAw IiBjb250cm9scyAnKygoYXV0b3BsYXkpPyJhdXRvcGxheSAiOiIiKSsiLz4iO2pR dWVyeSgiI3ZpZGVvQ2xpcCIpLmh0bWwoJzxpbWcgaWQ9InZpZGVvUG9zdGVyIiBz cmM9IicrdmlkZW8ucG9zdGVyVXJsKyciLz48ZGl2IGlkPSJvdmVybGF5VmlkZW9Q bGF5QnV0dG9uIj48L2Rpdj4nKTt2YXIgcGxheVZpZGVvPWZ1bmN0aW9uKCl7dmFy IGV4aXN0aW5nVmlkZW89alF1ZXJ5KCIjbWFpblZpZGVvTm9kZSIpLmdldCgwKTtp ZihleGlzdGluZ1ZpZGVvKXtmb3IodmFyIGV2aSBpbiBsaXN0ZW5GdW5jTGlzdCl7 aWYobGlzdGVuRnVuY0xpc3QuaGFzT3duUHJvcGVydHkoZXZpKSl7c2VsZi51bkJp bmRWaWRlb0V2ZW50KGV4aXN0aW5nVmlkZW8sbGlzdGVuRnVuY0xpc3RbZXZpXS5l dmVudCxsaXN0ZW5GdW5jTGlzdFtldmldLmZ1bmMpfX19alF1ZXJ5KCIjdmlkZW9D bGlwIikuaHRtbCh2aWRlb1NvdXJjZSk7dmFyIG15VmlkZW89alF1ZXJ5KCIjbWFp blZpZGVvTm9kZSIpLmdldCgwKTtmb3IodmFyIGVpIGluIGxpc3RlbkZ1bmNMaXN0 KXtpZihsaXN0ZW5GdW5jTGlzdC5oYXNPd25Qcm9wZXJ0eShlaSkpe3NlbGYuYmlu ZFZpZGVvRXZlbnQobXlWaWRlbyxsaXN0ZW5GdW5jTGlzdFtlaV0uZXZlbnQsbGlz dGVuRnVuY0xpc3RbZWldLmZ1bmMpfX1teVZpZGVvLmxvYWQoKTtteVZpZGVvLnBs YXkoKX07alF1ZXJ5KCIjb3ZlcmxheVZpZGVvUGxheUJ1dHRvbiIpLmNsaWNrKGZ1 bmN0aW9uKCl7cGxheVZpZGVvKCl9KTtqUXVlcnkoIiN2aWRlb1RpdGxlIikuaHRt bChjbGVhbk51bGwodmlkZW8udGl0bGUpKTtqUXVlcnkoIiN2aWRlb0Rlc2NyaXB0 aW9uIikuaHRtbChjbGVhbk51bGwodmlkZW8uZGVzY3JpcHRpb24pKTtqUXVlcnko IiN2aWRlb0R1cmF0aW9uIikuaHRtbCgiWyIrY29udmVydE1TKHZpZGVvLnZpZGVv W3ZpZGVvVHlwZV0ubGVuZ3RoKSsiXSIpO2pRdWVyeSgiI3ZpZGVvT3duZXIiKS5o dG1sKHZpZGVvLnJlbGVhc2VPd25lcisiJm5ic3A7Jm5ic3A7fCZuYnNwOyZuYnNw OyIrdmlkZW8ucHViRGF0ZS5nZXREYXRlKCkrIiAiK21vbnRoTmFtZSh2aWRlby5w dWJEYXRlLmdldE1vbnRoKCkpKyIgIit2aWRlby5wdWJEYXRlLmdldEZ1bGxZZWFy KCkpO3ZpZGVvUGxheWluZ0d1aWQ9Z3VpZDtpZihhdXRvcGxheSl7cGxheVZpZGVv KCl9fWVsc2V7fX0pfSxzZXRRdWFsaXR5OmZ1bmN0aW9uKHZhbHVlKXt2aWRlb1R5 cGU9dmFsdWU7alF1ZXJ5KCIjdmlkZW9RdWFsaXR5IikucmVtb3ZlQ2xhc3MoInRo cmVlZyIpLnJlbW92ZUNsYXNzKCJ3aWZpIikucmVtb3ZlQ2xhc3MoImF1dG8iKTtq UXVlcnkoIiN2aWRlb1F1YWxpdHkiKS5hZGRDbGFzcyh2YWx1ZSk7dmFyIHByZXZU eXBlPXBDb29raWUuZ2V0KHZpZGVvUXVhbGl0eUNvb2tpZU5hbWUpO2lmKHByZXZU eXBlIT12aWRlb1R5cGUpe3NlbGYubG9hZFZpZGVvKHZpZGVvUGxheWluZ0d1aWQs dHJ1ZSl9cENvb2tpZS5zZXQodmlkZW9RdWFsaXR5Q29va2llTmFtZSx2aWRlb1R5 cGUpfSxjaGVja0hhc2g6ZnVuY3Rpb24oKXt2YXIgaGFzaFZhbHVlPXdpbmRvdy5s b2NhdGlvbi5oYXNoO2hhc2hWYWx1ZT1oYXNoVmFsdWUucmVwbGFjZSgiIyIsIiIp O2lmKHByZXZpb3VzSGFzaCE9aGFzaFZhbHVlKXtwcmV2aW91c0hhc2g9aGFzaFZh bHVlO2pRdWVyeS5zY3JvbGxUbygwLDEwMDApO3NlbGYubG9hZFZpZGVvKGhhc2hW YWx1ZSx0cnVlKX19fTtyZXR1cm4gc2VsZn07 ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=base-modules-concat-min.js Content-Type: application/x-javascript; name=base-modules-concat-min.js Content-Location: http://resources1.news.com.au/cs/network/js/library/base-modules-concat-min.js Content-Transfer-Encoding: Base64 KGZ1bmN0aW9uKGIpe3ZhciBhPWI7Yi5mbi5uQWNjb3JkaW9uVGFibGU9ZnVuY3Rp b24oYyl7Yih0aGlzKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGc9Yi5leHRlbmQoe2hh bmRsZToiLmpzLWFjYy1oYW5kbGUiLGNvbnRlbnQ6Ii5qcy1hY2MtY29udGVudCIs b3BlbkNsYXNzOiJqcy1hY2Mtb3BlbiIsY2xvc2VkQ2xhc3M6ImpzLWFjYy1jbG9z ZWQiLGhhbmRsZU9wZW5DbGFzczoianMtYWNjLWhhbmRsZS1vcGVuIixob3ZlckNs YXNzOiJqcy1ob3ZlciIsbW91c2VPdXRUaW1lb3V0OjEwMDAsZGVsYXk6MjAwMCxk dXJhdGlvbjo1MDAsZWFzaW5nOiJzd2luZyIsbWluSGVpZ2h0OjAsZml4ZWRIZWln aHQ6MCxjbGlja2FibGVDb250ZW50OnRydWUsYXV0b21hdGljOmZhbHNlfSxjfHx7 fSk7dmFyIG09Yih0aGlzKTt2YXIgaj1iKHRoaXMpLmZpbmQoIi4iK2cub3BlbkNs YXNzKTt2YXIgcD1mYWxzZTt2YXIgaz10cnVlO3ZhciBpO2lmKCFnLmZpeGVkSGVp Z2h0fHxnLmZpeGVkSGVpZ2h0PDEpe3ZhciBuPWZ1bmN0aW9uKCl7dmFyIHE9Zy5t aW5IZWlnaHR8fDA7bS5maW5kKGcuY29udGVudCkuZWFjaChmdW5jdGlvbigpe2lm KGIodGhpcykuaGVpZ2h0KCk+cSl7cT1iKHRoaXMpLmhlaWdodCgpfX0pO3JldHVy biBxfTtnLmZpeGVkSGVpZ2h0PW4oKX1iKHRoaXMpLmZpbmQoZy5jb250ZW50KS5l YWNoKGZ1bmN0aW9uKCl7dmFyIHE9Yih0aGlzKTtpZihxLmhhc0NsYXNzKGcuY2xv c2VkQ2xhc3MpKXtxLmNzcygiaGVpZ2h0IiwiMHB4Iil9ZWxzZXtxLmNzcygiaGVp Z2h0IixnLmZpeGVkSGVpZ2h0KyJweCIpfXEuY3NzKCJvdmVyZmxvdyIsImhpZGRl biIpfSk7Yih0aGlzKS5maW5kKGcuaGFuZGxlKS5jbGljayhmdW5jdGlvbigpe2lm KHA9PT10cnVlKXtyZXR1cm4gZmFsc2V9ZWxzZXtlKCk7dmFyIHE9Yih0aGlzKS5u ZXh0KCkuZmluZChnLmNvbnRlbnQpO2lmKHEuaGFzQ2xhc3MoZy5jbG9zZWRDbGFz cykpe2QocSl9ZWxzZXtoKGZhbHNlKX1yZXR1cm4gZmFsc2V9fSk7aWYoZy5jbGlj a2FibGVDb250ZW50KXtiKHRoaXMpLmZpbmQoZy5jb250ZW50KS5jbGljayhmdW5j dGlvbigpe2lmKHA9PT10cnVlKXtyZXR1cm4gZmFsc2V9ZWxzZXtoKGZhbHNlKX19 KX1iKHRoaXMpLmhvdmVyKGZ1bmN0aW9uKCl7ZSgpfSxmdW5jdGlvbigpe2UoKTtj dXJyZW50RWxlbWVudD10aGlzO2lmKHA9PT10cnVlKXtrPXRydWV9ZWxzZXtpZihn LmF1dG9tYXRpYz09PXRydWUpe2YoKX19fSk7dmFyIGY9ZnVuY3Rpb24oKXtpPXNl dFRpbWVvdXQoaCxnLm1vdXNlT3V0VGltZW91dCxqKX07dmFyIGU9ZnVuY3Rpb24o KXtrPWZhbHNlO2NsZWFyVGltZW91dChpKX07dmFyIGg9ZnVuY3Rpb24ocil7aWYo cj09PWZhbHNlKXtrPWZhbHNlfWVsc2V7az10cnVlfXZhciBxPWoucGFyZW50KCku cGFyZW50KCkubmV4dEFsbCgpLmZpbmQoZy5jb250ZW50KS5lcSgwKTtpZihxLmh0 bWwoKSl7ZChxKX1lbHNle2QobS5maW5kKGcuY29udGVudCsiOmZpcnN0IikpfX07 dmFyIGQ9ZnVuY3Rpb24ocil7dmFyIHE9ajtyLnJlbW92ZUNsYXNzKGcuY2xvc2Vk Q2xhc3MpO3IuYWRkQ2xhc3MoZy5vcGVuQ2xhc3MpO3IucGFyZW50KCkucGFyZW50 KCkucHJldigpLmFkZENsYXNzKGcuaGFuZGxlT3BlbkNsYXNzKTtwPXRydWU7ci5h bmltYXRlKHtoZWlnaHQ6Zy5maXhlZEhlaWdodCsicHgifSx7c3RlcDpmdW5jdGlv bihzKXtsKHMscSl9LGR1cmF0aW9uOmcuZHVyYXRpb24sZWFzaW5nOmcuZWFzaW5n LGNvbXBsZXRlOmZ1bmN0aW9uKCl7cD1mYWxzZTtvKCl9fSk7aj1yfTt2YXIgbz1m dW5jdGlvbigpe2lmKGs9PT10cnVlJiZnLmF1dG9tYXRpYz09PXRydWUpe2k9c2V0 VGltZW91dChoLGcuZGVsYXkpfWVsc2V7cmV0dXJuIGZhbHNlfX07dmFyIGw9ZnVu Y3Rpb24ocSxyKXtpZihhLmJyb3dzZXIubXNpZXx8YS5icm93c2VyLm9wZXJhKXtx PU1hdGguZmxvb3IocSl9ci5jc3MoImhlaWdodCIsKGcuZml4ZWRIZWlnaHQtcSkr InB4Iik7ci5yZW1vdmVDbGFzcyhnLm9wZW5DbGFzcyk7ci5wYXJlbnQoKS5wYXJl bnQoKS5wcmV2KCkucmVtb3ZlQ2xhc3MoZy5oYW5kbGVPcGVuQ2xhc3MpO3IuYWRk Q2xhc3MoZy5jbG9zZWRDbGFzcyl9O2IodGhpcykuZmluZChnLmhhbmRsZSkuaG92 ZXIoZnVuY3Rpb24oKXtiKHRoaXMpLmFkZENsYXNzKGcuaG92ZXJDbGFzcyl9LGZ1 bmN0aW9uKCl7Yih0aGlzKS5yZW1vdmVDbGFzcyhnLmhvdmVyQ2xhc3MpfSk7aWYo Zy5hdXRvbWF0aWM9PT10cnVlKXtmKCl9fSl9fShuZG0ualF1ZXJ5KSk7KGZ1bmN0 aW9uKGIpe3ZhciBhPWI7Yi5mbi5uQWNjb3JkaW9uPWZ1bmN0aW9uKGMpe2IodGhp cykuZWFjaChmdW5jdGlvbigpe3ZhciBnPWIuZXh0ZW5kKHtoYW5kbGU6Ii5qcy1h Y2MtaGFuZGxlIixjb250ZW50OiIuanMtYWNjLWNvbnRlbnQiLHBhbmVsOiIuanMt YWNjLXBhbmVsIixvcGVuQ2xhc3M6ImpzLWFjYy1vcGVuIixjbG9zZWRDbGFzczoi anMtYWNjLWNsb3NlZCIsaG92ZXJDbGFzczoianMtaG92ZXIiLG1vdXNlT3V0VGlt ZW91dDoxMDAwLGRlbGF5OjIwMDAsZHVyYXRpb246NTAwLGVhc2luZzoic3dpbmci LG1pbkhlaWdodDowLGZpeGVkSGVpZ2h0OjAsY2xpY2thYmxlQ29udGVudDpmYWxz ZSxhdXRvbWF0aWM6ZmFsc2V9LGN8fHt9KTt2YXIgbT1iKHRoaXMpO3ZhciBqPWIo dGhpcykuZmluZCgiLiIrZy5vcGVuQ2xhc3MpO3ZhciBwPWZhbHNlO3ZhciBrPXRy dWU7dmFyIGk7aWYoIWcuZml4ZWRIZWlnaHR8fGcuZml4ZWRIZWlnaHQ8MSl7dmFy IG49ZnVuY3Rpb24oKXt2YXIgcT1nLm1pbkhlaWdodHx8MDttLmZpbmQoZy5jb250 ZW50KS5lYWNoKGZ1bmN0aW9uKCl7aWYoYih0aGlzKS5oZWlnaHQoKT5xKXtxPWIo dGhpcykuaGVpZ2h0KCl9fSk7cmV0dXJuIHF9O2cuZml4ZWRIZWlnaHQ9bigpfWIo dGhpcykuZmluZChnLnBhbmVsKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHE9Yih0aGlz KS5maW5kKGcuY29udGVudCk7aWYoYih0aGlzKS5oYXNDbGFzcyhnLmNsb3NlZENs YXNzKSl7cS5jc3MoImhlaWdodCIsIjBweCIpfWVsc2V7cS5jc3MoImhlaWdodCIs Zy5maXhlZEhlaWdodCsicHgiKX1xLmNzcygib3ZlcmZsb3ciLCJoaWRkZW4iKX0p O2IodGhpcykuZmluZChnLmhhbmRsZSkuZmluZCgiYSIpLmNsaWNrKGZ1bmN0aW9u KCl7aWYocD09PXRydWUpe3JldHVybiBmYWxzZX1lbHNle2UoKTtpZihiKHRoaXMp LnBhcmVudCgpLnBhcmVudCgpLmhhc0NsYXNzKGcuY2xvc2VkQ2xhc3MpKXtkKGIo dGhpcykucGFyZW50KCkucGFyZW50KCkpfWVsc2V7aChmYWxzZSl9cmV0dXJuIGZh bHNlfX0pO2lmKGcuY2xpY2thYmxlQ29udGVudCl7Yih0aGlzKS5maW5kKGcuY29u dGVudCkuY2xpY2soZnVuY3Rpb24oKXtpZihwPT09dHJ1ZSl7cmV0dXJuIGZhbHNl fWVsc2V7aChmYWxzZSl9fSl9Yih0aGlzKS5ob3ZlcihmdW5jdGlvbigpe2UoKX0s ZnVuY3Rpb24oKXtlKCk7Y3VycmVudEVsZW1lbnQ9dGhpcztpZihwPT09dHJ1ZSl7 az10cnVlfWVsc2V7aWYoZy5hdXRvbWF0aWM9PT10cnVlKXtmKCl9fX0pO3ZhciBm PWZ1bmN0aW9uKCl7aT1zZXRUaW1lb3V0KGgsZy5tb3VzZU91dFRpbWVvdXQsail9 O3ZhciBlPWZ1bmN0aW9uKCl7az1mYWxzZTtjbGVhclRpbWVvdXQoaSl9O3ZhciBo PWZ1bmN0aW9uKHEpe2lmKHE9PT1mYWxzZSl7az1mYWxzZX1lbHNle2s9dHJ1ZX1p ZihqLm5leHQoZy5wYW5lbCkuaHRtbCgpKXtkKGoubmV4dChnLnBhbmVsKSl9ZWxz ZXtkKG0uZmluZChnLnBhbmVsKyI6Zmlyc3QiKSl9fTt2YXIgZD1mdW5jdGlvbihy KXt2YXIgcT1yLnBhcmVudCgpLmZpbmQoIi4iK2cub3BlbkNsYXNzKTtyLnJlbW92 ZUNsYXNzKGcuY2xvc2VkQ2xhc3MpO3IuYWRkQ2xhc3MoZy5vcGVuQ2xhc3MpO3A9 dHJ1ZTtyLmZpbmQoZy5jb250ZW50KS5hbmltYXRlKHtoZWlnaHQ6Zy5maXhlZEhl aWdodCsicHgifSx7c3RlcDpmdW5jdGlvbihzKXtsKHMscSl9LGR1cmF0aW9uOmcu ZHVyYXRpb24sZWFzaW5nOmcuZWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7cD1m YWxzZTtvKCl9fSk7aj1yfTt2YXIgbz1mdW5jdGlvbigpe2NsZWFyVGltZW91dChp KTtpZihrPT09dHJ1ZSYmZy5hdXRvbWF0aWM9PT10cnVlKXtpPXNldFRpbWVvdXQo aCxnLmRlbGF5KX1lbHNle3JldHVybiBmYWxzZX19O3ZhciBsPWZ1bmN0aW9uKHEs cil7aWYoYi5icm93c2VyLm1zaWV8fGIuYnJvd3Nlci5vcGVyYSl7cT1NYXRoLmZs b29yKHEpfXIuZmluZChnLmNvbnRlbnQpLmNzcygiaGVpZ2h0IiwoZy5maXhlZEhl aWdodC1xKSsicHgiKTtyLnJlbW92ZUNsYXNzKGcub3BlbkNsYXNzKTtyLmFkZENs YXNzKGcuY2xvc2VkQ2xhc3MpfTtiKHRoaXMpLmZpbmQoZy5oYW5kbGUpLmhvdmVy KGZ1bmN0aW9uKCl7Yih0aGlzKS5hZGRDbGFzcyhnLmhvdmVyQ2xhc3MpfSxmdW5j dGlvbigpe2IodGhpcykucmVtb3ZlQ2xhc3MoZy5ob3ZlckNsYXNzKX0pO2lmKGcu YXV0b21hdGljPT09dHJ1ZSl7ZigpfX0pfX0obmRtLmpRdWVyeSkpOyhmdW5jdGlv bihiKXt2YXIgYT1iO2IuZm4uYWpheGNvbnRlbnQ9ZnVuY3Rpb24oYyl7dmFyIGQ9 Yi5leHRlbmQoYi5mbi5hamF4Y29udGVudC5kZWZhdWx0cyxjfHx7fSksZT0wO3Jl dHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgaT1iKHRoaXMpLGc9aS5hdHRy KCJjbGFzc05hbWUiKSxuLGY9aS5wYXJlbnQoKSxqLGg9aS5maW5kKGQuc3JjKS5h dHRyKCJyZWwiKSxsLGssbyxtPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIp O249KGZ1bmN0aW9uKCl7dmFyIHA9Zy5tYXRjaChkLnJlZ2V4VW5pcXVlQ2xhc3Mp O2lmKHApe3JldHVybiBwWzBdfWVsc2V7cmV0dXJuImFqYXhjb250ZW50IitlfX0o KSk7ZT1lKzE7aj1mdW5jdGlvbihwKXtpZihmLmhhc0NsYXNzKCJsb2FkZWQiKT09 PWZhbHNlKXtvKHApfWVsc2V7bCh0cnVlKX1yZXR1cm4gZmFsc2V9O2w9ZnVuY3Rp b24ocCl7Zi5hZGRDbGFzcygib3BlbiIpO2lmKHA9PT10cnVlKXtiKG0pLmFuaW1h dGUoe2hlaWdodDptLmNhY2hlZGhlaWdodH0sMjAwLCJsaW5lYXIiLGZ1bmN0aW9u KCl7YihtKS5jc3Moe2hlaWdodDoiYXV0byJ9KTttLmNhY2hlZGhlaWdodD1iKG0p LmhlaWdodCgpfSl9ZWxzZXtiKG0pLnNob3coKTtiKG0pLmNzcyh7aGVpZ2h0OiJh dXRvIn0pO20uY2FjaGVkaGVpZ2h0PWIobSkuaGVpZ2h0KCl9ZC51c2VycHJlZnMu c2F2ZShuLHtvcGVuOnRydWV9KTtyZXR1cm4gZmFsc2V9O2s9ZnVuY3Rpb24oKXtp ZihkLmFuaW1hdGU9PT10cnVlKXtiKG0pLmFuaW1hdGUoe2hlaWdodDppLmhlaWdo dCgpfSwyMDAsImxpbmVhciIsZnVuY3Rpb24oKXtiKG0pLmhpZGUoKTtmLnJlbW92 ZUNsYXNzKCJvcGVuIil9KX1lbHNle2IobSkuaGlkZSgpO2YucmVtb3ZlQ2xhc3Mo Im9wZW4iKX1kLnVzZXJwcmVmcy5zYXZlKG4se29wZW46ZmFsc2V9KTtyZXR1cm4g ZmFsc2V9O289ZnVuY3Rpb24ocCl7Zi5hZGRDbGFzcygibG9hZGluZyIpO2IuZ2V0 KGgsbnVsbCxmdW5jdGlvbihxKXtmLnJlbW92ZUNsYXNzKCJsb2FkaW5nIikuYWRk Q2xhc3MoImxvYWRlZCIpO20uY2xhc3NOYW1lPWQuYWpheGNvbnRlbnR3cmFwcGVy O2IobSkuaHRtbChiKHEpLmZpbmQoIi5pdGVtIikuaHRtbCgpKTtmLmFwcGVuZCht KTttLmNhY2hlZGhlaWdodD1iKG0pLmhlaWdodCgpO2IobSkuaGVpZ2h0KGkuaGVp Z2h0KCkpO2IobSkuaGlkZSgpO2IobSkuZmluZChkLmNsb3NldHJpZ2dlcnMpLmNs aWNrKGspO2IoaSkudHJpZ2dlcigiYWpheGNvbnRlbnRsb2FkZWQiLFttXSk7cCgp fSwiaHRtbCIpfTtiKHRoaXMpLmZpbmQoZC50cmlnZ2VycykuY2xpY2soZnVuY3Rp b24oKXtqKGZ1bmN0aW9uKCl7bCh0cnVlKX0pO3JldHVybiBmYWxzZX0pO2lmKGQu YXV0b2xvYWQ9PT10cnVlfHxkLnVzZXJwcmVmcy5sb2FkKG4sIm9wZW4iKT09PXRy dWUpe2YuYWRkQ2xhc3MoImF1dG9sb2FkIik7aihmdW5jdGlvbigpe2woZmFsc2Up fSl9fSl9O2IuZm4uYWpheGNvbnRlbnQuZGVmYXVsdHM9e3RyaWdnZXJzOiIubW9k dWxlLWhlYWRlciIsY2xvc2V0cmlnZ2VyczoiLm1vZHVsZS1oZWFkZXIiLHNyYzoi Lm1vcmUtbGlua3MgYTpmaXJzdC1jaGlsZCIsYXV0b2xvYWQ6ZmFsc2UsYXV0b3No b3c6dHJ1ZSxhbmltYXRlOnRydWUsYWpheGNvbnRlbnR3cmFwcGVyOiJhamF4Y29u dGVudGxvYWRlZCIsdXNlcnByZWZzOntzYXZlOmZ1bmN0aW9uKGQsYyl7fSxsb2Fk OmZ1bmN0aW9uKGMsZCl7cmV0dXJuIGZhbHNlfX0scmVnZXhVbmlxdWVDbGFzczov aWRbMC05XSovfTtiLmZuLmFqYXhjb250ZW50LnVzZXJwcmVmcz1mdW5jdGlvbigp e2lmKHR5cGVvZiB0YW50bz09PSJ1bmRlZmluZWQifHwhdGFudG8uZGIpe3JldHVy bntzYXZlOmZ1bmN0aW9uKGQsYyl7fSxsb2FkOmZ1bmN0aW9uKGMsZCl7cmV0dXJu IGZhbHNlfX19cmV0dXJue3NhdmU6ZnVuY3Rpb24oZCxjKXtpZih0YW50by5kYi5z YXZlKXtjPWIuZXh0ZW5kKGMse19pZDpkfXx8e30pO3RhbnRvLmRiLnNhdmUoYyl9 fSxsb2FkOmZ1bmN0aW9uKGMsZCl7aWYodGFudG8uZGIub3Blbil7dmFyIGU9dGFu dG8uZGIub3BlbihjKTtpZihlJiZlW2RdKXtyZXR1cm4gZVtkXX1yZXR1cm4gZmFs c2V9cmV0dXJuIGZhbHNlfX19fShuZG0ualF1ZXJ5KSk7KGZ1bmN0aW9uKGIpe3Zh ciBhPWI7YS5mbi5hamF4Z2FsbGVyeT1mdW5jdGlvbihjKXtpZih0aGlzLmxlbmd0 aD4wKXt2YXIgZD1hLmV4dGVuZCh7fSxhLmZuLmFqYXhnYWxsZXJ5LmRlZmF1bHRz LGMpO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtpZihhKHRoaXMpLmhhc0Ns YXNzKGQucmVhZHlDbGFzcykpe3JldHVybn12YXIgZT1hKHRoaXMpLGY9e307Zj1h Lm1ldGFkYXRhP2EuZXh0ZW5kKHt9LGQsZS5tZXRhZGF0YSgpKTpkO2YuaWQ9YShm LmlkLGUpLmF0dHIoImhyZWYiKTtmLmlkPXBhcnNlSW50KGYuaWQubWF0Y2goZi5y ZWcpWzBdLnJlcGxhY2UoIi0iLCIiKSwxMCk7aWYoZi5pZD4wKXtmLnVybD1mLnVy bC5yZXBsYWNlKC9jaWQ9WzAtOV17MSx9L2csImNpZD0iK2YuaWQpO2YudXJsPWYu dXJsLnJlcGxhY2UoL3BhZ2U9WzAtOV17MSx9L2csInBhZ2U9IisxKTtmLiR0aGlz PWU7YS5mbi5hamF4Z2FsbGVyeS5yZXF1ZXN0KGYpfWVsc2V7cmV0dXJufX0pLmFk ZENsYXNzKGQucmVhZHlDbGFzcyl9fTthLmZuLmFqYXhnYWxsZXJ5LnJlcXVlc3Q9 ZnVuY3Rpb24oZSl7dmFyIGM9ZS51cmwsZD1lLnVybHByZWZpeHx8IiI7aWYoZS5w cm94eSl7Yz1lLnByb3h5K2VuY29kZVVSSUNvbXBvbmVudChkK2MpfWEuYWpheCh7 dXJsOmMsZGF0YVR5cGU6Imh0bWwiLGVycm9yOmZ1bmN0aW9uKGYpe30sc3VjY2Vz czpmdW5jdGlvbihmKXtpZihlLmNhbGxiYWNrJiZ0eXBlb2YgZS5jYWxsYmFjaz09 PSJmdW5jdGlvbiIpe2UuY2FsbGJhY2soZSxmKX1lbHNle2EuZm4uYWpheGdhbGxl cnkuY2FsbGJhY2soZSxmKX19fSl9O2EuZm4uYWpheGdhbGxlcnkuY2FsbGJhY2s9 ZnVuY3Rpb24oZCxmKXt2YXIgbCxnLGosaSxjLGssZSxoO2w9bD1hKCgoZC5nYWxs ZXJ5Q29udGFpbmVyKT9kLmdhbGxlcnlDb250YWluZXI6ZC5jb250YWluZXIpLGQu JHRoaXMpO2Y9YShkLmNvbnRhaW5lcixmKS5jaGlsZHJlbigpO2EoImxpIixmKS5h dHRyKCJpZCIsZnVuY3Rpb24oKXt0aGlzLmNsYXNzTmFtZT10aGlzLmlkO3RoaXMu aWQ9IiJ9KTtqPWEoIi5kaXNhYmxlZCIsZik7aWYoai5sZW5ndGg+MCl7aT1hKCIu cGFnaW5hdGlvbiIsZikuaHRtbCgpLm1hdGNoKC9bMC05XXsxLH0kLylbMF18fDA7 aWYoai5wYXJlbnQoKS5oYXNDbGFzcygibmV4dCIpKXtpPTF9Yz1hKCI8YT4iKS5h dHRyKHtocmVmOmQudXJsLnJlcGxhY2UoL3BhZ2U9WzAtOV17MSx9L2csInBhZ2U9 IitpKX0pLmh0bWwoai5odG1sKCkpO2oucmVtb3ZlQ2xhc3MoKS5odG1sKCIiKS5h cHBlbmQoYyl9YSgiYSIsZikuYXR0cigiaHJlZiIsZnVuY3Rpb24oKXt2YXIgbT0i IixuPSIiLG89IiI7bT1hKHRoaXMpLmF0dHIoImhyZWYiKS5yZXBsYWNlKGQudXJs cHJlZml4LCIiKTtpZihhLmJyb3dzZXIubXNpZSl7bT1tLnJlcGxhY2UoImh0dHA6 Ly8iK3dpbmRvdy5sb2NhdGlvbi5ob3N0LCIiKX1uPW0ubWF0Y2goL3BhZ2U9WzAt OV17MSx9L2cpWzBdO289bS5tYXRjaCgvY2lkPVswLTldezEsfS9nKVswXTttPWQu dXJsLnJlcGxhY2UoL2NpZD1bMC05XXsxLH0vZyxvKTttPWQudXJsLnJlcGxhY2Uo L3BhZ2U9WzAtOV17MSx9L2csbik7dGhpcy5yZWw9bTt0aGlzLmhyZWY9IiMifSku YmluZCgiY2xpY2siLGZ1bmN0aW9uKCl7ZC51cmw9YSh0aGlzKS5hdHRyKCJyZWwi KTthLmZuLmFqYXhnYWxsZXJ5LnJlcXVlc3QoZCk7cmV0dXJuIGZhbHNlfSk7aWYo YSgiaW1nIixmKS5sZW5ndGg+MCl7Zz1hKCJpbWciLGYpO2lmKCFhLmJyb3dzZXIu bXNpZSl7ZT1nLmF0dHIoImhlaWdodCIpO2g9Zy5hdHRyKCJ3aWR0aCIpO2s9YS5m bi5hamF4Z2FsbGVyeS5zY2FsZShsLndpZHRoKCksZSxoLGUpO2cuY3NzKHtvcGFj aXR5OjAsdmlzaWJpbGl0eToidmlzaWJsZSJ9KS5hdHRyKHt3aWR0aDprLndpZHRo LGhlaWdodDprLmhlaWdodH0pLmNzcyh7Im1hcmdpbi10b3AiOigoZC5tYXhIZWln aHQtay5oZWlnaHQpLzIpKyJweCJ9KS5hbmltYXRlKHtvcGFjaXR5OjF9KX1lbHNl e2cuY3NzKCJ2aXNpYmlsaXR5IiwiaGlkZGVuIikubG9hZChmdW5jdGlvbigpe3Zh ciBtPWEodGhpcyk7ZT1tLmF0dHIoImhlaWdodCIpO2g9bS5hdHRyKCJ3aWR0aCIp O2s9YS5mbi5hamF4Z2FsbGVyeS5zY2FsZShsLndpZHRoKCksZSxoLGUpO20uYXR0 cih7d2lkdGg6ay53aWR0aCxoZWlnaHQ6ay5oZWlnaHR9KS5jc3Moe21hcmdpbjoo KGQubWF4SGVpZ2h0LWsuaGVpZ2h0KS8yKSsicHggMCAwIDAiLHZpc2liaWxpdHk6 InZpc2libGUifSl9KX1sLmh0bWwoIiIpLmFwcGVuZChmKX19O2EuZm4uYWpheGdh bGxlcnkuc2NhbGU9ZnVuY3Rpb24oZyxkLGYsYyl7dmFyIGU9MDtpZihmPmcpe2U9 Zy9mO2Y9ZztjPU1hdGgucm91bmQoYyplKX1lbHNle2lmKGM+ZCl7ZT1kL2M7Yz1k O2Y9TWF0aC5yb3VuZChmKmUpfX1yZXR1cm57d2lkdGg6ZixoZWlnaHQ6Y319O2Eu Zm4uYWpheGdhbGxlcnkuZGVmYXVsdHM9e2lkOiIuaGVhZGluZyBhIixjb250YWlu ZXI6Ii5tb2R1bGUtY29udGVudCIscmVnOi8oPyFnYWxsZXJ5LVthLXpBLVpcczAt OV0rKS0oWzAtOV17MSwxM30pL2dpLHVybDoiL2NzL1NhdGVsbGl0ZT9jaWQ9MCZw YWdlbmFtZT1Gb3VuZGF0aW9uJTJGTmV3c19SaWNoX01lZGlhJTJGRkROaWZyYW1l JnBhZ2U9MCIsbWF4V2lkdGg6NjUwLG1heEhlaWdodDo0MzMscmVhZHlDbGFzczoi anMtcmVhZHkifX0obmRtLmpRdWVyeSkpOyhmdW5jdGlvbihiKXt2YXIgYT1iO2Iu Zm4uYXV0b3Njcm9sbD1mdW5jdGlvbihxKXt2YXIgayxlPWZhbHNlLGksbz17eDow LHk6MH0sbSxwPWZhbHNlLGosYyxsLGc9Im5vbmUiLG4sZixkPXt9LGg9e307az1i LmV4dGVuZCh7YXJlYUhlaWdodDozMCxhcmVhTWFyZ2luOjEwLHN0YXJ0U2Nyb2xs OmZ1bmN0aW9uKCl7fSxzdG9wU2Nyb2xsOmZ1bmN0aW9uKCl7fSx3aGlsZVNjcm9s bDpmdW5jdGlvbigpe30sc2Nyb2xsU3BlZWQ6MjB9LHF8fHt9KTtoLmFsbG93PWZ1 bmN0aW9uKHIpe2U9cn07Yihkb2N1bWVudCkubW91c2Vtb3ZlKGZ1bmN0aW9uKHIp e2lmKGU9PT1mYWxzZSl7cmV0dXJufW8ueD1yLnBhZ2VYO28ueT1yLnBhZ2VZO20o KX0pO209ZnVuY3Rpb24oKXtkLmxvZygiQXV0b3Njcm9sbCA6IGNoZWNrU2Nyb2xs IDogY2FsbGVkIGFsbG93IitlKTtpZihlPT09ZmFsc2Upe3JldHVybn12YXIgdSxy LHMsdDt1PWIod2luZG93KS5oZWlnaHQoKTtyPWIod2luZG93KS5zY3JvbGxUb3Ao KTtzPW8ueS1yO3Q9KHIrdSktby55O2lmKHM8MTAwfHx0PDEwMCl7aWYoczwxMDAm JmchPT0idXAiKXtkLmxvZygiQXV0b3Njcm9sbCA6IHNldHRpbmcgc2Nyb2xsIHRv IHVwIik7Zz0idXAiO2MoKX1lbHNle2lmKHQ8MTAwJiZnIT09ImRvd24iKXtkLmxv ZygiQXV0b3Njcm9sbCA6IHNldHRpbmcgc2Nyb2xsIHRvIGRvd24iKTtnPSJkb3du IjtjKCl9fX1lbHNle2lmKGchPT0ibm9uZSIpe2QubG9nKCJBdXRvc2Nyb2xsIDog c2V0dGluZyBzY3JvbGwgdG8gbm9uZSIpO2c9Im5vbmUiO2ooKX19fTtjPWZ1bmN0 aW9uKCl7ZC5sb2coIkF1dG9zY3JvbGwgOiBzdGFydFNjcm9sbCA6IGNhbGxlZCIp O3A9dHJ1ZTtuKCl9O2o9ZnVuY3Rpb24oKXtkLmxvZygiQXV0b3Njcm9sbCA6IHN0 b3BTY3JvbGwgOiBjYWxsZWQiKTtwPWZhbHNlO2NsZWFyVGltZW91dChmKTtrLnN0 b3BTY3JvbGwoKX07bj1mdW5jdGlvbigpe2lmKGU9PT10cnVlKXtsKGcpO2Y9c2V0 VGltZW91dChuLDEpfX07bD1mdW5jdGlvbihyKXtkLmxvZygiQXV0b3Njcm9sbCA6 IHNjcm9sbCA6IGNhbGxlZCIpO2lmKHI9PT0idXAiKXtiKGRvY3VtZW50KS5zY3Jv bGxUb3AoYih3aW5kb3cpLnNjcm9sbFRvcCgpLWsuc2Nyb2xsU3BlZWQpfWVsc2V7 aWYocj09PSJkb3duIil7Yihkb2N1bWVudCkuc2Nyb2xsVG9wKGIod2luZG93KS5z Y3JvbGxUb3AoKStrLnNjcm9sbFNwZWVkKX19ay53aGlsZVNjcm9sbCgpfTtkLmxv Zz1mdW5jdGlvbihyKXtpZih3aW5kb3cubG9jYXRpb24uaGFzaD09PSIjZGVidWdh bGwifHx3aW5kb3cubG9jYXRpb24uaGFzaD09PSIjZGVidWdhdXRvc2Nyb2xsIil7 Y29uc29sZS5sb2cocil9fTtyZXR1cm57c3RhcnQ6ZnVuY3Rpb24oKXtrLnN0YXJ0 U2Nyb2xsKCk7aC5hbGxvdyh0cnVlKX0sc3RvcDpmdW5jdGlvbigpe2guYWxsb3co ZmFsc2UpO2suc3RvcFNjcm9sbCgpfX19fShuZG0ualF1ZXJ5KSk7KGZ1bmN0aW9u KGEpe2EuZm4uYnJhbmRleHBhbmRlcj1mdW5jdGlvbihiKXt2YXIgZSxkLGM9e307 ZT17cmVhZHlzdGF0ZToiYnJhbmRleHBhbmRlci1yZWFkeSIsbGlua292ZXJyaWRl OnRydWUsdG9nZ2xlOmZhbHNlLHVzZW1vcmVsaW5rczpmYWxzZSxwZXJzaXN0OmZh bHNlLHRyYWNraW5nOntwcmVmaXg6ImJlIixwYWdlaW1wcmVzc2lvbnM6ZmFsc2Us b25leHBhbmQ6ZmFsc2Usb25jb2xsYXBzZTpmYWxzZSx1cmxwYXJhbTpmYWxzZX0s dXNlcnByZWZzOmEuZm4uYnJhbmRleHBhbmRlci51c2VycHJlZnMoKX07dGhpcy5l YWNoKGZ1bmN0aW9uKCl7dmFyIGksaD10aGlzLGcsZjtiPWEubWV0YWRhdGE/YS5l eHRlbmQoe30sYixhKHRoaXMpLm1ldGFkYXRhKCkpOmI7ZD1hLmV4dGVuZCh0cnVl LGQsZSxifHx7fSk7Zz1mdW5jdGlvbihqKXtpZigodHlwZW9mIFRSQUtUUikhPT0i dW5kZWZpbmVkIil7VFJBS1RSLmV2ZW50KHt0eXBlOiJjbGljayIsY29udHlwOiJt dWx0aW1lZGlhIixldjpqfSl9fTtmPWZ1bmN0aW9uKGope2lmKCh0eXBlb2YgTkRN VFJBQ0spIT09InVuZGVmaW5lZCIpe05ETVRSQUNLKHt0cmFja2luZ0V2ZW50OiJz bGlkZSIsdHJhY2tpbmdJRDpqLGNvbnRlbnRUeXBlOiJtdWx0aW1lZGlhIn0pfX07 aT1mdW5jdGlvbihqKXt2YXIgbyxsLGs9e30sbT17fSxuPSIiO289e3R5cGU6bnVs bCx0cmlnZ2VyaG92ZXI6bnVsbCx0cmlnZ2VyZXhwYW5kOm51bGwsdHJpZ2dlcmNv bGxhcHNlOm51bGx9O249L3RleHQtW218Z10tW2EtekEtWjAtOVwtXSsvLmV4ZWMo YShoKS5hdHRyKCJjbGFzcyIpKTtpZihuLmxlbmd0aCl7bj1uWzBdLnJlcGxhY2Uo L3RleHQtW218Z10tLywiIil9bD1hLmV4dGVuZChvLGp8fHt9KTsoZnVuY3Rpb24o KXtpZihhKGgpLmhhc0NsYXNzKCJicmFuZGV4cGFuZGVyLWV4cGFuZGVkIikpe20u ZXhwYW5kZWQ9dHJ1ZX1lbHNle20uZXhwYW5kZWQ9ZmFsc2V9aWYoZC5wZXJzaXN0 PT09dHJ1ZSl7bS5leHBhbmRlZD1kLnVzZXJwcmVmcy5sb2FkKG4sImV4cGFuZGVk Iik7aWYobS5leHBhbmRlZD09PXRydWUpe2EoaCkuYWRkQ2xhc3MoImJyYW5kZXhw YW5kZXItZXhwYW5kZWQiKX1lbHNle2EoaCkucmVtb3ZlQ2xhc3MoImJyYW5kZXhw YW5kZXItZXhwYW5kZWQiKX19fSgpKTtrLmhvdmVyT3Zlcj1mdW5jdGlvbigpe2Eo aCkuYWRkQ2xhc3MoImJyYW5kZXhwYW5kZXItaG92ZXIiKX07ay5ob3Zlck91dD1m dW5jdGlvbigpe2EoaCkucmVtb3ZlQ2xhc3MoImJyYW5kZXhwYW5kZXItaG92ZXIi KX07ay5leHBhbmQ9ZnVuY3Rpb24oKXtpZihtLmV4cGFuZGVkPT09ZmFsc2Upe2Eo aCkuYWRkQ2xhc3MoImJyYW5kZXhwYW5kZXItZXhwYW5kZWQiKTttLmV4cGFuZGVk PXRydWU7aWYoZC50cmFja2luZy5wYWdlaW1wcmVzc2lvbnM9PT10cnVlKXtmKGQu dHJhY2tpbmcucHJlZml4KyItIituKyItZXhwYW5kIil9ZWxzZXtpZihkLnRyYWNr aW5nLm9uZXhwYW5kPT09dHJ1ZSl7ZyhkLnRyYWNraW5nLnByZWZpeCsiLSIrbisi LWV4cGFuZCIpfX1hKGgpLnRyaWdnZXIoIm9uZXhwYW5kIil9ZC51c2VycHJlZnMu c2F2ZShuLG0pfTtrLmNvbGxhcHNlPWZ1bmN0aW9uKCl7aWYobS5leHBhbmRlZD09 PXRydWUpe2EoaCkucmVtb3ZlQ2xhc3MoImJyYW5kZXhwYW5kZXItZXhwYW5kZWQi KTttLmV4cGFuZGVkPWZhbHNlO2lmKGQudHJhY2tpbmcub25jb2xsYXBzZT09PXRy dWUpe2coZC50cmFja2luZy5wcmVmaXgrIi0iK24rIi1jb2xsYXBzZSIpfWEoaCku dHJpZ2dlcigib25jb2xsYXBzZSIpfWQudXNlcnByZWZzLnNhdmUobixtKTtyZXR1 cm4gZmFsc2V9O2suZXhwYW5kdG9nZ2xlPWZ1bmN0aW9uKCl7aWYobS5leHBhbmRl ZD09PXRydWUpe2suY29sbGFwc2UoKX1lbHNle2suZXhwYW5kKCl9cmV0dXJuIGZh bHNlfTthKGgpLmFkZENsYXNzKGQucmVhZHlzdGF0ZSsiICIrZC5yZWFkeXN0YXRl KyItIitsLnR5cGUpO2lmKCFhKGgpLmZpbmQobC50cmlnZ2VyY29sbGFwc2UpLmxl bmd0aCl7YShoKS5maW5kKCIuIitsLnR5cGUrIi1oZWFkZXIiKS5hcHBlbmQoJzx1 bCBjbGFzcz0ibW9yZS1saW5rcyI+PGxpIGNsYXNzPSJjb2xsYXBzZSI+PGEgaHJl Zj0iIyI+Q2xvc2U8L2E+PC9saT48L3VsPicpO2wudHJpZ2dlcmNvbGxhcHNlPSIu IitsLnR5cGUrIi1oZWFkZXIgLm1vcmUtbGlua3MgbGkgYSJ9aWYobC50cmlnZ2Vy aG92ZXIpe2EoaCkuZmluZChsLnRyaWdnZXJob3ZlcikuaG92ZXIoay5ob3Zlck92 ZXIsay5ob3Zlck91dCl9ZWxzZXthKGgpLmhvdmVyKGsuaG92ZXJPdmVyLGsuaG92 ZXJPdXQpfWlmKGwudHJpZ2dlcmV4cGFuZD09PWwudHJpZ2dlcmNvbGxhcHNlKXtp ZihsLnRyaWdnZXJleHBhbmQpe2EoaCkuZmluZChsLnRyaWdnZXJleHBhbmQpLmNs aWNrKGsuZXhwYW5kdG9nZ2xlKX1lbHNle2EoaCkuY2xpY2soay5leHBhbmR0b2dn bGUpfX1lbHNle2lmKGwudHJpZ2dlcmV4cGFuZCl7YShoKS5maW5kKGwudHJpZ2dl cmV4cGFuZCkuYmluZCgiY2xpY2siLGsuZXhwYW5kKX1lbHNle2EoaCkuYmluZCgi Y2xpY2siLGsuZXhwYW5kKX1pZihsLnRyaWdnZXJjb2xsYXBzZSl7YShoKS5maW5k KGwudHJpZ2dlcmNvbGxhcHNlKS5iaW5kKCJjbGljayIsay5jb2xsYXBzZSl9ZWxz ZXthKGgpLmJpbmQoImNsaWNrIixrLmNvbGxhcHNlKX19aWYoZC5saW5rb3ZlcnJp ZGU9PT10cnVlKXthKGgpLmZpbmQoIi4iK2wudHlwZSsiLWNvbnRlbnQgYSIpLmJp bmQoImNsaWNrIixmdW5jdGlvbigpe2lmKG0uZXhwYW5kZWQ9PT1mYWxzZSl7ay5l eHBhbmQoKTtyZXR1cm4gZmFsc2V9fSl9fTtpZihkLnVzZW1vcmVsaW5rcz09PXRy dWUpe2MuZXhwYW5kPSIgLm1vcmUtbGlua3MgbGkuY29sbGFwc2UgYSI7Yy5jb2xs YXBzZT0iIC5tb3JlLWxpbmtzIGxpLmNvbGxhcHNlIGEifWVsc2V7Yy5leHBhbmQ9 IiI7Yy5jb2xsYXBzZT0iIC5tb3JlLWxpbmtzIGxpLmNvbGxhcHNlIGEifWlmKGQu dG9nZ2xlPT09dHJ1ZSl7Yy5jb2xsYXBzZT1jLmV4cGFuZH1pZihhKHRoaXMpLmhh c0NsYXNzKCJtb2R1bGUiKSl7aSh7dHlwZToibW9kdWxlIix0cmlnZ2VyaG92ZXI6 Ii5tb2R1bGUtaGVhZGVyIix0cmlnZ2VyZXhwYW5kOiIubW9kdWxlLWhlYWRlciIr Yy5leHBhbmQsdHJpZ2dlcmNvbGxhcHNlOiIubW9kdWxlLWhlYWRlciIrYy5jb2xs YXBzZX0pfWVsc2V7aWYoYSh0aGlzKS5oYXNDbGFzcygiZ3JvdXAiKSl7aSh7dHlw ZToiZ3JvdXAiLHRyaWdnZXJob3ZlcjoiLmdyb3VwLWhlYWRlciIsdHJpZ2dlcmV4 cGFuZDoiLmdyb3VwLWhlYWRlciIrYy5leHBhbmQsdHJpZ2dlcmNvbGxhcHNlOiIu Z3JvdXAtaGVhZGVyIitjLmNvbGxhcHNlfSl9ZWxzZXt9fX0pO3JldHVybiB0aGlz fTthLmZuLmJyYW5kZXhwYW5kZXIudXNlcnByZWZzPWZ1bmN0aW9uKCl7aWYodHlw ZW9mIHRhbnRvPT09InVuZGVmaW5lZCJ8fCF0YW50by5kYil7cmV0dXJue3NhdmU6 ZnVuY3Rpb24oYyxiKXt9LGxvYWQ6ZnVuY3Rpb24oYixjKXtyZXR1cm4gZmFsc2V9 fX1yZXR1cm57c2F2ZTpmdW5jdGlvbihjLGIpe2lmKHRhbnRvLmRiLnNhdmUpe2I9 alF1ZXJ5LmV4dGVuZChiLHtfaWQ6Y318fHt9KTt0YW50by5kYi5zYXZlKGIpfX0s bG9hZDpmdW5jdGlvbihiLGMpe2lmKHRhbnRvLmRiLm9wZW4pe3ZhciBkPXRhbnRv LmRiLm9wZW4oYik7aWYoZCYmZFtjXSl7cmV0dXJuIGRbY119cmV0dXJuIGZhbHNl fXJldHVybiBmYWxzZX19fX0obmRtLmpRdWVyeSkpOyhmdW5jdGlvbihiKXt2YXIg YT1iO2IuZm4ubkNsaWNrYWJsZUNvbnRlbnQ9ZnVuY3Rpb24oYyl7Yih0aGlzKS5l YWNoKGZ1bmN0aW9uKCl7dmFyIGQ9Yi5leHRlbmQoe2NsaWNrVVJMTm9kZToiLmpz LWNsaWNrYWJsZS1saW5rIixjb250cm9sQ2xhc3M6ImpzLWNsaWNrYWJsZS1jb250 ZW50Iixob3ZlckNsYXNzOiJqcy1jbGlja2FibGUtaG92ZXIifSxjfHx7fSk7dmFy IGU7aWYoYih0aGlzKS5maW5kKGQuY2xpY2tVUkxOb2RlKS5sZW5ndGg+MCl7ZT1i KHRoaXMpLmZpbmQoZC5jbGlja1VSTE5vZGUpLmF0dHIoImhyZWYiKX1lbHNle2lm KGIodGhpcykuZmluZCgiLmhlYWRpbmcgYSIpLmxlbmd0aD4wKXtlPWIodGhpcyku ZmluZCgiLmhlYWRpbmcgYSIpLmF0dHIoImhyZWYiKX1lbHNle2lmKGIodGhpcyku ZmluZCgiYSIpLmxlbmd0aD4wKXtlPWIodGhpcykuZmluZCgiYSIpLmF0dHIoImhy ZWYiKX19fWlmKGUpe2IodGhpcykuZmluZChkLmNsaWNrVVJMTm9kZSkucmVtb3Zl KCk7Yih0aGlzKS5nZXQoMCkub25jbGljaz1mdW5jdGlvbigpe3dpbmRvdy5sb2Nh dGlvbj1lfTtiKHRoaXMpLmhvdmVyKGZ1bmN0aW9uKCl7Yih0aGlzKS5hZGRDbGFz cyhkLmhvdmVyQ2xhc3MpfSxmdW5jdGlvbigpe2IodGhpcykucmVtb3ZlQ2xhc3Mo ZC5ob3ZlckNsYXNzKX0pfWVsc2V7Yih0aGlzKS5yZW1vdmVDbGFzcyhkLmNvbnRy b2xDbGFzcyl9fSl9fShuZG0ualF1ZXJ5KSk7KGZ1bmN0aW9uKGIpe3ZhciBhPWI7 Yi5mbi5jb21tZW50cz1mdW5jdGlvbihkKXt2YXIgZTt2YXIgYz1iKCIjbW9kdWxl LWNvbW1lbnQtYWRkLWZvcm0gZmllbGRzZXQuYWRkaXRpb25hbC1pbmZvcm1hdGlv biIpO3ZhciBmO3ZhciBnPTEyMDA7ZT0ibW9kdWxlLWNvbW1lbnQtYWRkLWZvcm0t aWZyYW1lIjtiKCIjbW9kdWxlLWNvbW1lbnQtYWRkLWZvcm0iKS5maW5kKCIuZm9y bS1pdGVtLXN1Ym1pdCIpLmFmdGVyKCc8aWZyYW1lIGlkPSInK2UrJyIgbmFtZT0i JytlKyciIGZyYW1lYm9yZGVyPSIwIj48L2lmcmFtZT4nKTtiKCIjbW9kdWxlLWNv bW1lbnQtYWRkLWZvcm0iKS5hdHRyKCJ0YXJnZXQiLGUpO2IoIiNtb2R1bGUtY29t bWVudC1hZGQtZm9ybSBmaWVsZHNldC5hZGRpdGlvbmFsLWluZm9ybWF0aW9uIiku YWRkQ2xhc3MoImFzc2lzdGl2ZSIpO2IoIiNtb2R1bGUtY29tbWVudC1hZGQtZm9y bSB0ZXh0YXJlYSIpLmZvY3VzKGZ1bmN0aW9uKCl7aWYoIWMuaGFzQ2xhc3MoImFj dGl2ZSIpKXtjLmhpZGUoKTtjLnJlbW92ZUNsYXNzKCJhc3Npc3RpdmUiKTtjLmFk ZENsYXNzKCJhY3RpdmUiKTtjLnNsaWRlRG93bigiZmFzdCIpO2IoIiNtb2R1bGUt Y29tbWVudC1hZGQtZnVsbE5hbWUiKS52YWwoYi5jb29raWUoImNvbW1lbnRGdWxs TmFtZSIpfHwiIik7YigiI21vZHVsZS1jb21tZW50LWFkZC1lbWFpbCIpLnZhbChi LmNvb2tpZSgiY29tbWVudEVtYWlsIil8fCIiKTtiKCIjbW9kdWxlLWNvbW1lbnQt YWRkLWxvY2F0aW9uIikudmFsKGIuY29va2llKCJjb21tZW50TG9jYXRpb24iKXx8 IiIpO2IoIiNtb2R1bGUtY29tbWVudC1hZGQtYWxlcnQiKS5hdHRyKCJjaGVja2Vk IixiLmNvb2tpZSgiY29tbWVudHNFbWFpbE1lIik9PT0idHJ1ZSIpO2IoIiNtb2R1 bGUtY29tbWVudC1hZGQtc2F2ZS1kZXRhaWxzIikuYXR0cigiY2hlY2tlZCIsYi5j b29raWUoImNvbW1lbnRzUmVtZW1iZXIiKT09PSJ0cnVlIil9fSk7YigiI21vZHVs ZS1jb21tZW50LWFkZC1mb3JtIHRleHRhcmVhIikua2V5dXAoZnVuY3Rpb24oKXt2 YXIgaT1iKHRoaXMpLnZhbCgpO3ZhciBqPWctaS5sZW5ndGg7dmFyIGg9aS5sZW5n dGgtZztpZihqPDApe2IodGhpcykucGFyZW50KCkuZmluZCgicC5maWVsZC1pbnN0 cnVjdGlvbiIpLmh0bWwoJzxzcGFuIGNsYXNzPSJlcnJvciI+PGVtPicraCsiPC9l bT4gY2hhcmFjdGVycyBvdmVyIHRoZSBtYXhpbXVtPC9zcGFuPiIpfWVsc2V7Yih0 aGlzKS5wYXJlbnQoKS5maW5kKCJwLmZpZWxkLWluc3RydWN0aW9uIikuaHRtbCgi PGVtPiIraisiPC9lbT4gY2hhcmFjdGVycyBsZWZ0Iil9fSk7Zj1mdW5jdGlvbigp e3ZhciBoPWIoIiNtb2R1bGUtY29tbWVudC1hZGQtZnVsbE5hbWUiKS52YWwoKTt2 YXIgaj1iKCIjbW9kdWxlLWNvbW1lbnQtYWRkLWVtYWlsIikudmFsKCk7dmFyIG89 YigiI2Njb21tZW50cyIpLnZhbCgpO3ZhciBpPW5ldyBSZWdFeHAoIl4oWzAtOWEt ekEtWl0rWy0uXysmXSkqWzAtOWEtekEtWl9dK0AoWy0wLTlhLXpBLVpdK1suXSkr W2EtekEtWl17Miw2fSQiKTt2YXIgbT1uZXcgUmVnRXhwKCJbXiBcXG5dKyIpO3Zh ciBrPW5ldyBSZWdFeHAoIlteIFxcbl0rIik7dmFyIGw9dHJ1ZTt2YXIgbj0iIjti KCIjZm9ybS1pdGVtLWVycm9yLXN1bW1hcnkiKS5yZW1vdmUoKTtuKz0nPGRpdiB0 YWJpbmRleD0iMCIgY2xhc3M9ImZvcm0taXRlbSBmb3JtLWl0ZW0tZXJyb3Itc3Vt bWFyeSIgaWQ9ImZvcm0taXRlbS1lcnJvci1zdW1tYXJ5Ij4nO24rPSI8ZGw+Ijtu Kz0iPGR0PlBsZWFzZSBjb21wbGV0ZSB0aGUgZm9sbG93aW5nOjwvZHQ+IjtpZigh ay50ZXN0KG8pKXtuKz0iPGRkPlBsZWFzZSBlbnRlciB5b3VyIGNvbW1lbnRzPC9k ZD4iO2w9ZmFsc2V9aWYoYigiI21vZHVsZS1jb21tZW50LWFkZC1mb3JtIHRleHRh cmVhIikudmFsKCkubGVuZ3RoPmcpe24rPSI8ZGQ+Q2hhcmFjdGVyIGxpbWl0IGV4 Y2VlZGVkPC9kZD4iO2w9ZmFsc2V9aWYoIWkudGVzdChqKSl7bis9IjxkZD5QbGVh c2UgZW50ZXIgeW91ciAodmFsaWQpIGVtYWlsIGFkZHJlc3M8L2RkPiI7bD1mYWxz ZX1pZighbS50ZXN0KGgpKXtuKz0iPGRkPlBsZWFzZSBlbnRlciB5b3VyIG5hbWU8 L2RkPiI7bD1mYWxzZX1uKz0iPC9kbD4iO24rPSI8L2Rpdj4iO2lmKGw9PT1mYWxz ZSl7YigiI21vZHVsZS1jb21tZW50LWFkZC1mb3JtIGZpZWxkc2V0IGxlZ2VuZC5h c3Npc3RpdmUiKS5hZnRlcihuKX1yZXR1cm4gbH07YigiI21vZHVsZS1jb21tZW50 LWFkZC1mb3JtIikuc3VibWl0KGZ1bmN0aW9uKCl7dmFyIGo9ZigpO2lmKGo9PT1m YWxzZSl7cmV0dXJuIGZhbHNlfXZhciBoPXsibW9kdWxlLWNvbW1lbnQtYWRkLWZ1 bGxOYW1lIjoiY29tbWVudEZ1bGxOYW1lIiwibW9kdWxlLWNvbW1lbnQtYWRkLWVt YWlsIjoiY29tbWVudEVtYWlsIiwibW9kdWxlLWNvbW1lbnQtYWRkLWxvY2F0aW9u IjoiY29tbWVudExvY2F0aW9uIiwibW9kdWxlLWNvbW1lbnQtYWRkLWFsZXJ0Ijoi Y29tbWVudHNFbWFpbE1lIiwibW9kdWxlLWNvbW1lbnQtYWRkLXNhdmUtZGV0YWls cyI6ImNvbW1lbnRzUmVtZW1iZXIifTt2YXIgbT17ZXhwaXJlczozNjUscGF0aDoi LyJ9O3ZhciBvPWIoIiNtb2R1bGUtY29tbWVudC1hZGQtc2F2ZS1kZXRhaWxzIiku YXR0cigiY2hlY2tlZCIpO3ZhciBpLG4saztpZihvPT09dHJ1ZSl7Zm9yKGkgaW4g aCl7aWYoaSl7bj1oW2ldO2lmKGk9PT0ibW9kdWxlLWNvbW1lbnQtYWRkLXNhdmUt ZGV0YWlscyJ8fGk9PT0ibW9kdWxlLWNvbW1lbnQtYWRkLXNhdmUtZGV0YWlscyIp e2s9YigiIyIraSkuYXR0cigiY2hlY2tlZCIpfWVsc2V7az1iKCIjIitpKS52YWwo KX1iLmNvb2tpZShuLGssbSl9fX1lbHNle2ZvcihpIGluIGgpe2lmKGkpe249aFtp XTtiLmNvb2tpZShuLG51bGwsbSl9fX1iKCIjbW9kdWxlLWNvbW1lbnQtYWRkLWZv cm0iKS5hZGRDbGFzcygic3VibWl0dGVkIik7aWYobmRtJiZuZG0uY29udHJvbHMm Jm5kbS5jb250cm9scy5ubGlnaHRib3gpe3ZhciBsPW5kbS5jb250cm9scy5ubGln aHRib3goe2NsaWNrQ29udGFpbmVyVG9DbG9zZTpmYWxzZSxjbG9zZUNhbGxiYWNr OmZ1bmN0aW9uKCl7Yy5zbGlkZVVwKCJmYXN0IixmdW5jdGlvbigpe2IoIiNjY29t bWVudHMiKS52YWwoIiIpO2MuYWRkQ2xhc3MoImFzc2lzdGl2ZSIpO2MucmVtb3Zl Q2xhc3MoImFjdGl2ZSIpfSl9fSk7bC5zZXRjb250ZW50RnJvbUlEKGUpfXJldHVy biB0cnVlfSl9O2IuZm4uY29tbWVudHNjb3VudD1mdW5jdGlvbihlKXtpZighbmRt LnBhZ2UuY29tbWVudGNvdW50fHwhbmRtLnBhZ2UuY29tbWVudHVybCl7cmV0dXJu fXZhciBnPSJjb21tZW50IixmPSIiLGM9IiIsZD0iIjtpZihuZG0ucGFnZS5jb21t ZW50Y291bnQ+MSl7Zz0iY29tbWVudHMiO2IoIiNjb21tZW50cyAuY29tbWVudC1u dW1iZXIiKS5lYWNoKGZ1bmN0aW9uKGosaCl7YihoKS50ZXh0KGguaW5uZXJIVE1M LnJlcGxhY2UoL1swLTldezEsNn0kLyxuZG0ucGFnZS5jb21tZW50Y291bnQpKX0p fWYrPSc8bGkgY2xhc3M9ImNvbW1lbnRzIGxhc3QiPic7Zis9JzxhIGhyZWY9Iicr bmRtLnBhZ2UuY29tbWVudHVybCsnIj4nK25kbS5wYWdlLmNvbW1lbnRjb3VudCsi ICIrZysiPC9hPiI7Zis9IjwvbGk+IjtjKz0nPHAgY2xhc3M9ImNvbW1lbnRzIj4n O2MrPSc8YSBocmVmPSInK25kbS5wYWdlLmNvbW1lbnR1cmwrJyI+JytuZG0ucGFn ZS5jb21tZW50Y291bnQrIiAiK2crIiBvbiB0aGlzIHN0b3J5PC9hPiI7Yys9Ijwv cD4iO2QrPSc8dWwgY2xhc3M9Im1vcmUtbGlua3MiPic7ZCs9IjxsaT4iO2QrPSc8 YSBocmVmPSInK25kbS5wYWdlLmNvbW1lbnR1cmwrJyI+UmVhZCBhbGwgJytuZG0u cGFnZS5jb21tZW50Y291bnQrIiAiK2crIjwvYT4iO2QrPSI8L2xpPiI7ZCs9Ijwv dWw+IjtiKCIuc3RvcnktaW5mbyB1bCIpLmFwcGVuZChmKTtiKCJkaXYuc3Rvcnkt Y29tbWVudHMtbGluayIpLmh0bWwoYyk7aWYoYigiZGl2LmNvbW1lbnQtbGlzdC1t b2R1bGUgLm1vZHVsZS1mb290ZXIiKS5odG1sKCk9PT0iIil7YigiZGl2LmNvbW1l bnQtbGlzdC1tb2R1bGUgLm1vZHVsZS1mb290ZXIiKS5odG1sKGQpfX07Yihkb2N1 bWVudCkucmVhZHkoZnVuY3Rpb24oKXtiKCkuY29tbWVudHMoKTtiKCkuY29tbWVu dHNjb3VudCgpfSl9KG5kbS5qUXVlcnkpKTsoZnVuY3Rpb24oYil7dmFyIGE9Yjti LmNvb2tpZT1mdW5jdGlvbihkLGwsbyl7aWYodHlwZW9mIGwhPSJ1bmRlZmluZWQi KXtvPW98fHt9O2lmKGw9PT1udWxsKXtsPSIiO28uZXhwaXJlcz0tMX12YXIgZz0i IjtpZihvLmV4cGlyZXMmJih0eXBlb2Ygby5leHBpcmVzPT0ibnVtYmVyInx8by5l eHBpcmVzLnRvVVRDU3RyaW5nKSl7dmFyIGg7aWYodHlwZW9mIG8uZXhwaXJlcz09 Im51bWJlciIpe2g9bmV3IERhdGUoKTtoLnNldFRpbWUoaC5nZXRUaW1lKCkrKG8u ZXhwaXJlcyoyNCo2MCo2MCoxMDAwKSl9ZWxzZXtoPW8uZXhwaXJlc31nPSI7IGV4 cGlyZXM9IitoLnRvVVRDU3RyaW5nKCl9dmFyIG49by5wYXRoPyI7IHBhdGg9Iitv LnBhdGg6IiI7dmFyIGo9by5kb21haW4/IjsgZG9tYWluPSIrby5kb21haW46IiI7 dmFyIGM9by5zZWN1cmU/Ijsgc2VjdXJlIjoiIjtkb2N1bWVudC5jb29raWU9W2Qs Ij0iLGVuY29kZVVSSUNvbXBvbmVudChsKSxnLG4saixjXS5qb2luKCIiKX1lbHNl e3ZhciBmPW51bGw7aWYoZG9jdW1lbnQuY29va2llJiZkb2N1bWVudC5jb29raWUh PT0iIil7dmFyIG09ZG9jdW1lbnQuY29va2llLnNwbGl0KCI7Iik7Zm9yKHZhciBr PTA7azxtLmxlbmd0aDtrKyspe3ZhciBlPWIudHJpbShtW2tdKTtpZihlLnN1YnN0 cmluZygwLGQubGVuZ3RoKzEpPT0oZCsiPSIpKXtmPWRlY29kZVVSSUNvbXBvbmVu dChlLnN1YnN0cmluZyhkLmxlbmd0aCsxKSk7YnJlYWt9fX1yZXR1cm4gZn19fShu ZG0ualF1ZXJ5KSk7KGZ1bmN0aW9uKGIpe3ZhciBhPWI7Yi5mbi5kZWxheWVkaG92 ZXI9ZnVuY3Rpb24oYyl7dmFyIGUsZDtlPWIuZXh0ZW5kKHtob3ZlcmNsYXNzOiJq cy1ob3ZlciIsZGVsYXk6MTAwLGV4dHJhQ2xhc3NSZWdleDpudWxsLHRyaWdnZXI6 bnVsbH0sY3x8e30pO2Q9ZnVuY3Rpb24obCxqLGspe3ZhciBtLGYsaCxnPVtdO209 YihsKS5hdHRyKCJjbGFzcyIpO2Y9bS5tYXRjaChqKTtpZihmIT09bnVsbCYmZi5s ZW5ndGg+MCl7Zm9yKGg9MDtoPGYubGVuZ3RoO2grKyl7Z1toXT1rK2ZbaF19fXJl dHVybiBnfTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGs9dGhpcyxq LGwsZyxpLGYsaDtpZih0aGlzLmxvYWRlZD09PXRydWUpe3JldHVybn10aGlzLmxv YWRlZD10cnVlO2g9ZChrLGUuZXh0cmFDbGFzc1JlZ2V4LGUuaG92ZXJjbGFzcysi LSIpO2w9ZnVuY3Rpb24oKXtqPXNldFRpbWVvdXQoaSxlLmRlbGF5KX07Zz1mdW5j dGlvbigpe2NsZWFyVGltZW91dChqKTtmKCl9O2k9ZnVuY3Rpb24oKXt2YXIgbTti KGspLmFkZENsYXNzKGUuaG92ZXJjbGFzcyk7Zm9yKG09MDttPGgubGVuZ3RoO20r Kyl7YihrKS5hZGRDbGFzcyhoW21dKX19O2Y9ZnVuY3Rpb24oKXt2YXIgbTtiKGsp LnJlbW92ZUNsYXNzKGUuaG92ZXJjbGFzcyk7Zm9yKG09MDttPGgubGVuZ3RoO20r Kyl7YihrKS5yZW1vdmVDbGFzcyhoW21dKX19O2lmKGUudHJpZ2dlcil7Yih0aGlz KS5maW5kKGUudHJpZ2dlcikuaG92ZXIobCxnKX1lbHNle2IodGhpcykuaG92ZXIo bCxnKX10aGlzLm92ZXI9bDt0aGlzLm91dD1nfSl9O2IuZm4uZGVsYXllZGhvdmVy bGl2ZT1mdW5jdGlvbihkKXt2YXIgZSxjPWIodGhpcykuc2VsZWN0b3I7ZT1iLmV4 dGVuZCh7dHJpZ2dlcjpudWxsfSxkfHx7fSk7aWYoZS50cmlnZ2VyKXtiKGMpLmZp bmQoZS50cmlnZ2VyKS5saXZlKCJtb3VzZW92ZXIiLGZ1bmN0aW9uKCl7Yih0aGlz KS5jbG9zZXN0KGMpLmVhY2goZnVuY3Rpb24oKXtpZih0aGlzLmxvYWRlZCl7cmV0 dXJufWIodGhpcykuZGVsYXllZGhvdmVyKGUpO3RoaXMub3ZlcigpfSl9KX1lbHNl e2IoYykubGl2ZSgibW91c2VvdmVyIixmdW5jdGlvbigpe2lmKHRoaXMubG9hZGVk KXtyZXR1cm59Yih0aGlzKS5kZWxheWVkaG92ZXIoZSk7dGhpcy5vdmVyKCl9KX19 fShuZG0ualF1ZXJ5KSk7KGZ1bmN0aW9uKGIpe3ZhciBhPWI7YS5mbi5kaXZhPWZ1 bmN0aW9uKGMpe3ZhciBlPXt0cmFja2luZ0NsYXNzUHJlZml4OiJ0ZXh0LW0tZGl2 YS0ifSxkPWIuZXh0ZW5kKGUsY3x8e30pO3RoaXMuZWFjaChmdW5jdGlvbigpe3Zh ciBmPW5ldyBSZWdFeHAoZC50cmFja2luZ0NsYXNzUHJlZml4KyJbYS16QS1aMC05 Xy1dKiIpLGc9Zi5leGVjKGEodGhpcykuYXR0cigiY2xhc3MiKSksaD1nWzBdLnJl cGxhY2UobmV3IFJlZ0V4cChkLnRyYWNraW5nQ2xhc3NQcmVmaXgpLCIiKTthKHRo aXMpLmFkZENsYXNzKCJkaXZhLXNob3J0Iik7YSh0aGlzKS5tb3VzZW92ZXIoZnVu Y3Rpb24oKXthKHRoaXMpLnJlbW92ZUNsYXNzKCJkaXZhLXNob3J0IikuYWRkQ2xh c3MoImRpdmEtc2hvcnQtaG92ZXIiKX0pO2EodGhpcykubW91c2VvdXQoZnVuY3Rp b24oKXthKHRoaXMpLnJlbW92ZUNsYXNzKCJkaXZhLXNob3J0LWhvdmVyIikuYWRk Q2xhc3MoImRpdmEtc2hvcnQiKX0pO2EodGhpcykuY2xpY2soZnVuY3Rpb24oKXth KHRoaXMpLnJlbW92ZUNsYXNzKCJkaXZhLXNob3J0LCBkaXZhLXNob3J0LWhvdmVy IikuYWRkQ2xhc3MoImRpdmEtdGFsbCIpO2EodGhpcykudW5iaW5kKCk7YSh0aGlz KS5maW5kKCIubW9kdWxlLWNvbnRlbnQiKS5mYWRlSW4oImZhc3QiKTtpZigodHlw ZW9mIFRSQUtUUikhPT0idW5kZWZpbmVkIil7VFJBS1RSLmV2ZW50KHt0eXBlOiJj bGljayIsZXY6aH0pfX0pfSk7cmV0dXJuIHRoaXN9fShuZG0ualF1ZXJ5KSk7KGZ1 bmN0aW9uKGIpe3ZhciBhPWI7Yi5mbi5kcmFnZ2FibGU9ZnVuY3Rpb24ocSl7dmFy IGosZD10aGlzLG09ZmFsc2UsZj1udWxsLHA9bnVsbCxpPWZ1bmN0aW9uKHIpe30s bD1mdW5jdGlvbigpe30saz1mdW5jdGlvbigpe30saD17WDowLFk6MH0sbz17WDow LFk6MH0sZT1mdW5jdGlvbigpe30sbj1mdW5jdGlvbigpe30sZyxjPXt9O2o9Yi5l eHRlbmQoYi5mbi5kcmFnZ2FibGUuZGVmYXVsdHMscXx8e30pO2IoZG9jdW1lbnQp Lm1vdXNlbW92ZShmdW5jdGlvbihyKXtlKHIpO2oubW91c2Vtb3ZlKHIpO2lmKG09 PT10cnVlKXtpKCl9fSk7Yihkb2N1bWVudCkubW91c2V1cChmdW5jdGlvbihyKXtj LmxvZygiZm46IG1vdXNldXA6IGNhbGxlZCIpO2lmKG09PT10cnVlKXtrKCl9fSk7 aT1mdW5jdGlvbigpe3ZhciByPTAsdD0oby5ZLShvLnNjcm9sbFRvcC1iKGRvY3Vt ZW50KS5zY3JvbGxUb3AoKSkpLWguWSxzPW8uWC1oLlg7YihmKS5jc3Moe3RvcDp0 KyJweCIsbGVmdDpzKyJweCJ9KTtqLm1vdmUoe2hlbHBlcjpmLGdyb3VwOnAsdG9w OnQsbGVmdDpzLGhlaWdodDpmLmNhY2hlaGVpZ2h0LHdpZHRoOmYuY2FjaGV3aWR0 aH0pfTtlPWZ1bmN0aW9uKHIpe28uWD1yLnBhZ2VYO28uWT1yLnBhZ2VZO28uc2Ny b2xsVG9wPWIoZG9jdW1lbnQpLnNjcm9sbFRvcCgpfTtuPWZ1bmN0aW9uKCl7Yy5s b2coImZuOiByZWZyZXNoOiBjYWxsZWQgdmFyIGRyYWciK20pO2lmKG09PT10cnVl KXtpKCk7Zz1zZXRUaW1lb3V0KG4sai5yZWZyZXNoUmF0ZSl9ZWxzZXtjbGVhclRp bWVvdXQoZyl9fTtjLmxvZz1mdW5jdGlvbihyKXtpZih3aW5kb3cubG9jYXRpb24u aGFzaD09PSIjZGVidWdhbGwifHx3aW5kb3cubG9jYXRpb24uaGFzaD09PSIjZGVi dWdkcmFnIil7Y29uc29sZS5sb2coImRyYWc6ICIrcil9fTtjLmNvdW50PWZ1bmN0 aW9uKHIpe2lmKHdpbmRvdy5sb2NhdGlvbi5oYXNoPT09IiNkZWJ1Z2FsbCJ8fHdp bmRvdy5sb2NhdGlvbi5oYXNoPT09IiNkZWJ1Z2RyYWciKXtjb25zb2xlLmNvdW50 KCJkcmFnOiAiK3IpfX07bD1mdW5jdGlvbigpe3ZhciByPWIocCkub2Zmc2V0KCk7 ai5zdGFydCh7aGVscGVyOmYsZ3JvdXA6cCxoZWlnaHQ6Zi5jYWNoZWhlaWdodCx3 aWR0aDpmLmNhY2hld2lkdGgsdG9wOnIudG9wLGxlZnQ6ci5sZWZ0fSk7bT10cnVl O2IocCkuYWRkQ2xhc3MoImFjdGl2ZSIpO24oKX07az1mdW5jdGlvbigpe209ZmFs c2U7YihmKS5yZW1vdmUoKTtiKHApLnJlbW92ZUNsYXNzKCJhY3RpdmUiKTtqLnN0 b3AoKX07cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciByPXRoaXM7Yih0 aGlzKS5maW5kKGouaGFuZGxlKS5tb3VzZWRvd24oZnVuY3Rpb24ocyl7dmFyIHQ9 Yih0aGlzKS5vZmZzZXQoKTtwPXI7Zj1iKHApLmNsb25lKCk7Zi5jYWNoZWhlaWdo dD1iKHApLmhlaWdodCgpO2YuY2FjaGV3aWR0aD1iKHApLndpZHRoKCk7YihmKS5j c3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsInotaW5kZXgiOiIxMDAifSk7YihqLmFw cGVuZEhlbHBlclRvKS5hcHBlbmQoZik7ZShzKTtoLlg9by5YLXQubGVmdDtoLlk9 by5ZLXQudG9wO2woKTtkb2N1bWVudC5vbnNlbGVjdHN0YXJ0PWZ1bmN0aW9uKCl7 cmV0dXJuIGZhbHNlfTtyZXR1cm4gZmFsc2V9KX0pLmFkZENsYXNzKCJqcy1yZWFk eSIpfTtiLmZuLmRyYWdnYWJsZS5kZWZhdWx0cz17aGFuZGxlOiIuZ3JvdXAtaGVh ZGVyIixzdG9wOmZ1bmN0aW9uKCl7fSxzdGFydDpmdW5jdGlvbihjKXt9LG1vdmU6 ZnVuY3Rpb24oYyl7fSxhcHBlbmRIZWxwZXJUbzoiYm9keSIscmVmcmVzaFJhdGU6 NSxtb3VzZW1vdmU6ZnVuY3Rpb24oYyl7fX19KG5kbS5qUXVlcnkpKTsoZnVuY3Rp b24oYil7dmFyIGE9YjtiLmZuLm5GYWRlcj1mdW5jdGlvbihjKXtyZXR1cm4gdGhp cy5lYWNoKGZ1bmN0aW9uKCl7aWYoYih0aGlzKS5oYXNDbGFzcygianMtcmVhZHki KSl7cmV0dXJufXZhciBBPWIuZXh0ZW5kKHtpdGVtUGFyZW50OiIuanMtZmFkZXIi LGl0ZW1Db250YWluZXI6Ii5qcy1mYWRlci1pdGVtIixpbWFnZUNvbnRhaW5lcjoi LmltYWdlLWZyYW1lIixpbWFnZU92ZXJsYXk6ZmFsc2UsYWN0aXZlQ2xhc3M6Impz LWZhZGVyLWFjdGl2ZSIsaW5hY3RpdmVDbGFzczoianMtZmFkZXItaW5hY3RpdmUi LGhvdmVyQ2xhc3M6ImpzLWZhZGVyLWhvdmVyIixuZXh0OiIuanMtZmFkZXItbmV4 dCIscHJldjoiLmpzLWZhZGVyLXByZXYiLGluZGV4Q29udHJvbDoiLmpzLWZhZGVy LWNvbnRyb2wiLGluZGV4Q29udHJvbFRyaWdnZXI6ImNsaWNrIixjb3VudGVyOiIu anMtZmFkZXItY291bnRlciIsYWN0aXZlQ29udHJvbENsYXNzOiJqcy1mYWRlci1j b250cm9sLWFjdGl2ZSIsYXV0b21hdGljOmZhbHNlLGF1dG9TcGVlZDo0MDAwLHBy ZXNlcnZlSW1hZ2VTaXplOmZhbHNlLHVzZUxhcmdlc3RJbWFnZUhlaWdodDp0cnVl fSxjfHx7fSk7dmFyIHcsaix6LHksdTt2YXIgQixyLG0scTt2YXIgZSx2LGssZCxw O3ZhciBzO3ZhciBnLGwsaSx0LG8saDt2YXIgeD0wO3ZhciBuPTA7Yih0aGlzKS5m aW5kKEEuaW1hZ2VDb250YWluZXIrIiBpbWciKS5lYWNoKGZ1bmN0aW9uKCl7bj1w YXJzZUludChiKHRoaXMpLmNzcygiaGVpZ2h0IiksMTApO2lmKG49PT0wKXtuPXBh cnNlSW50KGIodGhpcykuYXR0cigiaGVpZ2h0IiksMTApfWlmKG4+eCl7eD1ufWIo dGhpcykuY2xvc2VzdChBLml0ZW1QYXJlbnQpLmJpbmQoIm1vdXNlZW50ZXIiLGZ1 bmN0aW9uKCl7Yih0aGlzKS5jbG9zZXN0KEEuaXRlbVBhcmVudCkuYWRkQ2xhc3Mo QS5ob3ZlckNsYXNzKX0pLmJpbmQoIm1vdXNlbGVhdmUiLGZ1bmN0aW9uKCl7Yih0 aGlzKS5jbG9zZXN0KEEuaXRlbVBhcmVudCkucmVtb3ZlQ2xhc3MoQS5ob3ZlckNs YXNzKX0pfSk7aWYoeD4wKXtiKHRoaXMpLmFkZENsYXNzKCJsYXJnZXN0LWltYWdl LSIreCsiaCIpfWlmKEEudXNlTGFyZ2VzdEltYWdlSGVpZ2h0PT09dHJ1ZSYmeD4w KXtiKHRoaXMpLmZpbmQoQS5pbWFnZUNvbnRhaW5lcikuZWFjaChmdW5jdGlvbigp e2IodGhpcykuaGVpZ2h0KHgpfSl9dmFyIGY9Yih0aGlzKS5maW5kKEEuaXRlbUNv bnRhaW5lcikubGVuZ3RoO2lmKGYpe2IoIi5jYXB0aW9uIix0aGlzKS5wcmVwZW5k KCc8c3BhbiBjbGFzcz0ic3RhcnQiPjwvc3Bhbj4nKTtiKCIuY2FwdGlvbiIsdGhp cykuYXBwZW5kKCc8c3BhbiBjbGFzcz0iZW5kIj48L3NwYW4+Jyl9aj1mYWxzZTt6 PWZhbHNlO3U9QS5pbmRleENvbnRyb2xUcmlnZ2VyO0I9Yih0aGlzKTtyPWIodGhp cykuZmluZChBLml0ZW1Db250YWluZXIpO209ci5lcSgwKTtnPWZ1bmN0aW9uKEQs Ryl7dmFyIEU9RHx8bTt2YXIgRj1yLmluZGV4KEUpK0c7aWYoci5lcShGKS5sZW5n dGg8PTAmJkc+MCl7cmV0dXJuIDB9ZWxzZXtpZihyLmVxKEYpLmxlbmd0aDw9MCYm RzwwKXtyZXR1cm4gci5sZW5ndGgtMX1lbHNle3JldHVybiBGfX19O3E9ci5lcShn KG0sMSkpO2U9ZmFsc2U7dj1mYWxzZTt5PWZhbHNlO20uYWRkQ2xhc3MoQS5hY3Rp dmVDbGFzcyk7aWYoQS5pbWFnZU92ZXJsYXkpe3ZhciBDPWRvY3VtZW50LmNyZWF0 ZUVsZW1lbnQoImRpdiIpO0MuY2xhc3NOYW1lPSJpbWFnZS1vdmVybGF5IjtCLmZp bmQoQS5pbWFnZUNvbnRhaW5lcikuZWFjaChmdW5jdGlvbigpe3ZhciBEPUMuY2xv bmVOb2RlKHRydWUpO3RoaXMuYXBwZW5kQ2hpbGQoRCl9KX1pZihiKHRoaXMpLmZp bmQoQS5uZXh0KS5sZW5ndGg+MCl7ZT10cnVlO2Q9Yih0aGlzKS5maW5kKEEubmV4 dCkuZmluZCgiYSIpfWlmKGIodGhpcykuZmluZChBLnByZXYpLmxlbmd0aD4wKXtl PXRydWU7az1iKHRoaXMpLmZpbmQoQS5wcmV2KS5maW5kKCJhIil9aWYoYih0aGlz KS5maW5kKEEuaW5kZXhDb250cm9sKS5sZW5ndGg+MCl7ZT10cnVlO3A9Yih0aGlz KS5maW5kKEEuaW5kZXhDb250cm9sKTtwLmVxKDApLmFkZENsYXNzKEEuYWN0aXZl Q29udHJvbENsYXNzKTtpZihwLmhhc0NsYXNzKCJzdG9yeS1ibG9jayIpfHxwLmhh c0NsYXNzKCJwcm9tby1ibG9jayIpKXt1PSJtb3VzZW92ZXIifX1pZighZSl7eT10 cnVlfWlmKGIodGhpcykuZmluZChBLmNvdW50ZXIpLmxlbmd0aD4wKXt2PXRydWU7 cz1iKHRoaXMpLmZpbmQoQS5jb3VudGVyKTtzLnRleHQoIjEiKX1sPWZ1bmN0aW9u KEQpe2lmKHYpe3MudGV4dChEKzEpfX07aT1mdW5jdGlvbihEKXtpZihwKXtwLmVh Y2goZnVuY3Rpb24oKXtiKHRoaXMpLnJlbW92ZUNsYXNzKEEuYWN0aXZlQ29udHJv bENsYXNzKX0pO3AuZXEoRCkuYWRkQ2xhc3MoQS5hY3RpdmVDb250cm9sQ2xhc3Mp fX07dD1mdW5jdGlvbihFKXt2YXIgRyxGLEQ7aWYoaj09PWZhbHNlKXtqPXRydWU7 bmV4dEltZz1FLmZpbmQoQS5pbWFnZUNvbnRhaW5lcisiIGltZyIpO0c9bmV4dElt Zy5hdHRyKCJzcmMiKTtGPW0uZmluZChBLmltYWdlQ29udGFpbmVyKTtpKHIuaW5k ZXgoRSkpO2woci5pbmRleChFKSk7ZmFkZUNhbGxiYWNrPWZ1bmN0aW9uKCl7aWYo RCl7YihEKS5yZW1vdmUoKX1tLnJlbW92ZUNsYXNzKEEuYWN0aXZlQ2xhc3MpO20u YWRkQ2xhc3MoQS5pbmFjdGl2ZUNsYXNzKTtFLnJlbW92ZUNsYXNzKEEuaW5hY3Rp dmVDbGFzcyk7RS5hZGRDbGFzcyhBLmFjdGl2ZUNsYXNzKTttPUU7YihGLmZpbmQo ImltZyIpKS5zaG93KCk7aj1mYWxzZTtpZih5fHxBLmF1dG9tYXRpYyl7bygpfX07 aWYoej09PXRydWUpe2ZhZGVDYWxsYmFjaygpfWVsc2V7aWYoQS5wcmVzZXJ2ZUlt YWdlU2l6ZT09PXRydWUpe2lmKEYuZmluZChBLmltYWdlQ29udGFpbmVyKS5jc3Mo InBvc2l0aW9uIik9PT0ic3RhdGljIil7Ri5maW5kKEEuaW1hZ2VDb250YWluZXIp LmNzcygicG9zaXRpb24iLCJyZWxhdGl2ZSIpfUQ9ZG9jdW1lbnQuY3JlYXRlRWxl bWVudCgiaW1nIik7RC5zcmM9RztELmNsYXNzTmFtZT0ibmV4dGltYWdlIjtiKEQp LmNzcygicG9zaXRpb24iLCJhYnNvbHV0ZSIpO2IoRCkuY3NzKCJ6LWluZGV4Iiwi MSIpO2IoRCkuaGlkZSgpO0YuZmluZCgiaW1nIikuYmVmb3JlKEQpO0YuZmluZCgi aW1nLm5leHRpbWFnZSIpLmZhZGVJbigiZmFzdCIsZmFkZUNhbGxiYWNrKX1lbHNl e0YuY3NzKHtiYWNrZ3JvdW5kOiJ1cmwoJyIrRysiJykgdG9wIGxlZnQgbm8tcmVw ZWF0In0pO0YuZmluZCgiaW1nIikuZmFkZU91dCgiZmFzdCIsZmFkZUNhbGxiYWNr KX19fX07bz1mdW5jdGlvbigpe2goKTtpZih6PT09ZmFsc2Upe3c9c2V0VGltZW91 dChmdW5jdGlvbigpe3Qoci5lcShnKG0sMSkpKX0sQS5hdXRvU3BlZWQpfX07aD1m dW5jdGlvbigpe2NsZWFyVGltZW91dCh3KX07aWYoeXx8QS5hdXRvbWF0aWMpe0Iu aG92ZXIoZnVuY3Rpb24oKXt6PXRydWU7aCgpfSxmdW5jdGlvbigpe3o9ZmFsc2U7 bygpfSk7bygpfWVsc2V7Qi5ob3ZlcihmdW5jdGlvbigpe3o9dHJ1ZX0sZnVuY3Rp b24oKXt6PWZhbHNlfSl9aWYoZCl7ZC5jbGljayhmdW5jdGlvbigpe3Qoci5lcShn KG0sMSkpKTtyZXR1cm4gZmFsc2V9KX1pZihrKXtrLmNsaWNrKGZ1bmN0aW9uKCl7 dChyLmVxKGcobSwtMSkpKTtyZXR1cm4gZmFsc2V9KX1pZihwKXtwW3VdKGZ1bmN0 aW9uKCl7dChyLmVxKHAuaW5kZXgodGhpcykpKX0pO2lmKHAuZmluZCgiYSIpLmxl bmd0aD4wKXtwLmVhY2goZnVuY3Rpb24oKXt2YXIgRD1iKHRoaXMpO2IodGhpcyku ZmluZCgiYSIpLmZvY3VzKGZ1bmN0aW9uKCl7ej10cnVlO2goKTt0KHIuZXEocC5p bmRleChEKSkpfSl9KX19fSkuYWRkQ2xhc3MoImpzLXJlYWR5Iil9fShuZG0ualF1 ZXJ5KSk7KGZ1bmN0aW9uKGEpe2EuZm4uZmVhdHVyZXdhbGw9ZnVuY3Rpb24oYil7 aWYoIXRoaXMubGVuZ3RoKXtyZXR1cm59dmFyIGM9YS5leHRlbmQoe30sYS5mbi5m ZWF0dXJld2FsbC5kZWZhdWx0cyxiKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9u KCl7aWYoYSh0aGlzKS5oYXNDbGFzcyhjLnJlYWR5Q2xhc3MpKXtyZXR1cm59dmFy IGY9YSh0aGlzKSxnPXt9LGUsZDtnPWEubWV0YWRhdGE/YS5leHRlbmQoe30sYyxm Lm1ldGFkYXRhKCkpOmM7ZT1mLmZpbmQoYy5pdGVtcyk7YS5mbi5mZWF0dXJld2Fs bC5jb250ZXh0KGUpO2Q9Zi5maW5kKGMuY29udHJvbHMpO2lmKGUubGVuZ3RoPjAm JmQubGVuZ3RoPjApe2QuZXEoMCkuYWRkQ2xhc3MoYy5jb250cm9sYWN0aXZlKX1l LmVhY2goZnVuY3Rpb24oaCxqKXthKGopLmFkZENsYXNzKGMucHJlZml4KyItIiso aCsxKSk7YSh0aGlzKS5iaW5kKCJtb3VzZW92ZXIiLGZ1bmN0aW9uKCl7dmFyIGk9 ZC5lcShoKTtpLmFkZENsYXNzKGMuY29udHJvbGFjdGl2ZSl9KX0pO2QuZWFjaChm dW5jdGlvbihoLGope2EoaikuYmluZCgibW91c2VvdmVyIixmdW5jdGlvbigpe3Zh ciBpPWUuZXEoaCk7ZC5yZW1vdmVDbGFzcyhjLmNvbnRyb2xhY3RpdmUpO2EodGhp cykuYWRkQ2xhc3MoYy5jb250cm9sYWN0aXZlKTtpZihpKXtlLnJlbW92ZUNsYXNz KGMuaXRlbWFjdGl2ZSkuYWRkQ2xhc3MoYy5pdGVtZGlzYWJsZWQpO2kucmVtb3Zl Q2xhc3MoYy5pdGVtZGlzYWJsZWQpLmFkZENsYXNzKGMuaXRlbWFjdGl2ZSl9fSl9 KX0pLmFkZENsYXNzKGMucmVhZHlDbGFzcyl9O2EuZm4uZmVhdHVyZXdhbGwuY29u dGV4dD1mdW5jdGlvbihiKXt2YXIgYz17InZjbXMtcGxheWVyIjpmdW5jdGlvbihk KXtkLmNsb3Nlc3QoIi5ncm91cCIpLnJlbW92ZUNsYXNzKCJpdGVtLWNvdW50LTIi KX19O2EuZWFjaChiLGZ1bmN0aW9uKGQsZil7dmFyIGU9YShmKTthLmVhY2goYyxm dW5jdGlvbihnLGgpe2lmKGUuaGFzQ2xhc3MoZykpe2lmKGEuaXNGdW5jdGlvbiho KSl7aChlKX19fSl9KX07YS5mbi5mZWF0dXJld2FsbC5kZWZhdWx0cz17aXRlbXM6 Ii5pcG9zLTEgLm1vZHVsZSIscHJlZml4OiJqcy1mZWF0dXJld2FsbCIsaXRlbWFj dGl2ZToianMtZmVhdHVyZXdhbGwtaXRlbS1hY3RpdmUiLGl0ZW1kaXNhYmxlZDoi anMtZmVhdHVyZXdhbGwtaXRlbS1kaXNhYmxlZCIsY29udHJvbGFjdGl2ZToianMt ZmVhdHVyZXdhbGwtY29udHJvbC1hY3RpdmUiLGNvbnRyb2xzOiIuaXBvcy0yIC5t b2R1bGU6Zmlyc3QgLnByb21vLWltYWdlIixyZWFkeUNsYXNzOiJqcy1yZWFkeSJ9 fShuZG0ualF1ZXJ5KSk7KGZ1bmN0aW9uKGEpe2EuZm4uZmVhdHVyZXdhbGx2Mj1m dW5jdGlvbihiKXtpZighdGhpcy5sZW5ndGgpe3JldHVybn1iPWEuZXh0ZW5kKHt9 LGEuZm4uZmVhdHVyZXdhbGx2Mi5kZWZhdWx0cyxiKTtyZXR1cm4gdGhpcy5ub3Qo Yi5yZWFkeUNsYXNzKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGY9e30sbD1hKHRoaXMp LGssaSxuLGQsZyxqLHAsaCxjLGUsbSxyLHE7Zj1hLm1ldGFkYXRhP2EuZXh0ZW5k KHt9LGIsbC5tZXRhZGF0YSgpKTpiO2s9bC5maW5kKGYuaXRlbUNvbnRhaW5lcik7 aT1sLmZpbmQoZi5jb250ZW50Q29udGFpbmVyKTtrLmxpdmUoIm1vdXNlb3ZlciIs ZnVuY3Rpb24oKXthKHRoaXMpLmFkZENsYXNzKCJob3ZlciIpfSk7ay5saXZlKCJt b3VzZW91dCIsZnVuY3Rpb24oKXthKHRoaXMpLnJlbW92ZUNsYXNzKCJob3ZlciIp fSk7aS5oaWRlKCk7aS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHM9YSh0aGlzKS5maW5k KCIucHJvbW8tYmxvY2sgLnByb21vLWhlYWRpbmcgYSIpLnRleHQoKTt2YXIgbz1h KHRoaXMpLmZpbmQoIi5wcm9tby1ibG9jayAucHJvbW8tdGV4dCArIHAiKS50ZXh0 KCk7aWYocz09IiImJm89PSIiKXthKHRoaXMpLmZpbmQoIi5wcm9tby1ibG9jayIp LmNzcyh7ImJhY2tncm91bmQtaW1hZ2UiOiJub25lIn0pfX0pO249Zi5zdGFydEl0 ZW07aj1mLmNvdW50ZG93bkxlbmd0aDtsLm1vdXNlZW50ZXIoZnVuY3Rpb24oKXtt KCl9KTtsLm1vdXNlbGVhdmUoZnVuY3Rpb24oKXtlKCl9KTtsLm1vdXNlbW92ZShm dW5jdGlvbigpe3IoKX0pO2g9ZnVuY3Rpb24oKXtrLmVxKG4pLmFkZENsYXNzKGYu YWN0aXZlQ2xhc3MpO3ZhciBvPWsuZXEobikucG9zaXRpb24oKTthKGYuY291bnRk b3duQ29udGFpbmVyKS5jc3MoImxlZnQiLG8ubGVmdCs1KTthKGYuY291bnRkb3du Q29udGFpbmVyKS5jc3MoImJvdHRvbSIsNCk7YShmLmNvdW50ZG93bkJhcikuY3Nz KCJ3aWR0aCIsMCsiJSIpO2EoZi5jb3VudGRvd25Db3VudGVyKS50ZXh0KG4rMSk7 ZD1uPT1rLmxlbmd0aC0xPzA6bisxO2Mobik7ZSgpfTtjPWZ1bmN0aW9uKG8pe2Eu ZWFjaChpLGZ1bmN0aW9uKHMsdCl7aWYocz09byl7YSh0KS5mYWRlSW4oKX1lbHNl e2EodCkuZmFkZU91dCgpfX0pfTtlPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KGcp O2c9c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXtxKCl9LGYuY291bnRkb3duSW50ZXJ2 YWwpfTttPWZ1bmN0aW9uKCl7Y2xlYXJJbnRlcnZhbChnKX07cj1mdW5jdGlvbigp e2NsZWFyVGltZW91dChwKTtwPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtlKCl9LGYu cGF1c2VUaW1lKTttKCl9O3E9ZnVuY3Rpb24oKXt2YXIgbz0xMDAtcGFyc2VJbnQo KGovZi5jb3VudGRvd25MZW5ndGgpKjEwMCwxMCk7YShmLmNvdW50ZG93bkJhciku Y3NzKCJ3aWR0aCIsbysiJSIpO2EoZi5jb3VudGRvd25CYXIpLnRleHQoTWF0aC5j ZWlsKGovMTAwMCkpO2otPWYuY291bnRkb3duSW50ZXJ2YWw7aWYoajw9MCl7bSgp O2o9Zi5jb3VudGRvd25MZW5ndGg7ay5lcShuKS5yZW1vdmVDbGFzcyhmLmFjdGl2 ZUNsYXNzKTtuPWQ7aCgpfX07aCgpO2suY2xpY2soZnVuY3Rpb24obyl7aWYobiE9 ay5pbmRleChhKHRoaXMpKSl7by5wcmV2ZW50RGVmYXVsdCgpO2suZXEobikucmVt b3ZlQ2xhc3MoZi5hY3RpdmVDbGFzcyk7bj1rLmluZGV4KGEodGhpcykpO20oKTtq PWYuY291bnRkb3duTGVuZ3RoO2goKX19KX0pLmFkZENsYXNzKGIucmVhZHlDbGFz cyl9O2EuZm4uZmVhdHVyZXdhbGx2Mi5kZWZhdWx0cz17aXRlbUNvbnRhaW5lcjoi LmZlYXR1cmUtd2FsbC1jb250cm9sIixjb250ZW50Q29udGFpbmVyOiIuZmVhdHVy ZS13YWxsLWl0ZW0iLGNvdW50ZG93bkNvbnRhaW5lcjoiLmZlYXR1cmUtd2FsbC1j b3VudGRvd24tY29udGFpbmVyIixjb3VudGRvd25Db3VudGVyOiIuZmVhdHVyZS13 YWxsLWNvdW50ZXIiLGNvdW50ZG93bkJhcjoiLmZlYXR1cmUtd2FsbC1jb3VudGRv d24iLHN0YXJ0SXRlbTowLGFjdGl2ZUNsYXNzOiJhY3RpdmUiLGNvdW50ZG93bklu dGVydmFsOjEwMCxjb3VudGRvd25MZW5ndGg6ODAwMCxwYXVzZVRpbWU6MzAwMDAs cmVhZHlDbGFzczoianMtcmVhZHkifX0pKG5kbS5qUXVlcnkpOyhmdW5jdGlvbihi KXt2YXIgYT1iO2IuZm4ubkZvbnRSZXNpemVyPWZ1bmN0aW9uKGMpe3ZhciBkLGUs ZjtkPWIuZXh0ZW5kKHtzdGVwOjIsdGFyZ2V0RWxlbWVudDoiLnN0b3J5LWJvZHki LHN0b3JhZ2VOYW1lOiJzdG9yeWZvbnRzaXplIixtaW5pbXVtOjEyLG1heGltdW06 MjYsdXNlcnByZWZzOmIuZm4ubkZvbnRSZXNpemVyLnVzZXJwcmVmcygpfSxjfHx7 fSk7Zj1iKGQudGFyZ2V0RWxlbWVudCk7ZT1wYXJzZUludChkLnVzZXJwcmVmcy5s b2FkKGQuc3RvcmFnZU5hbWUpLDEwKTtpZihlPj1kLm1pbmltdW0pe2YuY3NzKHtm b250U2l6ZTplfSl9Yih0aGlzLnNlbGVjdG9yKS5saXZlKCJjbGljayIsZnVuY3Rp b24oKXtiLmZuLm5Gb250UmVzaXplci5yZXNpemVmb250KGYsZCk7cmV0dXJuIGZh bHNlfSl9O2IuZm4ubkZvbnRSZXNpemVyLnJlc2l6ZWZvbnQ9ZnVuY3Rpb24oZixl KXt2YXIgZCxjO2Q9cGFyc2VGbG9hdChmLmNzcygiZm9udC1zaXplIiksMTApO2M9 ZCtlLnN0ZXA7aWYoYzxlLm1heGltdW0mJmM+PWUubWluaW11bSl7Zi5jc3Moe2Zv bnRTaXplOmN9KTtlLnVzZXJwcmVmcy5zYXZlKGUuc3RvcmFnZU5hbWUsYyl9fTti LmZuLm5Gb250UmVzaXplci51c2VycHJlZnM9ZnVuY3Rpb24oKXtpZighbmRtLnV0 aWwmJiFuZG0udXRpbC5jb29raWVzKXtyZXR1cm57c2F2ZTpmdW5jdGlvbihjLGQp e30sbG9hZDpmdW5jdGlvbihjKXtyZXR1cm4gMH19fXJldHVybntzYXZlOmZ1bmN0 aW9uKGMsZCl7bmRtLnV0aWwuY29va2llcy5jcmVhdGUoYyxkLDYwKX0sbG9hZDpm dW5jdGlvbihjKXtyZXR1cm4gbmRtLnV0aWwuY29va2llcy5yZWFkKGMpfX19fShu ZG0ualF1ZXJ5KSk7KGZ1bmN0aW9uKGEpe2lmKGEuYnJvd3Nlci5tc2llKXthKCJs YWJlbCBpbWciKS5saXZlKCJjbGljayIsZnVuY3Rpb24oKXt2YXIgYj1hKHRoaXMp LnBhcmVudHMoImxhYmVsIikuYXR0cigiZm9yIik7YSgiIyIrYikuY2xpY2soKX0p fX0obmRtLmpRdWVyeSkpOyhmdW5jdGlvbihiKXt2YXIgYTt0YW50by5uYW1lc3Bh Y2UoIm5kbS5jb250cm9sLmZvcm1idWlsZGVyIik7YT1uZG0uY29udHJvbC5mb3Jt YnVpbGRlcjthLmZvcm1TZXR1cHM9e307YS5zaG93TGlzdD1mdW5jdGlvbihkKXt2 YXIgZSxmLGM9ZC5sZW5ndGg7Zm9yKGU9MDtlPGM7ZT1lKzEpe2Y9YigiLmZwb3Mt IitkW2VdKTtmLnNob3coKS5yZW1vdmVDbGFzcygiZm9ybS1pdGVtLWhpZGRlbiIp LmZpbmQoIi5yZXF1aXJlZC1oaWRkZW4iKS5hZGRDbGFzcygicmVxdWlyZWQtZmll bGQiKTtmLmZpbmQoIi5mb3JtLXJhZGlvLWdyb3VwIikucmVtb3ZlQ2xhc3MoImZv cm0tcmFkaW8tZ3JvdXAtaGlkZGVuIik7Zi5maW5kKCIucmVxdWlyZWQiKS5zaG93 KCl9fTthLmhpZGVMaXN0PWZ1bmN0aW9uKGQpe3ZhciBlLGYsYz1kLmxlbmd0aDtm b3IoZT0wO2U8YztlPWUrMSl7Zj1iKCIuZnBvcy0iK2RbZV0pO2YuaGlkZSgpLmFk ZENsYXNzKCJmb3JtLWl0ZW0taGlkZGVuIikuZmluZCgiLnJlcXVpcmVkLWZpZWxk IikucmVtb3ZlQ2xhc3MoInJlcXVpcmVkLWZpZWxkIikuYWRkQ2xhc3MoInJlcXVp cmVkLWhpZGRlbiIpO2YuZmluZCgiLmZvcm0tcmFkaW8tZ3JvdXAiKS5hZGRDbGFz cygiZm9ybS1yYWRpby1ncm91cC1oaWRkZW4iKTtmLmZpbmQoIi5yZXF1aXJlZCIp LmhpZGUoKX19O2IuZm4uZXh0ZW5kKHtmb3JtQnVpbGRlcjpmdW5jdGlvbihkKXt2 YXIgZSxjPXRoaXMsZj1uZG0uY29udHJvbC5mb3JtYnVpbGRlcjt0aGlzLmRlZmF1 bHRzPXtmb3JtU2VsZWN0b3I6Yy5zZWxlY3Rvcixmb3JtSXRlbVNlbGVjdG9yOiIu Zm9ybS1pdGVtIixlcnJvckNsYXNzOiJmb3JtLWl0ZW0tZXJyb3IiLGVycm9yTXNn Q2xhc3M6ImVycm9yLW1lc3NhZ2UiLHJlcXVpcmVkQ2xhc3M6InJlcXVpcmVkLWZp ZWxkIixpbnB1dFR5cGVzOlsidGV4dCIsInBhc3N3b3JkIiwiZW1haWwiLCJjaGVj a2JveCIsInNlbGVjdCIsInRleHRhcmVhIiwicmFkaW8iXSxyZXF1aXJlZFNlbGVj dG9yOiIucmVxdWlyZWQtZmllbGQsIC5mb3JtLXJhZGlvLWdyb3VwOm5vdCguZm9y bS1yYWRpby1ncm91cC1oaWRkZW4pIn07dGhpcy5jb25maWc9e2Vycm9yY29kZXM6 e2VfMToiVGhlIGVtYWlsIGZhaWxlZCB0byBzZW5kLiBQbGVhc2UgdHJ5IGFnYWlu IGxhdGVyLiJ9LGRlZmF1bHRWYWxpZGF0ZTpmdW5jdGlvbihpLGgpe3ZhciBnO2g9 KGg9PT0icGFzc3dvcmQifHxoPT09InRleHQiKT8iaW5wdXQiOmg7Zz1iKGgsaSk7 cmV0dXJuKGcudmFsKCkubGVuZ3RoPjApP3RydWU6ZmFsc2V9LHR5cGVzOnt0ZXh0 OntzZWxlY3RvcjonaW5wdXRbdHlwZT0idGV4dCJdOm5vdCguZW1haWwpJyxyZVZh bGlkYXRlT246ImtleXVwIixtZXNzYWdlOiJQbGVhc2UgY29tcGxldGUgdGhpcyBm aWVsZCJ9LHNlbGVjdDp7c2VsZWN0b3I6InNlbGVjdCIscmVWYWxpZGF0ZU9uOiJj aGFuZ2UiLG1lc3NhZ2U6IlBsZWFzZSBtYWtlIGEgc2VsZWN0aW9uIn0scGFzc3dv cmQ6e3NlbGVjdG9yOidpbnB1dFt0eXBlPSJwYXNzd29yZCJdJyxyZVZhbGlkYXRl T246ImtleXVwIixtZXNzYWdlOiJQbGVhc2UgY29tcGxldGUgdGhpcyBmaWVsZCJ9 LHRleHRhcmVhOntzZWxlY3RvcjoidGV4dGFyZWEiLHJlVmFsaWRhdGVPbjoia2V5 dXAiLG1lc3NhZ2U6IlBsZWFzZSBjb21wbGV0ZSB0aGlzIGZpZWxkIn0sZW1haWw6 e3NlbGVjdG9yOidpbnB1dFt0eXBlPSJ0ZXh0Il0uZW1haWwnLHZhbGlkYXRlOmZ1 bmN0aW9uKGkpe3ZhciBnPWIoImlucHV0IixpKSxoPS9eW1x3XC1dKyhcLltcd1wt XSspKkBbXHdcLV0rKFwuW1x3XC1dKykrJC87cmV0dXJuKGgudGVzdChnLnZhbCgp KSk/dHJ1ZTpmYWxzZX0scmVWYWxpZGF0ZU9uOiJrZXl1cCIsbWVzc2FnZToiUGxl YXNlIGVudGVyIGEgdmFsaWQgZW1haWwgYWRkcmVzcyJ9LGNoZWNrYm94OntzZWxl Y3RvcjonaW5wdXRbdHlwZT0iY2hlY2tib3giXScsdmFsaWRhdGU6ZnVuY3Rpb24o aCl7dmFyIGc9YigiaW5wdXQ6Y2hlY2tlZCIsaCk7cmV0dXJuKGcubGVuZ3RoPjAp P3RydWU6ZmFsc2V9LHJlVmFsaWRhdGVPbjoiY2hhbmdlIixtZXNzYWdlOiJQbGVh c2UgdGljayB0aGUgYm94In0scmFkaW86e3NlbGVjdG9yOiIuZm9ybS1yYWRpby1n cm91cCIsdmFsaWRhdGU6ZnVuY3Rpb24oaSl7dmFyIGg9YigiaW5wdXQ6Y2hlY2tl ZCIsaSksZz1iKCJpbnB1dDpmaXJzdCIsaSk7cmV0dXJuKGgubGVuZ3RoPjB8fCFn Lmhhc0NsYXNzKGUucmVxdWlyZWRDbGFzcykpP3RydWU6ZmFsc2V9LHJlVmFsaWRh dGVPbjoiY2hhbmdlIixtZXNzYWdlOiJQbGVhc2UgbWFrZSBhIHNlbGVjdGlvbiJ9 fX07dGhpcy5pbml0PWZ1bmN0aW9uKGkpe3ZhciBnPXRoaXMsaixoPWIoaSk7aj0o aC5maW5kKCJpbnB1dFtuYW1lPWNpZF0iKS5sZW5ndGg+MCk/aC5maW5kKCJpbnB1 dFtuYW1lPWNpZF0iKS52YWwoKToiIjtpZihmLmZvcm1TZXR1cHNbImNpZF8iK2pd KXtmLmZvcm1TZXR1cHNbImNpZF8iK2pdKCl9Zy51cGRhdGUoaSxmYWxzZSl9O3Ro aXMudmFsaWRhdGVGb3JtPWZ1bmN0aW9uKGgpe3ZhciBnPXRoaXM7Zy52YWxpZD10 cnVlO2cudXBkYXRlKGgsdHJ1ZSk7cmV0dXJuIGcudmFsaWR9O3RoaXMudXBkYXRl PWZ1bmN0aW9uKG8saCl7dmFyIGc9dGhpcyxuLGwsbSxqLGs7az1mdW5jdGlvbihw LGkpe3AuZWFjaChmdW5jdGlvbihxLHMpe3ZhciByPWIocykuY2xvc2VzdChlLmZv cm1JdGVtU2VsZWN0b3IpO2lmKGgpe2cudmFsaWRhdGVJdGVtKHIsaSl9ZWxzZXtn LnNldHVwSXRlbShyLGkpfX0pfTtmb3Ioaj0wO2o8ZS5pbnB1dFR5cGVzLmxlbmd0 aDtqPWorMSl7bj1lLmlucHV0VHlwZXNbal07bD1nLmNvbmZpZy50eXBlc1tuXS5z ZWxlY3RvcjttPW8ucmVxdWlyZWRMaXN0LmZpbHRlcihsKTtrKG0sbil9fTt0aGlz LnNldHVwSXRlbT1mdW5jdGlvbihsLGope3ZhciBoPXRoaXMsaSxrLGc7az1oLmNv bmZpZy50eXBlc1tqXS5yZVZhbGlkYXRlT247Zz1oLmNvbmZpZy50eXBlc1tqXS5z ZWxlY3RvcjtpPWIoZyxsKTtpLmRhdGEoInR5cGUiLGopO2kudW5iaW5kKCk7aS5i aW5kKGssZnVuY3Rpb24oKXt2YXIgbj1iKHRoaXMpLmRhdGEoInR5cGUiKSxtPWIo dGhpcyksbztvPW0uY2xvc2VzdChlLmZvcm1JdGVtU2VsZWN0b3IpO2gudmFsaWRh dGVJdGVtKG8sbil9KX07dGhpcy52YWxpZGF0ZUl0ZW09ZnVuY3Rpb24oayxoKXt2 YXIgZz10aGlzLGosaTtpPWcuY29uZmlnLnR5cGVzW2hdLm1lc3NhZ2U7aj0oInZh bGlkYXRlIiBpbiBnLmNvbmZpZy50eXBlc1toXSk/Zy5jb25maWcudHlwZXNbaF0u dmFsaWRhdGUoayk6Zy5jb25maWcuZGVmYXVsdFZhbGlkYXRlKGssaCk7aWYoail7 Zy5yZW1vdmVFcnJvck1zZyhrKX1lbHNle2lmKCFrLmhhc0NsYXNzKGUuZXJyb3JD bGFzcykpe2cuYWRkRXJyb3JNc2coayxpKX1nLnZhbGlkPWZhbHNlfX07dGhpcy5m b3JtUmVzcG9uc2U9ZnVuY3Rpb24oaSxoKXt2YXIgZz1iLnRyaW0oaSk7YihoKS5y ZXBsYWNlV2l0aCgiPHA+IitnKyI8L3A+Iil9O3RoaXMuZm9ybVJlc3BvbnNlRXJy b3I9ZnVuY3Rpb24oaSxoKXt2YXIgZz1iLnRyaW0oaSk7aWYoYigiLmVycm9yIixo KS5sZW5ndGg+MCl7YigiLmVycm9yIixoKS5odG1sKGcpfWVsc2V7YihoKS5hcHBl bmQoIjxwIGNsYXNzPSdlcnJvcic+IitnKyI8L3A+Iil9fTt0aGlzLmFkZEVycm9y TXNnPWZ1bmN0aW9uKGgsail7dmFyIGc9YigiPHN0cm9uZz48L3N0cm9uZz4iKSxp O2guYWRkQ2xhc3MoZS5lcnJvckNsYXNzKTtnLmF0dHIoImNsYXNzIixlLmVycm9y TXNnQ2xhc3MpO2cuaHRtbChqKTtpPShiKCJsZWdlbmQiLGgpLmxlbmd0aD4wKT8i bGVnZW5kIjoibGFiZWwiO2lmKGIoaSsiIC4iK2UuZXJyb3JNc2dDbGFzcyxoKS5s ZW5ndGg9PT0wKXtiKGksaCkuYXBwZW5kKGcpfWVsc2V7YihpKyIgLiIrZS5lcnJv ck1zZ0NsYXNzLGgpLnNob3coKX19O3RoaXMucmVtb3ZlRXJyb3JNc2c9ZnVuY3Rp b24oZyl7dmFyIGg7Zy5yZW1vdmVDbGFzcyhlLmVycm9yQ2xhc3MpO2g9KGIoImxl Z2VuZCIsZykubGVuZ3RoPjApPyJsZWdlbmQiOiJsYWJlbCI7YihoKyIgLiIrZS5l cnJvck1zZ0NsYXNzLGcpLmhpZGUoKX07dGhpcy5zZW5kRGF0YT1mdW5jdGlvbihp KXt2YXIgaCxnPXt0eXBlOiJQT1NUIix1cmw6IlNhdGVsbGl0ZSIsZGF0YTppLnNl cmlhbGl6ZSgpLGRhdGFUeXBlOiJodG1sIixzdWNjZXNzOmZ1bmN0aW9uKG0pe3Zh ciBqLGs7dHJ5e2s9Yi5wYXJzZUpTT04obSk7aj0ianNvbiJ9Y2F0Y2gobCl7aj0i aHRtbCJ9aWYoaj09PSJqc29uIil7aWYoay5zdWNjZXNzPT09IjEiKXtjLmZvcm1S ZXNwb25zZShrLm1zZyxpKX1lbHNle2g9Yy5jb25maWcuZXJyb3Jjb2Rlc1siZV8i K2suZXJyb3Jjb2RlXTtjLmZvcm1SZXNwb25zZUVycm9yKGgsaSl9fWVsc2V7Yy5m b3JtUmVzcG9uc2UobSxpKX19fTtiLmFqYXgoZyl9O2U9Yi5leHRlbmQoYy5kZWZh dWx0cyxkfHx7fSk7dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGk9dGhpcyxoPWIo dGhpcyksZz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO2cudHlwZT0i aGlkZGVuIjtnLm5hbWU9ImpzRW5hYmxlZCI7Zy52YWx1ZT0idHJ1ZSI7aC5hcHBl bmQoZyk7aS52YWxpZD10cnVlO2kucmVxdWlyZWRMaXN0PWIoZS5yZXF1aXJlZFNl bGVjdG9yLGgpO2MuaW5pdChpKTtoLnN1Ym1pdChmdW5jdGlvbigpe3ZhciBqO2ku cmVxdWlyZWRMaXN0PWIoZS5yZXF1aXJlZFNlbGVjdG9yLGgpO2MudXBkYXRlKGks ZmFsc2UpO2o9Yy52YWxpZGF0ZUZvcm0oaSk7aWYoail7Yy5zZW5kRGF0YShoKX1y ZXR1cm4gZmFsc2V9KX0pfX0pO2IoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7 YigiLmZvcm1CdWlsZGVyIikuZm9ybUJ1aWxkZXIoKX0pfShuZG0ualF1ZXJ5KSk7 KGZ1bmN0aW9uKGIpe3ZhciBhPWI7dGFudG8ubmFtZXNwYWNlKCJuZG0uY29udHJv bHMuZ29vZ2xlbWFwcyIpO25kbS5jb250cm9scy5nb29nbGVtYXBzPXtBUElTdGF0 ZToiTk9UTE9BREVEIixtYXBRdWV1ZTpbXSxsb2FkQVBJOmZ1bmN0aW9uKCl7dmFy IGY9W10sZyxjPSJBQlFJQUFBQWZMT21QMk54ZDZiQ0NZdzV6QmI5WWhTdU13bmky eDdXV241d3VaSnF6ZEI1ckdvVTNoU1E3REQ1RnczaWtkbUpSWi1DSmhrR3RMa3N0 ZyIsZSxkO2ZbIm5ld3MuY29tLmF1Il09IkFCUUlBQUFBQ3p4eGRHdDBzY0N5Qnp1 YTJtR3hGeFRQMUt4T3BkQzhrQnRJdFYweXlhc3NOSHF3aVJSQTR5STR1N0tkSktI Y240RS1uZlczajgwbHNnIjtmWyJoZXJhbGRzdW4uY29tLmF1Il09IkFCUUlBQUFB Q3p4eGRHdDBzY0N5Qnp1YTJtR3hGeFMxcmhOeFRoUzk2WnpxMHFILVAtc0JpLVBw T3hUUnM3OVFyV2JDU0RLZUl6c0dXLVo4ZlhlVGJRIjtmWyJ0aGVhdXN0cmFsaWFu LmNvbS5hdSJdPSJBQlFJQUFBQUN6eHhkR3Qwc2NDeUJ6dWEybUd4RnhSVC1RWG9r ejRoZ1lZazRDaVJjUEEtUndob2poUUhTeGFxdzViNm9RMHRHdHFxU1ZFRm9qeFN0 USI7ZlsiY291cmllcm1haWwuY29tLmF1Il09IkFCUUlBQUFBQ3p4eGRHdDBzY0N5 Qnp1YTJtR3hGeFJfOVp6SEhfaEltOUNvS1ZHaDZ5SGNBSlFYOVJUeTk3ZHlRdWRB clZvNmxnbEVuX0RpTDZMZ0ZnIjtmWyJhZGVsYWlkZW5vdy5jb20uYXUiXT0iQUJR SUFBQUFDenh4ZEd0MHNjQ3lCenVhMm1HeEZ4VDJhc25qRzBpaUxjYVFIUXVtV0Zk VTRxQnR0eFItVGpPSzczZC1IbURjUnExZS1KQ3F3LVRwUWciO2ZbInBlcnRobm93 LmNvbS5hdSJdPSJBQlFJQUFBQUN6eHhkR3Qwc2NDeUJ6dWEybUd4RnhRbUczdUcy aGhYcC0yd0J3akNrTGUya1VBSGd4UzRwVkpzbm5wX2NSTS1uQS05VDJoS0p0X3JF dyI7ZlsiZGFpbHl0ZWxlZ3JhcGguY29tLmF1Il09IkFCUUlBQUFBQ3p4eGRHdDBz Y0N5Qnp1YTJtR3hGeFRMc0ZvY1NwOTJZNnVZaWxIOWtEVUQ5LTAxOUJSQ2VNZnNz eUhlN2JUU3MzWDdaOEgzN1V5Y3RnIjtuZG0uY29udHJvbHMuZ29vZ2xlbWFwcy5B UElTdGF0ZT0iTE9BRElORyI7Zm9yKGcgaW4gZil7aWYoZG9jdW1lbnQuZG9tYWlu Lm1hdGNoKGcpKXtjPWZbZ119fWU9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9qc2Fw aT9rZXk9IitjKyImY2FsbGJhY2s9bmRtLmNvbnRyb2xzLmdvb2dsZW1hcHMubG9h ZE1hcEFQSSI7YigpLnJlYWR5KGZ1bmN0aW9uKCl7Yi5nZXRTY3JpcHQoZSl9KX0s bG9hZE1hcEFQSTpmdW5jdGlvbigpe2dvb2dsZS5sb2FkKCJtYXBzIiwiMiIse2Nh bGxiYWNrOm5kbS5jb250cm9scy5nb29nbGVtYXBzLmluaXRpYWxpc2VNYXBRdWV1 ZX0pfSxhZGRUb01hcFF1ZXVlOmZ1bmN0aW9uKGMpe25kbS5jb250cm9scy5nb29n bGVtYXBzLm1hcFF1ZXVlLnB1c2goYyl9LGluaXRpYWxpc2VNYXBRdWV1ZTpmdW5j dGlvbigpe3ZhciBjO25kbS5jb250cm9scy5nb29nbGVtYXBzLkFQSVN0YXRlPSJM T0FERUQiO2ZvcihjPTA7YzxuZG0uY29udHJvbHMuZ29vZ2xlbWFwcy5tYXBRdWV1 ZS5sZW5ndGg7YysrKXtuZG0uY29udHJvbHMuZ29vZ2xlbWFwcy5jcmVhdGVNYXAo bmRtLmNvbnRyb2xzLmdvb2dsZW1hcHMubWFwUXVldWVbY10pfX0sY3JlYXRlTWFw OmZ1bmN0aW9uKGUpe3ZhciBoLGMsZyxmLGQ7aD1lWzBdO2M9ZVsxXTtnPWVbMl07 Zj1lWzNdO2Q9ZVs0XTt2YXIgaT1mdW5jdGlvbigpe3ZhciBqPW5ldyBHTWFwMih0 aGlzKTtqLnNldENlbnRlcihuZXcgR0xhdExuZyhjLGcpLGYpO2ouYWRkQ29udHJv bChuZXcgR1NtYWxsTWFwQ29udHJvbCgpKTtqLmFkZENvbnRyb2wobmV3IEdNYXBU eXBlQ29udHJvbCgpKTtqLmVuYWJsZVNjcm9sbFdoZWVsWm9vbSgpO3ZhciBrPXt9 O2Zvcih2YXIgbSBpbiBkKXtpZihtKXt2YXIgcD1kW21dLnNwbGl0KCI7Iik7dmFy IG49IiI7dmFyIHI9IiI7Zm9yKHZhciBvIGluIHApe2lmKG8pe2lmKG89PT0iMCIp e249cFtvXX1pZihvPT09IjEiKXtyPXBbb119fX12YXIgcT1uLnNwbGl0KCIsIik7 aWYocVsxXSl7dmFyIGw9bmV3IEdNYXJrZXIobmV3IEdMYXRMbmcocVswXSxxWzFd KSk7ai5hZGRPdmVybGF5KGwpO2lmKHIhPT0iIil7bC5iaW5kSW5mb1dpbmRvd0h0 bWwocil9fX19fTtiKCIuaWQiK2gpLmZpbmQoIi5nb29nbGUtbm0tbWFwIikuZWFj aChpKTtiKCIuaWQiK2gpLmZpbmQoIi5nb29nbGUtdHJhdmVsLW1hcCIpLmVhY2go aSl9LG5tR29vZ2xlTWFwczpmdW5jdGlvbihnLGMsZixlLGQpe3N3aXRjaChuZG0u Y29udHJvbHMuZ29vZ2xlbWFwcy5BUElTdGF0ZSl7Y2FzZSJOT1RMT0FERUQiOm5k bS5jb250cm9scy5nb29nbGVtYXBzLmxvYWRBUEkoKTtuZG0uY29udHJvbHMuZ29v Z2xlbWFwcy5hZGRUb01hcFF1ZXVlKFtnLGMsZixlLGRdKTticmVhaztjYXNlIkxP QURJTkciOm5kbS5jb250cm9scy5nb29nbGVtYXBzLmFkZFRvTWFwUXVldWUoW2cs YyxmLGUsZF0pO2JyZWFrO2Nhc2UiTE9BREVEIjpuZG0uY29udHJvbHMuZ29vZ2xl bWFwcy5jcmVhdGVNYXAoW2csYyxmLGUsZF0pO2JyZWFrO2RlZmF1bHQ6YnJlYWt9 cmV0dXJufX07aWYoIXdpbmRvdy5ubUdvb2dsZU1hcHMpe25tR29vZ2xlTWFwcz1u ZG0uY29udHJvbHMuZ29vZ2xlbWFwcy5ubUdvb2dsZU1hcHN9fShuZG0ualF1ZXJ5 KSk7KGZ1bmN0aW9uKGIpe3ZhciBhPWI7Yi5mbi5uSlNDbGFzc1Jlc2V0PWZ1bmN0 aW9uKCl7Yih0aGlzKS5hZGRDbGFzcygiaGFzLWpzIik7Yih0aGlzKS5yZW1vdmVD bGFzcygibm8tanMiKX07YigiaHRtbCIpLmFkZENsYXNzKCJoYXMtanMiKX0obmRt LmpRdWVyeSkpOyhmdW5jdGlvbihiKXt2YXIgYT1iLGM9Ii51c2VyLWFub255bW91 cyAubmF2LWxvZ2luIC5mb3JtLW1vZHVsZS1jYW0tbG9naW4gLm1vcmUtbGlua3Mg LmZpcnN0IGEiO3RhbnRvLm5hbWVzcGFjZSgibmRtLmNvbnRyb2xzLm5saWdodGJv eCIpO25kbS5jb250cm9scy5ubGlnaHRib3g9ZnVuY3Rpb24ocil7dmFyIGssbixx LGQscCxpLGgsaixtLGwsZixvLGUsZz1iLmV4dGVuZCh7eDoiIix0eXBlOiJkZWZh dWx0IixkZWZhdWx0V2lkdGg6NTAwLGRlZmF1bHRIZWlnaHQ6MzAwLGNsaWNrQ29u dGFpbmVyVG9DbG9zZTp0cnVlLGNsb3NlQ2FsbGJhY2s6ZnVuY3Rpb24oKXt9LGNh bmNlbENhbGxiYWNrOmZ1bmN0aW9uKCl7fSxjb25maXJtQ2FsbGJhY2s6ZnVuY3Rp b24oKXt9fSxyfHx7fSk7bj1mdW5jdGlvbigpe3ZhciB0LHUseSx4LHcscyx2O3Q9 ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5jbGFzc05hbWU9ImxpZ2h0 Ym94LWNvbnRhaW5lciI7dT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt1 LmNsYXNzTmFtZT0ibGlnaHRib3gtb3ZlcmxheSI7eT1kb2N1bWVudC5jcmVhdGVF bGVtZW50KCJkaXYiKTt5LmNsYXNzTmFtZT0ibGlnaHRib3gtY29udGVudCI7eD1k b2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt4LmNsYXNzTmFtZT0ibGlnaHRi b3gtY29udHJvbHMiO3c9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO3cuY2xh c3NOYW1lPSJsaWdodGJveC1jb25maXJtIjt3LmlubmVySFRNTD0iQ29uZmlybSI7 dy5vbmNsaWNrPWQ7cz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7cy5jbGFz c05hbWU9ImxpZ2h0Ym94LWNhbmNlbCI7cy5pbm5lckhUTUw9IkNhbmNlbCI7cy5v bmNsaWNrPXE7dj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7di5jbGFzc05h bWU9ImxpZ2h0Ym94LWNsb3NlIjt2LmhyZWY9IiMiO3YuaW5uZXJIVE1MPSJDbG9z ZSI7di5vbmNsaWNrPXA7c3dpdGNoKGcudHlwZSl7Y2FzZSJjb25maXJtIjp4LmFw cGVuZENoaWxkKHcpO3guYXBwZW5kQ2hpbGQocyk7YnJlYWs7Y2FzZSJhbGVydCI6 eC5hcHBlbmRDaGlsZChzKTticmVhaztjYXNlImJsYW5rIjpicmVhaztkZWZhdWx0 OnguYXBwZW5kQ2hpbGQodil9dC5hcHBlbmRDaGlsZCh1KTt0LmFwcGVuZENoaWxk KHkpO3kuYXBwZW5kQ2hpbGQoeCk7cmV0dXJuIHR9O2U9ZnVuY3Rpb24ocyl7YSgi I2xpZ2h0Ym94LWNvbnRlbnQtcGxhY2Vob2xkZXIiKS5hZnRlcihzKS5yZW1vdmUo KTtzLmhpZGUoKX07aT1mdW5jdGlvbigpe2UoYSgiLmxpZ2h0Ym94LWNvbnRlbnQi KS5jaGlsZHJlbigiLmxpZ2h0Ym94LWNvbnRlbnQtd3JhcHBlciIpKTthKCIubGln aHRib3gtY29udGFpbmVyIikucmVtb3ZlKCl9O3E9ZnVuY3Rpb24oKXtpKCl9O3A9 ZnVuY3Rpb24oKXtpKCk7Zy5jbG9zZUNhbGxiYWNrKCk7cmV0dXJuIGZhbHNlfTtk PWZ1bmN0aW9uKCl7Zy5jb25maXJtQ2FsbGJhY2soKX07bT1mdW5jdGlvbihzKXt2 YXIgdCx1PS8oZ2lmfGpwZ3xqcGVnfHBuZykkLztpZihzLnNlYXJjaCgvIy8pPT09 LTEpe2lmKHUudGVzdChzKSl7dD0iaW1nIn1lbHNle3Q9Im90aGVyIn19ZWxzZXt0 PSJpZCJ9cmV0dXJuIHR9O2w9ZnVuY3Rpb24odSl7dmFyIHQsdixzO3Q9L1xzKihc ZCspW3gsXShcZCspXHMqLy5leGVjKHUpO2lmKHQpe3Y9dFsxXTtzPXRbMl19ZWxz ZXt2PWcuZGVmYXVsdFdpZHRoO3M9Zy5kZWZhdWx0SGVpZ2h0fXJldHVyblt2LHNd fTtrPWZ1bmN0aW9uKCl7dmFyIHM9bmRtLmNvbnRyb2xzLm5saWdodGJveCgpO2Io Ii5saWdodGJveC1vdmVybGF5IikudW5iaW5kKCJjbGljayIpO2IoZG9jdW1lbnQp LnVuYmluZCgia2V5dXAiKTtpZihnLmNsaWNrQ29udGFpbmVyVG9DbG9zZT09PXRy dWUpe2IoIi5saWdodGJveC1vdmVybGF5IikuY2xpY2soZnVuY3Rpb24oKXtzLmNs b3NlKCl9KX1iKGRvY3VtZW50KS5rZXl1cChmdW5jdGlvbih0KXtpZih0LmtleUNv ZGU9PT0yNyl7cy5jbG9zZSgpfX0pO2IoIi5saWdodGJveC1jb250YWluZXIiKS5o ZWlnaHQoYihkb2N1bWVudCkuaGVpZ2h0KCkpO2IoIi5saWdodGJveC1jb250YWlu ZXIiKS5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOiIwcHgiLGxlZnQ6IjBw eCJ9KTtiKCIubGlnaHRib3gtb3ZlcmxheSIpLmhlaWdodChiKGRvY3VtZW50KS5o ZWlnaHQoKSk7YigiLmxpZ2h0Ym94LWNvbnRlbnQiKS5hbmltYXRlKHtvcGFjaXR5 OiIxIn0sMjAwLCJsaW5lYXIiKTtyZXR1cm4gZmFsc2V9O2o9ZnVuY3Rpb24ocyx0 LHYsdSl7dmFyIHc9YSgnPGRpdiBpZD0ibGlnaHRib3gtY29udGVudC1wbGFjZWhv bGRlciIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij48L2Rpdj4nKTthLmRhdGEoc1sw XSwiY291bnQiLHUpO2EuZGF0YShzWzBdLCJkaW1lbnNpb25zIix2KTthKCJib2R5 IikuYXBwZW5kKHcpO2EoIi5saWdodGJveC1jb250ZW50IikuYXBwZW5kKHMuc2hv dygpKTtiKCIubGlnaHRib3gtb3ZlcmxheSIpLmFuaW1hdGUoe29wYWNpdHk6IjAu NiJ9LDIwMCwibGluZWFyIik7YigiLmxpZ2h0Ym94LWNvbnRlbnQiKS5jc3Moe3Rv cDphKHdpbmRvdykuc2Nyb2xsVG9wKCkrKGEod2luZG93KS5oZWlnaHQoKS8yKSxs ZWZ0OiI1MCUiLHdpZHRoOnZbMF0rInB4IixoZWlnaHQ6dlsxXSsicHgiLCJtYXJn aW4tbGVmdCI6LSh2WzBdLzIpLCJtYXJnaW4tdG9wIjotKHZbMV0vMil9KTtrKCl9 O2g9ZnVuY3Rpb24odSxFLEEpe3ZhciB5LHcsRCx4LEIsdix0LHMsRixDLHo7YSgi Ym9keSIpLmFwcGVuZChuKCkpO0I9bSh1KTtpZihhKCIubGlnaHRib3gtY29udGVu dC13cmFwcGVyLSIrQSkubGVuZ3RoPjApe0Y9YSgiLmxpZ2h0Ym94LWNvbnRlbnQt d3JhcHBlci0iK0EpfWVsc2V7Rj1hKCc8ZGl2IGNsYXNzPSJsaWdodGJveC1jb250 ZW50LXdyYXBwZXIgbGlnaHRib3gtY29udGVudC13cmFwcGVyLScrQSsnIiAvPicp fWlmKEYuY2hpbGRyZW4oKS5sZW5ndGg+MCl7cz1hLmRhdGEoYSgiLmxpZ2h0Ym94 LWNvbnRlbnQtd3JhcHBlci0iK0EpWzBdLCJkaW1lbnNpb25zIik7aihGLEIscyxB KTtyZXR1cm59cz0oRSk/bChFKTpbZy5kZWZhdWx0V2lkdGgsZy5kZWZhdWx0SGVp Z2h0XTtzd2l0Y2goQil7Y2FzZSJpbWciOnQ9Ri5hcHBlbmQoJzxpbWcgc3JjPSIn K3UrJyIgYWx0PSIiIC8+Jyk7YSgiLmxpZ2h0Ym94LWNvbnRlbnQiKS5hcHBlbmQo dCk7dC5maW5kKCJpbWciKS5sb2FkKGZ1bmN0aW9uKCl7aihhKHRoaXMpLnBhcmVu dCgpLEIsW3RoaXMud2lkdGgsdGhpcy5oZWlnaHRdLEEpfSk7YnJlYWs7Y2FzZSJp ZCI6Qz11LmluZGV4T2YoIiMiKTt2PXUuc3Vic3RyaW5nKEMrMSx1Lmxlbmd0aCk7 ej0odi5zZWFyY2goL2NsYXNzLS8pPT09LTEpP2ZhbHNlOnRydWU7dD0oeik/YSgi LiIrdi5yZXBsYWNlKCJjbGFzcy0iLCIiKSk6YSgiIyIrdik7cz0odC53aWR0aCgp PjAmJnQuaGVpZ2h0KCk+MCk/W3Qud2lkdGgoKSx0LmhlaWdodCgpXTpzO3M9KEUp P2woRSk6cztGLmFwcGVuZCh0LnNob3coKSk7aihGLEIscyxBKTticmVhaztkZWZh dWx0OnQ9Ri5hcHBlbmQoJzxpZnJhbWUgc3JjPSInK3UrJyIgd2lkdGg9Iicrc1sw XSsnIiBoZWlnaHQ9Iicrc1sxXSsnIiAvPjwvaWZyYW1lJyk7aih0LEIscyxBKX19 O289ZnVuY3Rpb24odCxzKXtoKHQscyw5OTkpfTtmPWZ1bmN0aW9uKHQscyl7aCgi IyIrdCxzLDk5OCl9O3JldHVybntidWlsZDpuLHJlbW92ZTppLGNhbmNlbDpxLGNv bmZpcm06ZCxjbG9zZTpwLGxpZ2h0dXA6ayxzZXRjb250ZW50RnJvbUlEOmYsZ2V0 VHlwZTptLGdldENvbnRlbnQ6aCxzaG93Q29udGVudDpqLHNldGNvbnRlbnRGcm9t TGluazpvfX07Yi5mbi5ubGlnaHRib3g9ZnVuY3Rpb24oZCl7Yih0aGlzKS5lYWNo KGZ1bmN0aW9uKGYsZyl7YS5kYXRhKGcsImNvdW50IixmKTtiKHRoaXMpLmNsaWNr KGZ1bmN0aW9uKG4pe3ZhciBtPW5kbS5jb250cm9scy5ubGlnaHRib3goKSxqLGgs byxsLGssaTtqPWIodGhpcykuYXR0cigiaHJlZiIpO2s9Yih0aGlzKS5wYXJlbnQo KS5hdHRyKCJjbGFzcyIpO2k9ay5pbmRleE9mKCJjdXN0b20iKTtpZihpIT09LTEp e2w9ay5zdWJzdHJpbmcoKGkpLChpKzEzKSl9aD1iKHRoaXMpLmF0dHIoInJlbCIp fHxiKHRoaXMpLmF0dHIoInR5cGUiKXx8bDttLmdldENvbnRlbnQoaixoLGYpO3Jl dHVybiBmYWxzZX0pfSl9O2EoYykubmxpZ2h0Ym94KCk7bmRtLmNvbnRyb2xzLmxv Z2luPWZ1bmN0aW9uKCl7YShjKS5jbGljaygpfX0obmRtLmpRdWVyeSkpOyhmdW5j dGlvbihiKXt2YXIgYT1iO2IoIi5tYWtlaG9tZSIpLmxpdmUoImNsaWNrIixmdW5j dGlvbigpe3RoaXMuc3R5bGUuYmVoYXZpb3I9InVybCgjZGVmYXVsdCNob21lcGFn ZSkiO3RyeXt0aGlzLnNldEhvbWVQYWdlKGxvY2F0aW9uLmhyZWYpO3JldHVybiBm YWxzZX1jYXRjaChjKXtyZXR1cm4gdHJ1ZX19KX0obmRtLmpRdWVyeSkpOyhmdW5j dGlvbihhKXt0YW50by5uYW1lc3BhY2UoIm5kbS5uZXdzY29tYXUubWVkaWFzZWFy Y2gucmVsYXRlZGxpbmtzIik7dGFudG8ubmFtZXNwYWNlKCJuZG0ubmV3c2NvbWF1 Lm1lZGlhc2VhcmNoLm9wdGlvbnMuY29ycmVjdG9yZGVyIik7bmRtLm5ld3Njb21h dS5tZWRpYXNlYXJjaC5vcHRpb25zLmNvcnJlY3RvcmRlcj1mYWxzZTt2YXIgYj17 TmV3c19TdG9yeToic3RvcnkiLE5ld3NfSW1hZ2VfRmlsZToiaW1hZ2UiLE5ld3Nf U291cmNlX0ltYWdlOiJpbWFnZSIsIk5ld3NfUmljaF9NZWRpYS9HYWxsZXJ5Ijoi Z2FsbGVyeSIsIk5ld3NfUmljaF9NZWRpYS9WaWRlbyI6InZpZGVvIiwiTmV3c19S aWNoX01lZGlhL0F1ZGlvIjoiYXVkaW8iLCJOZXdzX1JpY2hfTWVkaWEvRmxhc2gi OiJmbGFzaCIsTmV3c19VdGlsaXR5X0NvbnRlbnQ6ImZpbGUiLE5NRGF0YToibm1k IixOZXdzX1BhZ2U6InBhZ2UifTtuZG0ubmV3c2NvbWF1Lm1lZGlhc2VhcmNoLnJl bGF0ZWRsaW5rcy5iYXNlPWZ1bmN0aW9uKGQpe3ZhciBmLGcsYyxlO2Y9alF1ZXJ5 LmV4dGVuZCh7YmFzZVVSTDoiaHR0cDovL2FwaS5zZWFyY2gubmV3cy5jb20uYXUv ZW1iZWRkZWRqc29uPyIsaWQ6IiIsdXM6Im5kbW5ld3MiLHNpZDoiNDIxIixraWxs OmZhbHNlLG9iamVjdE5hbWU6IiIsbG9hZENhbGxiYWNrOiJsb2FkQ2FsbGJhY2si LHJlbExpbmtQcmVmaXg6InRyYWNrLSIsdmVydGljYWxOYW1lOiJuZXdzIixhczoi bmV3cyIsYWM6Im5pbmV3czIiLHRlbXBsYXRlczp7fSxyZWFkeTpmdW5jdGlvbigp e2NvbnNvbGUubG9nKHRoaXMucmVsYXRlZExpbmtzKHtzdGFydDowLGxpbWl0OjIs dXJsc1RvRGVkdXBlOlsiaHR0cDovL3d3dy50aGVhdXN0cmFsaWFuLm5ld3MuY29t LmF1L3N0b3J5LzAsLDI1NTE2Njc0LTI3MDIsMDAuaHRtbCIsImh0dHA6Ly93d3cu bmV3cy5jb20uYXUvc3RvcnkvMCwsMjU1MTE2MTItNDIxLDAwLmh0bWwiXX0pKTtj b25zb2xlLmxvZyh0aGlzLmtleXdvcmRzKCkpO2NvbnNvbGUubG9nKHRoaXMuZ2xv c3NhcnlLZXl3b3JkcygpKX19LGR8fHt9KTtnPShmdW5jdGlvbigpe3ZhciBoPWYu YmFzZVVSTCsiaWQ9IitmLmlkKyImdXM9IitmLnVzKyImc2lkPSIrZi5zaWQrIiZh cz0iK2YuYXMrIiZhYz0iK2YuYWMrIiZjYWxsQmFjaz0iK2Yub2JqZWN0TmFtZSsi LiIrZi5sb2FkQ2FsbGJhY2s7bmRtLmFqYXguY2FsbGJhY2tKU09OKGgsbmRtLm5l d3Njb21hdS5tZWRpYXNlYXJjaC5yZWxhdGVkbGlua3MuYmFzZS5sb2FkQ2FsbGJh Y2ssZmFsc2UsdHJ1ZSl9KCkpO2M9e21lZGlhc2VhcmNoRGF0YTp7fSxsb2FkQ2Fs bGJhY2s6ZnVuY3Rpb24oaCl7dGhpcy5tZWRpYXNlYXJjaERhdGE9aDt0aGlzLnJl YWR5KCl9LHJlYWR5OmYucmVhZHksa2V5d29yZHM6ZnVuY3Rpb24oayl7dmFyIG4s cD10aGlzLm1lZGlhc2VhcmNoRGF0YSxvPShwJiZwLlJlbGF0ZWRMaW5rcyk/cC5S ZWxhdGVkTGlua3MudGFncy5sZW5ndGg6MCxqLG09W10saD0wLGw7bj1hLmV4dGVu ZCh7c3RhcnQ6MCxsaW1pdDoxMCxtaW5XZWlnaHQ6Mn0sa3x8e30pO2o9bi5saW1p dCtuLnN0YXJ0O2lmKChuLmxpbWl0K24uc3RhcnQpPm8pe2o9b31mb3IobD1uLnN0 YXJ0O2w8ajtsPWwrMSl7aWYocC5SZWxhdGVkTGlua3MudGFnc1tsXS5zY29yZT49 bi5taW5XZWlnaHQpe21baF09cC5SZWxhdGVkTGlua3MudGFnc1tsXS5uYW1lO2g9 aCsxfX1yZXR1cm4gbX0scmVsYXRlZExpbmtzOmZ1bmN0aW9uKGspe3ZhciBwPXRo aXMubWVkaWFzZWFyY2hEYXRhLG4sbz0ocCYmcC5SZWxhdGVkTGlua3MpP3AuUmVs YXRlZExpbmtzLmRvY3MubGVuZ3RoOjAsaixtPVtdLGg9MCxsO249YS5leHRlbmQo e3N0YXJ0OjAsbGltaXQ6MTAsdXJsc1RvRGVkdXBlOltdfSxrfHx7fSk7aj1uLmxp bWl0K24uc3RhcnQ7aWYobi51cmxzVG9EZWR1cGUmJm4udXJsc1RvRGVkdXBlLmxl bmd0aCl7cD10aGlzLmRlRHVwZSh7dXJsc1RvRGVkdXBlOm4udXJsc1RvRGVkdXBl fSl9aWYoKG4ubGltaXQrbi5zdGFydCk+byl7aj1vfWZvcihsPW4uc3RhcnQ7bDxq O2w9bCsxKXttW2hdPXAuUmVsYXRlZExpbmtzLmRvY3NbbF07aD1oKzF9cmV0dXJu IG19LGdsb3NzYXJ5S2V5d29yZHM6ZnVuY3Rpb24oKXt2YXIgbT10aGlzLm1lZGlh c2VhcmNoRGF0YSxsPXt0ZXJtczpbXX0saz0wLGosaCxuO2lmKG0uUmVsYXRlZExp bmtzLmRvY0VudGl0aWVzLmxlbmd0aCl7az1tLlJlbGF0ZWRMaW5rcy5kb2NFbnRp dGllcy5sZW5ndGh9Zm9yKGo9MDtqPGs7aj1qKzEpe2g9bS5SZWxhdGVkTGlua3Mu ZG9jRW50aXRpZXNbal07bj1oO2wudGVybXNbal09e2tleXdvcmQ6aCxkZXNjcmlw dGlvbjpudWxsLHVybDptLlJlbGF0ZWRMaW5rcy5iYXNlVXJsK259fXJldHVybiBs fSxtb3JlbGluazpmdW5jdGlvbigpe3ZhciBoPXRoaXMubWVkaWFzZWFyY2hEYXRh O3JldHVybihoJiZoLlJlbGF0ZWRMaW5rcyk/aC5SZWxhdGVkTGlua3MucmVsYXRl ZFVybDoiIn0sYmFzZVVybDpmdW5jdGlvbigpe3ZhciBoPXRoaXMubWVkaWFzZWFy Y2hEYXRhO3JldHVybiBoLlJlbGF0ZWRMaW5rcy5iYXNlVXJsfSxkZUR1cGU6ZnVu Y3Rpb24oail7dmFyIG49dGhpcy5tZWRpYXNlYXJjaERhdGEsbD1bXSxvPTAsayxo LG09dHJ1ZTtmPWEuZXh0ZW5kKHt1cmxzVG9EZWR1cGU6W119LGp8fHt9KTtmb3Io az0wO2s8bi5SZWxhdGVkTGlua3MuZG9jcy5sZW5ndGg7az1rKzEpe209dHJ1ZTtm b3IoaD0wO2g8Zi51cmxzVG9EZWR1cGUubGVuZ3RoO2g9aCsxKXtpZihmLnVybHNU b0RlZHVwZVtoXT09PW4uUmVsYXRlZExpbmtzLmRvY3Nba10udXJsKXttPWZhbHNl O2JyZWFrfWVsc2V7bT10cnVlfX1pZihtPT09dHJ1ZSl7bFtvXT1uLlJlbGF0ZWRM aW5rcy5kb2NzW2tdO289bysxfX1uLlJlbGF0ZWRMaW5rcy5kb2NzPWw7cmV0dXJu IG59fTtmb3IoZSBpbiBmLnRlbXBsYXRlcyl7aWYoZi50ZW1wbGF0ZXMuaGFzT3du UHJvcGVydHkoZSkpe2NbZV09Zi50ZW1wbGF0ZXNbZV19fXJldHVybiBjfTt0YW50 by5uYW1lc3BhY2UoIm5kbS5uZXdzY29tYXUubWVkaWFzZWFyY2guc3Rvcnl0ZW1w bGF0ZXMiKTtuZG0ubmV3c2NvbWF1Lm1lZGlhc2VhcmNoLnN0b3J5dGVtcGxhdGVz LnRvcGxpbmtzbW9kdWxlPWZ1bmN0aW9uKCl7dmFyIGMsZT0iIixkO2M9dGhpcy5y ZWxhdGVkTGlua3Moe3N0YXJ0OjAsbGltaXQ6NSx1cmxzVG9EZWR1cGU6W119KTtp ZihjLmxlbmd0aD4wKXtlKz0nPGRpdiBjbGFzcz0ibW9kdWxlIHJlbGF0ZWQtY292 ZXJhZ2UiPic7ZSs9JzxkaXYgY2xhc3M9Im1vZHVsZS1oZWFkZXIiPjxoMyBjbGFz cz0iaGVhZGluZyI+UmVsYXRlZCBDb3ZlcmFnZTwvaDM+PC9kaXY+JztlKz0nPGRp diBjbGFzcz0ibW9kdWxlLWNvbnRlbnQiPic7ZSs9Jzx1bCBjbGFzcz0icmVsYXRl ZCBtZWRpYXNlYXJjaCI+Jztmb3IoZD0wO2Q8Yy5sZW5ndGg7ZD1kKzEpe2UrPSI8 bGk+IjtlKz0nPGEgaHJlZj0iJytjW2RdLnVybCsnIj4nK2NbZF0udGl0bGUrIjwv YT4gIjtlKz0nPHNwYW4gY2xhc3M9ImxpbmstaW5mbyI+PGVtIGNsYXNzPSJzb3Vy Y2UiPicrY1tkXS5zaXRlKyc8L2VtPiwgPGVtIGNsYXNzPSJkYXRlc3RhbXAiPicr Y1tkXS5yZWxhdGl2ZVB1YlRpbWUrIjwvZW0+PC9zcGFuPiI7ZSs9IjwvbGk+In1l Kz0iPC91bD4iO2UrPSI8L2Rpdj4iO2UrPSI8L2Rpdj4ifXJldHVybiBlfTtuZG0u bmV3c2NvbWF1Lm1lZGlhc2VhcmNoLnN0b3J5dGVtcGxhdGVzLnRvcGxpbmtzPWZ1 bmN0aW9uKCl7dmFyIGMsZT0iIixkO2M9dGhpcy5yZWxhdGVkTGlua3Moe3N0YXJ0 OjAsbGltaXQ6NSx1cmxzVG9EZWR1cGU6W119KTtlKz0nPHVsIGNsYXNzPSJyZWxh dGVkIG1lZGlhc2VhcmNoIj4nO2ZvcihkPTA7ZDxjLmxlbmd0aDtkPWQrMSl7ZSs9 IjxsaT4iO2UrPSc8YSBocmVmPSInK2NbZF0udXJsKyciPicrY1tkXS50aXRsZSsi PC9hPiAiO2UrPSc8c3BhbiBjbGFzcz0ibGluay1pbmZvIj48ZW0gY2xhc3M9InNv dXJjZSI+JytjW2RdLnNpdGUrJzwvZW0+LCA8ZW0gY2xhc3M9ImRhdGVzdGFtcCI+ JytjW2RdLnJlbGF0aXZlUHViVGltZSsiPC9lbT48L3NwYW4+IjtlKz0iPC9saT4i fWUrPSI8L3VsPiI7cmV0dXJuIGV9O25kbS5uZXdzY29tYXUubWVkaWFzZWFyY2gu c3Rvcnl0ZW1wbGF0ZXMuYWxsb3RoZXJsaW5rcz1mdW5jdGlvbihlKXt2YXIgZCxj LGg9IiIsZyxmLGo7aj1hLmV4dGVuZCh7a2V5d29yZHNTZXBlcmF0b3I6IiJ9LGV8 fHt9KTtkPXRoaXMucmVsYXRlZExpbmtzKHtzdGFydDo1LGxpbWl0OjR9KTtjPXRo aXMucmVsYXRlZExpbmtzKHtzdGFydDoxMCxsaW1pdDoyfSk7Zj10aGlzLmtleXdv cmRzKCk7aWYoZC5sZW5ndGg+MCl7aCs9JzxkaXYgY2xhc3M9Imdyb3VwIGl0ZW0t Y291bnQtMSBzdG9yeS1yZWxhdGVkIj4nO2grPSc8ZGl2IGNsYXNzPSJncm91cC1j b250ZW50Ij4nO2grPSc8ZGl2IGNsYXNzPSJpdGVtIGlwb3MtMSBpcnBvcy0xIj4n O2grPSc8ZGl2IGNsYXNzPSJtb2R1bGUgc3RvcnktcmVsYXRlZC1jb3ZlcmFnZSI+ JztoKz0nPGRpdiBjbGFzcz0ibW9kdWxlLWhlYWRlciI+JztoKz0nPGgzIGNsYXNz PSJoZWFkaW5nIj5Nb3JlIHJlbGF0ZWQgY292ZXJhZ2U8L2gzPic7aCs9IjwvZGl2 PiI7aCs9JzxkaXYgY2xhc3M9Im1vZHVsZS1jb250ZW50Ij4nO2grPSc8ZGl2IGNs YXNzPSJjb250ZW50LWl0ZW0gY2lwb3MtMSBjaXJwb3MtMiI+JztoKz0nPHVsIGNs YXNzPSJyZWxhdGVkLWxpbmtzIGxpc3QtMSI+Jztmb3IoZz0wO2c8ZC5sZW5ndGg7 Zz1nKzEpe2grPSI8bGk+IjtoKz0nPGEgaHJlZj0iJytkW2ddLnVybCsnIj4nK2Rb Z10udGl0bGUrIjwvYT4gIjtoKz0nPHNwYW4gY2xhc3M9ImxpbmstaW5mbyI+PGVt IGNsYXNzPSJzb3VyY2UiPicrZFtnXS5zaXRlKyc8L2VtPiwgPGVtIGNsYXNzPSJk YXRlc3RhbXAiPicrZFtnXS5yZWxhdGl2ZVB1YlRpbWUrIjwvZW0+PC9zcGFuPiI7 aCs9IjwvbGk+In1oKz0iPC91bD4iO2grPSI8L2Rpdj4iO2grPSc8ZGl2IGNsYXNz PSJjb250ZW50LWl0ZW0gY2lwb3MtMiBjaXJwb3MtMSI+JztoKz0nPHVsIGNsYXNz PSJyZWxhdGVkLWxpbmtzIGxpc3QtMiI+Jztmb3IoZz0wO2c8Yy5sZW5ndGg7Zz1n KzEpe2grPSI8bGk+IjtoKz0nPGEgaHJlZj0iJytjW2ddLnVybCsnIj4nK2NbZ10u dGl0bGUrIjwvYT4gIjtoKz0nPHNwYW4gY2xhc3M9ImxpbmstaW5mbyI+PGVtIGNs YXNzPSJzb3VyY2UiPicrZFtnXS5zaXRlKyc8L2VtPiwgPGVtIGNsYXNzPSJkYXRl c3RhbXAiPicrZFtnXS5yZWxhdGl2ZVB1YlRpbWUrIjwvZW0+PC9zcGFuPiI7aCs9 IjwvbGk+In1oKz0iPC91bD4iO2grPSc8cD48c3BhbiBjbGFzcz0ibW9yZS1saW5r Ij48YSBocmVmPSInK3RoaXMubW9yZWxpbmsoKSsnIj5Nb3JlIHJlbGF0ZWQgY292 ZXJhZ2U8L2E+PC9zcGFuPjwvcD4nO2grPSc8ZGl2IGNsYXNzPSJrZXl3b3JkcyI+ JztoKz0iPGg0PlJlbGF0ZWQgU2VhcmNoZXM8L2g0PiI7aCs9Jzx1bCBjbGFzcz0i cmVsYXRlZC1rZXl3b3JkcyI+Jztmb3IoZz0wO2c8Zi5sZW5ndGg7Zz1nKzEpe2gr PSI8bGk+IjtoKz0nPGEgaHJlZj0iJyt0aGlzLmJhc2VVcmwoKStmW2ddKyciPicr ZltnXSsiPC9hPiI7aWYoZyE9PShmLmxlbmd0aC0xKSl7aCs9ai5rZXl3b3Jkc1Nl cGVyYXRvcn1oKz0iPC9saT4ifWgrPSI8L3VsPiI7aCs9IjwvZGl2PiI7aCs9Ijwv ZGl2PiI7aCs9IjwvZGl2PiI7aCs9IjwvZGl2PiI7aCs9IjwvZGl2PiJ9cmV0dXJu IGh9O25kbS5uZXdzY29tYXUubWVkaWFzZWFyY2guc3Rvcnl0ZW1wbGF0ZXMucmVs bGlua3M9ZnVuY3Rpb24oZSl7dmFyIGQsZz0iIixmLGosYyxoO2Q9dGhpcy5yZWxh dGVkTGlua3Moe3N0YXJ0OjAsbGltaXQ6ZS5saW1pdH0pO2ZvcihmPTA7ZjxkLmxl bmd0aDtmKz0xKXtqPShkW2ZdLnRodW1iVXJsPyIiOiJwaCBwaC1pbWFnZSIpO2g9 YltkW2ZdLmFzc2V0VHlwZV07Yz0oZFtmXS5wcmVtaXVtJiZkW2ZdLnByZW1pdW0u dG9Mb3dlckNhc2UoKT09PSIgcHJlbWl1bSI/InBybSBwcm0tIitoOiIiKTtnKz0n PGRpdiBjbGFzcz0iY29udGVudC1pdGVtICcraisnIj48ZGl2IGNsYXNzPSJwcm9t by1ibG9jaycrYysnIHByb21vLWJsb2NrLTA0Ij4nO2crPSc8ZGl2IGNsYXNzPSJw cm9tby1pbWFnZSI+PGEgaHJlZj0iJytkW2ZdLnVybCsnIj4nO2crPShkW2ZdLnRo dW1iVXJsPyc8aW1nIGFsdD0iJytkW2ZdLnRpdGxlKyciIHNyYz0iJytkW2ZdLnRo dW1iVXJsKyciLz4nOiIiKTtnKz0iPC9hPjwvZGl2PiI7Zys9JzxkaXYgY2xhc3M9 InByb21vLWlubmVyIj48ZGl2IGNsYXNzPSJwcm9tby1oZWFkaW5nIj48aDQgY2xh c3M9ImhlYWRpbmciPjxhIGhyZWY9IicrZFtmXS51cmwrJyI+JytkW2ZdLnRpdGxl KyI8L2E+PC9oND48L2Rpdj48L2Rpdj4iO2crPSI8L2Rpdj48L2Rpdj4ifXJldHVy biBnfTtuZG0ubmV3c2NvbWF1Lm1lZGlhc2VhcmNoLnN0b3J5dGVtcGxhdGVzLnJl Y2xpbmtzPWZ1bmN0aW9uKGUpe3ZhciBkLGc9IiIsZixqLGMsaDtkPXRoaXMucmVs YXRlZExpbmtzKHtzdGFydDplLnN0YXJ0LGxpbWl0OmUubGltaXR9KTtmb3IoZj0w O2Y8ZC5sZW5ndGg7Zis9MSl7aj0oZFtmXS50aHVtYlVybD8iIjoiIHBoIHBoLWlt YWdlIik7aD1iW2RbZl0uYXNzZXRUeXBlXTtjPShkW2ZdLnByZW1pdW0mJmRbZl0u cHJlbWl1bS50b0xvd2VyQ2FzZSgpPT09IiBwcmVtaXVtIj8icHJtIHBybS0iK2g6 IiIpO2crPSc8ZGl2IGNsYXNzPSJjb250ZW50LWl0ZW0nK2orJyI+PGRpdiBjbGFz cz0ic3RvcnktYmxvY2snK2MrIiBpZCIrZFtmXS5hc3NldElkKyciPic7Zys9Jzxo NCBjbGFzcz0iaGVhZGluZyI+PGEgaHJlZj0iJytkW2ZdLnVybCsnIj4nK2RbZl0u dGl0bGUrIjwvYT48L2g0PiI7Zys9JzxhIGNsYXNzPSJ0aHVtYi1saW5rIiBocmVm PSInK2RbZl0udXJsKyciPic7Zys9KGRbZl0udGh1bWJVcmw/JzxpbWcgd2lkdGg9 IjEwMCIgaGVpZ2h0PSI3NSIgY2xhc3M9InRodW1ibmFpbCIgYWx0PSInK2RbZl0u dGl0bGUrJyIgc3JjPSInK2RbZl0udGh1bWJVcmwrJyI+JzoiIik7Zys9IjwvYT4i O2crPSc8cCBjbGFzcz0ic3RhbmRmaXJzdCI+PHN0cm9uZyBjbGFzcz0ic3RhbmRm aXJzdC1raWNrZXIiPjwvc3Ryb25nPic7Zys9KGRbZl0uYnlsaW5lPyI8c3Ryb25n PiIrZFtmXS5ieWxpbmUrIjwvc3Ryb25nPiAiOiIiKTtnKz1kW2ZdLnN0YW5kZmly c3QrIjwvcD4iO2crPShkW2ZdLmNvbW1lbnRzPyc8cCBjbGFzcz0iY29tbWVudHMi PjxhIGhyZWY9ImNvbW1lbnRzX2xpbmsiPicrZFtmXS5jb21tZW50cysiIGNvbW1l bnRzIG9uIHRoaXMgc3Rvcnk8L2E+PC9wPiI6IiIpO2crPSI8L2Rpdj48L2Rpdj4i fXJldHVybiBnfTthKGZ1bmN0aW9uKCl7dmFyIGYsZyxjLGgsaSxrLGosZCxlO2k9 ZnVuY3Rpb24obyl7dmFyIGw9IltcXD8mXSIrbysiPShbXiYjXSopIixtPW5ldyBS ZWdFeHAobCksbj1tLmV4ZWMod2luZG93LmxvY2F0aW9uLmhyZWYpO3JldHVybihu JiZuWzFdKT9uWzFdOm51bGx9O2o9aSgibXNkZWJ1ZyIpO2lmKG5kbS5wYWdlJiZu ZG0ucGFnZS5mb3JjZW1zcmVsYXRlZGxpbmtzJiZuZG0ucGFnZS5mb3JjZW1zcmVs YXRlZGxpbmtzPT09dHJ1ZSl7bmRtLm5ld3Njb21hdS5tZWRpYXNlYXJjaC5raWxs PWZhbHNlfWVsc2V7bmRtLm5ld3Njb21hdS5tZWRpYXNlYXJjaC5raWxsPXRydWV9 aWYobmRtLm5ld3Njb21hdS5tZWRpYXNlYXJjaC5raWxsJiZuZG0ubmV3c2NvbWF1 Lm1lZGlhc2VhcmNoLmtpbGw9PT10cnVlKXtyZXR1cm59aWYoZG9jdW1lbnQuZ2V0 RWxlbWVudEJ5SWQoInN0b3J5Iikpe2g9ZnVuY3Rpb24oKXt2YXIgdixyLHMsbixv LG0sdD00LHEsbCxwLHU9NDtpZihhKCIuc3RvcnktcmVsYXRlZCIpLmFkZCgiLnN0 b3J5LXJlY29tbWVuZGVkIikuaGFzQ2xhc3MoImJsb2NrLXN0eWxlIikpe289YSgi LnN0b3J5LXJlbGF0ZWQgLmdyb3VwIC5ncm91cC1jb250ZW50IC5pdGVtIC5tb2R1 bGUubXVsdGktcHJvbW8tcmVsYXRlZCAubW9kdWxlLWNvbnRlbnQiKTtpZihvLmxl bmd0aCl7bT1NYXRoLm1heCh0LW8uY2hpbGRyZW4oImRpdi5jb250ZW50LWl0ZW0i KS5sZW5ndGgsMCk7aWYobT4wKXtuPXRoaXMucmVsbGlua3Moe2xpbWl0Om19KTtv LmFwcGVuZChuKX19bD1hKCIuc3RvcnktcmVjb21tZW5kZWQgLmdyb3VwIC5ncm91 cC1jb250ZW50IC5pdGVtIC5tb2R1bGUubXVsdGktcHJvbW8tcmVsYXRlZCAubW9k dWxlLWNvbnRlbnQiKTtpZihsLmxlbmd0aCl7cD1NYXRoLm1heCh1LWwuY2hpbGRy ZW4oImRpdi5jb250ZW50LWl0ZW0iKS5sZW5ndGgsMCk7aWYocD4wKXtxPXRoaXMu cmVjbGlua3Moe3N0YXJ0Om0sbGltaXQ6cH0pO2wuYXBwZW5kKHEpfX19ZWxzZXtp Zihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RvcnktcmVsYXRlZC1jb3ZlcmFn ZSIpfHxkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RvcnktcmVsYXRlZC1lbXB0 eSIpKXt2PXRoaXMuYWxsb3RoZXJsaW5rcyh7a2V5d29yZHNTZXBlcmF0b3I6Iiwi fSk7cj10aGlzLnRvcGxpbmtzKCk7cz10aGlzLnRvcGxpbmtzbW9kdWxlKCk7aWYo ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0b3J5LXJlbGF0ZWQtY292ZXJhZ2Ui KSl7YSgiI3N0b3J5LXJlbGF0ZWQtY292ZXJhZ2UgLm1vZHVsZS1jb250ZW50Iiku YXBwZW5kKHIpfWVsc2V7aWYoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0b3J5 LXJlbGF0ZWQtZW1wdHkiKSl7YSgiI3N0b3J5LXJlbGF0ZWQtZW1wdHkiKS5hcHBl bmQocyl9fWlmKG5kbS5uZXdzY29tYXUubWVkaWFzZWFyY2gub3B0aW9ucy5jb3Jy ZWN0b3JkZXI9PT1mYWxzZSl7YSgiI3N0b3J5IikuYXBwZW5kKHYpfWVsc2V7YSgi I3N0b3J5IC5zdG9yeS1leHRyYXMtMiIpLnByZXBlbmQodil9fX19O2lmKG5kbS5w YWdlLmFzKXtmPW5kbS5wYWdlLmFzfWlmKG5kbS5wYWdlLnVzKXtnPW5kbS5wYWdl LnVzfWlmKG5kbS5wYWdlLnZpZ25zdG9yeWlkLmxlbmd0aD4wKXtjPW5kbS5wYWdl LnZpZ25zdG9yeWlkfWU9L3N0b3J5LVthLXpBLVowLTldKy0oWzAtOV0rKS9naTtk PWUuZXhlYyh3aW5kb3cubG9jYXRpb24uaHJlZik7ZD0oZCk/ZFsxXTpudWxsO2M9 KGQpP2Q6YztrPXtvYmplY3ROYW1lOiJuZG0ubmV3c2NvbWF1Lm1lZGlhc2VhcmNo LnN0b3J5Iix0ZW1wbGF0ZXM6bmRtLm5ld3Njb21hdS5tZWRpYXNlYXJjaC5zdG9y eXRlbXBsYXRlcyxhczpmLHVzOmcsaWQ6YyxyZWFkeTpofTtpZihqPT09InRydWUi KXtrLmJhc2VVUkw9Imh0dHA6Ly9zdGFnZS5zZWFyY2gubmV3cy5jb20uYXU6ODA4 MC9lbWJlZGRlZGpzb24/In1pZihjLmxlbmd0aD4wKXtuZG0ubmV3c2NvbWF1Lm1l ZGlhc2VhcmNoLnN0b3J5PW5kbS5uZXdzY29tYXUubWVkaWFzZWFyY2gucmVsYXRl ZGxpbmtzLmJhc2Uoayl9fX0pfShuZG0ualF1ZXJ5KSk7KGZ1bmN0aW9uKGpRdWVy eSl7dmFyICQ9alF1ZXJ5OyQuZXh0ZW5kKHttZXRhZGF0YTp7ZGVmYXVsdHM6e3R5 cGU6ImNsYXNzIixuYW1lOiJtZXRhZGF0YSIsY3JlOi8oXHsuKlx9KS8sc2luZ2xl OiJtZXRhZGF0YSJ9LHNldFR5cGU6ZnVuY3Rpb24odHlwZSxuYW1lKXt0aGlzLmRl ZmF1bHRzLnR5cGU9dHlwZTt0aGlzLmRlZmF1bHRzLm5hbWU9bmFtZX0sZ2V0OmZ1 bmN0aW9uKGVsZW0sb3B0cyl7dmFyIHNldHRpbmdzPSQuZXh0ZW5kKHt9LHRoaXMu ZGVmYXVsdHMsb3B0cyksZGF0YSxnZXREYXRhLGdldE9iamVjdCxhdHRyLG0sbmFt ZSxlLG9iamVjdDtpZighc2V0dGluZ3Muc2luZ2xlLmxlbmd0aCl7c2V0dGluZ3Mu c2luZ2xlPSJtZXRhZGF0YSJ9ZGF0YT0kLmRhdGEoZWxlbSxzZXR0aW5ncy5zaW5n bGUpO2lmKGRhdGEpe3JldHVybiBkYXRhfWRhdGE9Int9IjtnZXREYXRhPWZ1bmN0 aW9uKGRhdGEpe2lmKHR5cGVvZiBkYXRhIT09InN0cmluZyIpe3JldHVybiBkYXRh fWlmKGRhdGEuaW5kZXhPZigieyIpPDApe2RhdGE9ZXZhbCgiKCIrZGF0YSsiKSIp fX07Z2V0T2JqZWN0PWZ1bmN0aW9uKGRhdGEpe2lmKHR5cGVvZiBkYXRhIT09InN0 cmluZyIpe3JldHVybiBkYXRhfWRhdGE9ZXZhbCgiKCIrZGF0YSsiKSIpO3JldHVy biBkYXRhfTtpZihzZXR0aW5ncy50eXBlPT09Imh0bWw1Iil7b2JqZWN0PXt9OyQo ZWxlbS5hdHRyaWJ1dGVzKS5lYWNoKGZ1bmN0aW9uKCl7bmFtZT10aGlzLm5vZGVO YW1lO2lmKG5hbWUubWF0Y2goL15kYXRhLS8pKXtuYW1lPW5hbWUucmVwbGFjZSgv XmRhdGEtLywiIil9ZWxzZXtyZXR1cm4gdHJ1ZX1vYmplY3RbbmFtZV09Z2V0T2Jq ZWN0KHRoaXMubm9kZVZhbHVlKX0pfWVsc2V7aWYoc2V0dGluZ3MudHlwZT09PSJj bGFzcyIpe209c2V0dGluZ3MuY3JlLmV4ZWMoZWxlbS5jbGFzc05hbWUpO2lmKG0p e2RhdGE9bVsxXX19ZWxzZXtpZihzZXR0aW5ncy50eXBlPT09ImVsZW0iKXtpZigh ZWxlbS5nZXRFbGVtZW50c0J5VGFnTmFtZSl7cmV0dXJufWU9ZWxlbS5nZXRFbGVt ZW50c0J5VGFnTmFtZShzZXR0aW5ncy5uYW1lKTtpZihlLmxlbmd0aCl7ZGF0YT0k LnRyaW0oZVswXS5pbm5lckhUTUwpfX1lbHNle2lmKGVsZW0uZ2V0QXR0cmlidXRl IT09dW5kZWZpbmVkKXthdHRyPWVsZW0uZ2V0QXR0cmlidXRlKHNldHRpbmdzLm5h bWUpO2lmKGF0dHIpe2RhdGE9YXR0cn19fX1vYmplY3Q9Z2V0T2JqZWN0KGRhdGEu aW5kZXhPZigieyIpPDA/InsiK2RhdGErIn0iOmRhdGEpfSQuZGF0YShlbGVtLHNl dHRpbmdzLnNpbmdsZSxvYmplY3QpO3JldHVybiBvYmplY3R9fX0pOyQuZm4ubWV0 YWRhdGE9ZnVuY3Rpb24ob3B0cyl7cmV0dXJuICQubWV0YWRhdGEuZ2V0KHRoaXNb MF0sb3B0cyl9fShuZG0ualF1ZXJ5KSk7KGZ1bmN0aW9uKGIpe3ZhciBhPWI7YS5m bi5uRm9ybURlZmF1bHQ9ZnVuY3Rpb24oYyl7dmFyIGQ7ZD1hLmV4dGVuZCh7fSxh LmZuLm5Gb3JtRGVmYXVsdC5kZWZhdWx0cyxjKTtyZXR1cm4gdGhpcy5lYWNoKGZ1 bmN0aW9uKCl7dmFyIGY9YSh0aGlzKSxlLGc7Zz1hLm1ldGE/YS5leHRlbmQoe30s ZCxmLmRhdGEoKSk6ZDtlPWcuZmllbGRzO2lmKGU9PT1udWxsKXtyZXR1cm59YS5l YWNoKGUsZnVuY3Rpb24oaixoKXt2YXIgaz1hKGosZik7aWYoay5zaXplKCk+PTEm JmsuYXR0cigidHlwZSIpPT09InRleHQiKXtpZighL1teIFxcbl0rLy50ZXN0KGsu dmFsKCkpKXtrLnZhbChoKS5hZGRDbGFzcyhnLmluYWN0aXZlX2NsYXNzKX1lbHNl e3JldHVybn1rLmJpbmQoImZvY3VzIixmdW5jdGlvbigpe2lmKHRoaXMudmFsdWU9 PT1ofHwhL1teIFxcbl0rLy50ZXN0KHRoaXMudmFsdWUpKXthKHRoaXMpLnZhbCgi IikucmVtb3ZlQ2xhc3MoZy5pbmFjdGl2ZV9jbGFzcyl9fSkuYmluZCgiYmx1ciIs ZnVuY3Rpb24oKXtpZih0aGlzLnZhbHVlPT09aHx8IS9bXiBcXG5dKy8udGVzdCh0 aGlzLnZhbHVlKSl7YSh0aGlzKS52YWwoaCkuYWRkQ2xhc3MoZy5pbmFjdGl2ZV9j bGFzcyl9fSk7ay5wYXJlbnRzKCJmb3JtOmZpcnN0IikuYmluZCgic3VibWl0Iixm dW5jdGlvbigpe2lmKGsudmFsKCk9PT1oKXtrLnZhbCgiIil9fSl9ZWxzZXtyZXR1 cm59fSl9KX07YS5mbi5uRm9ybURlZmF1bHQuZGVmYXVsdHM9e2ZpZWxkczpudWxs LGFjdGl2ZV9jbGFzczoianMtZmxkYWN0aXZlIixpbmFjdGl2ZV9jbGFzczoianMt ZmxkaW5hY3RpdmUifX0obmRtLmpRdWVyeSkpOyhmdW5jdGlvbihhKXthLmZuLm5T cGxhc2hUZXh0PWZ1bmN0aW9uKGIpe3ZhciBjPWEuZXh0ZW5kKHt9LGEuZm4ublNw bGFzaFRleHQuZGVmYXVsdHMsYik7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigp e2lmKGEodGhpcykuaGFzQ2xhc3MoYy5yZWFkeSkpe3JldHVybn12YXIgZyxpLGU9 IiIsaCxmPWEodGhpcyksZDtkPWYuZmluZChjLmhlYWRpbmcrIiBhIik7Zz0oIWQu bGVuZ3RoP3VuZGVmaW5lZDpkKXx8Zi5maW5kKGMuaGVhZGluZyk7aWYoIWcubGVu Z3RoKXtyZXR1cm59ZWxzZXtpPWcuaHRtbCgpLm1hdGNoKGMucmVneHApfHxbXTtp ZihpJiZpLmxlbmd0aD09PTMpe2U9KGlbMV0pPyI8ZW0+PHNwYW4gY2xhc3M9J2In Pjwvc3Bhbj48c3BhbiBjbGFzcz0ndCc+IitpWzFdKyI8L3NwYW4+PC9lbT4iOmU7 aD0oaVsyXSk/aVsyXTpmLmh0bWwoKX1lbHNle2g9Zy5odG1sKCl9aD1oLnJlcGxh Y2UoLyAvZywiXHQiKS5yZXBsYWNlKC8oXFMrKS9nLCI8c3Ryb25nPjxzcGFuIGNs YXNzPSdiJz48L3NwYW4+PHNwYW4gY2xhc3M9J3QnPiQxPC9zcGFuPjwvc3Ryb25n PiIpO2cuaHRtbChlK2gpfX0pLmFkZENsYXNzKGMucmVhZHkpfTthLmZuLm5TcGxh c2hUZXh0LmRlZmF1bHRzPXtyZWFkeToianMtcmVhZHkiLGhlYWRpbmc6Ii5wcm9t by1oZWFkaW5nIC5oZWFkaW5nIixyZWd4cDovXlxbKC4rKVxdKC4rKSQvfX0obmRt LmpRdWVyeSkpOyhmdW5jdGlvbihhKXt3aW5kb3cucG9sbD17dmFyaWFudDp7cG9s bHJhdGluZzp7fX0saW5pdGlhbGlzZWQ6ZmFsc2UsaW5pdDpmdW5jdGlvbigpe2lm KHBvbGwuaW5pdGlhbGlzZWQ9PT10cnVlKXtyZXR1cm59cG9sbC5pbml0aWFsaXNl ZD10cnVlO2EoImZvcm0uZm9ybS1wb2xsIikuZWFjaChmdW5jdGlvbigpe3ZhciBm PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0IiksZT0wLGM9YSh0aGlzKSxk PXt9LGI9Yy5wYXJlbnRzKCIubW9kdWxlIik7aWYoYi5oYXNDbGFzcygianMtaW50 ZXJhY3RpdmUiKSl7cmV0dXJufWQ9YS5leHRlbmQoe30scG9sbC5jYWxsYmFjayhi KSxkKTtkPWEubWV0YWRhdGE/YS5leHRlbmQoe30sZCxiLm1ldGFkYXRhKCkpOmQ7 Zi50eXBlPSJoaWRkZW4iO2YubmFtZT0ianNFbmFibGVkIjtmLnZhbHVlPSJ0cnVl IjtlPWMuZmluZCgiLnBvbGxJZCIpLmF0dHIoInZhbHVlIik7aWYoIXBvbGwuaGFz Vm90ZWQoZSkpe2MuYXBwZW5kKGYpO2Muc3VibWl0KGZ1bmN0aW9uKCl7cG9sbC5z ZW5kKGMsZSxkKTtyZXR1cm4gZmFsc2V9KX1lbHNle3BvbGwuc2hvd1Jlc3VsdChj LGUsZCl9fSl9LGNhbGxiYWNrOmZ1bmN0aW9uKGIpe3ZhciBjPXt9O2EuZWFjaChw b2xsLnZhcmlhbnQsZnVuY3Rpb24oZCxlKXtpZihiLmhhc0NsYXNzKCJqcy0iK2Qp KXtjLmNhbGxiYWNrPWQ7Yy5vcHRpb25zPWV9fSk7cmV0dXJuIGN9LHVwZGF0ZTpm dW5jdGlvbihjLGIsZCl7dmFyIGU9YShiKSxmPWR8fHt9O2lmKGUubGVuZ3RoPjAp e2lmKGYuY2FsbGJhY2smJnR5cGVvZiBhLmZuW2YuY2FsbGJhY2tdPT09ImZ1bmN0 aW9uIil7ZS5hZGRDbGFzcygianMtIitmLmNhbGxiYWNrKTtlW2YuY2FsbGJhY2td KGYub3B0aW9ucyl9Yy5wYXJlbnRzKCIubW9kdWxlIikuZXEoMCkucmVwbGFjZVdp dGgoZSl9fSxzZW5kOmZ1bmN0aW9uKGIsZCxjKXthLnBvc3QoYi5hdHRyKCJhY3Rp b24iKSxiLnNlcmlhbGl6ZSgpLGZ1bmN0aW9uKGYpe3ZhciBlPSIiO3BvbGwudXBk YXRlKGIsZixjKTtpZighcG9sbC5lbXB0eUNvb2tpZSgpKXtlPWEuY29va2llKCJw b2xsVm90ZXMiKTthLmNvb2tpZSgicG9sbFZvdGVzIixlKyIsIitkLHtleHBpcmVz OjF9KX1lbHNle2EuY29va2llKCJwb2xsVm90ZXMiLGQse2V4cGlyZXM6MX0pfX0p O3JldHVybiBmYWxzZX0sc2hvd1Jlc3VsdDpmdW5jdGlvbihiLGUsYyl7dmFyIGQ9 e2M6Ik5ld3NfUG9sbCIsY2lkOmUscGFnZW5hbWU6IkZvdW5kYXRpb24vTmV3c19Q b2xsL0ZETnN1bW1hcnkiLHNob3dSZXN1bHRzOiJ0cnVlIixqczoidHJ1ZSJ9O2Eu cG9zdChiLmF0dHIoImFjdGlvbiIpLGQsZnVuY3Rpb24oZil7cG9sbC51cGRhdGUo YixmLGMpfSl9LGhhc1ZvdGVkOmZ1bmN0aW9uKGIpe3ZhciBjPWEuY29va2llKCJw b2xsVm90ZXMiKTtpZihjIT09bnVsbCYmYy5tYXRjaChiKSE9PW51bGwpe3JldHVy biB0cnVlfWVsc2V7cmV0dXJuIGZhbHNlfX0sZW1wdHlDb29raWU6ZnVuY3Rpb24o KXt2YXIgYj1hLmNvb2tpZSgicG9sbFZvdGVzIik7aWYoYil7cmV0dXJuIGZhbHNl fWVsc2V7cmV0dXJuIHRydWV9fX07YSgiZm9ybS5mb3JtLXBvbGwgLmJ1dHRvbi1z dWJtaXQiKS5saXZlKCJjbGljayIsZnVuY3Rpb24oKXtpZihhKHRoaXMpLmNsb3Nl c3QoIi5tb2R1bGUiKS5oYXNDbGFzcygianMtaW50ZXJhY3RpdmUiKSl7cmV0dXJu fWlmKHBvbGwuaW5pdGlhbGlzZWQ9PT1mYWxzZSl7cG9sbC5pbml0KCl9YSh0aGlz KS5wYXJlbnRzKCJmb3JtIikuc3VibWl0KCk7cmV0dXJuIGZhbHNlfSl9KG5kbS5q UXVlcnkpKTsoZnVuY3Rpb24oYSl7YS5mbi5wb2xscmF0aW5nPWZ1bmN0aW9uKGIp e3ZhciBjPWEuZXh0ZW5kKHt9LGEuZm4ucG9sbHJhdGluZy5kZWZhdWx0cyxiKTty ZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7aWYoYSh0aGlzKS5oYXNDbGFzcyhj LnJlYWR5KSl7cmV0dXJufXZhciBnPTAsZj1hKHRoaXMpLGU9bnVsbCxkPTA7ZT1m LmZpbmQoIi5oZWFkaW5nIik7Zz1mLmZpbmQoIi50b3RhbC12b3RlcyIpLnRleHQo KXx8ZztnPWcubWF0Y2goL1swLTldezEsfS8pWzBdfHwwO2YuZmluZCgiLnBvbGwt dm90ZWNvdW50IikuZWFjaChmdW5jdGlvbihqLG0pe3ZhciBsPTAsaz1hKG0pLGg9 ajtsPWsudGV4dCgpfHxsO2w9bC5tYXRjaCgvWzAtOV17MSx9LylbMF18fDA7bD1w YXJzZUludChsLDEwKTtrLmh0bWwoIigiK2wrIikiKTtkKz0oKGgrMSkqbCl9KTtk PU1hdGgucm91bmQoZC9nKTtpZihkPT09NSl7ZS5hZGRDbGFzcygic3RhcjUiKX1l bHNle2lmKGQ9PT00KXtlLmFkZENsYXNzKCJzdGFyNCIpfWVsc2V7aWYoZD09PTMp e2UuYWRkQ2xhc3MoInN0YXIzIil9ZWxzZXtpZihkPT09Mil7ZS5hZGRDbGFzcygi c3RhcjIiKX1lbHNle2UuYWRkQ2xhc3MoInN0YXIxIil9fX19fSkuYWRkQ2xhc3Mo Yy5yZWFkeSl9O2EuZm4ucG9sbHJhdGluZy5kZWZhdWx0cz17cmVhZHk6ImpzLXJl YWR5In19KG5kbS5qUXVlcnkpKTsoZnVuY3Rpb24oYil7dmFyIGE9YjtiLmZuLm5Q b3BNZW51PWZ1bmN0aW9uKGMpe2IodGhpcykuZWFjaChmdW5jdGlvbigpe2lmKHRo aXMucG9wbWVudWxvYWRlZD09PXRydWUpe3JldHVybiBmYWxzZX10aGlzLnBvcG1l bnVsb2FkZWQ9dHJ1ZTt2YXIgZT1iLmV4dGVuZCh7c3VibWVudUhvdmVyQ2xhc3M6 ImpzLW1lbnUtaG92ZXIiLHBhcmVudEhvdmVyQ2xhc3M6ImpzLXBhcmVudC1ob3Zl ciIsYWRkaXRpb25hbEhvdmVyQ2xhc3NSZWdleDpudWxsLGFkZGl0aW9uYWxIb3Zl ckNsYXNzUHJlZml4OiJqcy1ob3Zlci0iLHNob3dUaW1lcjoyMDAsaGlkZVRpbWVy OjEwMCxzdGFydDpmdW5jdGlvbigpe30sc3RvcDpmdW5jdGlvbigpe30sYXV0b0Fj dGl2ZTpmYWxzZX0sY3x8e30pO3ZhciBpPWIodGhpcyk7dmFyIGs9YigiPiB1bCwg PiBvbCIsdGhpcykuZXEoMCk7dmFyIGc7dmFyIGQ9W107dmFyIGosZjt2YXIgaD17 aG92ZXI6ZnVuY3Rpb24oKXtlLnN0YXJ0KCk7aS5hZGRDbGFzcyhlLnBhcmVudEhv dmVyQ2xhc3MpO2suYWRkQ2xhc3MoZS5zdWJtZW51SG92ZXJDbGFzcyk7aihpLGQp fSxvdXQ6ZnVuY3Rpb24oKXtpLnJlbW92ZUNsYXNzKGUucGFyZW50SG92ZXJDbGFz cyk7ay5yZW1vdmVDbGFzcyhlLnN1Ym1lbnVIb3ZlckNsYXNzKTtmKGksZCk7ZS5z dG9wKCl9fTtpLmhvdmVyKGZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KGcpO2c9c2V0 VGltZW91dChoLmhvdmVyLGUuc2hvd1RpbWVyKX0sZnVuY3Rpb24oKXtjbGVhclRp bWVvdXQoZyk7Zz1zZXRUaW1lb3V0KGgub3V0LGUuaGlkZVRpbWVyKX0pO2kuZmlu ZCgiYSIpLmZvY3VzKGZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KGcpO2guaG92ZXIo KTtyZXR1cm4gZmFsc2V9KTtpLmZpbmQoIi5saXJwb3MtMSBhIikuYmx1cihmdW5j dGlvbigpe2NsZWFyVGltZW91dChnKTtoLm91dCgpO3JldHVybiBmYWxzZX0pO2lm KGUuYWRkaXRpb25hbEhvdmVyQ2xhc3NSZWdleCl7ZD1mdW5jdGlvbihyLHAscSl7 dmFyIG0sbCxuO3ZhciBvPVtdO209ci5hdHRyKCJjbGFzcyIpO2w9bS5tYXRjaChw KTtpZihsIT09bnVsbCYmbC5sZW5ndGg+MCl7Zm9yKG49MDtuPGwubGVuZ3RoO24r Kyl7b1tuXT1xK2xbbl19cmV0dXJuIG99ZWxzZXtyZXR1cm4gZmFsc2V9fShpLGUu YWRkaXRpb25hbEhvdmVyQ2xhc3NSZWdleCxlLmFkZGl0aW9uYWxIb3ZlckNsYXNz UHJlZml4KX1qPWZ1bmN0aW9uKG4sbCl7dmFyIG07Zm9yKG09MDttPGwubGVuZ3Ro O20rKyl7bi5hZGRDbGFzcyhsW21dKX19O2Y9ZnVuY3Rpb24obixsKXt2YXIgbTtm b3IobT0wO208bC5sZW5ndGg7bSsrKXtuLnJlbW92ZUNsYXNzKGxbbV0pfX07aWYo ZS5hdXRvQWN0aXZlPT09dHJ1ZSl7KGZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KGcp O2c9c2V0VGltZW91dChoLmhvdmVyLGUuc2hvd1RpbWVyKX0pKCl9fSl9O3RhbnRv Lm5hbWVzcGFjZSgibmRtLnV0aWxzLmRlbGVnYXRlaW5pdC5wb3BtZW51Iik7bmRt LnV0aWxzLmRlbGVnYXRlaW5pdC5wb3BtZW51PWZ1bmN0aW9uKGMsZCl7ZC5hdXRv QWN0aXZlPXRydWU7YihjKS5saXZlKCJtb3VzZW92ZXIiLGZ1bmN0aW9uKCl7aWYo dGhpcy5wb3BtZW51bG9hZGVkPT09dHJ1ZSl7cmV0dXJuIGZhbHNlfWVsc2V7Yih0 aGlzKS5uUG9wTWVudShkKX19KX19KG5kbS5qUXVlcnkpKTsoZnVuY3Rpb24oYil7 dmFyIGE9YjtiLmZuLm5QcmludD1mdW5jdGlvbigpe2NvbnNvbGUubG9nKCJwcmlu dCBubyBsb25nZXIgaW4gdXNlIil9O2IoIi5qcy1wcmludCIpLmxpdmUoImNsaWNr IixmdW5jdGlvbigpe3dpbmRvdy5wcmludCgpO3JldHVybiBmYWxzZX0pfShuZG0u alF1ZXJ5KSk7KGZ1bmN0aW9uKGEpe2EuZm4uZXh0ZW5kKHtyYW5kb21pc2VyOmZ1 bmN0aW9uKGIpe3ZhciBjLGQ9dGhpcyxlO2U9e2l0ZW1zU2VsZWN0b3I6Ii5zdG9y eS1ibG9jaywgLmNvbnRlbnQtaXRlbSIsc2h1ZmZsZTpmYWxzZX07Yz1hLmV4dGVu ZChlLGJ8fHt9KTt0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgbD1hKHRoaXMpLGgs aSxrLGYsaixnO2o9ZnVuY3Rpb24obil7Zm9yKHZhciBvLG0scD1uLmxlbmd0aDtw O289cGFyc2VJbnQoTWF0aC5yYW5kb20oKSpwLDEwKSxtPW5bcC09MV0sbltwXT1u W29dLG5bb109bSl7fXJldHVybiBufTtoPWwuZmluZChjLml0ZW1zU2VsZWN0b3Ip O2k9aC5sZW5ndGg7aWYoYy5zaHVmZmxlPT09dHJ1ZSl7aD1qKGgpO2c9bC5maW5k KGMuaXRlbXNTZWxlY3RvcikucGFyZW50KCk7Zy5lbXB0eSgpO2guZWFjaChmdW5j dGlvbihvKXt2YXIgbj1hKHRoaXMpLHEsbT0iIixwO2lmKG4uaXMoIi5jb250ZW50 LWl0ZW0iKSl7cT0iY2kifWVsc2V7cT0ic2IifWZvcihwPTE7cDw9aTtwPXArMSl7 bSs9cSsicG9zLSIrcCsiICIrcSsicnBvcy0iKyhpLXArMSkrIiAifW4ucmVtb3Zl Q2xhc3MobSk7bi5hZGRDbGFzcyhxKyJwb3MtIisobysxKSkuYWRkQ2xhc3MocSsi cnBvcy0iKyhpLW8pKS5hZGRDbGFzcygic2h1ZmZsZS1yZWFkeSIpO2cuYXBwZW5k KG4pfSk7bC5hZGRDbGFzcygic2h1ZmZsZS1yZWFkeSIpfWVsc2V7az1NYXRoLmNl aWwoTWF0aC5yYW5kb20oKSppKS0xO2guZWFjaChmdW5jdGlvbigpe3ZhciBtPWEo dGhpcyk7bS5hZGRDbGFzcygianMtcmVhZHkiKTttLmhpZGUoKX0pO2Y9YShoW2td KTtmLnNob3coKTtsLmFkZENsYXNzKCJqcy1yZWFkeSIpfX0pfX0pfShuZG0ualF1 ZXJ5KSk7KGZ1bmN0aW9uKGEpe3ZhciBiO2EuZm4uc2VyaWFsaXplT2JqZWN0PWZ1 bmN0aW9uKCl7dmFyIGQ9e30sYz10aGlzLnNlcmlhbGl6ZUFycmF5KCk7YS5lYWNo KGMsZnVuY3Rpb24oKXtpZihkW3RoaXMubmFtZV0pe2lmKCFkW3RoaXMubmFtZV0u cHVzaCl7ZFt0aGlzLm5hbWVdPVtkW3RoaXMubmFtZV1dfWRbdGhpcy5uYW1lXS5w dXNoKHRoaXMudmFsdWV8fCIiKX1lbHNle2RbdGhpcy5uYW1lXT10aGlzLnZhbHVl fHwiIn19KTtyZXR1cm4gZH07YS5mbi5yZWFsPWZ1bmN0aW9uKGMpe3ZhciBkPWEu ZXh0ZW5kKHt9LGEuZm4ucmVhbC5kZWZhdWx0cyxjKTtyZXR1cm4gdGhpcy5lYWNo KGZ1bmN0aW9uKCl7aWYoYSh0aGlzKS5oYXNDbGFzcyhkLnJlYWR5KSl7cmV0dXJu fXZhciBlPWEodGhpcyksZjtmPWEubWV0YWRhdGE/YS5leHRlbmQodHJ1ZSx7fSxk LGUubWV0YWRhdGEoKSk6ZDthLmZuLnJlYWwuc2V0dXAoZixlKX0pLmFkZENsYXNz KGQucmVhZHkpfTthLmZuLnJlYWwudGltZXN0YW1wPWZ1bmN0aW9uKGope3ZhciBl LHIsdT1udWxsLGM9ai50b0xvd2VyQ2FzZSgpLnNwbGl0KCI6IikscyxuPVtdLGs9 MCxnPTAsaT0wLHQ9MCxvPTAscT0wLGQsbCxmO24ubT02MDAwMDtuLmg9MzYwMDAw MDtuLmQ9ODY0MDAwMDA7bi53PTYwNDgwMDAwMDtuLm1tPTI2MjgwMDAwMDA7bi55 PTMxNTM2MDAwMDAwO2lmKGEuaXNBcnJheShjKSl7cz1jWzFdO2s9bltzXXx8bi5k O2U9Y1swXSprO2Q9bmV3IERhdGUoKTtnPWQuZ2V0TWludXRlcygpO2k9ZC5nZXRI b3VycygpO3Q9ZC5nZXREYXRlKCk7bz1kLmdldE1vbnRoKCk7cT1kLmdldEZ1bGxZ ZWFyKCk7aWYocz09PSJtIil7bD0wfWVsc2V7aWYocz09PSJoIil7Zj0wfWVsc2V7 aWYocz09PSJkInx8cz09PSJtbSJ8fHM9PT0ieSIpe2c9MDtpPTB9fX1yPW5ldyBE YXRlKHEsbyx0LGksZywwLDApLmdldFRpbWUoKTt1PW5ldyBEYXRlKHIrZSkuZ2V0 VGltZSgpO3I9ZD1udWxsfXJldHVybiB1fTthLmZuLnJlYWwuc2V0dXA9ZnVuY3Rp b24oZSxnKXt2YXIgbT1udWxsLGgsZCxrLGk9bnVsbCxuLGwsZixjLGo7aD1lLmFw aS5zcGxpdCgiLiIpO2Q9aFswXTtrPWhbMV07aT1hLmZuLnJlYWwuYXBpW2RdfHxp O2lmKCFpKXtyZXR1cm59ZWxzZXttPWkuc3ViamVjdFtrXXx8bTtpZihtKXttPWEu ZXh0ZW5kKHRydWUse30sbSxlLnNldHRpbmdzKTttLnRlbXBsYXRlPSgidGVtcGxh dGUiIGluIG0pP20udGVtcGxhdGU6aS50ZW1wbGF0ZTttLmRhdGFUeXBlPSgiZGF0 YVR5cGUiIGluIG0pP20uZGF0YVR5cGU6aS5kYXRhVHlwZTttLnVybD0oInVybCIg aW4gbSk/bS51cmw6aS51cmw7Yz1tLmNhY2hlLmFjdGl2ZT0oImNhY2hlIiBpbiBt JiYiYWN0aXZlIiBpbiBtLmNhY2hlKT9tLmNhY2hlLmFjdGl2ZTppLmNhY2hlLmFj dGl2ZTtmPSgiY3ljbGUiIGluIG0uY2FjaGUmJiJhY3RpdmUiIGluIG0uY2FjaGUp P20uY2FjaGUuY3ljbGUuYWN0aXZlOigoaS5jYWNoZS5jeWNsZS5hY3RpdmUpP2ku Y2FjaGUuY3ljbGUuYWN0aXZlOmUuY2FjaGUuY3ljbGUuYWN0aXZlKTtqPSgiY3lj bGUiIGluIG0uY2FjaGUmJiJwZXJpb2QiIGluIG0uY2FjaGUuY3ljbGUpP20uY2Fj aGUuY3ljbGUucGVyaW9kOigoaS5jYWNoZS5jeWNsZS5wZXJpb2QpP2kuY2FjaGUu Y3ljbGUucGVyaW9kOmUuY2FjaGUuY3ljbGUucGVyaW9kKTtuPSgiY25hbWUiIGlu IG0pP20uY25hbWU6aS5jbmFtZTttLnBhcmFtLmNvdW50PW0ucGFyYW0uY291bnR8 fG0uY291bnQ7aWYobS5kYXRhVHlwZT09PSJzY3JpcHQiKXtpZihuKXttLnBhcmFt W25dPWUuanNvbnB9bD1hKCI8ZGl2PiIpLmFqYXhTdG9wKGZ1bmN0aW9uKCl7aWYo d2luZG93W2UuanNvbnBdKXt3aW5kb3dbZS5qc29ucF09dW5kZWZpbmVkO3RyeXtk ZWxldGUgd2luZG93W2UuanNvbnBdfWNhdGNoKG8pe319bD1udWxsfSk7aWYoYyYm ZiYmai5sZW5ndGg+MCl7bS5wYXJhbS5fY3ljbGU9YS5mbi5yZWFsLnRpbWVzdGFt cChqKX19ZWxzZXtpZihtLmRhdGFUeXBlPT09Impzb25wIil7bS51cmw9bS51cmwr Ij8iK24rIj0/In19aWYobS51cmwmJm0udXJsLmxlbmd0aD4wKXthLmZuLnJlYWwu cmVxdWVzdChtLGUsZyl9fX19O2EuZm4ucmVhbC5yZXF1ZXN0PWZ1bmN0aW9uKGYs aSxnKXt2YXIgZSxoPWEuZXh0ZW5kKHt9LGYucGFyYW0pLGQ9Zi5pbnRlcnZhbHx8 MDtpZighZi52cGVjYWNoZSYmIWkudnBlY2FjaGUpe2U9Zi51cmx9ZWxzZXt9ZD0o ZD4wKT8oKGQ8aS5taW5pbnRlcnZhbCk/aS5taW5pbnRlcnZhbCo2MDAwMDpkKjYw MDAwKTowOyhmdW5jdGlvbiBjKCl7d2luZG93W2kuanNvbnBdPWEuZm4ucmVhbC5j YWNoZTthLmFqYXgoe3VybDplLGRhdGE6aCxkYXRhVHlwZTpmLmRhdGFUeXBlLGlm TW9kaWZpZWQ6dHJ1ZSxjYWxsYmFjazpudWxsLGNhY2hlOmEuYnJvd3Nlci5tc2ll P2ZhbHNlOmYuY2FjaGUuYWN0aXZlLGVycm9yOmZ1bmN0aW9uKGope30sc3VjY2Vz czpmdW5jdGlvbihrKXt2YXIgaj1rO2lmKGYuZGF0YVR5cGU9PT0ic2NyaXB0Iil7 aj1hLmZuLnJlYWwuY2FjaGUoKXx8bnVsbH1pZihqKXthLmZuLnJlYWwuY2FsbGJh Y2soaixmLGksZyl9aWYoZD4wKXtzZXRUaW1lb3V0KGMsZCl9fX0pfSgpKX07YS5m bi5yZWFsLmNhY2hlPWZ1bmN0aW9uKCl7dmFyIGM9YXJndW1lbnRzWzBdfHxudWxs O2lmKGMpe2I9YXJndW1lbnRzWzBdfWVsc2V7Yz1iO2I9bnVsbDtyZXR1cm4gY319 O2EuZm4ucmVhbC5jYWxsYmFjaz1mdW5jdGlvbihoLGcsaixpKXtpZihnLmNhbGxi YWNrJiZ0eXBlb2YgZy5jYWxsYmFjaz09PSJmdW5jdGlvbiIpe2cuY2FsbGJhY2su Y2FsbCh0aGlzLGgpfWVsc2V7dmFyIGYsYyxlLGQ7Yz1hKGkpLmZpbmQoai5jb250 YWluZXIpO2lmKHR5cGVvZiBnLnRlbXBsYXRlPT09ImZ1bmN0aW9uIil7Zj1hLmZu LnJlYWwuZnJhZ21lbnQoZy50ZW1wbGF0ZSxoLGcucGFyYW0uY291bnQsaik7aWYo ZiYmZi5sZW5ndGg+MCl7ZT1jLmdldCgwKS5pbm5lckhUTUw7ZD0vXHMqc3R5bGU9 Wyd8Il1bXid8Il0qP1snfCJdL2lnO2U9ZS5yZXBsYWNlKGQsIiIpO2lmKGUhPT1m KXtmPWEoZik7aWYoZi5zaXplKCk+MCl7Yy5odG1sKGYpfX19fX19O2EuZm4ucmVh bC5mcmFnbWVudD1mdW5jdGlvbihqLGUsaCxjKXt2YXIgaz1qLGc9IiIsZj0wLGws ZDtlPWUudmFsdWU/ZS52YWx1ZS5pdGVtczplO2Q9aHx8ZS5sZW5ndGg7aWYoZS5s ZW5ndGg+MCl7Zm9yKDtmPGQ7ZisrKXtsPWVbZl07Zys9ayhsLGYsZmFsc2UsaCxj KX19ZWxzZXtnPWsobCxmLHRydWUpfXJldHVybiBnfTthLmZuLnJlYWwuYXBpPXt9 O2EuZm4ucmVhbC5kZWZhdWx0cz17cmVhZHk6ImpzLXJlYWR5Iixjb250YWluZXI6 Ii5tb2R1bGUtY29udGVudCIsbWluaW50ZXJ2YWw6MC41LGpzb25wOiJuZG1yZWFs Y2JrIixzZXR0aW5nczp7Y2FjaGU6e2FjdGl2ZTp0cnVlLGN5Y2xlOnthY3RpdmU6 ZmFsc2UscGVyaW9kOiIxOmQifX19fX0obmRtLmpRdWVyeSkpOyhmdW5jdGlvbihh KXthLmZuLnJlYWwuYXBpLmNhcmVlcm9uZT17ZGF0YVR5cGU6InNjcmlwdCIsdXJs OiJodHRwOi8vcGlwZXMueWFob28uY29tL3BpcGVzL3BpcGUucnVuIixjbmFtZToi X2NhbGxiYWNrIixjYWNoZTp7YWN0aXZlOnRydWUsY3ljbGU6e3BlcmlvZDoiMTpk In19LHN1YmplY3Q6e3NlYXJjaDp7cGFyYW06e19pZDoiZjJhYTQ3YTNmZWVhOWFh ZGQ2NzhiYzg4YzljOTZkN2EiLF9yZW5kZXI6Impzb24iLGN5OiJhdSJ9fX0sdGVt cGxhdGU6ZnVuY3Rpb24oZCxiLGYpe2lmKGYpe3JldHVybic8ZGl2IGNsYXNzPSJw cm9tby1ibG9jayBwcm9tby1ibG9jay0wNCI+PGRpdiBjbGFzcz0icHJvbW8taW5u ZXIiPjxkaXYgY2xhc3M9InByb21vLXRleHQiPjxwIGNsYXNzPSJzdGF0dXMiPk5v IGpvYnMgaGF2ZSBiZWVuIGNyZWF0ZWQgaW4gdGhlIGxhc3QgMjQgaG91cnMuPC9w PjwvZGl2PjwhLS0gLy8gLnByb21vLXRleHQgLS0+PC9kaXY+PCEtLSAvLyAucHJv bW8taW5uZXIgLS0+PC9kaXY+J31lbHNle2lmKGQuSUQpe3ZhciBlPSIiLGM9Imh0 dHA6Ly9qb2J2aWV3LmNhcmVlcm9uZS5jb20uYXUvZ2V0am9iLmFzcD9Kb2JJRD0i O2lmKGQuTG9jYXRpb24pe2lmKGQuTG9jYXRpb24uQ2l0eSl7ZT1kLkxvY2F0aW9u LkNpdHl9aWYoZC5Mb2NhdGlvbi5DaXR5KXtlKz0iLCAiK2QuTG9jYXRpb24uQ2l0 eX1pZihkLkxvY2F0aW9uLkNvdW50cnkpe2UrPSIsICIrZC5Mb2NhdGlvbi5Db3Vu dHJ5fX1pZihlLmxlbmd0aD4wKXtpZihkLkNvbXBhbnlOYW1lKXtlKz0iLCAiK2Qu Q29tcGFueU5hbWV9fXJldHVybic8ZGl2IGNsYXNzPSJwcm9tby1ibG9jayBwcm9t by1ibG9jay0wNCI+PGRpdiBjbGFzcz0icHJvbW8taW5uZXIiPjxkaXYgY2xhc3M9 InByb21vLWhlYWRpbmciPjxoNCBjbGFzcz0iaGVhZGluZyI+PGEgaHJlZj0iJytj K2QuSUQrJyIgdGFyZ2V0PSJfYmxhbmsiPicrZC5UaXRsZSsnPC9hPjwvaDQ+PC9k aXY+PCEtLSAvLyAucHJvbW8taGVhZGluZyAtLT48ZGl2IGNsYXNzPSJwcm9tby10 ZXh0Ij48cD4nK2UrIjwvcD48L2Rpdj48IS0tIC8vIC5wcm9tby10ZXh0IC0tPjwv ZGl2PjwhLS0gLy8gLnByb21vLWlubmVyIC0tPjwvZGl2PiJ9fX19fShuZG0ualF1 ZXJ5KSk7KGZ1bmN0aW9uKGEpe2EuZm4ucmVhbC5hcGkuZnc9e2RhdGFUeXBlOiJz Y3JpcHQiLHVybDoiaHR0cDovL3BpcGVzLnlhaG9vLmNvbS9waXBlcy9waXBlLnJ1 biIsY25hbWU6Il9jYWxsYmFjayIsY2FjaGU6e2FjdGl2ZTp0cnVlLGN5Y2xlOntw ZXJpb2Q6IjE6ZCJ9fSxzdWJqZWN0Ontjb21tZW50czp7Y2FjaGU6e2N5Y2xlOntw ZXJpb2Q6IjU6aCJ9fSxwYXJhbTp7X2lkOiJjMGUyYWUzOWRlMWZlMDMxMmQ4ZmYy N2Y4MzgyMGVhOSIsX3JlbmRlcjoianNvbiJ9fSxibG9nczp7Y2FjaGU6e2N5Y2xl OntwZXJpb2Q6IjEyOmgifX0scGFyYW06e19pZDoiODNlZGFiN2U4NDg5NWU5ZmNk ZTAxMWJlOGI1MmYxMTYiLF9yZW5kZXI6Impzb24ifSx0ZW1wbGF0ZTpmdW5jdGlv bihxLGwsZixuLGMpe3ZhciBkPSIiLGs9IiIsaD0iIixlPSIiLG09IiIsaj0nPHVs IGNsYXNzPSJyZWxhdGVkIj4nLHA9IjwvdWw+IixpPSIiLGc9Yy5zZXR0aW5ncy5z dGFydGF0fHwyLGI9Yy5zZXR0aW5ncy5raWNrZXJ8fHRydWU7aWYocSl7aD1xWyJk Yzpjb250cmlidXRvciJdfHwiIjtpZihjLnNldHRpbmdzJiZjLnNldHRpbmdzLnJl bGF0ZWQmJmw+PShnLTEpKXtpZihoLmxlbmd0aD4wJiZiPT09dHJ1ZSl7aD0nPHN0 cm9uZyBjbGFzcz0ia2lja2VyIj4nK2grIjogPC9zdHJvbmc+In1lbHNle2g9IiJ9 aT0nPGxpIGNsYXNzPSJzdG9yeSI+PGEgaHJlZj0iJytxLmxpbmsrJyI+JytoK3Eu dGl0bGUrIjwvYT48L2xpPiI7aWYobD09PShnLTEpKXtpPWoraX1pZihsKzE9PT1u KXtpKz1wfX1lbHNle2lmKHEuY2F0ZWdvcnkmJnEuY2F0ZWdvcnlbMl0mJnEuY2F0 ZWdvcnlbMl0ubGVuZ3RoPjApe2Q9JzxhIGNsYXNzPSJ0aHVtYi1saW5rIiBocmVm PSInK3EubGluaysnIj48aW1nIHdpZHRoPSIxMDAiIGhlaWdodD0iNzUiIGNsYXNz PSJ0aHVtYm5haWwiIGFsdD0iIiBzcmM9IicrcS5jYXRlZ29yeVsyXSsnIi8+PC9h Pid9aWYocVsibmRtOmNvbW1lbnRzIl0mJnBhcnNlSW50KHFbIm5kbTpjb21tZW50 cyJdLnB1Ymxpc2hlZHRvdGFsLDEwKT4wKXtrPSc8cCBjbGFzcz0iY29tbWVudHMi PjxhIGhyZWY9IicrcS5saW5rKyciPjxzcGFuIGNsYXNzPSJjb21tZW50cy1jb3Vu dCI+JytxWyJuZG06Y29tbWVudHMiXS5wdWJsaXNoZWR0b3RhbCsnPC9zcGFuPiA8 c3BhbiBjbGFzcz0iY29tbWVudHMtdGV4dCI+Y29tbWVudHMgYWJvdXQgdGhpcyBh cnRpY2xlPC9zcGFuPjwvYT48L3A+J31pZihiPT09dHJ1ZSl7aWYoaC5sZW5ndGg+ MCl7aD0nPGVtIGNsYXNzPSJieWxpbmUiPicraCsiPC9lbT4ifWlmKHEudGltZXN0 YW1wJiZxLnRpbWVzdGFtcC5sZW5ndGg+MCl7bT0nPGVtIGNsYXNzPSJ0aW1lc3Rh bXAiPicrcS50aW1lc3RhbXArIiwgPC9lbT4ifWlmKGgubGVuZ3RoPjB8fG0ubGVu Z3RoPjApe2U9JzxzcGFuIGNsYXNzPSJhcnRpY2xlLWluZm8iPicrbStoKyI8L3Nw YW4+ICJ9fWk9JzxkaXYgY2xhc3M9InN0b3J5LWJsb2NrIj48aDQgY2xhc3M9Imhl YWRpbmciPjxhIGhyZWY9IicrcS5saW5rKyciPicrcS50aXRsZSsiPC9hPjwvaDQ+ IitkKyc8cCBjbGFzcz0ic3RhbmRmaXJzdCI+JytlK3EuZGVzY3JpcHRpb24rIjwv cD48IS0tIC8vIC5zdGFuZGZpcnN0IC0tPiIraysiPC9kaXY+In19aWYoZil7cmV0 dXJuIiJ9ZWxzZXtyZXR1cm4gaX19fSxyc3M6e2NhY2hlOntjeWNsZTp7cGVyaW9k OiIxMjpoIn19LHBhcmFtOntfaWQ6ImI2MTQ5OGJkYjk2NTE5NjRkMWQxNmI3N2Ex MDEzNTM5IixfcmVuZGVyOiJqc29uIn0sdGVtcGxhdGU6ZnVuY3Rpb24oZCxiLGYs YyxlKXtyZXR1cm4gYS5mbi5yZWFsLmFwaS5mdy5zdWJqZWN0LmJsb2dzLnRlbXBs YXRlKGQsYixmLGMsZSl9fX0sdGVtcGxhdGU6ZnVuY3Rpb24oYyxiLGQpe2lmKGQp e3JldHVybic8ZGl2IGNsYXNzPSJwcm9tby1ibG9jayBwcm9tby1ibG9jay0wNCI+ PGRpdiBjbGFzcz0icHJvbW8taW5uZXIiPjxkaXYgY2xhc3M9InByb21vLXRleHQi PjxwIGNsYXNzPSJzdGF0dXMiPlRoZXJlIGFyZSBjdXJyZW50bHkgbm8gY29tbWVu dHMgYXZhaWxhYmxlPC9wPjwvZGl2PjwhLS0gLy8gLnByb21vLXRleHQgLS0+PC9k aXY+PCEtLSAvLyAucHJvbW8taW5uZXIgLS0+PC9kaXY+J31lbHNle3JldHVybic8 ZGl2IGNsYXNzPSJwcm9tby1ibG9jayBwcm9tby1ibG9jay0wNCI+PGRpdiBjbGFz cz0icHJvbW8taW5uZXIiPjxkaXYgY2xhc3M9InByb21vLWhlYWRpbmciPjxoNCBj bGFzcz0iaGVhZGluZyI+JytjLm5hbWUrIiAiK2MucG9zdGVkKyc8L2g0PjwvZGl2 PjwhLS0gLy8gLnByb21vLWhlYWRpbmcgLS0+PGRpdiBjbGFzcz0icHJvbW8tdGV4 dCI+PHA+JytjLmJvZHkrIjwvcD48L2Rpdj48IS0tIC8vIC5wcm9tby10ZXh0IC0t PjwvZGl2PjwhLS0gLy8gLnByb21vLWlubmVyIC0tPjwvZGl2PiJ9fX19KG5kbS5q UXVlcnkpKTsoZnVuY3Rpb24oYSl7YS5mbi5yZWFsLmFwaS50d2l0dGVyPXtkYXRh VHlwZToic2NyaXB0Iix1cmw6Imh0dHA6Ly9waXBlcy55YWhvby5jb20vcGlwZXMv cGlwZS5ydW4iLGNuYW1lOiJfY2FsbGJhY2siLGNhY2hlOnthY3RpdmU6dHJ1ZSxj eWNsZTp7cGVyaW9kOiIyOmgifX0sc3ViamVjdDp7cHJvZmlsZTp7cGFyYW06e19p ZDoiYTExNWY3ZTEzNGE0ZWZiYTU5MTY3NDk1OTQyMDY3ZTgiLF9yZW5kZXI6Impz b24ifX0sZmF2b3VyaXRlOntwYXJhbTp7X2lkOiJmOWEwMDJhNjJjYjkxYmRmNzQz ODAyY2FhZjRlN2EwZiIsX3JlbmRlcjoianNvbiJ9fSxsaXN0OntwYXJhbTp7X2lk OiJhMWFjMGMzOWZlMTk3NmRlZTQxZGRhNTg5MjFlZTQ3MCIsX3JlbmRlcjoianNv biJ9fSxtdWx0aWxpc3Q6e3BhcmFtOntfaWQ6ImUxZjk2YTIzNTQ3ZjA4MWEyOThi NjgyOGM4MmQyZDUxIixfcmVuZGVyOiJqc29uIn19fSx0ZW1wbGF0ZTpmdW5jdGlv bihlLGIsZyxkLGYpe3ZhciBjPSIiO2lmKGUpe2lmKGcpe3JldHVybic8ZGl2IGNs YXNzPSJwcm9tby1ibG9jayBwcm9tby1ibG9jay0wNCI+PGRpdiBjbGFzcz0icHJv bW8taW5uZXIiPjxkaXYgY2xhc3M9InByb21vLXRleHQiPjxwIGNsYXNzPSJzdGF0 dXMiPlRoZXJlIGFyZSBjdXJyZW50bHkgbm8gdHdlZXRzIGF2YWlsYWJsZTwvcD48 L2Rpdj48IS0tIC8vIC5wcm9tby10ZXh0IC0tPjwvZGl2PjwhLS0gLy8gLnByb21v LWlubmVyIC0tPjwvZGl2Pid9ZWxzZXtpZihlLnVzZXImJmUudXNlci5zY3JlZW5f bmFtZSl7aWYoZiYmZi5zZXR0aW5ncyYmZi5zZXR0aW5ncy5yZXBseSl7Yz0nPGRp diBjbGFzcz0icHJvbW8tbGlua3MiPjx1bCBjbGFzcz0icmVsYXRlZCI+PGxpPjxh IGhyZWY9Imh0dHA6Ly90d2l0dGVyLmNvbS8/c3RhdHVzPUAnK2UudXNlci5zY3Jl ZW5fbmFtZSsiJTIwJmluX3JlcGx5X3RvX3N0YXR1c19pZD0iK2UuaWQrIiZpbl9y ZXBseV90bz0iK2UudXNlci5uYW1lKyciPlJlcGx5PC9hPjwvbGk+PC91bD48L2Rp dj4nfXJldHVybic8ZGl2IGNsYXNzPSJwcm9tby1ibG9jayBwcm9tby1ibG9jay0w NCI+PGRpdiBjbGFzcz0icHJvbW8taW1hZ2UiPjxhIHRhcmdldD0iX2JsYW5rIiBo cmVmPSJodHRwOi8vdHdpdHRlci5jb20vJytlLnVzZXIuc2NyZWVuX25hbWUrJyI+ PGltZyBhbHQ9IicrZS51c2VyLm5hbWUrJyIgc3JjPSInK2UudXNlci5wcm9maWxl X2ltYWdlX3VybCsnIiBoZWlnaHQ9IjQ4IiB3aWR0aD0iNDgiPjwvYT48L2Rpdj48 IS0tIC8vIC5wcm9tby1pbWFnZSAtLT48ZGl2IGNsYXNzPSJwcm9tby1pbm5lciI+ PGRpdiBjbGFzcz0icHJvbW8taGVhZGluZyI+PGg0IGNsYXNzPSJoZWFkaW5nIj48 YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL3R3aXR0ZXIuY29tLycrZS51 c2VyLnNjcmVlbl9uYW1lKyIvc3RhdHVzLyIrZS5pZCsnIj4nK2UudXNlci5zY3Jl ZW5fbmFtZSsiICIrZS5jcmVhdGVkX2F0Kyc8L2E+PC9oND48L2Rpdj48IS0tIC8v IC5wcm9tby1oZWFkaW5nIC0tPjxkaXYgY2xhc3M9InByb21vLXRleHQiPjxwPicr ZS50ZXh0KyI8L3A+PC9kaXY+PCEtLSAvLyAucHJvbW8tdGV4dCAtLT4iK2MrIjwv ZGl2PjwhLS0gLy8gLnByb21vLWlubmVyIC0tPjwvZGl2PiJ9fX19fX0obmRtLmpR dWVyeSkpOyhmdW5jdGlvbihiKXt2YXIgYT1iO2IuZm4ublNjcm9sbGVyPWZ1bmN0 aW9uKGMpe2IodGhpcykuZWFjaChmdW5jdGlvbigpe3ZhciBGPWIuZXh0ZW5kKHt2 aWV3cG9ydDoiLmpzLXNjcm9sbC12aWV3cG9ydCIsY29udGFpbmVyOiIuanMtc2Ny b2xsLWNvbnRlbnQiLHNjcm9sbEl0ZW06Ii5qcy1zY3JvbGwtaXRlbSIsY29udHJv bHM6Ii5qcy1zY3JvbGwtY29udHJvbHMiLHByZXY6Ii5qcy1zY3JvbGwtcHJldiIs bmV4dDoiLmpzLXNjcm9sbC1uZXh0IixzY3J1YmJlcjoiLmpzLXNjcm9sbC1zY3J1 YmJlciIsc2NydWJiZXJUcmFjazoiLmpzLXNjcm9sbC1zY3J1YmJlci10cmFjayIs aW5maW5pdGVMb29wOnRydWUsc2Nyb2xsQW10OjIsc2Nyb2xsU3BlZWQ6Im5vcm1h bCIsc2Nyb2xsSW50ZXJ2YWw6MjAwMCxhdXRvSGVpZ2h0OnRydWUsYXV0b21hdGlj OmZhbHNlfSxjfHx7fSk7dmFyIEc9Yih0aGlzKTt2YXIgbD1iKHRoaXMpLmZpbmQo Ri52aWV3cG9ydCkuZXEoMCk7dmFyIEU9bC5vZmZzZXQoKS5sZWZ0O3ZhciBzPUUr bC53aWR0aCgpO3ZhciBCPWIodGhpcykuZmluZChGLmNvbnRhaW5lcikuZXEoMCk7 dmFyIGc9Qi5nZXQoMCk7dmFyIGY9Qi5vZmZzZXQoKS5sZWZ0O3ZhciB1PWIodGhp cykuZmluZChGLnNjcm9sbEl0ZW0pO3ZhciBuPXUuZXEoMCkud2lkdGgoKTt2YXIg ZD1CLmZpbmQoRi5zY3JvbGxJdGVtKTt2YXIgaz1iKHRoaXMpLmZpbmQoRi5wcmV2 KS5maW5kKCJhIik7dmFyIGU9Yih0aGlzKS5maW5kKEYubmV4dCkuZmluZCgiYSIp O3ZhciBxPWIodGhpcykuZmluZChGLnNjcnViYmVyKTt2YXIgST1xLndpZHRoKCkv Mjt2YXIgSD1xLmdldCgwKTt2YXIgeD1xLndpZHRoKCk7dmFyIHc7dmFyIHY9Yih0 aGlzKS5maW5kKEYuc2NydWJiZXJUcmFjaykuZXEoMCk7aWYodi5sZW5ndGg+MCl7 dmFyIEE9di53aWR0aCgpfXZhciBqPWZhbHNlO2lmKEYuYXV0b0hlaWdodCl7dmFy IHo9ZnVuY3Rpb24oKXt2YXIgSj0wO3UuZWFjaChmdW5jdGlvbigpe2lmKGIodGhp cykuaGVpZ2h0KCk+Sil7Sj1iKHRoaXMpLmhlaWdodCgpfX0pO3JldHVybiBKfTts LmNzcygiaGVpZ2h0Iix6KCkrInB4Iil9dmFyIEM9ZnVuY3Rpb24oKXtpZihxLmxl bmd0aD4wfHwhRi5pbmZpbml0ZUxvb3Ape3JldHVybiBmYWxzZX1lbHNle3JldHVy biB0cnVlfX07dmFyIGk9ZnVuY3Rpb24oKXt2YXIgSj0wO3UuZWFjaChmdW5jdGlv bigpe0orPWIodGhpcykub3V0ZXJXaWR0aCh0cnVlKX0pO3JldHVybiBKfTtCLmNz cyh7d2lkdGg6aSgpfSk7aWYoQi53aWR0aCgpPD1sLndpZHRoKCkpe0cuZmluZChG LmNvbnRyb2xzKS5oaWRlKCl9aWYoSCl7SC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1 dGUiO0gub25tb3VzZWRvd249ZnVuY3Rpb24oSyl7Sz1LfHxldmVudDt2YXIgSj1I Lm9mZnNldExlZnQ7dz1LLmNsaWVudFgtSjtkb2N1bWVudC5vbm1vdXNlbW92ZT1m dW5jdGlvbihPKXtPPU98fGV2ZW50O3ZhciBQPWZ1bmN0aW9uKCl7dmFyIFE9Ty5j bGllbnRYLXc7aWYoUTw9MCl7cmV0dXJuIDF9ZWxzZXtpZihRPj1BLXgpe3JldHVy biBBLXgrMX1lbHNle3JldHVybiBRfX19O3ZhciBMPVAoKStJO3ZhciBOPWZ1bmN0 aW9uKCl7dmFyIFE9di53aWR0aCgpLXgtMjt2YXIgUj1MLUktMTtyZXR1cm4gUi9R fTt2YXIgTT1mdW5jdGlvbigpe3JldHVybihsLndpZHRoKCktQi53aWR0aCgpKSpO KCl9O0guc3R5bGUubGVmdD1QKCkrInB4IjtnLnN0eWxlLmxlZnQ9TSgpKyJweCJ9 O2RvY3VtZW50Lm9uc2VsZWN0c3RhcnQ9ZnVuY3Rpb24oKXtyZXR1cm4gZmFsc2V9 O3JldHVybiBmYWxzZX19ZG9jdW1lbnQub25tb3VzZXVwPWZ1bmN0aW9uKCl7ZG9j dW1lbnQub25tb3VzZW1vdmU9bnVsbH07dmFyIG09ZnVuY3Rpb24oSil7dmFyIEs9 ZnVuY3Rpb24oKXt2YXIgTT1sLndpZHRoKCktQi53aWR0aCgpO3JldHVybiBKL019 O3ZhciBMPWZ1bmN0aW9uKCl7cmV0dXJuKHYud2lkdGgoKS14LTIpKksoKX07cS5h bmltYXRlKHtsZWZ0OkwoKSsicHgifSl9O3ZhciBwPWZ1bmN0aW9uKFAsTCl7dmFy IEs7dmFyIE87aWYoUD09ImxlZnQiJiZDKCkmJiFqKXtqPXRydWU7dmFyIE49ZnVu Y3Rpb24oKXt2YXIgVT1kWzBdO3ZhciBUPVUuY2xvbmVOb2RlKHRydWUpO1UucGFy ZW50Tm9kZS5yZW1vdmVDaGlsZChVKTtCLmNzcyh7bGVmdDpMK259KTtCLmFwcGVu ZChUKTt2YXIgUj1bXTtmb3IodmFyIFM9MTtTPGQubGVuZ3RoO1MrKyl7Ui5wdXNo KGRbU10pfWQ9UjtkLnB1c2goVCk7aj1mYWxzZTtpZihGLmF1dG9tYXRpYyl7dCgp fX07Qi5hbmltYXRlKHtsZWZ0OkwrInB4In0sRi5zY3JvbGxTcGVlZCxOKX1lbHNl e2lmKFA9PSJyaWdodCImJkMoKSYmIWope2o9dHJ1ZTt2YXIgTT1mdW5jdGlvbigp e3ZhciBVPWRbZC5sZW5ndGgtMV07dmFyIFQ9VS5jbG9uZU5vZGUodHJ1ZSk7VS5w YXJlbnROb2RlLnJlbW92ZUNoaWxkKFUpO0IuY3NzKHtsZWZ0OkwtKDIqbil9KTtC LnByZXBlbmQoVCk7dmFyIFI9W107Ui5wdXNoKFQpO2Zvcih2YXIgUz0wO1M8ZC5s ZW5ndGgtMTtTKyspe1IucHVzaChkW1NdKX1kPVI7cmV0dXJuIEwtbn07dmFyIEo9 TSgpO0IuYW5pbWF0ZSh7bGVmdDpKKyJweCJ9LEYuc2Nyb2xsU3BlZWQsZnVuY3Rp b24oKXtqPWZhbHNlO2lmKEYuYXV0b21hdGljKXt0KCl9fSl9ZWxzZXtpZihQPT0i bGVmdCImJiFDKCkmJiFqKXtqPXRydWU7Sz1ML247TD1uKk1hdGguZmxvb3IoSyk7 Tz1CLm9mZnNldCgpLmxlZnQ7dmFyIFE9TytCLndpZHRoKCk7aWYoUT5zKXtCLmFu aW1hdGUoe2xlZnQ6TCsicHgifSxGLnNjcm9sbFNwZWVkLGZ1bmN0aW9uKCl7aj1m YWxzZX0pO20oTCl9ZWxzZXtqPWZhbHNlfX1lbHNle2lmKFA9PSJyaWdodCImJiFD KCkmJiFqKXtqPXRydWU7Sz1ML247TD1uKk1hdGguZmxvb3IoSyk7Tz1CLm9mZnNl dCgpLmxlZnQ7aWYoTzxFKXtCLmFuaW1hdGUoe2xlZnQ6TCsicHgifSxGLnNjcm9s bFNwZWVkLGZ1bmN0aW9uKCl7aj1mYWxzZX0pO20oTCl9ZWxzZXtqPWZhbHNlfX1l bHNle319fX19O3ZhciBvPWZ1bmN0aW9uKCl7dmFyIEo9Qi5vZmZzZXQoKS5sZWZ0 LWY7dmFyIEs9Si1uO3AoImxlZnQiLEspfTt2YXIgcj1mdW5jdGlvbigpe3ZhciBK PUIub2Zmc2V0KCkubGVmdC1mO3ZhciBLPUorbjtwKCJyaWdodCIsSyl9O2suY2xp Y2soZnVuY3Rpb24oSil7cigpO3JldHVybiBmYWxzZX0pO2UuY2xpY2soZnVuY3Rp b24oSil7bygpO3JldHVybiBmYWxzZX0pO2lmKEMoKSYmRi5hdXRvbWF0aWMpe3Zh ciB5O3ZhciBEPWZhbHNlO3ZhciBoPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KHkp fTt2YXIgdD1mdW5jdGlvbigpe2goKTtpZihEPT09ZmFsc2Upe3k9c2V0VGltZW91 dChmdW5jdGlvbigpe28oKX0sRi5zY3JvbGxJbnRlcnZhbCl9fTtHLm1vdXNlb3Zl cihmdW5jdGlvbigpe0Q9dHJ1ZTtoKCl9KTtHLm1vdXNlb3V0KGZ1bmN0aW9uKCl7 RD1mYWxzZTt0KCl9KTt0KCl9fSl9fShqUXVlcnkpKTsoZnVuY3Rpb24oYSl7YS5m bi5zb2NpYWxpc2U9ZnVuY3Rpb24oYil7aWYoIXRoaXMubGVuZ3RoKXtyZXR1cm59 dmFyIGM9YS5leHRlbmQoe30sYS5mbi5zb2NpYWxpc2UuZGVmYXVsdHMsYik7cmV0 dXJuIHRoaXMubm90KCIuIitjLnJlYWR5KS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9 YSh0aGlzKSxlO2U9YS5tZXRhZGF0YT9hLmV4dGVuZCh7fSxjLGQubWV0YWRhdGEo KSk6YztpZihlLndpZGdldCl7YS5mbi5zb2NpYWxpc2Uuc2V0dXAoZSxkKX19KS5h ZGRDbGFzcyhjLnJlYWR5KX07YS5mbi5zb2NpYWxpc2UuYnVpbGRUZW1wbGF0ZT1m dW5jdGlvbihiLGMpe3ZhciBkPSIiO2Q9IjwiK2IrIiAiO2EuZWFjaChjLGZ1bmN0 aW9uKGUsZil7aWYoZiYmZSE9PSJpbm5lckh0bWwiKXtkKz1lKyc9IiR7JytlKyd9 IiAnfX0pO2QrPSI+IjtkKz0oYy5pbm5lckh0bWwpP2MuaW5uZXJIdG1sOiIiO2Qr PSI8LyIrYisiPiI7cmV0dXJuIGR9O2EuZm4uc29jaWFsaXNlLnNldHVwPWZ1bmN0 aW9uKGQsaCl7dmFyIGk9e30sZj0iIixnLGIsayxqLGUsYztnPWQud2lkZ2V0LnNw bGl0KCIuIik7Yj1nWzBdO2s9Z1sxXTtnPWEuZm4uc29jaWFsaXNlLm5ldHdvcmtb Yl07aWYoZyYmZy53aWRnZXQpe2k9Zy53aWRnZXRba118fHt9O2Quc2V0dGluZ3M9 YS5leHRlbmQodHJ1ZSx7fSxpLmRlZmF1bHRzLGQuc2V0dGluZ3MpO2lmKHR5cGVv ZiBnLmluaXQ9PT0iZnVuY3Rpb24iKXtkPWcuaW5pdChkKX1pZihpLnRhZyl7Zj1h LmZuLnNvY2lhbGlzZS5idWlsZFRlbXBsYXRlKGkudGFnLGQuc2V0dGluZ3MpfWVs c2V7Zj1pLnRlbXBsYXRlfWo9YS5mbi5zb2NpYWxpc2Uud2lnaXRpemUoZixkLnNl dHRpbmdzKTtqPShpLnBvc3RfcHJvY2Vzcyk/aS5wb3N0X3Byb2Nlc3MoaixkLnNl dHRpbmdzKTooKGcud2lkZ2V0LnBvc3RfcHJvY2Vzcyk/Zy53aWRnZXQucG9zdF9w cm9jZXNzKGosZC5zZXR0aW5ncyk6aik7aWYoZC5jb250YWluZXImJmQuY29udGFp bmVyLmxlbmd0aCl7YShkLmNvbnRhaW5lcixoKS5odG1sKCIiKS5hcHBlbmQoail9 ZWxzZXthKGgpLmh0bWwoIiIpLmFwcGVuZChhKGopKX1pZihpLnBvc3Rwcm9jZXNz KXtpLnBvc3Rwcm9jZXNzKGgpfX19O2EuZm4uc29jaWFsaXNlLndpZ2l0aXplPWZ1 bmN0aW9uKHAsZil7dmFyIGI9L1wkXHsoW159XSopXH0vZyxlPSIiLGcsZCxjLGg9 W10sbz1bXSxuPSIiLGw9W10sbT0wLHE9IiI7aD1wLm1hdGNoKGIpfHxbXTtpZigh YS5pc0FycmF5KGYpKXtsLnB1c2goZil9ZWxzZXtsPWZ9bT1sLmxlbmd0aDtmb3Io Zz0wO2c8bC5sZW5ndGg7Zz1nKzEpe3E9cDtmb3IoZD0wO2Q8aC5sZW5ndGg7ZD1k KzEpe289aFtkXS5zdWJzdHJpbmcoMixoW2RdLmxlbmd0aC0xKS5zcGxpdCgiLiIp O2ZvcihjPTA7YzxvLmxlbmd0aDtjPWMrMSl7bj0obltvW2NdXSk/bltvW2NdXToo bFtnXVtvW2NdXXx8IiIpfXE9cS5yZXBsYWNlKGhbZF0sbil9ZT1lK3F9cmV0dXJu IGV9O2EuZm4uc29jaWFsaXNlLm5ldHdvcms9e307YS5mbi5zb2NpYWxpc2UuZGVm YXVsdHM9e3JlYWR5OiJqcy1yZWFkeSJ9fShuZG0ualF1ZXJ5KSk7KGZ1bmN0aW9u KGQpe3ZhciBhPShkKCJsaW5rW3JlbD1jYW5vbmljYWxdIikubGVuZ3RoPjApP2Qo ImxpbmtbcmVsPWNhbm9uaWNhbF0iKS5hdHRyKCJocmVmIik6d2luZG93LmxvY2F0 aW9uLmhyZWYsYj1mdW5jdGlvbihlKXtyZXR1cm4oZS5tYXRjaCgvOlwvXC8oLlte XC9dKykvKVsxXSkucmVwbGFjZSgid3d3LiIsIiIpfSxjPWIoYSk7dGFudG8ubmFt ZXNwYWNlKCJuZG0uc29jaWFsaXNlIik7bmRtLnNvY2lhbGlzZT17c2l0ZTpmdW5j dGlvbihnKXt2YXIgaD17bmV3c2NvbWF1Ontkb21haW46Im5ld3MuY29tLmF1In0s aGVyYWxkc3VuOntkb21haW46ImhlcmFsZHN1bi5jb20uYXUifSx0aGVhdXN0cmFs aWFuOntkb21haW46InRoZWF1c3RyYWxpYW4uY29tLmF1In0sY291cmllcm1haWw6 e2RvbWFpbjoiY291cmllcm1haWwuY29tLmF1In0sYWRlbGFpZGVub3c6e2RvbWFp bjoiYWRlbGFpZGVub3cuY29tLmF1In0sZGFpbHl0ZWxlZ3JhcGg6e2RvbWFpbjoi ZGFpbHl0ZWxlZ3JhcGguY29tLmF1In0scGVydGhub3c6e2RvbWFpbjoicGVydGhu b3cuY29tLmF1In19LGY9IiIsZTtlPWMucmVwbGFjZSgid3d3LiIsIiIpO2U9ZS5y ZXBsYWNlKCIuY29tLmF1IiwiIik7ZC5lYWNoKGgsZnVuY3Rpb24oaixrKXtpZihk KCJib2R5IikuaGFzQ2xhc3Moail8fGU9PT1qKXtmPShnKT9nK2suZG9tYWluOmsu ZG9tYWluO3JldHVybn19KTtyZXR1cm4gZn0sbG9jYXRpb246YSxkb21haW46Yyxz dG9yeTp7bG9hZGVkOmZhbHNlLGRlZmF1bHRzOntpdGVtczpbe3BhcmVudDp7c2Vs ZWN0b3I6ImJvZHkuc3RvcnkgLnN0b3J5LWJvZHkiLGNvbW1hbmQ6ImJlZm9yZSJ9 LGl0ZW1zOlt7d2lkZ2V0OiJmYWNlYm9vay5saWtlIixzZXR0aW5nczp7d2lkdGg6 NDYwLHJlbDoicmVjLXRvcCJ9fSx7d2lkZ2V0OiJsaW5rZWRpbi5pZnJhbWUiLHNl dHRpbmdzOntjb3VudGVyX3Bvc2l0aW9uOiJyaWdodCIsaWQ6ImxpbmtlZGluLXRv cCJ9fSx7d2lkZ2V0OiJ0d2VldG1lbWUuaWZyYW1lIixzZXR0aW5nczp7dXJsOmVz Y2FwZShhKX19XX0se3BhcmVudDp7c2VsZWN0b3I6ImJvZHkuc3RvcnkgI3N0b3J5 IC5zdG9yeS1mb290ZXIgLnN0b3J5LWZvb3Rlci1tb3JlIixjb21tYW5kOiJiZWZv cmUifSxpdGVtczpbe3dpZGdldDoiZmFjZWJvb2subGlrZSIsc2V0dGluZ3M6e3dp ZHRoOjQ2MCxzaG93X2ZhY2VzOiJ0cnVlIixyZWw6InJlYy1ib3QifX0se3dpZGdl dDoibGlua2VkaW4uaWZyYW1lIixzZXR0aW5nczp7Y291bnRlcl9wb3NpdGlvbjoi cmlnaHQiLGlkOiJsaW5rZWRpbi1ib3QifX0se3dpZGdldDoidHdlZXRtZW1lLmlm cmFtZSIsc2V0dGluZ3M6e3VybDplc2NhcGUoYSl9fV19XX0saW5pdDpmdW5jdGlv bihnKXtpZighbmRtLnNvY2lhbGlzZS5zdG9yeS5sb2FkZWQpe3ZhciBoLGYsZTtn PShnKT9nOnt9O2U9Zy5ib2R5Q2xhc3N8fCIiO2lmKGcmJmcuc2l0ZSl7Zj1nLnNp dGV9aD1kLmV4dGVuZCh0cnVlLHt9LG5kbS5zb2NpYWxpc2Uuc3RvcnkuZGVmYXVs dHMsZyk7ZChmdW5jdGlvbigpe3ZhciBqPWgud3JhcHBlcnx8IjxkaXY+IixpPWgu Y2xhc3NwcmVmaXh8fCJqcy1zb2NpYWxpc2UiO2QuZWFjaChoLml0ZW1zLGZ1bmN0 aW9uKGssbSl7aWYobS5wYXJlbnQmJm0ucGFyZW50LnNlbGVjdG9yKXt2YXIgbD1k KG0ucGFyZW50LnNlbGVjdG9yKVttLnBhcmVudC5jb21tYW5kXShkKGopKS5wcmV2 KCk7aWYobCYmbC5sZW5ndGgpe2QuZWFjaChtLml0ZW1zLGZ1bmN0aW9uKG8scCl7 dmFyIHI9IiIscSxuPSI8ZGl2PiI7cj0ianMtc29jaWFsaXNlLSIrcC53aWRnZXQu cmVwbGFjZSgiLiIsIi0iKTtpZihpKXtyPWkrIiAiK3J9aWYoZiYmZi5sZW5ndGg+ MCl7cC5zaXRlPWZ9cj1wLmNsYXNzbmFtZXx8cjtxPWQobikuYWRkQ2xhc3Mocik7 cS5zb2NpYWxpc2UocCk7aWYocS5oYXNDbGFzcygianMtcmVhZHkiKSl7ZChsKS5h cHBlbmQocSl9fSl9fX0pfSk7ZCgiYm9keSIpLmFkZENsYXNzKGUpO25kbS5zb2Np YWxpc2Uuc3RvcnkubG9hZGVkPXRydWV9fX19fShuZG0ualF1ZXJ5KSk7KGZ1bmN0 aW9uKGEpe2EuZm4uc29jaWFsaXNlLm5ldHdvcmsuYWRkdGhpcz17c2l0ZXM6eyJu ZXdzLmNvbS5hdSI6e3RtOntzZXJ2aWNlOnthcGlrZXk6Im5ld3Nkb3Rjb21kb3Rh dTpSXzllODEwNWFjMTFjZTY4MjU2OGRhZDEyNWY0NmM5ZmYwIn0sc291cmNlOiJu ZXdzX2NvbV9hdSJ9fSwiaGVyYWxkc3VuLmNvbS5hdSI6e3RtOntzZXJ2aWNlOnth cGlrZXk6IlJfYzUwYzA0YjJjZGZhNTE4ZmJjNWU0YTFmMTVlMjE1ZDYifSxzb3Vy Y2U6ImhlcmFsZHN1biJ9fSwidGhlYXVzdHJhbGlhbi5jb20uYXUiOnt0bTp7c2Vy dmljZTp7YXBpa2V5OiJSXzVkN2YxMzdiZDQzN2M4YjdjN2E4Mzg4YzNiZmEwODIz In0sc291cmNlOiJhdXN0cmFsaWFuIn19LCJjb3VyaWVybWFpbC5jb20uYXUiOnt0 bTp7c2VydmljZTp7YXBpa2V5OiJSX2VhODRlNGFmYjEwZTAwMzkxNDZlYjc0MGRl NmFhYTljIn0sc291cmNlOiJjb3VyaWVybWFpbCJ9fSwiYWRlbGFpZGVub3cuY29t LmF1Ijp7dG06e3NlcnZpY2U6e2FwaWtleToiUl9hNjRiZThmMDI2MDkxZWRkMmNh YjdmY2I0ZTAzMmQzMiJ9LHNvdXJjZToiYWRlbGFpZGVub3cifX0sImRhaWx5dGVs ZWdyYXBoLmNvbS5hdSI6e3RtOntzZXJ2aWNlOnthcGlrZXk6IlJfM2ZmNGNkYmIy ZjUwYzFlNzIxZjllNGFkNDUzMzEyMmQifSxzb3VyY2U6ImRhaWx5dGVsZWdyYXBo In19LCJwZXJ0aG5vdy5jb20uYXUiOnt0bTp7c2VydmljZTp7YXBpa2V5OiJSXzZh ZWJhZGE0YjlhOGNjYzM1NGRkM2QyOWUwNDE3YjA3In0sc291cmNlOiJwZXJ0aG5v dyJ9fX0saW5pdDpmdW5jdGlvbihjKXt2YXIgZT1jLGI9bmRtLnNvY2lhbGlzZS5z aXRlKCksZj1iLnVzZXJuYW1lfHwibmRtZnJvbnRlbmQiLGQ7aWYoZS5zaXRlPT09 Imlnbm9yZSIpe2I9IiJ9ZWxzZXtpZihlLnNpdGUmJmUuc2l0ZS5sZW5ndGg+MCl7 Yj1lLnNpdGV9fWlmKGUudXNlcm5hbWUmJmUudXNlcm5hbWUubGVuZ3RoPjApe2Y9 ZS51c2VybmFtZX1kPWEuZm4uc29jaWFsaXNlLm5ldHdvcmsuYWRkdGhpcy5zaXRl c1tiXXx8ZTtpZihkKXthLmV4dGVuZCh0cnVlLGUuc2V0dGluZ3MsZCk7aWYoIXdp bmRvdy5hZGR0aGlzKXt3aW5kb3cuYWRkdGhpc19jb25maWc9e2RhdGFfdHJhY2tf Y2xpY2tiYWNrOnRydWV9O2EuZ2V0U2NyaXB0KCJodHRwOi8vczcuYWRkdGhpcy5j b20vanMvMjUwL2FkZHRoaXNfd2lkZ2V0LmpzI3VzZXJuYW1lPSIrZisiJmRvbXJl YWR5PTEmYXN5bmMiLGZ1bmN0aW9uKCl7YWRkdGhpcy5pbml0KCl9KX1lbHNle3dp bmRvdy5hZGR0aGlzLmluaXQoKX19cmV0dXJuIGV9LHdpZGdldDp7c2hhcmU6e2Rl ZmF1bHRzOntmYjp7bGlrZTp7bGF5b3V0OiJzdGFuZGFyZCIsYWN0aW9uOiJyZWNv bW1lbmQiLHdpZHRoOjQ3MH19LHRtOntzZXJ2aWNlOiJiaXQubHkiLHN0eWxlOiJj b21wYWN0Iix3aWR0aDo5MCxoZWlnaHQ6MjB9LHVybDplc2NhcGUobmRtLnNvY2lh bGlzZS5sb2NhdGlvbil9LHRlbXBsYXRlOic8YSBjbGFzcz0iYWRkdGhpc19idXR0 b25fZmFjZWJvb2tfbGlrZSIgZmI6bGlrZTpyZWY9IiR7ZmIubGlrZS5yZWZ9IiBm YjpsaWtlOnNob3dfZmFjZXM9JHtmYi5saWtlLnNob3dfZmFjZXN9IGZiOmxpa2U6 d2lkdGg9IiR7ZmIubGlrZS53aWR0aH0iIGZiOmxpa2U6bGF5b3V0PSIke2ZiLmxp a2UubGF5b3V0fSIgZmI6bGlrZTphY3Rpb249IiR7ZmIubGlrZS5hY3Rpb259Ij48 L2E+PGEgY2xhc3M9ImFkZHRoaXNfYnV0dG9uX3R3ZWV0bWVtZSIgdG06c3R5bGU9 IiR7dG0uc3R5bGV9IiB0bTpzZXJ2aWNlPSIke3RtLnNlcnZpY2V9IiB0bTpzZXJ2 aWNlX2FwaT0iJHt0bS5zZXJ2aWNlLmFwaWtleX0iIHRtOnNvdXJjZT0iJHt0bS5z b3VyY2V9IiA+PC9hPid9LHJlY29tbWVuZDp7ZGVmYXVsdHM6e2xheW91dDoic3Rh bmRhcmQiLGFjdGlvbjoicmVjb21tZW5kIix3aWR0aDo0NzAsc2hvd19mYWNlczoi ZmFsc2UiLHJlZjoicmVjIix1cmw6ZXNjYXBlKG5kbS5zb2NpYWxpc2UubG9jYXRp b24pfSx0ZW1wbGF0ZTonPGEgY2xhc3M9ImFkZHRoaXNfYnV0dG9uX2ZhY2Vib29r X2xpa2UiIGZiOmxpa2U6cmVmPSIke3JlZn0iIGZiOmxpa2U6c2hvd19mYWNlcz0k e3Nob3dfZmFjZXN9IGZiOmxpa2U6d2lkdGg9IiR7d2lkdGh9IiBmYjpsaWtlOmxh eW91dD0iJHtsYXlvdXR9IiBmYjpsaWtlOmFjdGlvbj0iJHthY3Rpb259Ij48L2E+ J30sdHdlZXRtZTp7ZGVmYXVsdHM6e3NlcnZpY2U6ImJpdC5seSIsc3R5bGU6ImNv bXBhY3QiLHdpZHRoOjkwLGhlaWdodDoyMCx1cmw6ZXNjYXBlKG5kbS5zb2NpYWxp c2UubG9jYXRpb24pfSx0ZW1wbGF0ZTonPGEgY2xhc3M9ImFkZHRoaXNfYnV0dG9u X3R3ZWV0bWVtZSIgdG06c3R5bGU9IiR7c3R5bGV9IiB0bTpzZXJ2aWNlPSIke3Nl cnZpY2V9IiB0bTpzZXJ2aWNlX2FwaT0iJHt0bS5zZXJ2aWNlLmFwaWtleX0iIHRt OnNvdXJjZT0iJHt0bS5zb3VyY2V9IiA+PC9hPid9fX19KG5kbS5qUXVlcnkpKTso ZnVuY3Rpb24oYSl7YS5mbi5zb2NpYWxpc2UubmV0d29yay5kaWdnPXtzaXRlczp7 Im5ld3MuY29tLmF1Ijp7c291cmNlOiJuZXdzX2NvbV9hdSJ9LCJoZXJhbGRzdW4u Y29tLmF1Ijp7c291cmNlOiJoZXJhbGRzdW4ifSwidGhlYXVzdHJhbGlhbi5jb20u YXUiOntzb3VyY2U6ImF1c3RyYWxpYW4ifSwiY291cmllcm1haWwuY29tLmF1Ijp7 c291cmNlOiJjb3VyaWVybWFpbCJ9LCJhZGVsYWlkZW5vdy5jb20uYXUiOntzb3Vy Y2U6ImFkZWxhaWRlbm93In0sImRhaWx5dGVsZWdyYXBoLmNvbS5hdSI6e3NvdXJj ZToiZGFpbHl0ZWxlZ3JhcGgifSwicGVydGhub3cuY29tLmF1Ijp7c291cmNlOiJw ZXJ0aG5vdyJ9fSxpbml0OmZ1bmN0aW9uKGMpe3ZhciBlPWMsYj1uZG0uc29jaWFs aXNlLnNpdGUoKSxkO2lmKGUuc2l0ZT09PSJpZ25vcmUiKXtiPSIifWVsc2V7aWYo ZS5zaXRlJiZlLnNpdGUubGVuZ3RoPjApe2I9ZS5zaXRlfX1kPWEuZm4uc29jaWFs aXNlLm5ldHdvcmsudHdlZXRtZW1lLnNpdGVzW2JdfHxlO2lmKGQpe2EuZXh0ZW5k KHRydWUsZS5zZXR0aW5ncyxkKX1yZXR1cm4gZX0sd2lkZ2V0OntsaW5rOntkZWZh dWx0czp7aHJlZjoiaHR0cDovL2RpZ2cuY29tL3N1Ym1pdCIscGhhc2U6Mix1cmw6 ZXNjYXBlKG5kbS5zb2NpYWxpc2UubG9jYXRpb24pfSx0ZW1wbGF0ZTonPGEgdGFy Z2V0PSJfYmxhbmsiIGhyZWY9IiR7aHJlZn0/dXJsPSR7dXJsfSZwaGFzZT0ke3Bo YXNlfSI+RGlnZzwvYT4nfX19fShuZG0ualF1ZXJ5KSk7KGZ1bmN0aW9uKGEpe2Eu Zm4uc29jaWFsaXNlLm5ldHdvcmsuZmFjZWJvb2s9e3NpdGVzOnsibmV3cy5jb20u YXUiOntwcm9maWxlaWQ6IjExMTQxNjY4ODg4NTcxMyIsYXBwSWQ6IjExMzc1ODcy MjAwMzM2NCJ9LCJoZXJhbGRzdW4uY29tLmF1Ijp7cHJvZmlsZWlkOiI5MTI2OTEy MzE3MCIsYXBwSWQ6IjEzNTQ2OTMwMzE0ODc3MyJ9LCJ0aGVhdXN0cmFsaWFuLmNv bS5hdSI6e3Byb2ZpbGVpZDoiNDUzODgxMzQ5NzciLGFwcElkOiIxNDA2MDUzMjI2 MjM3MDcifSwiY291cmllcm1haWwuY29tLmF1Ijp7cHJvZmlsZWlkOiI5MDAwNDc5 NzcwMSIsYXBwSWQ6IjEzNDg1NjY1OTg3Nzg4NCJ9LCJhZGVsYWlkZW5vdy5jb20u YXUiOntwcm9maWxlaWQ6IjkyNzAxNDA2OTQ2IixhcHBJZDoiMTM0NDU5MTE2NTc0 NDYzIn0sImRhaWx5dGVsZWdyYXBoLmNvbS5hdSI6e3Byb2ZpbGVpZDoiMTEwMDMy MTYxMTA0IixhcHBJZDoiMTM1MDg2Mjg5ODUzODMzIn0sInBlcnRobm93LmNvbS5h dSI6e3Byb2ZpbGVpZDoiOTI0MDk5NDYxOTEiLGFwcElkOiIxMzU0NDc0OTY0ODQz MTEifX0saW5pdDpmdW5jdGlvbihkKXt2YXIgZyxmLGg9ZCxjPW5kbS5zb2NpYWxp c2Uuc2l0ZSgpLGUsYj17c3RhdHVzOnRydWUsY29va2llOnRydWUseGZibWw6dHJ1 ZX07aWYoaC5zaXRlPT09Imlnbm9yZSIpe2M9IiJ9ZWxzZXtpZihoLnNpdGUmJmgu c2l0ZS5sZW5ndGg+MCl7Yz1oLnNpdGV9fWU9YS5mbi5zb2NpYWxpc2UubmV0d29y ay5mYWNlYm9vay5zaXRlc1tjXXx8aDtpZihhLmJyb3dzZXIubXNpZSYmTWF0aC5m bG9vcihwYXJzZUludChhLmJyb3dzZXIudmVyc2lvbiwxMCkpPT09Nil7ZS5zZW5k PSJmYWxzZSJ9aWYoZSl7YS5leHRlbmQodHJ1ZSxoLnNldHRpbmdzLGUpO2lmKCFh KCIjZmItcm9vdCIpLmxlbmd0aCl7aWYoaC5zZXR0aW5ncy5hcHBJZCl7Yi5hcHBJ ZD1oLnNldHRpbmdzLmFwcElkfXdpbmRvdy5mYkFzeW5jSW5pdD1mdW5jdGlvbigp e0ZCLmluaXQoYil9OyhmdW5jdGlvbigpe3ZhciBpPWRvY3VtZW50LmNyZWF0ZUVs ZW1lbnQoInNjcmlwdCIpLGo7aS5hc3luYz10cnVlO2kuc3JjPWRvY3VtZW50Lmxv Y2F0aW9uLnByb3RvY29sKyIvL2Nvbm5lY3QuZmFjZWJvb2submV0L2VuX1VTL2Fs bC5qcyI7YSgiYm9keSIpLmFwcGVuZCgnPGRpdiBpZD0iZmItcm9vdCI+PC9kaXY+ JykucHJlcGVuZChpKX0oKSl9fXJldHVybiBofSx3aWRnZXQ6e2Zhbjp7ZGVmYXVs dHM6e3Byb2ZpbGVpZDoiIixwcm9maWxlX2lkOiIiLHdpZHRoOiIzMTYiLGNvbm5l Y3Rpb25zOiIwIixzdHJlYW06ImZhbHNlIixsb2dvYmFyOiIxIn0sdGFnOiJmYjpm YW4ifSxsaWtlOntkZWZhdWx0czp7bGF5b3V0OiJzdGFuZGFyZCIsc2hvd19mYWNl czoiZmFsc2UiLHdpZHRoOiIzMzAiLGhlaWdodDoiMjUiLGZvbnQ6IiIsYWN0aW9u OiJyZWNvbW1lbmQiLHNjaGVtZToibGlnaHQiLGhyZWY6bmRtLnNvY2lhbGlzZS5s b2NhdGlvbixzZW5kOiJ0cnVlIn0sdGFnOiJmYjpsaWtlIn0scmVjb21tZW5kYXRp b25zOntkZWZhdWx0czp7c2l0ZTpmdW5jdGlvbigpe3JldHVybiBuZG0uc29jaWFs aXNlLnNpdGUoInd3dy4iKX0sd2lkdGg6IjMxNiIsaGVpZ2h0OiIzMDAiLGhlYWRl cjoidHJ1ZSIsc2NoZW1lOiJsaWdodCIsY29sb3JzY2hlbWU6ImxpZ2h0Iixmb250 OiIiLGJvcmRlcjoiIixib3JkZXJfY29sb3I6IiJ9LHRhZzoiZmI6cmVjb21tZW5k YXRpb25zIn0sbG9naW46e2RlZmF1bHRzOntmYWNlczoidHJ1ZSIsd2lkdGg6IjMx NiIscm93czoiMSJ9LHRlbXBsYXRlOic8ZmI6bG9naW4tYnV0dG9uIHNob3ctZmFj ZXM9IiR7ZmFjZXN9IiB3aWR0aD0iJHt3aWR0aH0iIG1heC1yb3dzPSIke3Jvd3N9 Ij48L2ZiOmxvZ2luLWJ1dHRvbj4nfSxjb21tZW50czp7ZGVmYXVsdHM6e3hpZDoi Iixwb3N0czoiMTAiLHdpZHRoOiIzMTYifSx0ZW1wbGF0ZTonPGZiOmNvbW1lbnRz IHhpZD0iJHt4aWR9IiBudW1wb3N0cz0iJHtwb3N0c30iIHdpZHRoPSIke3dpZHRo fSI+PC9mYjpjb21tZW50cz4nfSxhY3Rpdml0eTp7ZGVmYXVsdHM6e3NpdGU6ZnVu Y3Rpb24oKXtyZXR1cm4gbmRtLnNvY2lhbGlzZS5zaXRlKCJ3d3cuIil9LHdpZHRo OiIzMTYiLGhlaWdodDoiMzAwIixoZWFkZXI6InRydWUiLHNjaGVtZToibGlnaHQi LGZvbnQ6IiIsYm9yZGVyOiIifSx0ZW1wbGF0ZTonPGZiOmFjdGl2aXR5IHNpdGU9 IiR7c2l0ZX0iIHdpZHRoPSIke3dpZHRofSIgaGVpZ2h0PSIke2hlaWdodH0iIGhl YWRlcj0iJHtoZWFkZXJ9IiBjb2xvcnNjaGVtZT0iJHtzY2hlbWV9IiBmb250PSIk e2ZvbnR9IiBib3JkZXJfY29sb3I9IiR7Ym9yZGVyfSI+PC9mYjphY3Rpdml0eT4n fSxsaWtlYm94OntkZWZhdWx0czp7cHJvZmlsZWlkOiIiLHByb2ZpbGVfaWQ6IiIs d2lkdGg6IjMxNiIsaGVpZ2h0OiIzMDAiLGNvbm5lY3Rpb25zOiIiLHN0cmVhbToi ZmFsc2UiLGhlYWRlcjoidHJ1ZSJ9LHRhZzoiZmI6bGlrZS1ib3gifSxmYWNlcGls ZTp7ZGVmYXVsdHM6e3Jvd3M6IjEwIix3aWR0aDoiMzE2In0sdGVtcGxhdGU6Jzxm YjpmYWNlcGlsZSBtYXgtcm93cz0iJHtyb3dzfSIgd2lkdGg9IiR7d2lkdGh9Ij48 L2ZiOmZhY2VwaWxlPid9LGxpdmVzdHJlYW06e2RlZmF1bHRzOnthcHBJZDoiIix3 aWR0aDoiMzE2IixoZWlnaHQ6IiIseGlkOiIifSx0ZW1wbGF0ZTonPGZiOmxpdmUt c3RyZWFtIGFwcF9pZD0iJHthcHBJZH0iIHdpZHRoPSIke3dpZHRofSIgaGVpZ2h0 PSIke2hlaWdodH0iIHhpZD0iJHt4aWR9Ij48L2ZiOmxpdmUtc3RyZWFtPid9LHNo YXJlOntkZWZhdWx0czp7aHJlZjoiaHR0cDovL3d3dy5uZXdzLmNvbS5hdSIsdHlw ZToiYnV0dG9uX2NvdW50In0sdGVtcGxhdGU6JzxmYjpzaGFyZS1idXR0b24gaHJl Zj0iJHtocmVmfSIgdHlwZT0iJHt0eXBlfSI+PC9mYjpzaGFyZS1idXR0b24+J319 fX0obmRtLmpRdWVyeSkpOyhmdW5jdGlvbihhKXthLmZuLnNvY2lhbGlzZS5uZXR3 b3JrLnR3ZWV0bWVtZT17c2l0ZXM6eyJuZXdzLmNvbS5hdSI6e2FwaWtleToibmV3 c2RvdGNvbWRvdGF1OlJfOWU4MTA1YWMxMWNlNjgyNTY4ZGFkMTI1ZjQ2YzlmZjAi LHNlcnZpY2VfYXBpOiJuZXdzZG90Y29tZG90YXU6Ul85ZTgxMDVhYzExY2U2ODI1 NjhkYWQxMjVmNDZjOWZmMCIsc291cmNlOiJuZXdzX2NvbV9hdSJ9LCJoZXJhbGRz dW4uY29tLmF1Ijp7YXBpa2V5OiJSX2M1MGMwNGIyY2RmYTUxOGZiYzVlNGExZjE1 ZTIxNWQ2IixzZXJ2aWNlX2FwaToiUl9jNTBjMDRiMmNkZmE1MThmYmM1ZTRhMWYx NWUyMTVkNiIsc291cmNlOiJoZXJhbGRzdW4ifSwidGhlYXVzdHJhbGlhbi5jb20u YXUiOnthcGlrZXk6IlJfNWQ3ZjEzN2JkNDM3YzhiN2M3YTgzODhjM2JmYTA4MjMi LHNlcnZpY2VfYXBpOiJSXzVkN2YxMzdiZDQzN2M4YjdjN2E4Mzg4YzNiZmEwODIz Iixzb3VyY2U6ImF1c3RyYWxpYW4ifSwiY291cmllcm1haWwuY29tLmF1Ijp7YXBp a2V5OiJSX2VhODRlNGFmYjEwZTAwMzkxNDZlYjc0MGRlNmFhYTljIixzZXJ2aWNl X2FwaToiUl9lYTg0ZTRhZmIxMGUwMDM5MTQ2ZWI3NDBkZTZhYWE5YyIsc291cmNl OiJjb3VyaWVybWFpbCJ9LCJhZGVsYWlkZW5vdy5jb20uYXUiOnthcGlrZXk6IlJf YTY0YmU4ZjAyNjA5MWVkZDJjYWI3ZmNiNGUwMzJkMzIiLHNlcnZpY2VfYXBpOiJS X2E2NGJlOGYwMjYwOTFlZGQyY2FiN2ZjYjRlMDMyZDMyIixzb3VyY2U6ImFkZWxh aWRlbm93In0sImRhaWx5dGVsZWdyYXBoLmNvbS5hdSI6e2FwaWtleToiUl8zZmY0 Y2RiYjJmNTBjMWU3MjFmOWU0YWQ0NTMzMTIyZCIsc2VydmljZV9hcGk6IlJfM2Zm NGNkYmIyZjUwYzFlNzIxZjllNGFkNDUzMzEyMmQiLHNvdXJjZToiZGFpbHl0ZWxl Z3JhcGgifSwicGVydGhub3cuY29tLmF1Ijp7YXBpa2V5OiJSXzZhZWJhZGE0Yjlh OGNjYzM1NGRkM2QyOWUwNDE3YjA3IixzZXJ2aWNlX2FwaToiUl82YWViYWRhNGI5 YThjY2MzNTRkZDNkMjllMDQxN2IwNyIsc291cmNlOiJwZXJ0aG5vdyJ9fSxpbml0 OmZ1bmN0aW9uKGMpe3ZhciBlPWMsYj1uZG0uc29jaWFsaXNlLnNpdGUoKSxkO2lm KGUuc2l0ZT09PSJpZ25vcmUiKXtiPSIifWVsc2V7aWYoZS5zaXRlJiZlLnNpdGUu bGVuZ3RoPjApe2I9ZS5zaXRlfX1kPWEuZm4uc29jaWFsaXNlLm5ldHdvcmsudHdl ZXRtZW1lLnNpdGVzW2JdfHxlO2lmKGQpe2EuZXh0ZW5kKHRydWUsZS5zZXR0aW5n cyxkKX1yZXR1cm4gZX0sd2lkZ2V0Ontwb3N0X3Byb2Nlc3M6ZnVuY3Rpb24oYixk KXt2YXIgYz0iIjthLmVhY2goZCxmdW5jdGlvbihlLGYpe2lmKGYmJmUhPT0iaW5u ZXJIdG1sIil7Yys9ZSsiPSIrZisiJiJ9fSk7Yj1iLnJlcGxhY2UoIlBPU1RfUFJP Q0VTUyIsYyk7cmV0dXJuIGJ9LHJldHdlZXQ6e2RlZmF1bHRzOntocmVmOiJodHRw Oi8vYXBpLnR3ZWV0bWVtZS5jb20vc2hhcmU/UE9TVF9QUk9DRVNTMSIsc2Vydmlj ZToiYml0Lmx5Iix1cmw6ZXNjYXBlKG5kbS5zb2NpYWxpc2UubG9jYXRpb24pLGlu bmVySHRtbDonPGltZyBzcmM9Imh0dHA6Ly9hcGkudHdlZXRtZW1lLmNvbS9pbWFn ZWJ1dHRvbi5naWY/UE9TVF9QUk9DRVNTMiIgaGVpZ2h0PSI2MSIgd2lkdGg9IjUx IiAvPicsdGFyZ2V0OiJfYmxhbmsiLHdpZHRoOiI1MSIsaGVpZ2h0OiI2MSJ9LHRh ZzoiYSIscG9zdF9wcm9jZXNzOmZ1bmN0aW9uKGIsZCl7dmFyIGM9IiIsZT0iIjth LmVhY2goZCxmdW5jdGlvbihmLGcpe2lmKGcmJmYhPT0iaW5uZXJIdG1sIil7Yys9 ZisiPSIrZysiJiJ9fSk7ZSs9InVybD0iK2QudXJsO2I9Yi5yZXBsYWNlKCJQT1NU X1BST0NFU1MxIixjKTtiPWIucmVwbGFjZSgiUE9TVF9QUk9DRVNTMiIsZSk7cmV0 dXJuIGJ9fSxsaW5rOntkZWZhdWx0czp7aHJlZjoiaHR0cDovL2FwaS50d2VldG1l bWUuY29tL3NoYXJlP1BPU1RfUFJPQ0VTUyIsc2VydmljZToiYml0Lmx5Iix1cmw6 ZXNjYXBlKG5kbS5zb2NpYWxpc2UubG9jYXRpb24pLHRhcmdldDoiX2JsYW5rIixp bm5lckh0bWw6IlR3aXR0ZXIifSx0YWc6ImEifSxpZnJhbWU6e2RlZmF1bHRzOntz dHlsZToiY29tcGFjdCIsd2lkdGg6OTAsaGVpZ2h0OjIwLHNlcnZpY2U6ImJpdC5s eSIsdXJsOmVzY2FwZShuZG0uc29jaWFsaXNlLmxvY2F0aW9uKSxib3JkZXI6IjAi LHNjcm9sbGluZzoibm8iLGZyYW1lYm9yZGVyOiIwIixzcmM6Imh0dHA6Ly9hcGku dHdlZXRtZW1lLmNvbS9idXR0b24uanM/UE9TVF9QUk9DRVNTIn0sdGFnOiJpZnJh bWUifX19fShuZG0ualF1ZXJ5KSk7KGZ1bmN0aW9uKGEpe2EuZm4uc29jaWFsaXNl Lm5ldHdvcmsubGlua2VkaW49e2luaXQ6ZnVuY3Rpb24oYyl7dmFyIGI7cmV0dXJu IGN9LHdpZGdldDp7aWZyYW1lOnt0ZW1wbGF0ZTonPGlmcmFtZSBib3JkZXI9IjAi IGZyYW1lQm9yZGVyPSIwIiBpZD0iJHtpZH0iIHdpZHRoPSIke3dpZHRofSIgaGVp Z2h0PSIke2hlaWdodH0iIHNyYz0iaHR0cDovL3Jlc291cmNlcy5uZXdzLmNvbS5h dS9jcy9saWJyYXJ5L21vZHVsZXMvanF1ZXJ5LXNvY2lhbGlzZS9wbHVnaW5zL2xp bmtlZGluL2lmcmFtZS5odG1sP3VybD0nK25kbS5zb2NpYWxpc2UubG9jYXRpb24r JyIgc3R5bGU9ImJvcmRlcjogMDsgb3ZlcmZsb3c6aGlkZGVuOyI+PC9pZnJhbWU+ J319fX0obmRtLmpRdWVyeSkpOyhmdW5jdGlvbihiKXt2YXIgYT1iO2IuZm4uc29y dGFibGU9ZnVuY3Rpb24oYyl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3Zh ciBlPTAsZyxyLGk9dGhpcyxzPXt9LGgsbD1bXSxwPXtYOjAsWTowLGRpcmVjdGlv blk6ImRvd24iLGRpcmVjdGlvblg6InJpZ2h0In0sdCxkLGosayx1PXt9LHE9e30s Zj17fSxvPXRydWUsbT17fSxuPTA7cj1iLmV4dGVuZChiLmZuLnNvcnRhYmxlLmRl ZmF1bHRzLGN8fHt9KTt0PWZ1bmN0aW9uKHcpe2lmKG89PT1mYWxzZSl7cmV0dXJu fXZhciB2LHg7dj1iKGkpLmZpbmQoci5pdGVtcykuaW5kZXgobFt3XS5ncm91cCk7 eD1iKGkpLmZpbmQoci5pdGVtcykuaW5kZXgoaC5ncm91cCk7aWYodiE9PXgpe20u bG9nKCJmbjogc29ydEl0ZW06IGFib3V0IHRvIHNvcnQgYW4gaXRlbSIpO2lmKHAu ZGlyZWN0aW9uWT09PSJkb3duIil7aWYoeCE9PSh2KzEpKXtiKGxbd10uZ3JvdXAp LmFmdGVyKGguZ3JvdXApO2QoKTt1LmFmdGVyU29ydChsW3ddKX19ZWxzZXtpZih4 IT09KHYtMSkpe2IobFt3XS5ncm91cCkuYmVmb3JlKGguZ3JvdXApO2QoKTt1LmFm dGVyU29ydChsW3ddKX19fX07cy5kcm9wem9uZT1mdW5jdGlvbigpe3ZhciB2LHc7 dj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt3PWRvY3VtZW50LmNyZWF0 ZUVsZW1lbnQoImRpdiIpO3YuYXBwZW5kQ2hpbGQodyk7di5jbGFzc05hbWU9InNv cnRhYmxlLWRyb3B6b25lIjtiKHIuYXBwZW5kRHJvcHpvbmVUbykuYXBwZW5kKHYp O2IodikuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLCJ6LWluZGV4IjoxfSk7Yih2 KS5oaWRlKCk7cmV0dXJue3NldFBvczpmdW5jdGlvbih4KXtiKHYpLmNzcyh7cG9z aXRpb246ImFic29sdXRlIix0b3A6eC50b3AsbGVmdDp4LmxlZnR9KX0sc2V0U2l6 ZTpmdW5jdGlvbih4KXtiKHYpLmNzcyh7d2lkdGg6eC53aWR0aCxoZWlnaHQ6eC5o ZWlnaHR9KX0saGlkZTpmdW5jdGlvbigpe2IodikuaGlkZSgpfSxzaG93OmZ1bmN0 aW9uKCl7Yih2KS5zaG93KCl9fX0oKTtzLmJhY2tncm91bmQ9ZnVuY3Rpb24oKXt2 YXIgdjt2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3YuY2xhc3NOYW1l PSJzb3J0YWJsZS1iYWNrZ3JvdW5kIjtiKHIuYXBwZW5kQmFja2dyb3VuZFRvKS5h cHBlbmQodik7Yih2KS5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOjAsbGVm dDowLCJ6LWluZGV4IjowLHdpZHRoOmIod2luZG93KS53aWR0aCgpLGhlaWdodDpi KGRvY3VtZW50KS5oZWlnaHQoKX0pO2IodikuaGlkZSgpO2IodikubW91c2VvdmVy KGZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlfSk7cmV0dXJue2hpZGU6ZnVuY3Rpb24o KXtiKHYpLmhpZGUoKX0sc2hvdzpmdW5jdGlvbigpe2IodikuY3NzKCJoZWlnaHQi LGIoZG9jdW1lbnQpLmhlaWdodCgpKTtiKHYpLnNob3coKX19fSgpO3Muc2hpZWxk PWZ1bmN0aW9uKCl7dmFyIHY7dj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYi KTt2LmNsYXNzTmFtZT0ic29ydGFibGUtc2hpZWxkIjtiKHIuYXBwZW5kU2hpZWxk VG8pLmFwcGVuZCh2KTtiKHYpLmNzcyh7cG9zaXRpb246ImFic29sdXRlIix0b3A6 MCxsZWZ0OjAsInotaW5kZXgiOjAsd2lkdGg6IjEwMCUiLGhlaWdodDpiKGRvY3Vt ZW50KS5oZWlnaHQoKX0pO2IodikuaGlkZSgpO2IodikubW91c2VvdmVyKGZ1bmN0 aW9uKCl7cmV0dXJuIGZhbHNlfSk7cmV0dXJue2hpZGU6ZnVuY3Rpb24oKXtiKHYp LmhpZGUoKX0sc2hvdzpmdW5jdGlvbigpe2Iodikuc2hvdygpfX19KCk7ZD1mdW5j dGlvbigpe20ubG9nKCJmbjogc2V0SXRlbXM6IGNhbGxlZCIpO3ZhciB2PTA7Yihp KS5maW5kKHIuaXRlbXMpLmVhY2goZnVuY3Rpb24oKXt2YXIgdz1iKHRoaXMpLm9m ZnNldCgpO2xbdl09e2dyb3VwOnRoaXMsdG9wOncudG9wLGxlZnQ6dy5sZWZ0LGhl aWdodDpiKHRoaXMpLmhlaWdodCgpLHdpZHRoOmIodGhpcykud2lkdGgoKX07disr fSk7ci51c2VycHJlZnMuc2F2ZShyLmRiTmFtZSx7c29ydGFibGVncm91cHM6Zi5n ZXQoKX0pfTtxLm1vdmU9ZnVuY3Rpb24odyl7bj1uKzE7aWYobjwxMCl7cmV0dXJu fW49MDt2YXIgdj0wO2Zvcih2PTA7djxsLmxlbmd0aDt2Kyspe2lmKHAuZGlyZWN0 aW9uWT09PSJkb3duIil7aWYody50b3A8KGxbdl0udG9wK2xbdl0uaGVpZ2h0KS0o bFt2XS5oZWlnaHQvMikpe2JyZWFrfX1lbHNle2lmKHcudG9wPChsW3ZdLnRvcCso bFt2XS5oZWlnaHQvMikpKXticmVha319fWlmKHY8bC5sZW5ndGgpe3Qodil9fTtx Lm1vdXNlbW92ZT1mdW5jdGlvbih2KXtpZihwLlk+di5wYWdlWSl7cC5kaXJlY3Rp b25ZPSJ1cCJ9ZWxzZXtwLmRpcmVjdGlvblk9ImRvd24ifWlmKHAuWD52LnBhZ2VY KXtwLmRpcmVjdGlvblg9ImxlZnQifWVsc2V7cC5kaXJlY3Rpb25YPSJyaWdodCJ9 cC5YPXYucGFnZVg7cC5ZPXYucGFnZVl9O3EuZHJhZ2dhYmxlU3RhcnQ9ZnVuY3Rp b24odil7dS5zdGFydCh2KTtoPXZ9O3EuZHJhZ2dhYmxlU3RvcD1mdW5jdGlvbigp e2lmKCFpLnNvcnRhYmxlVXNlZCl7aS5zb3J0YWJsZVVzZWQ9dHJ1ZTtiKGkpLmZp bmQoci5pdGVtcykuYWRkQ2xhc3MoInNvcnRhYmxldXNlZCIpfXUuc3RvcCgpfTtx LmF1dG9TY3JvbGxTdGFydD1mdW5jdGlvbigpe20ubG9nKCJmbjogZXh0Q2FsbGJh Y2tzLmF1dG9TY3JvbGxTdGFydDogY2FsbGVkIil9O3EuYXV0b1Njcm9sbFNjcm9s bGluZz1mdW5jdGlvbigpe20ubG9nKCJmbjogZXh0Q2FsbGJhY2tzLmF1dG9TY3Jv bGxTY3JvbGxpbmc6IGNhbGxlZCIpO289ZmFsc2V9O3EuYXV0b1Njcm9sbFN0b3A9 ZnVuY3Rpb24oKXttLmxvZygiZm46IGV4dENhbGxiYWNrcy5hdXRvU2Nyb2xsU3Rv cDogY2FsbGVkIik7bz10cnVlfTt1LnN0YXJ0PWZ1bmN0aW9uKHYpe2cuc3RhcnQo KTtzLmRyb3B6b25lLnNldFNpemUoe3dpZHRoOnYud2lkdGgsaGVpZ2h0OnYuaGVp Z2h0fSk7cy5kcm9wem9uZS5zZXRQb3Moe3RvcDp2LnRvcCxsZWZ0OnYubGVmdH0p O3MuZHJvcHpvbmUuc2hvdygpO3MuYmFja2dyb3VuZC5zaG93KCk7cy5zaGllbGQu c2hvdygpO3Iuc3RhcnQoKX07dS5hZnRlclNvcnQ9ZnVuY3Rpb24odil7cy5kcm9w em9uZS5zZXRQb3Moe3RvcDp2LnRvcCxsZWZ0OnYubGVmdH0pO3IuYWZ0ZXJTb3J0 KCl9O3Uuc3RvcD1mdW5jdGlvbigpe20ubG9nKCJmbjogY2FsbGJhY2tzLnN0b3A6 IGNhbGxlZCIpO3MuZHJvcHpvbmUuaGlkZSgpO3MuYmFja2dyb3VuZC5oaWRlKCk7 cy5zaGllbGQuaGlkZSgpO2cuc3RvcCgpO3Iuc3RvcCgpfTtmLnNldD1mdW5jdGlv bih2KXttLmxvZygiZm46IHN0YXRlLnNldDogY2FsbGVkIHZhciBvcmRlciA9ICIr dik7dmFyIHc7aWYoIXZ8fHY9PT0tMSl7bS5sb2coImZuOiBzdGF0ZS5zZXQ6IG9y ZGVyIHZhbHVlIHdhcyBub3QgdmFsaWQgcmV0dXJuaW5nIik7cmV0dXJufXY9di5z cGxpdCgiU1BSOCIpO3YucmV2ZXJzZSgpO2Zvcih3PTA7dzx2Lmxlbmd0aDt3Kysp e2IoaSkucHJlcGVuZChiKGkpLmZpbmQoIiMiK3Zbd10pKX1yZXR1cm4gaX07Zi5n ZXQ9ZnVuY3Rpb24oKXt2YXIgdz0iIix2PSIiO2IoaSkuZmluZChyLml0ZW1zKS5l YWNoKGZ1bmN0aW9uKCl7dmFyIHg9dGhpczt3Kz12K3guaWQ7dj0iU1BSOCJ9KTty ZXR1cm4gd307bS5sb2c9ZnVuY3Rpb24odil7aWYod2luZG93LmxvY2F0aW9uLmhh c2g9PT0iI2RlYnVnYWxsInx8d2luZG93LmxvY2F0aW9uLmhhc2g9PT0iI2RlYnVn c29ydGFibGUiKXtjb25zb2xlLmxvZygic29ydGFibGU6ICIrdil9fTttLmNvdW50 PWZ1bmN0aW9uKHYpe2lmKHdpbmRvdy5sb2NhdGlvbi5oYXNoPT09IiNkZWJ1Z2Fs bCJ8fHdpbmRvdy5sb2NhdGlvbi5oYXNoPT09IiNkZWJ1Z3NvcnRhYmxlIil7Y29u c29sZS5jb3VudCgic29ydGFibGU6ICIrdil9fTtiKGkpLmZpbmQoci5pdGVtcyku ZWFjaChmdW5jdGlvbigpe3ZhciB3PXRoaXMsdix4O2lmKCF3LmlkKXt4PXIucmVn ZXhHcm91cFVuaXF1ZUNsYXNzLmV4ZWMody5jbGFzc05hbWUpO2lmKHgpe3cuaWQ9 eH1lbHNle3cuaWQ9ImlkIityLmRiTmFtZStlfX13Lmdyb3VwSW5kZXg9ZTtlPWUr MTt2PWZ1bmN0aW9uKHkpe2lmKHk9PT0ic3RhcnQiKXtiKHcpLmZhZGVPdXQoIm5v cm1hbCIsZnVuY3Rpb24oKXtiKGkpLnByZXBlbmQodyk7Yih3KS5zaG93KCk7ZCgp fSl9ZWxzZXtiKHcpLmZhZGVPdXQoIm5vcm1hbCIsZnVuY3Rpb24oKXtiKGkpLmFw cGVuZCh3KTtiKHcpLnNob3coKTtkKCl9KX19OyhmdW5jdGlvbigpe3ZhciB6LHks QyxBLEI7ej1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtBPWRvY3VtZW50 LmNyZWF0ZUVsZW1lbnQoInAiKTtCPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInAi KTt5PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtDPWRvY3VtZW50LmNyZWF0 ZUVsZW1lbnQoImEiKTt6LmNsYXNzTmFtZT0iZ3JvdXAtY29udHJvbHMiO0EuY2xh c3NOYW1lPSJoZWxwIjtCLmNsYXNzTmFtZT0iaW5mbyI7eS5jbGFzc05hbWU9InN0 YXJ0IjtDLmNsYXNzTmFtZT0iZW5kIjtBLmlubmVySFRNTD1yLmNvbnRyb2xzSGVs cDtCLmlubmVySFRNTD1yLmNvbnRyb2xzSW5mbzt5LmlubmVySFRNTD1yLmNvbnRy b2xzVG9TdGFydDtDLmlubmVySFRNTD1yLmNvbnRyb2xzVG9FbmQ7ei5hcHBlbmRD aGlsZChCKTt6LmFwcGVuZENoaWxkKHkpO3ouYXBwZW5kQ2hpbGQoQyk7Yih5KS5t b3VzZWRvd24oZnVuY3Rpb24oKXt2KCJzdGFydCIpfSk7YihDKS5tb3VzZWRvd24o ZnVuY3Rpb24oKXt2KCJlbmQiKX0pO2IodykuYXBwZW5kKHopO2IodykuZmluZChy LmNvbnRyb2xzUGFyZW50KS5hcHBlbmQoQSl9KSgpfSk7Zz1iKCkuYXV0b3Njcm9s bCh7c3RhcnRTY3JvbGw6cS5hdXRvU2Nyb2xsU3RhcnQsc3RvcFNjcm9sbDpxLmF1 dG9TY3JvbGxTdG9wLHdoaWxlU2Nyb2xsOnEuYXV0b1Njcm9sbFNjcm9sbGluZ30p O2IoaSkuZmluZChyLml0ZW1zKS5kcmFnZ2FibGUoe21vdXNlbW92ZTpxLm1vdXNl bW92ZSxtb3ZlOnEubW92ZSxzdGFydDpxLmRyYWdnYWJsZVN0YXJ0LHN0b3A6cS5k cmFnZ2FibGVTdG9wLGFwcGVuZEhlbHBlclRvOnIuYXBwZW5kRHJvcHpvbmVUb30p O20ubG9nKCJpbml0OiBhYm91dCB0byBzZXQgc3RhdGUiKTtmLnNldChyLnVzZXJw cmVmcy5sb2FkKHIuZGJOYW1lLCJzb3J0YWJsZWdyb3VwcyIpKTtkKCl9KX07Yi5m bi5zb3J0YWJsZS5kZWZhdWx0cz17aXRlbXM6Ii5ncm91cCIsY29udHJvbHNQYXJl bnQ6Ii5ncm91cC1oZWFkZXIiLGNvbnRyb2xzSGVscDoiRHJhZyBoZXJlIixjb250 cm9sc0luZm86IlNlbmQgdG86Iixjb250cm9sc1RvU3RhcnQ6IlRvcCIsY29udHJv bHNUb0VuZDoiQm90dG9tIixhcHBlbmREcm9wem9uZVRvOiJib2R5IixhcHBlbmRC YWNrZ3JvdW5kVG86ImJvZHkiLGFwcGVuZFNoaWVsZFRvOiJib2R5IixzdGFydDpm dW5jdGlvbigpe30sYWZ0ZXJTb3J0OmZ1bmN0aW9uKCl7fSxzdG9wOmZ1bmN0aW9u KCl7fSxyZWdleEdyb3VwVW5pcXVlQ2xhc3M6L3RleHQtZy1bYS16QS1aMC05XC1d Ki8sZGJOYW1lOiJuZG1zb3J0YWJsZSIsdXNlcnByZWZzOntzYXZlOmZ1bmN0aW9u KGQsYyl7fSxsb2FkOmZ1bmN0aW9uKGMsZCl7fX0scmVnZXhVbmlxdWVDbGFzczov aWRbMC05XSovfTtiLmZuLnNvcnRhYmxlLnVzZXJwcmVmcz1mdW5jdGlvbigpe2lm KHR5cGVvZiB0YW50bz09PSJ1bmRlZmluZWQifHwhdGFudG8uZGIpe3JldHVybntz YXZlOmZ1bmN0aW9uKGQsYyl7fSxsb2FkOmZ1bmN0aW9uKGMsZCl7cmV0dXJuIGZh bHNlfX19cmV0dXJue3NhdmU6ZnVuY3Rpb24oZCxjKXtpZih0YW50by5kYi5zYXZl KXtjPWIuZXh0ZW5kKGMse19pZDpkfXx8e30pO3RhbnRvLmRiLnNhdmUoYyl9fSxs b2FkOmZ1bmN0aW9uKGMsZCl7aWYodGFudG8uZGIub3Blbil7dmFyIGU9dGFudG8u ZGIub3BlbihjKTtpZihlJiZlW2RdKXtyZXR1cm4gZVtkXX1yZXR1cm4gZmFsc2V9 cmV0dXJuIGZhbHNlfX19fShuZG0ualF1ZXJ5KSk7KGZ1bmN0aW9uKGIpe3ZhciBh PWI7Yi5mbi5uU3Rhcj1mdW5jdGlvbihsKXt2YXIgaz1iKCIucmF0aW5nIik7dmFy IGo9YigiLnJhdGluZy1zY29yZSIpO3ZhciBjPWIoIi5yYXRpbmctcmFuZ2UiKTtm b3IodmFyIGY9MDtmPGsubGVuZ3RoO2YrKyl7dmFyIGU9a1tmXTt2YXIgZD1qW2Zd LmlubmVySFRNTDt2YXIgZz1jW2ZdLmlubmVySFRNTDt2YXIgaD0ibm9pbWFnZSI7 aWYoZz09PSI1Iil7aWYoZD09PSIwIil7aD0icmF0aW5nLTBvZjUifWVsc2V7aWYo ZD09PSIwLjUiKXtoPSJyYXRpbmctMGhvZjUifWVsc2V7aWYoZD09PSIxIil7aD0i cmF0aW5nLTFvZjUifWVsc2V7aWYoZD09PSIxLjUiKXtoPSJyYXRpbmctMWhvZjUi fWVsc2V7aWYoZD09PSIyIil7aD0icmF0aW5nLTJvZjUifWVsc2V7aWYoZD09PSIy LjUiKXtoPSJyYXRpbmctMmhvZjUifWVsc2V7aWYoZD09PSIzIil7aD0icmF0aW5n LTNvZjUifWVsc2V7aWYoZD09PSIzLjUiKXtoPSJyYXRpbmctM2hvZjUifWVsc2V7 aWYoZD09PSI0Iil7aD0icmF0aW5nLTRvZjUifWVsc2V7aWYoZD09PSI0LjUiKXto PSJyYXRpbmctNGhvZjUifWVsc2V7aWYoZD09PSI1Iil7aD0icmF0aW5nLTVvZjUi fX19fX19fX19fX19ZWxzZXtpZihnPT09IjQiKXtpZihkPT09IjAiKXtoPSJyYXRp bmctMG9mNCJ9ZWxzZXtpZihkPT09IjAuNSIpe2g9InJhdGluZy0waG9mNCJ9ZWxz ZXtpZihkPT09IjEiKXtoPSJyYXRpbmctMW9mNCJ9ZWxzZXtpZihkPT09IjEuNSIp e2g9InJhdGluZy0xaG9mNCJ9ZWxzZXtpZihkPT09IjIiKXtoPSJyYXRpbmctMm9m NCJ9ZWxzZXtpZihkPT09IjIuNSIpe2g9InJhdGluZy0yaG9mNCJ9ZWxzZXtpZihk PT09IjMiKXtoPSJyYXRpbmctM29mNCJ9ZWxzZXtpZihkPT09IjMuNSIpe2g9InJh dGluZy0zaG9mNCJ9ZWxzZXtpZihkPT09IjQiKXtoPSJyYXRpbmctNG9mNCJ9fX19 fX19fX19fWIoZSkuYWRkQ2xhc3MoaCl9fX0obmRtLmpRdWVyeSkpOyhmdW5jdGlv bihiKXt2YXIgYT1iO2IuZm4ublN0b3J5RmFkZXI9ZnVuY3Rpb24oYyl7cmV0dXJu IHRoaXMuZWFjaChmdW5jdGlvbigpe2lmKGIodGhpcykuaGFzQ2xhc3MoImpzLXJl YWR5Iikpe3JldHVybn12YXIgaD1iKHRoaXMpO3ZhciB0PWIuZXh0ZW5kKHtjdXJy ZW50T2JqOmgsY29udGFpbmVyOiIubW9kdWxlLWNvbnRlbnQiLGNvbnRlbnRJdGVt OiIuanMtZmFkZXItaXRlbSIsY29udHJvbHM6Ii5qcy1mYWRlci1jb250cm9scyIs bmV4dDoiLmpzLWZhZGVyLW5leHQiLHByZXY6Ii5qcy1mYWRlci1wcmV2Iixjb3Vu dGVyOiIuanMtZmFkZXItY291bnRlciIsY29udGVudEl0ZW1XaWR0aDozMTYsZHVy YXRpb246MTMwMCxhdXRvOmZhbHNlLGFuaW1hdGlvblR5cGU6ImZhZGUifSxjfHx7 fSk7dmFyIGw9Yih0aGlzKS5maW5kKHQuY291bnRlcik7dmFyIG49Yih0aGlzKS5m aW5kKHQubmV4dCkuZmluZCgiYSIpO3ZhciBzPWIodGhpcykuZmluZCh0LnByZXYp LmZpbmQoImEiKTt2YXIgdT1mdW5jdGlvbih5LHoseCl7dmFyIHc9MC0oKHguYWN0 aXZlSXRlbUluZGV4LTEpKnQuY29udGVudEl0ZW1XaWR0aCk7Yih4KS5maW5kKHQu Y29udGFpbmVyKS5hbmltYXRlKHtsZWZ0Ond9LHtkdXJhdGlvbjp0LmR1cmF0aW9u LGNvbXBsZXRlOmZ1bmN0aW9uKCl7eC5hbmltYXRpbmc9ZmFsc2V9fSl9O3ZhciBn PWZ1bmN0aW9uKHcpe3YoIm5leHQiLHcsdSl9O3ZhciBmPWZ1bmN0aW9uKHcpe3Yo InByZXYiLHcsdSl9O3ZhciBkPWIodGhpcykuZmluZCh0LmNvbnRhaW5lcikuY2hp bGRyZW4odC5jb250ZW50SXRlbSkubGVuZ3RoO3ZhciBtPWZ1bmN0aW9uKHcpe3Zh ciB4PWIodykuZmluZCh0LmNvbnRhaW5lcikuY2hpbGRyZW4odC5jb250ZW50SXRl bSkubGVuZ3RoO3cudG90YWxJdGVtcz14O2IodGhpcykuZmluZCh0LmNvbnRhaW5l cikuY3NzKCJ3aWR0aCIseCp0LmNvbnRlbnRJdGVtV2lkdGgpfTtpZihkPjEpe2Io Ii5jYXB0aW9uIixoKS5wcmVwZW5kKCc8c3BhbiBjbGFzcz0ic3RhcnQiPjwvc3Bh bj4nKTtiKCIuY2FwdGlvbiIsaCkuYXBwZW5kKCc8c3BhbiBjbGFzcz0iZW5kIj48 L3NwYW4+Jyl9dmFyIHE9ZnVuY3Rpb24oeCl7dmFyIHo9Yih4KS5maW5kKHQuY29u dGFpbmVyKS5jaGlsZHJlbih0LmNvbnRlbnRJdGVtKS5sZW5ndGg7eC50b3RhbEl0 ZW1zPXo7dmFyIHc9MTt2YXIgeT0wO2IoeCkuZmluZCh0LmNvbnRlbnRJdGVtKS5l YWNoKGZ1bmN0aW9uKCl7Yih0aGlzKS5jc3MoInBvc2l0aW9uIiwiYWJzb2x1dGUi KTtiKHRoaXMpLmNzcygidG9wIiwiMHB4Iik7Yih0aGlzKS5jc3MoImxlZnQiLCIw cHgiKTtiKHRoaXMpLmNzcygiei1pbmRleCIsIjAiKTt2YXIgQT1iKHRoaXMpLmhl aWdodCgpO2lmKEE+eSl7eT1BfWlmKHc+MSl7Yih0aGlzKS5jc3MoImRpc3BsYXki LCJub25lIil9dysrfSk7Yih4KS5maW5kKHQuY29udGFpbmVyKS5jc3MoImhlaWdo dCIseSsicHgiKX07dmFyIHA9ZnVuY3Rpb24odyl7digibmV4dCIsdyxpKX07dmFy IG89ZnVuY3Rpb24odyl7digicHJldiIsdyxpKX07dmFyIGk9ZnVuY3Rpb24oeCx5 LHcpe3guZmFkZU91dCgiZmFzdCIsZnVuY3Rpb24oKXt5LmZhZGVJbigiZmFzdCIs ZnVuY3Rpb24oKXt3LmFuaW1hdGluZz1mYWxzZX0pfSl9O3ZhciBrPWZ1bmN0aW9u KHcpe3YoIm5leHQiLHcscil9O3ZhciBqPWZ1bmN0aW9uKHcpe3YoInByZXYiLHcs cil9O3ZhciByPWZ1bmN0aW9uKHgseSx3KXt4LmhpZGUoKTt5LnNob3coKTt3LmFu aW1hdGluZz1mYWxzZX07dmFyIHY9ZnVuY3Rpb24oQSx4LHope3guYW5pbWF0aW5n PXRydWU7dmFyIHk9Yih4KS5maW5kKHQuY29udGVudEl0ZW0rIjpudGgtY2hpbGQo Iit4LmFjdGl2ZUl0ZW1JbmRleCsiKSIpO3ZhciB3PXkuY3NzKCJ6LWluZGV4Iik7 aWYoQT09InByZXYiKXtpZih4LmFjdGl2ZUl0ZW1JbmRleD4xKXt4LmFjdGl2ZUl0 ZW1JbmRleC0tfWVsc2V7eC5hY3RpdmVJdGVtSW5kZXg9eC50b3RhbEl0ZW1zfX1l bHNle2lmKHguYWN0aXZlSXRlbUluZGV4PHgudG90YWxJdGVtcyl7eC5hY3RpdmVJ dGVtSW5kZXgrK31lbHNle3guYWN0aXZlSXRlbUluZGV4PTF9fXZhciBCPWIoeCku ZmluZCh0LmNvbnRlbnRJdGVtKyI6bnRoLWNoaWxkKCIreC5hY3RpdmVJdGVtSW5k ZXgrIikiKTt6KHksQix4KTtsLmh0bWwoeC5hY3RpdmVJdGVtSW5kZXgpfTt2YXIg ZT1mdW5jdGlvbih3KXtuLmNsaWNrKGZ1bmN0aW9uKCl7dy5hdXRvQ3ljbGVUaW1l b3V0PW51bGw7aWYody5hbmltYXRpbmc9PT1mYWxzZSl7dy5uZXh0KCk7cmV0dXJu IGZhbHNlfWVsc2V7cmV0dXJuIGZhbHNlfX0pO3MuY2xpY2soZnVuY3Rpb24oKXt3 LmF1dG9DeWNsZVRpbWVvdXQ9bnVsbDtpZih3LmFuaW1hdGluZz09PWZhbHNlKXt3 LnByZXYoKTtyZXR1cm4gZmFsc2V9ZWxzZXtyZXR1cm4gZmFsc2V9fSl9O3JldHVy biBiKHRoaXMpLmVhY2goZnVuY3Rpb24oKXt2YXIgdz10aGlzO3RoaXMuYW5pbWF0 aW5nPWZhbHNlO3RoaXMudG90YWxJdGVtcz0wO3RoaXMuYWN0aXZlSXRlbUluZGV4 PTE7c3dpdGNoKHQuYW5pbWF0aW9uVHlwZSl7Y2FzZSJmYWRlIjp0aGlzLnNldHVw PXE7dGhpcy5uZXh0PWZ1bmN0aW9uKCl7cCh3KX07dGhpcy5wcmV2PWZ1bmN0aW9u KCl7byh3KX07YnJlYWs7Y2FzZSJzY3JvbGwiOnRoaXMuc2V0dXA9bTt0aGlzLm5l eHQ9ZnVuY3Rpb24oKXtnKHcpfTt0aGlzLnByZXY9ZnVuY3Rpb24oKXtmKHcpfTti cmVhaztkZWZhdWx0OnRoaXMuc2V0dXA9cTt0aGlzLm5leHQ9ZnVuY3Rpb24oKXtr KHcpfTt0aGlzLnByZXY9ZnVuY3Rpb24oKXtqKHcpfTticmVha310aGlzLmF1dG9D eWNsZT1mdW5jdGlvbigpe2lmKHcuYW5pbWF0aW5nPT09ZmFsc2Upe3cubmV4dCgp O2NsZWFyVGltZW91dCh3LmF1dG9DeWNsZVRpbWVvdXQpfXcuYXV0b0N5Y2xlVGlt ZW91dD1zZXRUaW1lb3V0KHcuYXV0b0N5Y2xlLDcwMDApfTt0aGlzLnNldHVwKHcp O2Uodyk7aWYodC5hdXRvPT09dHJ1ZSl7aWYoZD4xKXtiKHcpLmhvdmVyKGZ1bmN0 aW9uKCl7Y2xlYXJUaW1lb3V0KHcuYXV0b0N5Y2xlVGltZW91dCl9LGZ1bmN0aW9u KCl7dy5hdXRvQ3ljbGVUaW1lb3V0PXNldFRpbWVvdXQody5hdXRvQ3ljbGUsNzAw MCl9KTt3LmF1dG9DeWNsZVRpbWVvdXQ9c2V0VGltZW91dCh3LmF1dG9DeWNsZSw3 MDAwKX19fSl9KS5hZGRDbGFzcygianMtcmVhZHkiKX19KG5kbS5qUXVlcnkpKTso ZnVuY3Rpb24oYil7dmFyIGE9YjthLmZuLm5UYWJzPWZ1bmN0aW9uKGMpe3ZhciBl PWEuZXh0ZW5kKHt9LGEuZm4ublRhYnMuZGVmYXVsdHMsYyksZD1hKHRoaXMpLnNl bGVjdG9yO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtpZihhKHRoaXMpLmhh c0NsYXNzKGUucmVhZHkpKXtyZXR1cm59dmFyIG09YSh0aGlzKSxpPWEubWV0YT9h LmV4dGVuZCh7fSxlLG0uZGF0YSgpKTplLHAsayxoLGwsaixxLHIsZyxuLHMsZj17 fTtmLmlkPWZ1bmN0aW9uKCl7dmFyIG89bS5hdHRyKCJjbGFzc05hbWUiKS5tYXRj aChpLnJlZ2V4VW5pcXVlQ2xhc3MpO2lmKG8pe3JldHVybiBvWzBdfWVsc2V7cmV0 dXJuIGZhbHNlfX0oKTtnPWkuZGVmYXVsdFNlbGVjdG9yKyIgIitpLnRhYjtuPWku ZGVmYXVsdFNlbGVjdG9yKyIgIitpLmNvbnRlbnQ7aWYoZCE9PWkuZGVmYXVsdFNl bGVjdG9yKXtnPWcrIiwgIitkKyIgIitpLnRhYjtuPW4rIiwgIitkKyIgIitpLnRh Yn1wPWEoaS50YWIsbSkubm90KG0uZmluZChnKSk7az1hKGkuY29udGVudCxtKS5u b3QobS5maW5kKG4pKTtrLnJlbW92ZUNsYXNzKGkuYWN0aXZlQ29udGVudENsYXNz KTtzPW5ldyBSZWdFeHAoaS5kZWZhdWx0VGFiQ2xhc3MrIi1bMC05XSIpO2lmKG0u Y2xvc2VzdChpLnBhcmVudCkubGVuZ3RoPjApe3E9bS5jbG9zZXN0KGkucGFyZW50 KX1lbHNle3E9bX1pZihxKXtpZihxLmdldCgwKS5jbGFzc05hbWUubWF0Y2gocykp e2w9cS5nZXQoMCkuY2xhc3NOYW1lLm1hdGNoKHMpLnRvU3RyaW5nKCkucmVwbGFj ZShpLmRlZmF1bHRUYWJDbGFzcysiLSIsIiIpO3EucmVtb3ZlQ2xhc3MocS5nZXQo MCkuY2xhc3NOYW1lLm1hdGNoKHMpKX1lbHNle2w9aS5kZWZhdWx0VGFifX1lbHNl e2w9aS5kZWZhdWx0VGFifWo9bC0xO3EuYWRkQ2xhc3MoImNpLWNvdW50LSIray5s ZW5ndGgpOyhmdW5jdGlvbigpe2lmKGYuaWQhPT1mYWxzZSl7dmFyIG89cGFyc2VJ bnQoaS51c2VycHJlZnMubG9hZChmLmlkLCJhY3RpdmVUYWIiKSwxMCk7ay5yZW1v dmVDbGFzcyhpLmFjdGl2ZUNvbnRlbnRDbGFzcykuYWRkQ2xhc3MoaS5pbmFjdGl2 ZUNvbnRlbnRDbGFzcyk7aWYobz49MCl7aj1vfX19KSgpO3AuZXEoaikuYWRkQ2xh c3MoaS5hY3RpdmVUYWJDbGFzcykuYWRkQ2xhc3MoaS5hY3RpdmVUYWJDbGFzcysi LSIrbCk7ay5lcShqKS5yZW1vdmVDbGFzcyhpLmluYWN0aXZlQ29udGVudENsYXNz KS5hZGRDbGFzcyhpLmFjdGl2ZUNvbnRlbnRDbGFzcyk7aD1wLmVxKGopO2lmKGku dW5pZm9ybUhlaWdodCl7cj1pLm1pbkhlaWdodHx8MDtrLmVhY2goZnVuY3Rpb24o KXtpZihhKHRoaXMpLmhlaWdodCgpPnIpe3I9YSh0aGlzKS5oZWlnaHQoKX19KTtr LmNzcygiaGVpZ2h0IixyKyJweCIpfXAuYmluZCgiY2xpY2siLGZ1bmN0aW9uKCl7 dmFyIHQ9YSh0aGlzKSxvO289YShwKS5pbmRleCh0KTtpZighdC5oYXNDbGFzcyhp LmFjdGl2ZVRhYkNsYXNzKSl7cC5yZW1vdmVDbGFzcyhpLmFjdGl2ZVRhYkNsYXNz KTt0LmFkZENsYXNzKGkuYWN0aXZlVGFiQ2xhc3MpO3QuYWRkQ2xhc3MoaS5hY3Rp dmVUYWJDbGFzcysiLSIrKG8rMSkpO2lmKGgpe3M9bmV3IFJlZ0V4cChpLmFjdGl2 ZVRhYkNsYXNzKyItWzAtOV0iKTtoLnJlbW92ZUNsYXNzKGguZ2V0KDApLmNsYXNz TmFtZS5tYXRjaChzKSl9ay5yZW1vdmVDbGFzcyhpLmFjdGl2ZUNvbnRlbnRDbGFz cykuYWRkQ2xhc3MoaS5pbmFjdGl2ZUNvbnRlbnRDbGFzcyk7ay5lcShvKS5yZW1v dmVDbGFzcyhpLmluYWN0aXZlQ29udGVudENsYXNzKS5hZGRDbGFzcyhpLmFjdGl2 ZUNvbnRlbnRDbGFzcyk7aD10O2lmKGYuaWQhPT1mYWxzZSl7aS51c2VycHJlZnMu c2F2ZShmLmlkLHthY3RpdmVUYWI6b30pfXJldHVybiBmYWxzZX1lbHNle3JldHVy biBmYWxzZX19KX0pLmFkZENsYXNzKGUucmVhZHkpfTthLmZuLm5UYWJzLmRlZmF1 bHRzPXtkZWZhdWx0U2VsZWN0b3I6Ii5qcy10YWJiZWQiLHJlYWR5OiJqcy1yZWFk eSIscGFyZW50OiIubW9kdWxlIix0YWI6Ii5qcy10YWIiLGFjdGl2ZVRhYkNsYXNz OiJqcy1hY3RpdmUtdGFiIixkZWZhdWx0VGFiQ2xhc3M6ImpzLWRlZmF1bHQtdGFi Iixjb250ZW50OiIuanMtdGFiLWNvbnRlbnQiLGFjdGl2ZUNvbnRlbnRDbGFzczoi anMtYWN0aXZlLWNvbnRlbnQiLGluYWN0aXZlQ29udGVudENsYXNzOiJqcy1pbmFj dGl2ZS1jb250ZW50Iix1bmlmb3JtSGVpZ2h0OnRydWUsbWluSGVpZ2h0OjEsZGVm YXVsdFRhYjoxLHVzZXJwcmVmczp7c2F2ZTpmdW5jdGlvbihkLGMpe30sbG9hZDpm dW5jdGlvbihjLGQpe319LHJlZ2V4VW5pcXVlQ2xhc3M6L2lkWzAtOV0qL307YS5m bi5uVGFicy51c2VycHJlZnM9ZnVuY3Rpb24oKXtpZih0eXBlb2YgdGFudG89PT0i dW5kZWZpbmVkInx8IXRhbnRvLmRiKXtyZXR1cm57c2F2ZTpmdW5jdGlvbihkLGMp e30sbG9hZDpmdW5jdGlvbihjLGQpe3JldHVybiBmYWxzZX19fXJldHVybntzYXZl OmZ1bmN0aW9uKGQsYyl7aWYodGFudG8uZGIuc2F2ZSl7Yz1iLmV4dGVuZChjLHtf aWQ6ZH18fHt9KTt0YW50by5kYi5zYXZlKGMpfX0sbG9hZDpmdW5jdGlvbihjLGQp e2lmKHRhbnRvLmRiLm9wZW4pe3ZhciBlPXRhbnRvLmRiLm9wZW4oYyk7aWYoZSYm ZVtkXSl7cmV0dXJuIGVbZF19cmV0dXJuIGZhbHNlfXJldHVybiBmYWxzZX19fX0o bmRtLmpRdWVyeSkpOyhmdW5jdGlvbihhKXthLmZuLnRvb2x0aXA9ZnVuY3Rpb24o Yil7aWYoIXRoaXMubGVuZ3RoKXtyZXR1cm59dmFyIGQ9YS5leHRlbmQodHJ1ZSx7 fSxhLmZuLnRvb2x0aXAuZGVmYXVsdHMsYiksYz10aGlzO2Eod2luZG93KS5iaW5k KCJyZXNpemUiLGZ1bmN0aW9uKCl7Yy50cmlnZ2VyKCJoaWRldG9vbHRpcCIpfSk7 cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBlPWEodGhpcyksZz1hLm1l dGFkYXRhP2EuZXh0ZW5kKHRydWUse30sZCxlLm1ldGFkYXRhKCkpOmQsaD1udWxs LGY9bnVsbDtoPWUuZmluZChkLml0ZW1zKTtpZihoLmxlbmd0aCl7Zj1hKGcudGlw KTtlLmFwcGVuZChmKTtoLmJpbmQoIm1vdXNlb3ZlciIsZnVuY3Rpb24oKXthLmZu LnRvb2x0aXAuZGlzcGxheSh0aGlzLGYsZy50ZXh0LGUpfSkuYmluZCgibW91c2Vv dXQiLGZ1bmN0aW9uKCl7Zi5oaWRlKCl9KTtlLmJpbmQoImhpZGV0b29sdGlwIixm dW5jdGlvbigpe2YuaGlkZSgpfSl9fSkuYWRkQ2xhc3MoZC5yZWFkeSl9O2EuZm4u dG9vbHRpcC5kaXNwbGF5PWZ1bmN0aW9uKGQscCxzLHEpe3ZhciBsPWEoZCksZT1s LmZpbmQocykudGV4dCgpLG89bC5wb3NpdGlvbigpLGs9cS5wb3NpdGlvbigpLGo9 cS53aWR0aCgpLG09cC53aWR0aCgpLGI9bC53aWR0aCgpLG49MCxmPTAsZz1lLmlu ZGV4T2YoIjoiKSxyPSIiLGM9IiIsaD0iIjtpZihnIT09LTEpe3I9ZS5zdWJzdHJp bmcoMCxnKTtjPSI8c3Ryb25nPiIrcisiPC9zdHJvbmc+IjtlPWUucmVwbGFjZShy LGMpfWlmKGUubGVuZ3RoKXtwLmZpbmQoIi50b29sdGlwLWNvbnRlbnQiKS5odG1s KGUpO3AucmVtb3ZlQ2xhc3MoInRvb2x0aXAtbGVmdCB0b29sdGlwLXJpZ2h0Iik7 bj0oby50b3AtcC5oZWlnaHQoKSktNTtmPSgoby5sZWZ0KyhiLzIpKS0obS8yKSk7 aWYoZjxrLmxlZnQpe2Y9ay5sZWZ0O2g9InRvb2x0aXAtbGVmdCJ9aWYoZittPmsu bGVmdCtqKXtmPShrLmxlZnQraiktbTtoPSJ0b29sdGlwLXJpZ2h0In1wLmNzcyh7 dG9wOm4rInB4IixsZWZ0OmYrInB4In0pLmFkZENsYXNzKGgpO3AuZmFkZUluKCl9 fTthLmZuLnRvb2x0aXAuZGVmYXVsdHM9e3JlYWR5OiJqcy1yZWFkeSIsaXRlbXM6 Ii5jb250ZW50LWl0ZW0iLHRleHQ6Ii5wcm9tby1ibG9jayAucHJvbW8tdGV4dCBw Iix0aXA6JzxkaXYgY2xhc3M9InRvb2x0aXAiPjxkaXYgY2xhc3M9InRvb2x0aXAt aGVhZGVyIj48c3BhbiBjbGFzcz0iaGVhZGluZyI+PC9zcGFuPjwvZGl2PjxkaXYg Y2xhc3M9InRvb2x0aXAtY29udGVudCI+PC9kaXY+PGRpdiBjbGFzcz0idG9vbHRp cC1mb290ZXIiPjwvZGl2PjwvZGl2Pid9O2EoZnVuY3Rpb24oKXthKCIuanMtdG9v bHRpcCIpLnRvb2x0aXAoKX0pfShqUXVlcnkpKTsoZnVuY3Rpb24oYil7dmFyIGE9 YjtiLmZuLm5UcnVuY2F0ZVRleHQ9ZnVuY3Rpb24oYyl7aWYodHlwZW9mIGMudHJ1 bmNhdGVBdCE9InVuZGVmaW5lZCIpe3RoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBl PWIodGhpcykudGV4dCgpO2lmKGMudHJ1bmNhdGVBdDxlLmxlbmd0aCl7Zm9yKHZh ciBkPWMudHJ1bmNhdGVBdDtkPjA7ZC0tKXtpZihlLmNoYXJBdChkKT09PSIgIil7 ZT1lLnN1YnN0cmluZygwLGQpO2JyZWFrfX1lKz0iLi4uIjtiKHRoaXMpLnRleHQo ZSl9fSl9cmV0dXJuIHRydWV9fShuZG0ualF1ZXJ5KSk7KGZ1bmN0aW9uKGIpe3Zh ciBhPWI7Yi5mbi5uV2VhdGhlclRhYnM9ZnVuY3Rpb24oYyl7Yih0aGlzKS5lYWNo KGZ1bmN0aW9uKCl7dmFyIGY9Yi5leHRlbmQoe3RhYjoiLmpzLXRhYiIsY29udGVu dDoiLmpzLXRhYi1jb250ZW50IixhY3RpdmVDb250ZW50Q2xhc3M6ImpzLWFjdGl2 ZS1jb250ZW50IixhY3RpdmVUYWJDbGFzczoianMtYWN0aXZlLXRhYiIsdW5pZm9y bUhlaWdodDpmYWxzZSxtaW5IZWlnaHQ6MTAwLGRlZmF1bHRUYWI6MCx1c2VycHJl ZnM6e3NhdmU6ZnVuY3Rpb24ocCxvKXt9LGxvYWQ6ZnVuY3Rpb24obyxwKXt9fX0s Y3x8e30pO3ZhciBnPWIodGhpcyk7dmFyIGs9Yih0aGlzKS5maW5kKGYuY29udGVu dCsiICoiKTt2YXIgbD1nLmZpbmQoZi5jb250ZW50KS5lcSgwKTt2YXIgZT1sLnNp YmxpbmdzKGYuY29udGVudCk7dmFyIGk9W107aS5wdXNoKGwuZ2V0KDApKTtlLmVh Y2goZnVuY3Rpb24oKXtpLnB1c2goYih0aGlzKS5nZXQoMCkpfSk7dmFyIG09Yihp KTt2YXIgbj1mdW5jdGlvbigpe3ZhciBwPWcuZmluZChmLnRhYikubm90KGspO3Zh ciBxO2lmKHAubGVuZ3RoPjApe3E9cH1lbHNle3E9W107Zm9yKHZhciBvIGluIGkp e2lmKG8pe3EucHVzaChtLmVxKG8pLmZpbmQoZi50YWIpLmdldCgwKSl9fXE9Yihx KX1yZXR1cm4gcX07dmFyIGg9bigpO3ZhciBkPWYudXNlcnByZWZzLmxvYWQoIndl YXRoZXIiLCJpbmRleCIpO2lmKGQpe2guZXEoZCkuYWRkQ2xhc3MoZi5hY3RpdmVU YWJDbGFzcyk7bS5lcShkKS5hZGRDbGFzcyhmLmFjdGl2ZUNvbnRlbnRDbGFzcyl9 ZWxzZXtoLmVxKGYuZGVmYXVsdFRhYikuYWRkQ2xhc3MoZi5hY3RpdmVUYWJDbGFz cyk7bS5lcShmLmRlZmF1bHRUYWIpLmFkZENsYXNzKGYuYWN0aXZlQ29udGVudENs YXNzKX1pZihmLnVuaWZvcm1IZWlnaHQ9PT10cnVlKXt2YXIgaj1mdW5jdGlvbigp e3ZhciBvPWYubWluSGVpZ2h0fHwwO20uZWFjaChmdW5jdGlvbigpe2lmKGIodGhp cykuaGVpZ2h0KCk+byl7bz1iKHRoaXMpLmhlaWdodCgpfX0pO3JldHVybiBvfTtt LmVhY2goZnVuY3Rpb24oKXtiKHRoaXMpLmNzcygiaGVpZ2h0IixqKCkrInB4Iil9 KX1oLmNsaWNrKGZ1bmN0aW9uKCl7aC5yZW1vdmVDbGFzcyhmLmFjdGl2ZVRhYkNs YXNzKTttLnJlbW92ZUNsYXNzKGYuYWN0aXZlQ29udGVudENsYXNzKTt2YXIgbz1o LmluZGV4KHRoaXMpO20uZXEobykuYWRkQ2xhc3MoZi5hY3RpdmVDb250ZW50Q2xh c3MpO2IodGhpcykuYWRkQ2xhc3MoZi5hY3RpdmVUYWJDbGFzcyk7Zi51c2VycHJl ZnMuc2F2ZSgid2VhdGhlciIse3RpdGxlOnRoaXMudGl0bGUsaW5kZXg6b30pO3Zh ciBwPWIoIi5uYXYtc3VibWVudSIpO3AucmVtb3ZlQ2xhc3MoImpzLW1lbnUtaG92 ZXIiKTtwLmF0dHIoInN0eWxlIiwiZGlzcGxheTpub25lIik7cmV0dXJuIGZhbHNl fSl9KX07Yi5mbi5uV2VhdGhlclRhYnMudXNlcnByZWZzPWZ1bmN0aW9uKCl7aWYo dHlwZW9mIHRhbnRvPT09InVuZGVmaW5lZCJ8fCF0YW50by5kYil7cmV0dXJue3Nh dmU6ZnVuY3Rpb24oZCxjKXt9LGxvYWQ6ZnVuY3Rpb24oYyxkKXtyZXR1cm4gZmFs c2V9fX1yZXR1cm57c2F2ZTpmdW5jdGlvbihkLGMpe2lmKHRhbnRvLmRiLnNhdmUp e2M9Yi5leHRlbmQoYyx7X2lkOmR9fHx7fSk7dGFudG8uZGIuc2F2ZShjKX19LGxv YWQ6ZnVuY3Rpb24oYyxkKXtpZih0YW50by5kYi5vcGVuKXt2YXIgZT10YW50by5k Yi5vcGVuKGMpO2lmKGUmJmVbZF0pe3JldHVybiBlW2RdfXJldHVybiBmYWxzZX1y ZXR1cm4gZmFsc2V9fX19KG5kbS5qUXVlcnkpKTsoZnVuY3Rpb24oYSl7YS5mbi53 aGVyZWFtaT1mdW5jdGlvbihiKXtpZighdGhpcy5sZW5ndGgpe3JldHVybn12YXIg Yz1hLmV4dGVuZCh0cnVlLHt9LGEuZm4ud2hlcmVhbWkuZGVmYXVsdHMsYiksZT1k b2N1bWVudC5kb21haW4sZj13aW5kb3cubG9jYXRpb24sZDtkPW5kbS5zb2NpYWxp c2Uuc2l0ZTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGcsail7dmFyIGw9Yyxr PWEoaiksaD1rLmZpbmQobC5pdGVtcyk7aWYoaC5sZW5ndGg+MCl7aWYobC50aGly ZHBhcnR5KXtoPWguZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuICEodGhpcy5ocmVm Lm1hdGNoKC9eKGh0dHB8aHR0cHMpXDovKSYmKHRoaXMuaG9zdG5hbWUhPWxvY2F0 aW9uLmhvc3RuYW1lKSl9KS5hdHRyKCJocmVmIixmdW5jdGlvbigpe3ZhciBtPWQo KSxpPSh0aGlzLmhyZWYpLnJlcGxhY2UoImh0dHA6Ly8iLCIiKS5yZXBsYWNlKGRv Y3VtZW50LmRvbWFpbiwiIik7cmV0dXJuKG0pPyJodHRwOi8vd3d3LiIrbStpOml9 KX1lbHNle2EuZWFjaChoLGZ1bmN0aW9uKG4scCl7dmFyIG09dGhpcy5ocmVmLHE9 bS5yZXBsYWNlKCJodHRwOi8vIitlLCIiKSxvPWEodGhpcykuY2xvc2VzdChsLnBh cmVudCk7aWYoYS5pc0Z1bmN0aW9uKGwuY2FsbGJhY2spKXtsLmNhbGxiYWNrKHAp fWlmKGYucGF0aG5hbWU9PT1xKXtvLmFkZENsYXNzKGwuYWN0aXZlKTtyZXR1cm59 fSl9fX0pfTthLmZuLndoZXJlYW1pLmRlZmF1bHRzPXtpdGVtczoibGkgYSIscGFy ZW50OiJsaSIsYWN0aXZlOiJhY3RpdmUiLGNhbGxiYWNrOmEubm9vcCx0aGlyZHBh cnR5OmZhbHNlfX0obmRtLmpRdWVyeSkpOyhmdW5jdGlvbihiKXtiKCJib2R5Lndl YXRoZXIgI2NvbnRlbnQtMyIpLndoZXJlYW1pKHt0aGlyZHBhcnR5OnRydWUsaXRl bXM6Ii5ncm91cCBhIn0pO3ZhciBjPXsiYWRlbGFpZGVub3cuY29tLmF1IjoiaHR0 cDovL3dlYXRoZXIuYWRlbGFpZGVub3cuY29tLmF1IiwiY291cmllcm1haWwuY29t LmF1IjoiaHR0cDovL3dlYXRoZXIuY291cmllcm1haWwuY29tLmF1IiwiZGFpbHl0 ZWxlZ3JhcGguY29tLmF1IjoiaHR0cDovL3dlYXRoZXIuZGFpbHl0ZWxlZ3JhcGgu Y29tLmF1IiwiaGVyYWxkc3VuLmNvbS5hdSI6Imh0dHA6Ly93ZWF0aGVyLmhlcmFs ZHN1bi5jb20uYXUiLCJwZXJ0aG5vdy5jb20uYXUiOiJodHRwOi8vd2VhdGhlci5w ZXJ0aG5vdy5jb20uYXUiLCJ0aGVhdXN0cmFsaWFuLmNvbS5hdSI6Imh0dHA6Ly93 ZWF0aGVyLm5ld3MuY29tLmF1L2luZGV4LmpzcD9zaXRlPXRoZWF1c3RyYWxpYW4i fSxhPWZ1bmN0aW9uKGQsZyl7dmFyIGY9Y1tuZG0uc29jaWFsaXNlLnNpdGUoKV18 fG51bGw7ZC5yZWw9IiI7ZC5ocmVmPSIjIjtpZihmKXtkLmhyZWY9Zn1lbHNle3Jl dHVybiBmYWxzZX19O2IoIiNpbmZvLWJhciAuc2xpbWxpbmUtd2VhdGhlci1saW5r IikubGl2ZSgiY2xpY2siLGZ1bmN0aW9uKGQpe2EodGhpcyxkKX0pfShuZG0ualF1 ZXJ5KSk7KGZ1bmN0aW9uKGIpe3ZhciBhPWI7Yi5mbi53b3JkY2xvdWQ9ZnVuY3Rp b24oZCl7dmFyIGM9dGhpcyxlPWIuZXh0ZW5kKHthcGl1cmw6bnVsbCxjYWxsYmFj azpmdW5jdGlvbigpe319LGR8fHt9KTtpZighZS5hcGl1cmwpe3JldHVybn1pZihj Lmxlbmd0aDwxKXtyZXR1cm59Yi5nZXRKU09OKGUuYXBpdXJsLGZ1bmN0aW9uKGYp e2MuZWFjaChmdW5jdGlvbigpe3ZhciBnLGgsaT0iIixqPWYuanNvbnNlYXJjaC5z ZWVBbHNvO2ZvcihnIGluIGope2lmKGcpe2g9altnXTtpZihoJiZoLmRpc3BsYXkp e2gudXJsPWgudXJsLnJlcGxhY2UoIi9qc29uIiwiIik7aSs9JzxhIGNsYXNzPSJ0 ZXh0c2l6ZS0nK2guZGlzcGxheUNsYXNzKyciIGhyZWY9Imh0dHA6Ly9hcGkuc2Vh cmNoLm5ld3MuY29tLmF1JytoLnVybCsnIj4mbmJzcDsnK2guZGlzcGxheSsiJm5i c3A7PC9hPiJ9fX1iKHRoaXMpLmh0bWwoaSk7ZS5jYWxsYmFjaygpfSl9KX19KG5k bS5qUXVlcnkpKTsoZnVuY3Rpb24oYil7X2dsb2JhbF9bIkBuYW1lc3BhY2UiXSgi bmRtLmZvcm1zLnZhbGlkYXRpb24iKTt2YXIgYT1iO25kbS5mb3Jtcy52YWxpZGF0 aW9uPWZ1bmN0aW9uKCl7dmFyIGg9W107aC5lbWFpbD0iXihbMC05YS16QS1aXStb LS5fKyZdKSpbMC05YS16QS1aX10rQChbLTAtOWEtekEtWl0rWy5dKStbYS16QS1a XXsyLDZ9JCI7aC5mdWxsTmFtZT0iW14gXFxuXSsiO2gubmFtZT0iW14gXFxuXSsi O2gubG9jYXRpb249IlteIFxcbl0rIjtoLmNvbW1lbnQ9IlteIFxcbl0rIjtoLmNv bW1lbnRzPSJbXiBcXG5dKyI7aC5vcHRpb249dHJ1ZTtoLm9yaWdpbj0iW14gXFxu XSsiO2guZGVzdGluYXRpb249IlteIFxcbl0rIjtoLnF1ZXJ5PSJbXiBcXG5dKyI7 dmFyIG49W107bi5wd2Q9InB3ZHZhbGlkYXRlIjt2YXIgaT1bXTtpLmRlZmF1bHRt c2c9IlBsZWFzZSBjaGVjayB0aGUgdmFsdWUgb2YgZmllbGQgJzEnLCBpdCBkb2Vz IG5vdCB2YWxpZGF0ZS4iO2kuZnVsbE5hbWU9IlBsZWFzZSBlbnRlciB5b3VyIG5h bWUiO2kubmFtZT0iUGxlYXNlIGVudGVyIHlvdXIgbmFtZSI7aS5lbWFpbD0iUGxl YXNlIGVudGVyIHlvdXIgKHZhbGlkKSBlbWFpbCBhZGRyZXNzIjtpLmxvY2F0aW9u PSJQbGVhc2UgZW50ZXIgeW91ciBsb2NhdGlvbiI7aS5jb21tZW50PSJQbGVhc2Ug ZW50ZXIgeW91ciBjb21tZW50IjtpLmNvbW1lbnRzPSJQbGVhc2UgZW50ZXIgeW91 ciBjb21tZW50cyI7aS5vcHRpb249IlBsZWFzZSBzZWxlY3QgYW4gb3B0aW9uIjtp Lm9yaWdpbj0iUGxlYXNlIGVudGVyIHlvdXIgcG9pbnQgb2Ygb3JpZ2luIChmcm9t KSI7aS5kZXN0aW5hdGlvbj0iUGxlYXNlIGVudGVyIHlvdXIgZGVzdGluYXRpb24g KHRvKSI7aS5xdWVyeT0iUGxlYXNlIGVudGVyIHRoZSBjaXR5Ijt2YXIgZT1mdW5j dGlvbih3LHYpe3Y9di5yZXBsYWNlKC9ccy9nLCIiKTt3PXcudG9Mb3dlckNhc2Uo KTt2YXIgeT13Lmxlbmd0aC00O3ZhciB6PSIiO3ZhciB0PTA7Zm9yKHZhciB1PTA7 dSE9NDt1Kyspe3orPXcuY2hhckF0KHBhcnNlSW50KHYuY2hhckF0KHUpLTEsMTAp KTt0Kz1wYXJzZUludCh6LmNoYXJDb2RlQXQodSksMTApLTk2fXQ9dC15O3o9dCt6 O3JldHVybiB6fTt2YXIgbT1mdW5jdGlvbih1LHgpe3ZhciB3PXguZ2V0RWxlbWVu dHNCeVRhZ05hbWUoImlucHV0Iik7aWYoaFt1Lm5hbWVdKXt2YXIgdj1mYWxzZTt2 YXIgcj0tMTt2YXIgcz1mdW5jdGlvbigpe2lmKGRvY3VtZW50LmdldEVsZW1lbnRC eUlkKCJzaW5nbGUtZXJyb3IiKSl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNp bmdsZS1lcnJvciIpLnN0eWxlLmRpc3BsYXk9Im5vbmUifX07Zm9yKHZhciB0PTA7 dDx3Lmxlbmd0aCYmIXY7dCsrKXtpZih3W3RdLnR5cGU9PXUudHlwZSYmd1t0XS5u YW1lPT11Lm5hbWUpe2lmKHI9PS0xKXtyPXR9aWYod1t0XS52YWx1ZT09dS52YWx1 ZSYmciE9dCl7cmV0dXJuIHRydWV9aWYod1t0XS5jaGVja2VkKXtyZXR1cm4gdHJ1 ZX11Lm9uY2xpY2s9c319cmV0dXJuIGZhbHNlfWVsc2V7cmV0dXJuIHRydWV9fTt2 YXIgbD1mdW5jdGlvbihyKXt2YXIgdD1yO2lmKHIuY2xhc3NOYW1lLmluZGV4T2Yo ImhvbmV5Iik+PTApe3Q9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZShyLm5hbWUs ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvcm0tbnVtIikudmFsdWUpKX1pZiho W3IubmFtZV0pe3N3aXRjaCh0eXBlb2YgaFtyLm5hbWVdKXtjYXNlInN0cmluZyI6 dmFyIHM9bmV3IFJlZ0V4cChoW3IubmFtZV0pO3JldHVybiBzLnRlc3QodC52YWx1 ZSk7Y2FzZSJmdW5jdGlvbiI6cmV0dXJuIGhbci5uYW1lXShyKX1yZXR1cm4gdHJ1 ZX1lbHNle3JldHVybiB0cnVlfX07dmFyIHE9ZnVuY3Rpb24ocil7aWYoaFtyLm5h bWVdKXtzd2l0Y2godHlwZW9mIGhbci5uYW1lXSl7Y2FzZSJzdHJpbmciOnJldHVy biByLmNoZWNrZWQ7Y2FzZSJmdW5jdGlvbiI6cmV0dXJuIGhbci5uYW1lXShyKX1y ZXR1cm4gdHJ1ZX1lbHNle3JldHVybiB0cnVlfX07dmFyIGM9ZnVuY3Rpb24ocil7 aWYoaFtyLm5hbWVdKXtzd2l0Y2godHlwZW9mIGhbci5uYW1lXSl7Y2FzZSJzdHJp bmciOnJldHVybihyLnZhbHVlLmxlbmd0aD4wKTtjYXNlImZ1bmN0aW9uIjpyZXR1 cm4gaFtyLm5hbWVdKHIpfXJldHVybiB0cnVlfWVsc2V7cmV0dXJuIHRydWV9fTt2 YXIgaz1mdW5jdGlvbihyKXtpZihoW3IubmFtZV0pe3N3aXRjaCh0eXBlb2YgaFty Lm5hbWVdKXtjYXNlInN0cmluZyI6cmV0dXJuKHIudmFsdWUubGVuZ3RoPjApO2Nh c2UiZnVuY3Rpb24iOnJldHVybiBoW3IubmFtZV0ocil9cmV0dXJuIHRydWV9ZWxz ZXtyZXR1cm4gdHJ1ZX19O3ZhciBnPWZ1bmN0aW9uKHIpe2lmKGhbci5uYW1lXSl7 c3dpdGNoKHR5cGVvZiBoW3IubmFtZV0pe2Nhc2Uic3RyaW5nIjpyZXR1cm4oci52 YWx1ZS5sZW5ndGg+MCk7Y2FzZSJmdW5jdGlvbiI6cmV0dXJuIGhbci5uYW1lXShy KX1yZXR1cm4gdHJ1ZX1lbHNle3JldHVybiB0cnVlfX07dmFyIGY9ZnVuY3Rpb24o cil7aWYobltyLm5hbWVdKXtyZXR1cm4oci52YWx1ZT09ci5mb3JtLmVsZW1lbnRz W25bci5uYW1lXV0udmFsdWUpfWVsc2V7cmV0dXJuIHRydWV9fTt2YXIgcD1mdW5j dGlvbihzKXt2YXIgcj1udWxsO2lmKHMuY2xhc3NOYW1lLmluZGV4T2YoImNoYXIt bGltaXQiKTwwKXtyZXR1cm4gdHJ1ZX1pZihzLnZhbHVlLmxlbmd0aD4xMjAwKXtp ZighZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNpbmdsZS1lcnJvciIpKXtyPWRv Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInAiKTtyLmNsYXNzTmFtZT0iZXJyb3IiO3Iu aWQ9InNpbmdsZS1lcnJvciJ9ZWxzZXtyPWRvY3VtZW50LmdldEVsZW1lbnRCeUlk KCJzaW5nbGUtZXJyb3IiKTtyLmlubmVySFRNTD0iIn1yLmlubmVySFRNTCs9J1Vu YWJsZSB0byBzdWJtaXQgeW91ciBjb21tZW50IGFzIGl0IGV4Y2VlZHMgdGhlIGNo YXJhY3RlciBsaW1pdCBvZiAxMjAwIGNoYXJhY3RlcnMuIElmIHlvdSBuZWVkIHRv IHNlbmQgYSBsb25nZXIgbWVzc2FnZSwgcGxlYXNlIHNlbmQgdXMgYW4gZW1haWwg YXQgPGEgaHJlZj0ibWFpbHRvOm5ld3NAbmV3cy5jb20uYXUiPm5ld3NAbmV3cy5j b20uYXU8L2E+JztpZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RvcnkteW91 ci1zYXkiKSl7cGFyZW50Rm9ybT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Rv cnkteW91ci1zYXkiKX1lbHNle25kPXM7d2hpbGUobmQucGFyZW50Tm9kZSl7bmQ9 bmQucGFyZW50Tm9kZTtpZihuZC5ub2RlTmFtZT09PSJGT1JNIil7cGFyZW50Rm9y bT1uZDticmVha319fXBhcmVudEZvcm0uaW5zZXJ0QmVmb3JlKHIscGFyZW50Rm9y bS5maXJzdENoaWxkKTtyZXR1cm4gZmFsc2V9ZWxzZXtyZXR1cm4gdHJ1ZX19O3Zh ciBkPWZ1bmN0aW9uKCl7dmFyIHY9IjAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9Q UVJTVFVWV1hUWmFiY2RlZmdoaWtsbW5vcHFyc3R1dnd4eXoiO3ZhciByPTg7dmFy IHQ9IiI7Zm9yKHZhciB1PTA7dTxyO3UrKyl7dmFyIHM9TWF0aC5mbG9vcihNYXRo LnJhbmRvbSgpKnYubGVuZ3RoKTt0Kz12LnN1YnN0cmluZyhzLHMrMSl9cmV0dXJu IHR9O3ZhciBvPWZ1bmN0aW9uKHQpe3ZhciBzPW5ldyBEYXRlKCk7cy5zZXRUaW1l KHMuZ2V0VGltZSgpKzEwMDAwKTt2YXIgcj0iOyBleHBpcmVzPSIrcy50b0dNVFN0 cmluZygpO2RvY3VtZW50LmNvb2tpZT0ic3luY29wYXRvcj0iK3QrcisiOyBwYXRo PS8ifTt2YXIgaj1mdW5jdGlvbihBLHope3ZhciBzPUEsdTtBPUEuc3BsaXQoIiwi KVsyXTtpZihBPT09bnVsbHx8QS5sZW5ndGg8OCl7cmV0dXJufWlmKHo9PT1udWxs fHx6Lmxlbmd0aDw9MCl7cmV0dXJufXZhciBFPSIiO2Zvcih1PTA7dTx6Lmxlbmd0 aDt1Kyspe0UrPXouY2hhckNvZGVBdCh1KS50b1N0cmluZygpfXZhciBCPU1hdGgu Zmxvb3IoRS5sZW5ndGgvNSk7dmFyIHQ9cGFyc2VJbnQoRS5jaGFyQXQoQikrRS5j aGFyQXQoQioyKStFLmNoYXJBdChCKjMpK0UuY2hhckF0KEIqNCkrRS5jaGFyQXQo Qio1KSwxMCk7dmFyIHI9TWF0aC5yb3VuZCh6Lmxlbmd0aC8yKTt2YXIgQz1NYXRo LnBvdygyLDMxKS0xO3ZhciB4PXBhcnNlSW50KEEuc3Vic3RyaW5nKEEubGVuZ3Ro LTgsQS5sZW5ndGgpLDE2KTtBPUEuc3Vic3RyaW5nKDAsQS5sZW5ndGgtOCk7RSs9 eDt3aGlsZShFLmxlbmd0aD4xMCl7RT0ocGFyc2VJbnQoRS5zdWJzdHJpbmcoMCwx MCksMTApK3BhcnNlSW50KEUuc3Vic3RyaW5nKDEwLEUubGVuZ3RoKSwxMCkpLnRv U3RyaW5nKCl9RT0odCpFK3IpJUM7dmFyIHk9IiI7dmFyIEQ9IiI7Zm9yKHU9MDt1 PEEubGVuZ3RoO3UrPTIpe3k9cGFyc2VJbnQocGFyc2VJbnQoQS5zdWJzdHJpbmco dSx1KzIpLDE2KV5NYXRoLmZsb29yKChFL0MpKjI1NSksMTApO0QrPVN0cmluZy5m cm9tQ2hhckNvZGUoeSk7RT0odCpFK3IpJUN9dmFyIHc9cy5zcGxpdCgiLCIpWzJd O3ZhciB2PXMucmVwbGFjZSh3LEQpO3JldHVybiB2fTtyZXR1cm57a2V5U2FsdEVu Y3J5cHQ6ZSxhZGRSdWxlOmZ1bmN0aW9uKHIscyl7aFtyXT1zLnJ4cDtpW3JdPXMu bXNnfSx2YWxpZGF0ZTpmdW5jdGlvbihyKXt2YXIgdj0iIixBPW51bGwsdSx4LHks dCxzO3ZhciB3PWZ1bmN0aW9uKCl7dGhpcy5jbGFzc05hbWU9dGhpcy5jbGFzc05h bWUucmVwbGFjZSgiZXJyb3ItaGlnaGxpZ2h0IiwiIil9O2Zvcih4PTA7eDxyLmVs ZW1lbnRzLmxlbmd0aDt4Kyspe3k9ci5lbGVtZW50c1t4XTt0PXRydWU7aWYoeS5j bGFzc05hbWUuaW5kZXhPZigiaXMtb3B0aW9uYWwiKTwwKXtzd2l0Y2goeS50eXBl KXtjYXNlInJlc2V0IjpicmVhaztjYXNlInN1Ym1pdCI6YnJlYWs7Y2FzZSJidXR0 b24iOmJyZWFrO2Nhc2UiaGlkZGVuIjp0PWwoeSk7YnJlYWs7Y2FzZSJwYXNzd29y ZCI6dD1sKHkpJiZmKHkpO2JyZWFrO2Nhc2UidGV4dCI6dD1sKHkpO2JyZWFrO2Nh c2UicmFkaW8iOnQ9bSh5LHIpO2JyZWFrO2Nhc2UidGV4dGFyZWEiOnQ9bCh5KTti cmVhaztjYXNlImNoZWNrYm94Ijp0PXEoeSk7YnJlYWs7Y2FzZSJzZWxlY3QiOnQ9 Yyh5KTticmVhaztjYXNlInNlbGVjdC1vbmUiOnQ9ayh5KTticmVhaztjYXNlInNl bGVjdC1tdWx0aXBsZSI6dD1nKHkpO2JyZWFrO2RlZmF1bHQ6YnJlYWt9fWlmKCF0 KXtpZih2Lmxlbmd0aD4wKXt2Kz0iPGJyLz4ifXYrPShpW3kubmFtZV0/aVt5Lm5h bWVdOmkuZGVmYXVsdG1zZykucmVwbGFjZSgvXDEvZyx5Lm5hbWUpO3kuY2xhc3NO YW1lKz0iIGVycm9yLWhpZ2hsaWdodCI7eS5vbmZvY3VzPXd9ZWxzZXtpZigoeS5j bGFzc05hbWUhPT0iIikmJih5LmNsYXNzTmFtZSE9PSJ1bmRlZmluZWQiKSYmKHku Y2xhc3NOYW1lIT09bnVsbCkpe3kuY2xhc3NOYW1lPXkuY2xhc3NOYW1lLnJlcGxh Y2UoImVycm9yLWhpZ2hsaWdodCIsIiIpfX19aWYoZG9jdW1lbnQuZ2V0RWxlbWVu dEJ5SWQoImNvbW1lbnQiKSl7aWYoIXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo ImNvbW1lbnQiKSkpe2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb21tZW50Iiku Y2xhc3NOYW1lKz0iIGVycm9yLWhpZ2hsaWdodCI7ZG9jdW1lbnQuZ2V0RWxlbWVu dEJ5SWQoImNvbW1lbnQiKS5vbmZvY3VzPWZ1bmN0aW9uKCl7ZG9jdW1lbnQuZ2V0 RWxlbWVudEJ5SWQoImNvbW1lbnQiKS5jbGFzc05hbWU9ZG9jdW1lbnQuZ2V0RWxl bWVudEJ5SWQoImNvbW1lbnQiKS5jbGFzc05hbWUucmVwbGFjZSgiZXJyb3ItaGln aGxpZ2h0IiwiIil9O3JldHVybiBmYWxzZX19aWYodi5sZW5ndGg+MCl7aWYodHlw ZW9mKHNpbmdsZUVycm9yTWVzc2FnZSkhPSJ1bmRlZmluZWQiKXt2PXNpbmdsZUVy cm9yTWVzc2FnZX1pZighZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNpbmdsZS1l cnJvciIpKXtBPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInAiKTtBLmNsYXNzTmFt ZT0iZXJyb3IiO0EuaWQ9InNpbmdsZS1lcnJvciJ9ZWxzZXtBPWRvY3VtZW50Lmdl dEVsZW1lbnRCeUlkKCJzaW5nbGUtZXJyb3IiKTtBLmlubmVySFRNTD0iIn1BLmlu bmVySFRNTD12O0Euc3R5bGUuY29sb3I9IiMwMDAwMDAiO2Zvcm1GaWVsZHNldD1m YWxzZTtpZihmb3JtRmllbGRzZXQpe2Zvcm1FcnJvckxlZ2VuZD1mb3JtRmllbGRz ZXQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxlZ2VuZCIpWzBdO2lmKGZvcm1FcnJv ckxlZ2VuZCl7aWYoZm9ybUZpZWxkc2V0LmNsYXNzTmFtZS5pbmRleE9mKCJlcnJv ci1wYXJlbnQiKT49MCl7Zm9ybUVycm9yTGVnZW5kLmlubmVySFRNTD12O2Zvcm1F cnJvckxlZ2VuZC5pZD0ic2luZ2xlLWVycm9yIjtmb3JtRXJyb3JMZWdlbmQuY2xh c3NOYW1lKz0iIGVycm9yIn19ZWxzZXtpZihmb3JtRmllbGRzZXQuY2xhc3NOYW1l LmluZGV4T2YoImVycm9yLXBhcmVudCIpPj0wKXtmb3JtRmllbGRzZXQuaW5zZXJ0 QmVmb3JlKEEsZm9ybUZpZWxkc2V0LmZpcnN0Q2hpbGQpfWVsc2V7ci5pbnNlcnRC ZWZvcmUoQSxyLmZpcnN0Q2hpbGQpfX19ZWxzZXtyLmluc2VydEJlZm9yZShBLHIu Zmlyc3RDaGlsZCl9cmV0dXJuIGZhbHNlfWVsc2V7dHJ5e2lmKHdpbmRvdy5sb2Nh dGlvbi5ocmVmLm1hdGNoKC9zdG9yeXxjb21tZW50cy9naSkpe3M9d2luZG93Lmxv Y2F0aW9uLmhyZWYuc3BsaXQoIiwiKVsyXTtfaGJTZXQoImN2LmM1IixzKyItIito YngubWxjKyJ8IitoYngucG4pO19oYlNlbmQoKX19Y2F0Y2goeil7Y29uc29sZS5s b2coIlRoaXMgcGFnZSBtaXNzaW5nIEhCWCB0cmFja2luZyBjb2RlIil9cmV0dXJu IHRydWV9fSxwb2xsVmFsaWRhdGU6ZnVuY3Rpb24ocyx1LHIpe3ZhciB0PXNlbGVj dGVkVmFsdWUocy5vcHRpb24pO3ZhciB6PXMuZ2V0QXR0cmlidXRlKCJhY3Rpb24i KTtpZih6LmluZGV4T2YoIiMiKT09PTApe3o9ei5yZXBsYWNlKCIjIiwiIik7dmFy IHY9IjYiO3Muc2V0QXR0cmlidXRlKCJhY3Rpb24iLGooeix2KSl9dmFyIHk9ZG9j dW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTt2YXIgdz1kKCk7byh3KTt5LnNl dEF0dHJpYnV0ZSgidHlwZSIsImhpZGRlbiIpO3kuc2V0QXR0cmlidXRlKCJuYW1l Iiwic3luY29wYXRvciIpO3kuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsdyk7cy5pbnNl cnRCZWZvcmUoeSxzLmNoaWxkTm9kZXNbMF0pO3ZhciB4PXMuZ2V0QXR0cmlidXRl KCJhY3Rpb24iKSsiP29wdGlvbj0iK3QrIiZzeW5jb3BhdG9yPSIrdztpZih2YWxp ZGF0ZShzKSl7aWYodSl7cy5zdWJtaXQoKX1lbHNle2lmKHIpe3JldHVybiB4fWVs c2V7cG9wVXAoIm5pcG9sbCIseCl9fX1yZXR1cm4gZmFsc2V9LGFzc2VydENoYXJM aW1pdDpmdW5jdGlvbihyKXtwKHIpfX19KCl9KG5kbS5qUXVlcnkpKTsoZnVuY3Rp b24oYSl7bmRtLmNvbnRyb2xzLmhvdG9ybm90PXt9O25kbS5jb250cm9scy5ob3Rv cm5vdC5qc2xvY2F0aW9uPSJodHRwOi8vbWVkaWEubmV3cy5jb20uYXUvbmV3cy8y MDEwLzEyLWRlYy9ob3Rvcm5vdC10ZXN0aW5nL2pxdWVyeS5mbi5ob3Rvcm5vdC5q cyI7bmRtLmNvbnRyb2xzLmhvdG9ybm90LnN0YXRlPSJub3Rsb2FkZWQiO25kbS5j b250cm9scy5ob3Rvcm5vdC5xdWV1ZT1bXTthKCIuanMtaW50ZXJhY3RpdmUtaG90 b3Jub3QiKS5saXZlKCJjbGljayIsZnVuY3Rpb24oYil7dmFyIGM9YSh0aGlzKTtp ZihhKHRoaXMpLmhhc0NsYXNzKCJqcy1pbnRlcmFjdGl2ZS1ob3Rvcm5vdC1sb2Fk ZWQiKSl7cmV0dXJufWEodGhpcykuYWRkQ2xhc3MoImpzLWxvYWRpbmciKTtuZG0u Y29udHJvbHMuaG90b3Jub3QucXVldWUucHVzaChjKTtpZihuZG0uY29udHJvbHMu aG90b3Jub3Quc3RhdGU9PT0ibm90bG9hZGVkIil7YS5nZXRTY3JpcHQobmRtLmNv bnRyb2xzLmhvdG9ybm90LmpzbG9jYXRpb24pO25kbS5jb250cm9scy5ob3Rvcm5v dC5zdGF0ZT0ibG9hZGluZyJ9ZWxzZXtpZihuZG0uY29udHJvbHMuaG90b3Jub3Qu c3RhdGU9PT0ibG9hZGluZyIpe31lbHNle2lmKG5kbS5jb250cm9scy5ob3Rvcm5v dC5zdGF0ZT09PSJsb2FkZWQiKXthKHRoaXMpLmhvdG9ybm90KCl9fX19KX0obmRt LmpRdWVyeSkpOyhmdW5jdGlvbihhKXthLmZuLnBob3RvcmV2ZWFsPWZ1bmN0aW9u KGIpe3ZhciBkLGM7ZD17b2Zmc2V0OiI1MCUifTtjPWEuZXh0ZW5kKGQsYnx8e30p O3RoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBnPXt9LGU9e30sZj1hKHRoaXMpO2lm KGYuaGFzQ2xhc3MoInBob3RvcmV2ZWFsLWxvYWRlZCIpKXtyZXR1cm59ZS5waG90 b3JldmVhbD1mdW5jdGlvbigpe2UuZG9tKCl9O2UuZG9tPWZ1bmN0aW9uKCl7Zy5z bGlkZXI9YS5mbi5waG90b3JldmVhbC52aWV3cy5zbGlkZXIoZi5maW5kKCIubW9k dWxlLWNvbnRlbnQiKSxjKTtmLmFkZENsYXNzKCJwaG90b3JldmVhbC1sb2FkZWQi KX07ZS5waG90b3JldmVhbCgpfSk7cmV0dXJuIHRoaXN9O2EuZm4ucGhvdG9yZXZl YWwudmlld3M9e3NsaWRlcjpmdW5jdGlvbihiLGQpe3ZhciBlPWZhbHNlLGcsYz1i LmZpbmQoIi5wcm9tby1ibG9jazplcSgxKSAucHJvbW8taW1hZ2UiKSxmPWIub2Zm c2V0KCk7Yi5maW5kKCIucHJvbW8tYmxvY2siKS5lYWNoKGZ1bmN0aW9uKCl7dmFy IGg9YSh0aGlzKS5maW5kKCIucHJvbW8taGVhZGluZyIpLnRleHQoKTthKHRoaXMp LmZpbmQoIi5wcm9tby1pbWFnZSIpLmFwcGVuZCgnPGRpdiBjbGFzcz0ibm90ZSI+ JytoKyI8L2Rpdj4iKX0pO2MuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDow LGxlZnQ6MCxvdmVyZmxvdzoiaGlkZGVuIix3aWR0aDpkLm9mZnNldH0pO2c9YSgn PGRpdiBjbGFzcz0iaGFuZGxlIj5oYW5kbGU8L2Rpdj4nKTtjLmFmdGVyKGcpO2cu Y3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDowLGxlZnQ6ZC5vZmZzZXR9KTti LmhvdmVyKGZ1bmN0aW9uKCl7Yi5iaW5kKCJtb3VzZW1vdmUiLGZ1bmN0aW9uKGgp e2lmKGU9PT10cnVlKXtnLmNzcyh7bGVmdDooaC5wYWdlWC1mLmxlZnQpKyJweCJ9 KTtjLmNzcyh7d2lkdGg6KGgucGFnZVgtZi5sZWZ0KSsicHgifSl9aC5wcmV2ZW50 RGVmYXVsdCgpfSl9LGZ1bmN0aW9uKCl7Yi51bmJpbmQoIm1vdXNlbW92ZSIpfSk7 Zy5iaW5kKCJtb3VzZWRvd24iLGZ1bmN0aW9uKGgpe2U9dHJ1ZTtoLnByZXZlbnRE ZWZhdWx0KCk7cmV0dXJuIGZhbHNlfSk7Zy5iaW5kKCJtb3VzZXVwIixmdW5jdGlv bihoKXtlPWZhbHNlO2gucHJldmVudERlZmF1bHQoKTtyZXR1cm4gZmFsc2V9KTtn LmJpbmQoInRvdWNoc3RhcnQgdG91Y2htb3ZlIixmdW5jdGlvbihqKXt2YXIgaz10 cnVlLGwsaCxpPWIud2lkdGgoKTtpZihrPT09dHJ1ZSl7bD1qLm9yaWdpbmFsRXZl bnQ7aD0obC5jaGFuZ2VkVG91Y2hlc1swXS5wYWdlWC1mLmxlZnQpO2lmKGg8aSYm aD4wKXtnLmNzcyh7bGVmdDpoKyJweCJ9KTtjLmNzcyh7d2lkdGg6aCsicHgifSl9 ai5wcmV2ZW50RGVmYXVsdCgpfX0pO3JldHVybiBifX19KG5kbS5qUXVlcnkpKTso ZnVuY3Rpb24oYSl7fShuZG0ualF1ZXJ5KSk7KGZ1bmN0aW9uKGIpe3ZhciBhPWI7 dGFudG8ubmFtZXNwYWNlKCJuZG0uY29udHJvbHMucG9wdXBzIik7bmRtLmNvbnRy b2xzLnBvcHVwcz1mdW5jdGlvbigpe3ZhciBlPSI2NDAiO3ZhciBkPSI0ODAiO3Zh ciBjPXtkaWdnOmZ1bmN0aW9uKGYpe3JldHVybiBmKyI/cGhhc2U9MiZ1cmwiK2Vu Y29kZVVSSUNvbXBvbmVudCh3aW5kb3cubG9jYXRpb24uaHJlZil9LGRlbGljaW91 czpmdW5jdGlvbihmKXtyZXR1cm4gZisiO3VybD0iK2VuY29kZVVSSUNvbXBvbmVu dCh3aW5kb3cubG9jYXRpb24uaHJlZikrIjt0aXRsZT0iK2VuY29kZVVSSUNvbXBv bmVudChkb2N1bWVudC50aXRsZSl9LG5ld3N2aW5lOmZ1bmN0aW9uKGYpe3JldHVy biBmKyI/dT0iK2VuY29kZVVSSUNvbXBvbmVudCh3aW5kb3cubG9jYXRpb24uaHJl ZikrIjt0aXRsZT0iK2VuY29kZVVSSUNvbXBvbmVudChkb2N1bWVudC50aXRsZSl9 LGZhY2Vib29rOmZ1bmN0aW9uKGYpe3JldHVybiBmKyI/dT0iK2VuY29kZVVSSUNv bXBvbmVudCh3aW5kb3cubG9jYXRpb24uaHJlZikrIjt0PSIrZW5jb2RlVVJJQ29t cG9uZW50KGRvY3VtZW50LnRpdGxlKX0sdHJhdmVsZ2FsbGVyeTpmdW5jdGlvbihm KXtyZXR1cm5bNzUwLDcwMF19fTtyZXR1cm57bGlzdGVuOmZ1bmN0aW9uKCl7dmFy IGY9ImNsaWNrIjtpZihuZG0uZG9tLmlzSUUoKSl7Zj0ibW91c2V1cCJ9bmRtLmRv bS5ldmVudHMuYWRkKGRvY3VtZW50LGYsZnVuY3Rpb24ocCl7dmFyIGw9cDt2YXIg bj1uZG0uZG9tLmdldEV2ZW50VGFyZ2V0KGwpO3ZhciBpO2lmKG4ubm9kZU5hbWUu dG9Mb3dlckNhc2UoKSE9PSJhIil7bj1uLnBhcmVudE5vZGV9aWYodHlwZW9mIG4u Z2V0QXR0cmlidXRlIT09ImZ1bmN0aW9uIiYmdHlwZW9mIG4uZ2V0QXR0cmlidXRl IT09Im9iamVjdCIpe3JldHVybn12YXIgcj1uLmdldEF0dHJpYnV0ZSgicmVsIik7 dmFyIGc9bi5nZXRBdHRyaWJ1dGUoImhyZWYiKTtpZigvXnBvcHVwLy50ZXN0KHIp KXtpZihyLmluZGV4T2YoInRvLSIpPj0wKXt2YXIgaj1yLnJlcGxhY2UoL3RvLShb XFNdKikvZ2ksIiQxIik7aWYoISFjLmZ1bmMmJnR5cGVvZiBjLmZ1bmM9PT0iZnVu Y3Rpb24iKXt2YXIgcz1jLmZ1bmMoZyk7aWYocyBpbnN0YW5jZW9mIEFycmF5KXty PXIucmVwbGFjZSgvXnBvcHVwLywicG9wdXBbIitzLnRvU3RyaW5nKCkrIl0iKX1l bHNle24uc2V0QXR0cmlidXRlKCJocmVmIixzKX19fXZhciBtPW5kbS51dGlsLnBh cnNlVXJpKGcpO3ZhciBrPW0uaG9zdC5yZXBsYWNlKC9bXmEtekEtWl0vZ2ksIiIp K20uZGlyZWN0b3J5LnJlcGxhY2UoL1teYS16QS1aXS9naSwiIik7aWYoci5pbmRl eE9mKCJbIik+PTApe3ZhciBvPS9cW1swLTldezIsNH0sWzAtOV17Miw0fVxdLy5l eGVjKHIpWzBdLnJlcGxhY2UoL1tcW1xdXS9naSwiIikuc3BsaXQoIiwiKTtpZihv Lmxlbmd0aD09PTIpe3ZhciBoPW9bMF07dmFyIHE9b1sxXTtpPXdpbmRvdy5vcGVu KGcsaywid2lkdGg9IitoKyIsaGVpZ2h0PSIrcSsiICxzY3JvbGxiYXJzPXllcyxz dGF0dXM9eWVzLHRvb2xiYXI9bm8sbWVudWJhcj1ubyxsb2NhdGlvbj1ubyxyZXNp emFibGU9eWVzIik7bC5wcmV2ZW50RGVmYXVsdCgpO2lmKCEhaSl7aS5mb2N1cygp fX1lbHNle3JldHVybn19ZWxzZXtpPXdpbmRvdy5vcGVuKGcsaywid2lkdGg9Iitl KyIsaGVpZ2h0PSIrZCsiICxzY3JvbGxiYXJzPXllcyxzdGF0dXM9eWVzLHRvb2xi YXI9bm8sbWVudWJhcj1ubyxsb2NhdGlvbj1ubyxyZXNpemFibGU9eWVzIik7bC5w cmV2ZW50RGVmYXVsdCgpO2lmKCEhaSl7aS5mb2N1cygpfX1yZXR1cm59cmV0dXJu fSl9LGFkZEhhbmRsZXI6ZnVuY3Rpb24oZyxoKXt2YXIgZj1oKCk7aWYodHlwZW9m IGY9PT0ic3RyaW5nInx8ZiBpbnN0YW5jZW9mIEFycmF5KXtjLmtleT1ofWVsc2V7 fX19fSgpfShuZG0ualF1ZXJ5KSk7KGZ1bmN0aW9uKGIpe3ZhciBhPWI7dGFudG8u bmFtZXNwYWNlKCJuZG0uY29udHJvbHMud2FsbHBhcGVyIik7bmRtLmNvbnRyb2xz LndhbGxwYXBlci5tYWtlRG91YmxlRGVsZWdhdGU9ZnVuY3Rpb24oZCxjKXtyZXR1 cm4gZnVuY3Rpb24oKXtpZihkKXtkKCl9aWYoYyl7YygpfX19O25kbS5jb250cm9s cy53YWxscGFwZXIuYXBwbHk9ZnVuY3Rpb24oYyl7dmFyIGQ9ZnVuY3Rpb24oKXt2 YXIgZT1kb2N1bWVudDtpZih0eXBlb2YgbmRtLmNvbnRyb2xzLndhbGxwYXBlci5k ZWZhdWx0Ymc9PT0idW5kZWZpbmVkInx8bmRtLmNvbnRyb2xzLndhbGxwYXBlci5k ZWZhdWx0Ymc9PT1udWxsKXtuZG0uY29udHJvbHMud2FsbHBhcGVyLmRlZmF1bHRC YWNrZ3JvdW5kPWUuYm9keS5zdHlsZS5iYWNrZ3JvdW5kfWlmKHR5cGVvZiBuZG0u Y29udHJvbHMud2FsbHBhcGVyLmRlZmF1bHRiZz09PSJ1bmRlZmluZWQifHxuZG0u Y29udHJvbHMud2FsbHBhcGVyLmRlZmF1bHRiZz09PW51bGwpe25kbS5jb250cm9s cy53YWxscGFwZXIuZGVmYXVsdENsYXNzTmFtZT1lLmJvZHkuY2xhc3NOYW1lfWUu Ym9keS5zdHlsZS5iYWNrZ3JvdW5kPSJ1cmwoIitjKyIpIHRvcCBjZW50ZXIgbm8t cmVwZWF0IjtlLmJvZHkuY2xhc3NOYW1lPWUuYm9keS5jbGFzc05hbWUrIiBnYWxs ZXJ5LWFkIn07aWYodHlwZW9mIHZpZGVvRW5kQ2FsbGJhY2s9PT0iZnVuY3Rpb24i KXt3aW5kb3cudmlkZW9FbmRDYWxsYmFjaz1uZG0uY29udHJvbHMud2FsbHBhcGVy Lm1ha2VEb3VibGVEZWxlZ2F0ZSh2aWRlb0VuZENhbGxiYWNrLGQpfWVsc2V7ZCgp fX07bmRtLmNvbnRyb2xzLndhbGxwYXBlci5yZW1vdmU9ZnVuY3Rpb24oKXt2YXIg Yz1kb2N1bWVudDtpZih0eXBlb2YgbmRtLmNvbnRyb2xzLndhbGxwYXBlci5kZWZh dWx0QmFja2dyb3VuZCE9PSJ1bmRlZmluZWQiJiZuZG0uY29udHJvbHMud2FsbHBh cGVyLmRlZmF1bHRCYWNrZ3JvdW5kIT09bnVsbCl7Yy5ib2R5LnN0eWxlLmJhY2tn cm91bmQ9bmRtLmNvbnRyb2xzLndhbGxwYXBlci5kZWZhdWx0QmFja2dyb3VuZH1p Zih0eXBlb2YgbmRtLmNvbnRyb2xzLndhbGxwYXBlci5kZWZhdWx0Q2xhc3NOYW1l IT09InVuZGVmaW5lZCImJm5kbS5jb250cm9scy53YWxscGFwZXIuZGVmYXVsdENs YXNzTmFtZSE9PW51bGwpe2MuYm9keS5zdHlsZS5jbGFzc05hbWU9bmRtLmNvbnRy b2xzLndhbGxwYXBlci5kZWZhdWx0Q2xhc3NOYW1lfX19KG5kbS5qUXVlcnkpKTso ZnVuY3Rpb24oYil7dmFyIGE9Yjt0YW50by5uYW1lc3BhY2UoIm5kbS5tZWRpYS5m bGFzaCIpO25kbS5tZWRpYS5mbGFzaC5yZXNpemU9ZnVuY3Rpb24oZSl7dmFyIGYs YyxkO2U9ZS5zcGxpdCgiLCIpfHxbXTtpZihlLmxlbmd0aCl7Zj1iKCIjIitlWzJd KTtpZihmLmxlbmd0aCl7Yz1wYXJzZUludChlWzBdLDEwKXx8Zi5hdHRyKCJ3aWR0 aCIpO2Q9cGFyc2VJbnQoZVsxXSwxMCl8fGYuYXR0cigiaGVpZ2h0Iik7Zi5jc3Mo e3dpZHRoOmMrInB4IixoZWlnaHQ6ZCsicHgifSl9fX19KG5kbS5qUXVlcnkpKTso ZnVuY3Rpb24oYil7dmFyIGE9Yjt0YW50by5uYW1lc3BhY2UoIm5kbS5tZWRpYS5s b2FkdmNtcyIpO25kbS5tZWRpYS5sb2FkdmNtcy5hcnRpY2xlcGxheWVyPWZ1bmN0 aW9uKGMpe2lmKHdpbmRvdy50cmFrKXt0cmFrKCJ2Y21zcGxheWVyIil9aWYoIW5k bS5tZWRpYS5pbml0QXJ0aWNsZVBsYXllcil7aWYobmRtLm1lZGlhLnZjbXNwbGF5 ZXJpZHMpe25kbS5tZWRpYS52Y21zcGxheWVyaWRzLnB1c2goYyl9ZWxzZXtuZG0u bWVkaWEudmNtc3BsYXllcmlkcz1bY119dGFudG8ubG9hZCgiaHR0cDovL3N0YXRp Yy52aWRlby5uZXdzLmNvbS5hdS9hcnRpY2xlL2FydGljbGVwbGF5ZXIuanMiLHRy dWUpfWVsc2V7bmRtLm1lZGlhLmluaXRBcnRpY2xlUGxheWVyKGMpfX19KG5kbS5q UXVlcnkpKTsoZnVuY3Rpb24oYil7dmFyIGE9Yjt0YW50by5uYW1lc3BhY2UoIm5k bS51c2VyIik7bmRtLnVzZXIucHJlZnM9ZnVuY3Rpb24oKXtpZihuZG0uY29udHJv bHMmJih0eXBlb2YgbmRtLmNvbnRyb2xzLlR3ZWVuPT09InVuZGVmaW5lZCIpKXty ZXR1cm4gZmFsc2V9aWYodHlwZW9mIFN0b3JhZ2VMaXN0PT09InVuZGVmaW5lZCIp e1N0b3JhZ2VMaXN0PWZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlfX12YXIgdD17TE9B REVEOiJMb2FkaW5nLi4uIixTQVZFRDoiU2F2aW5nLi4uIixQT1NJVElPTl9TQVZF RDoiUG9zaXRpb24gc2F2ZWQifSxDPSEoKHR5cGVvZiBnbG9iYWxTdG9yYWdlPT09 InVuZGVmaW5lZCIpfHwhKGdsb2JhbFN0b3JhZ2UgaW5zdGFuY2VvZiBTdG9yYWdl TGlzdCkpLHY9bmRtLmRvbS5pc0lFKCksZT0ibmRtLXVzZXItcHJlZmVyZW5jZXMi LHg9ZG9jdW1lbnQuZG9tYWluLHo9MTAwMCxqPSIiLGQ9e3ZlcnNpb246MH0sbD1m YWxzZSxoPSJfIixyPSIiLEI9bnVsbCxtPVtdLHM9ZmFsc2UsYz0iaHR0cDovL3d3 dy5uZXdzLmNvbS5hdSIsZj1bXSxxPSJwcmVmIixwLGksdSxBPWZhbHNlLGs9ZnVu Y3Rpb24oRSl7aWYoIWlzTmFOKHBhcnNlSW50KEUsMikpKXtyZXR1cm4gcGFyc2VJ bnQoRSwyKS50b1N0cmluZygzNil9ZWxzZXtpZighaXNOYU4ocGFyc2VJbnQoRSwx MCkpKXtyZXR1cm4gcGFyc2VJbnQoRSwxMCkudG9TdHJpbmcoMzYpfX19LEQ9ZnVu Y3Rpb24oRixFKXtpZihFPT0yKXtyZXR1cm4gcGFyc2VJbnQoRiwzNikudG9TdHJp bmcoRSl9ZWxzZXtpZihFPT0xMCl7cmV0dXJuIHBhcnNlSW50KEYsMzYpLnRvU3Ry aW5nKEUpfX1yZXR1cm4gRn0sbz1mdW5jdGlvbihGLEgpe2lmKCFCfHxzKXtyZXR1 cm59cz10cnVlO2lmKEgmJkgubGVuZ3RoPT0yKXtCLnN0eWxlLnRvcD0oSFsxXS1u ZG0uZG9tLmdldFBhZ2VTY3JvbGwoKVsxXSkrMTArInB4ICFpbXBvcnRhbnQiO0Iu c3R5bGUubGVmdD1IWzBdKzUyNSsicHggIWltcG9ydGFudCI7Qi5zdHlsZS53aWR0 aD0iMTUwcHggIWltcG9ydGFudCJ9ZWxzZXtCLnN0eWxlLnRvcD0iMHB4ICFpbXBv cnRhbnQiO0Iuc3R5bGUubGVmdD0iNDglICFpbXBvcnRhbnQifUIuc3R5bGUuZGlz cGxheT0iYmxvY2siO3ZhciBHLEU7Qi5pbm5lckhUTUw9RjtHPW5ldyBuZG0uY29u dHJvbHMuT3BhY2l0eVR3ZWVuKEIsbmRtLmNvbnRyb2xzLlR3ZWVuLmZ1bmN0b3Jz LmVhc2VPdXRRdWFkLDAsMTAwLDAuMik7Ry5zdGFydCgpO0cub25Nb3Rpb25GaW5p c2hlZD1mdW5jdGlvbigpe3dpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7RT1u ZXcgbmRtLmNvbnRyb2xzLk9wYWNpdHlUd2VlbihCLG5kbS5jb250cm9scy5Ud2Vl bi5mdW5jdG9ycy5lYXNlT3V0UXVhZCwxMDAsMCwwLjgpO0Uuc3RhcnQoKTtzPWZh bHNlfSw1MDApfX0sZz1mdW5jdGlvbihGKXt2YXIgSCxHLEU9W107cj0iIjttLmZv ckVhY2goZnVuY3Rpb24oSSl7aWYoZC5oYXNPd25Qcm9wZXJ0eShJKSl7RS5wdXNo KGRbSV0pfWVsc2V7RS5wdXNoKCJfIil9fSk7cj1FLmpvaW4oaCk7cj1yLnJlcGxh Y2UoL18qJC9naSwiIik7cj1yLnJlcGxhY2UoL19fX19fL2dpLCJ+Iik7cj1yLnJl cGxhY2UoL19fL2dpLCIrIik7cis9IiZ2PSIrZC52ZXJzaW9uO2lmKEYpe3I9InU9 IitkLnVzZXJNRDUrIiZoPSIrcn1yZXR1cm4gcn0sdz1mdW5jdGlvbigpe3ZhciBF LEc7aWYoQyl7dHJ5e0c9Z2xvYmFsU3RvcmFnZVt4XS5DT09LSUVfTkFNRXx8IiJ9 Y2F0Y2goRil7aWYoRi5jb2RlPT16KXtHPW5kbS51dGlsLmNvb2tpZXMucmVhZChx KX19fWVsc2V7aWYodil7RT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChlKTtpZigh RSl7Rz0iIn1lbHNle3RyeXtFLmxvYWQocSk7Rz1FLmdldEF0dHJpYnV0ZSgibmRt VXNlckRhdGEiKX1jYXRjaChIKXtHPW5kbS51dGlsLmNvb2tpZXMucmVhZChxKX19 fWVsc2V7Rz1uZG0udXRpbC5jb29raWVzLnJlYWQocSl9fXJldHVybiBHKyIifSxu PWZ1bmN0aW9uKEkpe3ZhciBHPUl8fHcoKSxIPVtdLEY9W10sRTtjb25zb2xlLmxv ZyhHKTtpZighRyl7cmV0dXJue319Rz1HLnJlcGxhY2UoL34vZ2ksIl9fX19fIik7 Rz1HLnJlcGxhY2UoL1wrL2dpLCJfXyIpO0g9Ry5zcGxpdCgiJiIpO2ZvcihFPTA7 RSE9SC5sZW5ndGg7RSsrKXtpZihIW0VdLmluZGV4T2YoInU9Iik+PTApe2QudXNl ck1ENT1IW0VdLnNsaWNlKEhbRV0uaW5kZXhPZigidT0iKSsyLEhbRV0ubGVuZ3Ro KX1lbHNle2lmKEhbRV0uaW5kZXhPZigiaD0iKT49MCl7Rj1IW0VdLnNsaWNlKEhb RV0uaW5kZXhPZigiaD0iKSsyLEhbRV0ubGVuZ3RoKS5zcGxpdCgiXyIpfWVsc2V7 aWYoSFtFXS5pbmRleE9mKCJ2PSIpPj0wKXtkLnZlcnNpb249SFtFXS5zbGljZShI W0VdLmluZGV4T2YoInY9IikrMixIW0VdLmxlbmd0aCl9fX19RT0wO20uZm9yRWFj aChmdW5jdGlvbihKKXtpZighL1teYS16MC05fF0vLnRlc3QoRltFXSkpe2RbSl09 RltFXX1lbHNle2RbSl09RltFXS5yZXBsYWNlKC9bXmEtejAtOXxdL2dpLCItIil9 RSsrfSk7cmV0dXJuIGR9LHk9ZnVuY3Rpb24oKXt2YXIgRixJLEU7aWYoQyl7dHJ5 e2dsb2JhbFN0b3JhZ2VbeF0uQ09PS0lFX05BTUU9Zyh0cnVlKX1jYXRjaChHKXtu ZG0udXRpbC5jb29raWVzLmNyZWF0ZShxLGcodHJ1ZSksMzAwKX19ZWxzZXtpZih2 KXtGPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUpO0E9ISFGO3RyeXtpZihBKXtG LnN0eWxlLmJlaGF2aW91cj0idXJsKCcjZGVmYXVsdCN1c2VyRGF0YScpIjtGLnNl dEF0dHJpYnV0ZSgibmRtVXNlckRhdGEiLGcodHJ1ZSkpO0k9bmV3IERhdGUoKTtJ LnNldFVUQ0Z1bGxZZWFyKCIyMDEyIik7RT1JLnRvVVRDU3RyaW5nKCk7Ri5leHBp cmVzPUU7Ri5zYXZlKHEpfX1jYXRjaChIKXt2PWZhbHNlO25kbS51dGlsLmNvb2tp ZXMuY3JlYXRlKHEsZyh0cnVlKSwzMDApfX1lbHNle25kbS51dGlsLmNvb2tpZXMu Y3JlYXRlKHEsZyh0cnVlKSwzMDApfX19O25kbS5kb20uYWRkTG9hZEV2ZW50KGZ1 bmN0aW9uKCl7aWYoIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUpKXt2YXIgRT1k b2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtFLmlkPWU7ZG9jdW1lbnQuYm9k eS5hcHBlbmRDaGlsZChFKX1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChlKS5zdHls ZS5iZWhhdmlvdXI9InVybCgnI2RlZmF1bHQjdXNlckRhdGEnKSI7QT10cnVlfSk7 dGFudG8ubG9hZCgiaHR0cDovL25ldHdvcmsubmV3cy5jb20uYXUvanMvdGFudG8v bmRtLnV0aWwuaGFzaC5qcyIpLm9uY29tcGxldGUoZnVuY3Rpb24oKXtuZG0udXRp bC5oYXNoLmxpc3RlbihmdW5jdGlvbigpe2Q9bigpO2YuZm9yRWFjaChmdW5jdGlv bihFKXtFKCl9KX0pfSk7cmV0dXJue21hcDpmdW5jdGlvbihFKXttPUV9LHJlZ2lz dGVyOmZ1bmN0aW9uKEUpe2lmKGwpe2w9dHJ1ZTtuKCk7cmV0dXJuIGQudXNlck1E NX11PXRydWU7dmFyIEY9bmV3IERhdGUoKS5mb3JtYXQoInl5eXkubW0uZGQuaGgu TU0uc3MiKS5yZXBsYWNlKC9bLl0vZ2ksIiIpO2QudXNlck1ENT1NYXRoLnJhbmRv bSgpKjEwMDAwMDAwKyIiK0Y7eSgpO2lmKCF3KCkpe2NvbnNvbGUubG9nKCJJdCBz ZWVtcyB0aGF0IHlvdSBoYXZlIGNvb2tpZXMgZGlzYWJsZWQgZm9yIG5ld3MuY29t LmF1LiBcblxuTm90aGluZyB3aWxsIGJlIHJlbWVtYmVyZWQuIik7bygiWW91IGhh dmUgY29va2llcyBkaXNhYmxlZCIpfWw9dHJ1ZTtyZXR1cm4gZC51c2VyTUQ1fSxs b2FkOmZ1bmN0aW9uKEUpe3ZhciBHPW9iamVjdChkKSxGPXdpbmRvdy5sb2NhdGlv bi5oYXNoLEg7eD1kb2N1bWVudC5kb21haW47aWYoIShtfHxbXSkubGVuZ3RoKXt0 aHJvdyBuZXcgRXJyb3IoIllvdSBuZWVkIHRvIHN1cHBseSBhIHNldHRpbmdzIG1h cCBiZWZvcmUgbG9hZGluZyIpfW4oKTtIPWcoKTtIPUguc3Vic3RyaW5nKDAsSC5p bmRleE9mKCImIikpO2lmKCEhRil7Rj1GLnN1YnN0cmluZyhGLmluZGV4T2YoImg9 IikpLnN1YnN0cmluZygwLEYuaW5kZXhPZigiJiIpKS5yZXBsYWNlKCIjIiwiIik7 aWYoRiE9PUgpe2lmKHdpbmRvdy5jb25maXJtKCJXYXJuaW5nOlxuXG4gWW91IGFy ZSBhYm91dCB0byBvdmVyd3JpdGUgeW91ciBuZXdzLmNvbS5hdSBob21lcGFnZSBw cmVmZXJlbmNlcy4gXG5cbkRvIHlvdSB3aXNoIHRvIHByb2NlZWQ/Iikpe2Q9bihG KTtkLnVzZXJNRDU9Ry51c2VyTUQ1fWVsc2V7d2luZG93LmxvY2F0aW9uLmhhc2g9 IiJ9fX1kPWR8fCJ7fSI7aWYoISFpJiZpIT09ZC52ZXJzaW9uKXt9aWYoISFkLnVz ZXJNRDUpe2lmKCEhQil7byh0LkxPQURFRCl9bD10cnVlfWVsc2V7bmRtLnVzZXIu cHJlZnMucmVnaXN0ZXIoKX1yZXR1cm4gZC51c2VyTUQ1fSxzZXQ6ZnVuY3Rpb24o RixJLEcsSyxFLEope2lmKCFsKXtyZXR1cm4gZmFsc2V9dHJ5e2lmKEUpe2RbRl09 ayhJKX1lbHNle2RbRl09SX15KCk7aWYoRyl7aWYodHlwZW9mIEo9PSJmdW5jdGlv biIpe0ooKX1lbHNle2lmKCEhSyl7byh0LlBPU0lUSU9OX1NBVkVELEspfWVsc2V7 byh0LlNBVkVEKX19fXJldHVybiB0cnVlfWNhdGNoKEgpe3Rocm93IEh9fSxjbGVh cjpmdW5jdGlvbigpe2Q9e307eSgpfSxleGlzdHM6ZnVuY3Rpb24oRSl7cmV0dXJu ICEhZFtFXX0sZ2V0OmZ1bmN0aW9uKEUsRixHKXtpZihGKXtyZXR1cm4gRChkW0Vd LEcpfHwtMX1lbHNle3JldHVybiBkW0VdfHwtMX19LGRlcmVnaXN0ZXI6ZnVuY3Rp b24oKXtuZG0udXRpbC5jb29raWVzLmVyYXNlKHEpO2w9ZmFsc2U7ZD17fTtyZXR1 cm4gdHJ1ZX0saXNSZWdpc3RlcmVkOmZ1bmN0aW9uKCl7bD0hIW5kbS51dGlsLmNv b2tpZXMucmVhZChxKTtyZXR1cm4gbH0sc2hvd1VybDpmdW5jdGlvbigpe3dpbmRv dy5sb2NhdGlvbi5oYXNoPWcoKX0sc2hvd1VybEluSW5wdXQ6ZnVuY3Rpb24oRSl7 ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoRSkudmFsdWU9YysiLyMiK2orZygpfSxm ZWVkYmFjazpmdW5jdGlvbihFKXtCPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKEUp fSxoaW50c0VuYWJsZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gdX0sZW5hYmxlSGludHM6 ZnVuY3Rpb24oKXt1PXRydWV9LGRpc2FibGVIaW50czpmdW5jdGlvbigpe3U9ZmFs c2V9LHNldFZlcnNpb246ZnVuY3Rpb24oRSl7aT1FfSxnZXRWZXJzaW9uOmZ1bmN0 aW9uKCl7cmV0dXJuIGl9LHNldFByZWZpeDpmdW5jdGlvbihFKXtqPUV9LGFkZFN1 YnNjcmliZXI6ZnVuY3Rpb24oRSl7Zi5wdXNoKEUpfSxsb2c6ZnVuY3Rpb24oRSl7 X2hiU2V0KEUsZyk7X2hiU2VuZCgpfSxnZXRIYXNoOmZ1bmN0aW9uKCl7cmV0dXJu IGcoKX0sZm9yY2U6ZnVuY3Rpb24oRSl7bigiaD0iK0UucmVwbGFjZSgiIyIsIiIp KX19fSgpfShuZG0ualF1ZXJ5KSk7dGFudG8ubmFtZXNwYWNlKCJuZG0udXRpbC5h ZHMiKTtuZG0udXRpbC5hZHMuc2VjdGlvbj1mdW5jdGlvbigpe307KGZ1bmN0aW9u KGIpe3ZhciBhPWI7X2dsb2JhbF9bIkBuYW1lc3BhY2UiXSgibmRtLnV0aWwuY29v a2llcyIpO25kbS51dGlsLmNvb2tpZXM9ZnVuY3Rpb24oKXtyZXR1cm57Y3JlYXRl OmZ1bmN0aW9uKGUsZixnKXt2YXIgZD1uZXcgRGF0ZSgpLGM7aWYoZyl7ZC5zZXRU aW1lKGQuZ2V0VGltZSgpKyhnKjI0KjYwKjYwKjEwMDApKTtjPSI7IGV4cGlyZXM9 IitkLnRvR01UU3RyaW5nKCl9ZWxzZXtjPSIifWRvY3VtZW50LmNvb2tpZT1lKyI9 IitmK2MrIjsgcGF0aD0vIn0scmVhZDpmdW5jdGlvbihlKXt2YXIgZz1lKyI9Iixk PWRvY3VtZW50LmNvb2tpZS5zcGxpdCgiOyIpLGgsZjtmb3IoZj0wO2Y8ZC5sZW5n dGg7ZisrKXtoPWRbZl07d2hpbGUoaC5jaGFyQXQoMCk9PT0iICIpe2g9aC5zdWJz dHJpbmcoMSxoLmxlbmd0aCl9aWYoaC5pbmRleE9mKGcpPT09MCl7cmV0dXJuIGgu c3Vic3RyaW5nKGcubGVuZ3RoLGgubGVuZ3RoKX19cmV0dXJuIG51bGx9LGVyYXNl OmZ1bmN0aW9uKGMpe25kbS51dGlsLmNvb2tpZXMuY3JlYXRlKGMsIiIsLTEpfX19 KCl9KG5kbS5qUXVlcnkpKTsoZnVuY3Rpb24oYil7dmFyIGE9Yjt0YW50by5uYW1l c3BhY2UoIm5kbS51dGlscy5mYXR3aXJldG92aWduZXR0ZSIpO25kbS51dGlscy5m YXR3aXJldG92aWduZXR0ZT17bG9va3VwOntORVdTOiJuZXdzIixUQVVTOiJ0aGVh dXN0cmFsaWFuIixUQVVTQlVTOiJ0aGVhdXN0cmFsaWFuIixEVE06ImRhaWx5dGVs ZWdyYXBoIixIV1Q6ImhlcmFsZHN1biIsVENNOiJjb3VyaWVybWFpbCIsVFNUOiJw ZXJ0aG5vdyIsQURWOiJhZGVsYWlkZW5vdyJ9LGdldFNpdGU6ZnVuY3Rpb24oZCl7 dmFyIGM9IiI7aWYoZC5wcmVmaXgpe2MrPWQucHJlZml4fWlmKHRoaXMubG9va3Vw W2QuaWRdKXtjKz10aGlzLmxvb2t1cFtkLmlkXTtyZXR1cm4gY31lbHNle3JldHVy biBmYWxzZX19LGdldFNlY3Rpb25zOmZ1bmN0aW9uKGMpe3ZhciBkLGY9W10sZz0i IixlPTA7Yy5zZWN0aW9ucz1jLnNlY3Rpb25zLnRvTG93ZXJDYXNlKCk7Zj1jLnNl Y3Rpb25zLnNwbGl0KCIuIik7aWYoYy5kZXB0aCYmKGMuZGVwdGg8Zi5sZW5ndGgp KXtlPWMuZGVwdGh9ZWxzZXtlPWYubGVuZ3RofWZvcihkPTA7ZDxlO2Q9ZCsxKXtn Kz1mW2RdO2crPSIvIn1yZXR1cm4gZ319fShuZG0ualF1ZXJ5KSk7KGZ1bmN0aW9u KGIpe3ZhciBhPWI7dGFudG8ubmFtZXNwYWNlKCJ0YW50by5kYiIpO2lmKCF0YW50 by51dGlsLmNvb2tpZXMpe3RhbnRvLmxvYWQoImh0dHA6Ly9uZXR3b3JrLm5ld3Mu Y29tLmF1L2pzL25kbS51dGlsLmNvb2tpZXMuanMiKX1pZighSlNPTil7dGFudG8u bG9hZCgiaHR0cDovL25ldHdvcmsubmV3cy5jb20uYXUvanMvanNvbi5qcyIpfXRh bnRvLmRiPWZ1bmN0aW9uKCl7aWYodHlwZW9mIHdpbmRvdy5TdG9yYWdlTGlzdD09 PSJ1bmRlZmluZWQiKXt3aW5kb3cuU3RvcmFnZUxpc3Q9ZnVuY3Rpb24oKXtyZXR1 cm4gZmFsc2V9fXZhciBwPWZhbHNlLG09ISgodHlwZW9mIGxvY2FsU3RvcmFnZT09 PSJ1bmRlZmluZWQiKXx8IShsb2NhbFN0b3JhZ2UgaW5zdGFuY2VvZiBTdG9yYWdl KSksZT0hKCh0eXBlb2YgZ2xvYmFsU3RvcmFnZT09PSJ1bmRlZmluZWQiKXx8IShn bG9iYWxTdG9yYWdlIGluc3RhbmNlb2YgU3RvcmFnZUxpc3QpKSxvPXRhbnRvLmRv bS5pc0lFKCksbD0ibmV0d29yay1iYXIiLGs9ZG9jdW1lbnQuZG9tYWluLGM9MTAw MCxuPSIiLGk9e30sZD0iaHR0cDovL3d3dy5uZXdzLmNvbS5hdS8iLGg9InRhbnRv ZGIiLGc9ZmFsc2UsaixmPWZ1bmN0aW9uKCl7dmFyIHIsdix0O2lmKHApe2o9Z29v Z2xlLmdlYXJzLmZhY3RvcnkuY3JlYXRlKGgpO2oub3BlbigidW5pdmVyc2UiKX1l bHNle2lmKG0pe3RyeXt2PWxvY2FsU3RvcmFnZVtoXXx8IiJ9Y2F0Y2godSl7aWYo dS5jb2RlPT09Yyl7dj10YW50by51dGlsLmNvb2tpZXMucmVhZChoKX19fWVsc2V7 aWYoZSl7dHJ5e3Y9Z2xvYmFsU3RvcmFnZVtrXVtoXXx8IiJ9Y2F0Y2gocyl7aWYo cy5jb2RlPT09Yyl7dj10YW50by51dGlsLmNvb2tpZXMucmVhZChoKX19fWVsc2V7 aWYobyl7cj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChsKTtpZighcil7dj0iIn1l bHNle3RyeXtyLmxvYWQoaCk7dj1yLmdldEF0dHJpYnV0ZSgidGFudG9Vc2VyRGF0 YSIpfWNhdGNoKHcpe3Y9dGFudG8udXRpbC5jb29raWVzLnJlYWQoaCl9fX1lbHNl e3Y9dGFudG8udXRpbC5jb29raWVzLnJlYWQoaCl8fHt9fX19fWlmKHYpe3Q9disi IjtpZih0IT09IltvYmplY3QgT2JqZWN0XSImJnQubGVuZ3RoPjApe2k9SlNPTi5w YXJzZSh0KX1lbHNle2k9e319fWVsc2V7aT17fX19LHE9ZnVuY3Rpb24oKXt2YXIg cyx3LHI7aWYocCl7fWVsc2V7aWYobSl7dHJ5e2xvY2FsU3RvcmFnZVtoXT1KU09O LnN0cmluZ2lmeShpKX1jYXRjaCh1KXt0YW50by51dGlsLmNvb2tpZXMuY3JlYXRl KGgsSlNPTi5zdHJpbmdpZnkoaSksMzAwKX19ZWxzZXtpZihlKXt0cnl7Z2xvYmFs U3RvcmFnZVtrXVtoXT1KU09OLnN0cmluZ2lmeShpKX1jYXRjaCh0KXt0YW50by51 dGlsLmNvb2tpZXMuY3JlYXRlKGgsSlNPTi5zdHJpbmdpZnkoaSksMzAwKX19ZWxz ZXtpZihvKXtzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGwpO2c9ISFzO3RyeXtp ZihnKXtzLnN0eWxlLmJlaGF2aW91cj0idXJsKCcjZGVmYXVsdCN1c2VyRGF0YScp IjtzLnNldEF0dHJpYnV0ZSgidGFudG9Vc2VyRGF0YSIsSlNPTi5zdHJpbmdpZnko aSkpO3c9bmV3IERhdGUoKTt3LnNldFVUQ0Z1bGxZZWFyKCIyMDE1Iik7cj13LnRv VVRDU3RyaW5nKCk7cy5leHBpcmVzPXI7cy5zYXZlKGgpfX1jYXRjaCh2KXtvPWZh bHNlO3RhbnRvLnV0aWwuY29va2llcy5jcmVhdGUoaCxKU09OLnN0cmluZ2lmeShp KSwzMDApfX1lbHNle3RhbnRvLnV0aWwuY29va2llcy5jcmVhdGUoaCxKU09OLnN0 cmluZ2lmeShpKSwzMDApfX19fX07dGFudG8uZG9tLmFkZExvYWRFdmVudChmdW5j dGlvbigpe2lmKCFkb2N1bWVudC5nZXRFbGVtZW50QnlJZChsKSl7dmFyIHI9ZG9j dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ci5pZD1sO2RvY3VtZW50LmJvZHku YXBwZW5kQ2hpbGQocil9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobCkuc3R5bGUu YmVoYXZpb3VyPSJ1cmwoJyNkZWZhdWx0I3VzZXJEYXRhJykiO2c9dHJ1ZX0pO3Jl dHVybntzYXZlOmZ1bmN0aW9uKHIpe2lmKCEoci5oYXNPd25Qcm9wZXJ0eSgiX2lk IikmJnR5cGVvZiByLl9pZD09PSJzdHJpbmciKSl7cmV0dXJuIGZhbHNlfWlbci5f aWRdPXI7cSgpO3JldHVybiB0cnVlfSxvcGVuOmZ1bmN0aW9uKHIpe2YoKTtyZXR1 cm4gaVtyXX19fSgpfShuZG0ualF1ZXJ5KSk7 ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=site-perthnow-min.js Content-Type: application/x-javascript; name=site-perthnow-min.js Content-Location: http://resources1.news.com.au/cs/js/site-perthnow-min.js Content-Transfer-Encoding: Base64 KGZ1bmN0aW9uKGIpe3ZhciBhPWI7Yihkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24o KXtiKCJib2R5IikubkpTQ2xhc3NSZXNldCgpO2IoIiNuYXYtd3JhcCB1bCBsaSIp Lm5Qb3BNZW51KHtwYXJlbnRIb3ZlckNsYXNzOiJqcy1ob3ZlciIsYWRkaXRpb25h bEhvdmVyQ2xhc3NSZWdleDovKG5hdi1bMC05YS16XC1fXSopL2d9KTtiKCIuanMt cG9wbWVudSIpLm5Qb3BNZW51KCk7YigiLmpzLXBvcG1lbnUtcGFyZW50IikublBv cE1lbnUoKTtiKCIuc3RvcnktaGVhZGVyLXRvb2xzIGxpLmJ1dHRvbi1zaGFyZSIp Lm5Qb3BNZW51KCk7YigiLmpzLWFjY29yZGlvbiIpLm5BY2NvcmRpb24oKTtiKCIu anMtZmFkZXIiKS5uRmFkZXIoe2F1dG86dHJ1ZX0pO2IoIi5qcy1zdG9yeS1mYWRl ciIpLm5TdG9yeUZhZGVyKHthdXRvOnRydWV9KTtiKCIuanMtc3Rvcnktc2Nyb2xs ZXIiKS5uU3RvcnlGYWRlcih7YXV0bzp0cnVlLGFuaW1hdGlvblR5cGU6InNjcm9s bCIsY29udGVudEl0ZW06Ii5qcy1zY3JvbGxlci1pdGVtIixjb250cm9sczoiLmpz LXNjcm9sbGVyLWNvbnRyb2xzIixuZXh0OiIuanMtc2Nyb2xsZXItbmV4dCIscHJl djoiLmpzLXNjcm9sbGVyLXByZXYiLGNvdW50ZXI6Ii5qcy1zY3JvbGxlci1jb3Vu dGVyIn0pO2IoIi5qcy10YWJiZWQiKS5uVGFicyh7dW5pZm9ybUhlaWdodDp0cnVl fSk7YigiLmpzLXNjcm9sbGVyIikublNjcm9sbGVyKHthdXRvSGVpZ2h0OnRydWV9 KTtiKCIuanMtZm9udC1pbmMiKS5uRm9udFJlc2l6ZXIoKTtiKCIuanMtZm9udC1k ZWMiKS5uRm9udFJlc2l6ZXIoe3N0ZXA6LTF9KTtiKCIuanMtY2xpY2thYmxlLWNv bnRlbnQiKS5uQ2xpY2thYmxlQ29udGVudCgpO2IoImJvZHkuaG9tZXBhZ2UgLmNv bW1lbnQtYm9keSBwIikublRydW5jYXRlVGV4dCh7dHJ1bmNhdGVBdDoyMzB9KTti KCJib2R5LnNlY3Rpb24gLmNvbW1lbnQtYm9keSBwIikublRydW5jYXRlVGV4dCh7 dHJ1bmNhdGVBdDoyMzB9KTtiKCIjY29udGVudC01IC5tb3N0LXBvcHVsYXIgbGkg YSIpLm5UcnVuY2F0ZVRleHQoe3RydW5jYXRlQXQ6MzZ9KTtiKCIjc2VjdGlvbi1o ZWFkZXItbG9nbyBoMSIpLmVhY2goZnVuY3Rpb24oKXtiKHRoaXMpLmh0bWwoYih0 aGlzKS50ZXh0KCkucmVwbGFjZSgvKF5cdyspLywiPHNwYW4+JDE8L3NwYW4+Iikp fSk7YigiI3NlY3Rpb24taGVhZGVyLW5hdiBkZCIpLmhvdmVyKGZ1bmN0aW9uKCl7 Yih0aGlzKS5hZGRDbGFzcygianMtaG92ZXIiKX0sZnVuY3Rpb24oKXtiKHRoaXMp LnJlbW92ZUNsYXNzKCJqcy1ob3ZlciIpfSk7cG9sbC5pbml0KCk7YSgiLmpzLWJy YW5kZXhwYW5kZXIiKS5icmFuZGV4cGFuZGVyKHt0b2dnbGU6dHJ1ZX0pO2EoIi5q cy1ubWQtc29jaWFsaXNlIikuc29jaWFsaXNlKCk7YSgiLm1vZHVsZS1waG90b3Jl dmVhbCIpLnBob3RvcmV2ZWFsKCk7bmRtLnNvY2lhbGlzZS5zdG9yeS5pbml0KCk7 bmRtLmNvbnRyb2xzLnBvcHVwcy5saXN0ZW4oKX0pfShuZG0ualF1ZXJ5KSk7 ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=layout-2plus1.css Content-Type: text/css; name=layout-2plus1.css Content-Location: http://resources.news.com.au/cs/network/css/layout-2plus1.css Content-Transfer-Encoding: 8bit /* 2+1 layout. */ /* Network resource - do not edit. Change requests go to Frontend Architects. */ /* reset ---------------------------------------------------------------------- */ /* standard structure element reset */ body, #page, #skip-links, #network-bar, #header, #nav, #content, #content-2, #content-3, #content-4, #content-5, #content-5, #footer, #stats { margin: 0; padding: 0; } img { border: 0; } /* common element reset */ p, ul, ol, dl, div, span, h1, h2, h3, h4, h5, h6 { margin: 0; padding: 0; } ul { list-style-type: none; } /* layout ---------------------------------------------------------------------- */ #skip-links, #stats, .assistive, #content .assistive-group-header .group-header, #content .assistive-module-header .module-header { position: absolute; left: -5000em; width: 4000em; height: 0; overflow: hidden; } form .honey { display: none; } #page { width: 1000px; text-align: left; margin: 0 auto; padding: 0; } #header, #footer, #stats { clear: both; } /* force clear after groups */ .group:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } /* =IE7 */ *+ html .group { display: inline-block; } /* =IE6 */ * html .group { display: inline-block; overflow: hidden; } .group-content { margin: 0; padding: 0; } .item { margin: 0; padding: 0; float: left; } /* pagination & breadcrumbs ---------------------------------------------------------------------- */ .pagination, .breadcrumbs { list-style-type: none; } .pagination li, .breadcrumbs li { display: inline; float: left; } .pagination li:after, .breadcrumbs li:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } /* section header nav ---------------------------------------------------------------------- */ #section-header-nav ul { list-style-type: none; } #section-header-nav ul li { display: inline; float: left; } #section-header-nav ul li:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } #section-header-nav dt, #section-header-nav dd { display: inline; float: left; } #section-header-nav dt:after, #section-header-nav dd:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } /* #content-2 (primary): two cols; #content-3 (secondary): single column ---------------------------------------------------------------------- */ #content-2, #content-3 { float: left; margin: 0; padding: 0; } #content-2 { width: 676px; min-height: 1px; } /* min height to prevent FF collapsing C2 if it's empty */ * html #content-2 { overflow: hidden; } /* =IE6 */ #content-3 { width: 324px; } * html #content-3 { width: 316px; } /* =IE6 */ /* #content-2 -------------------- */ #content-2 .group { margin-left: 8px; margin-right: 18px; width: 650px; } #content-2 .ipos-1 { margin-right: 18px; } #content-2 .group-header, #content-2 .group-footer { position: relative; } #content-2 .item-count-1 .module { width: 650px; } * html #content-2 .item-count-1 .module { overflow: hidden; } /* =IE6 */ /* #content-3 -------------------- */ #content-3 .group.item-count-1 .group-header, #content-3 .group.item-count-1 .item, #content-3 .group.item-count-1 .group-footer, #content-3 .module, #content-3 .group { width: 316px; } #content-3 .group .item { float: none; } /* overflow prevention -------------------- */ #content-2, #story { max-width: 676px; } #content-3 { max-width: 324px; overflow: hidden; } /* content-1, content-4, content-5: full width/3 cols -------------------- */ #content-1, #content-4, #content-5 { width:1000px; clear: both; } #content-1 .group, #content-4 .group, #content-5 .group { width: 984px; margin-left: 8px; } #content-4 .item-count-1 .module { width: 984px; } #content-1 .group .ipos-1, #content-4 .group .ipos-1, #content-5 .group .ipos-1, #content-1 .group .ipos-2, #content-4 .group .ipos-2, #content-5 .group .ipos-2 { margin-right: 18px; } /* Navigation ---------------------------------------------------------------------- */ #nav { width:1000px; float:left; } /* Gallery ---------------------------------------------------------------------- */ /* standard gallery */ body.gallery #gallery { width: 650px; overflow: hidden; padding: 0 18px 10px 8px; float: left; } body.gallery div.gallery-image { width: 650px; } body.gallery .gallery-preroll .gallery-image { width: 650px; height: 350px; } /* filmstrip gallery */ body.filmstrip-gallery #gallery { width: 650px; overflow: hidden; padding: 0 18px 10px 8px; float: left; } body.filmstrip-gallery .filmstrip-gallery-image { position: relative; } body.filmstrip-gallery .filmstrip-gallery-image, body.filmstrip-gallery .filmstrip-gallery-image .module-content { width: 650px; } .filmstrip-gallery-image .image-frame { float: left; } .filmstrip-gallery-image .image-caption { float: left; } body.filmstrip-gallery .filmstrip-gallery-image .filmstrip { clear: both; } body.filmstrip-gallery .filmstrip-gallery-image .filmstrip li { display: inline-block; float: left; margin: 0 10px 0 0; } body.filmstrip-gallery .filmstrip-gallery-image .filmstrip li.lirpos-1 { margin: 0; } .filmstrip-link { text-align: center; } /* Multimedia ---------------------------------------------------------------------- */ body.multimedia #multimedia { width: 650px; overflow: hidden; padding: 0 18px 10px 8px; float: left; } body.multimedia div.multimedia-module { width: 650px; } ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=defaults-2plus1.css Content-Type: text/css; name=defaults-2plus1.css Content-Location: http://resources.news.com.au/cs/network/css/defaults-2plus1.css Content-Transfer-Encoding: Quoted-Printable /* Network resource - do not edit. Change requests go to Frontend Archit= ects. */ body { font-size: 12px; font-family: Arial, Helvetica, sans-serif; } /* ---------------------------------------------------------------------= - */ /* Content, group and item */ /* ---------------------------------------------------------------------= - */ abbr { border: 0; cursor: help; } /* default group and item setup -------------------- */ .group-header, = .group-footer { position: relative; clear: both; min-height: 1.2em; } .group-header .more-link, .group-header .more-links, .group-footer .more-link, .group-footer .more-links { position: absolute= ; top: 0; right: 0; } .group-header .more-link li, .group-header .more-links li, .group-footer .more-link li, .group-footer .more-links li { display: inl= ine; } /* default module setup = -------------------- */ .module { width: 316px; clear: both; } .module .module-header, .module .module-subheader { position: relative; = } .module .module-related { clear: both; } .module .related { list-style-type: disc; margin-left: 2em; } .module-header .more-links, .module-subheader .more-links, .module-foote= r .more-links { list-style-type: none; position: absolute; top: 0; right= : 0; z-index: 1; } .module-header .more-link, .module-subheader .more-link, .module-footer = .more-link { position: absolute; top: 0; right: 0; z-index: 1; } .module .module-footer { position: relative; clear: both; min-height: 1.= 2em; } * html .module .module-footer { height: 1.2em; } /* kicker weight - note colour options set per site */ span.kicker-em { font-style: italic; } span.kicker-strong { font-weight: bold; } /* module lists */ .module-content ol li { margin-left: 2em; } .module-content dt { font-weight: bold; } .module-content dd { margin-left: 2em; } /* remove counters and spacing off controls lists */ .module-content .controls ol { list-style-type: none; } .module-content .controls ol li { margin-left: 0; } /* light default for site search */ .media-search-input label.search-for {position:absolute; left:-5000em; w= idth:4000em; height:0; overflow:hidden;} .media-search-input { width:180px; } = .media-search-input input { width:120px; } = .media-search-input input.submit {width:50px; } /* story block -------------------- */ .story-block .thumbnail, .scroller .thumbnail { border: 0; float: left; = width: 100px; height: 75px; /* oversize prevention */ } .story-block { clear: both; _height:1%} .story-block:after { content: "."; display: block; height: 0; clear: bot= h; visibility: hidden; } /* If you ever need to reset this, just use .scoping-selector .story-blo= ck:after { display: none; }*/ /* thumbnail control -------------------- */ img.thumbnail { width: 100px; height: 75px; } /* image modules ---------------------------------------------------------------------- *= / /* image modules -------------------- */ #content-2 .item-count-1 .image-module { width: 650px; } #content-2 .item-count-2 .image-module { width: 316px; } #content-2 .item-count-1 .image-module .module-content { width: 650px; t= ext-align: center; } #content-2 .item-count-1 .image-module .module-content .image-frame { ma= rgin: 0 auto; } #content-2 .item-count-1 .image-module .caption { text-align: left; } /* dashes have been dropped in some cases, change may be permanent; doub= led here for the time being. */ .image-288w-433h, = .image-288w433h, = .module-image-288w-433h, = .module-image-288w433h, = .image-316w-237h, = .image-316w-211h, = .image-316w-421h, .module-image-316w-237h, = .module-image-316w-211h, = .module-image-316w-421h, .image-316w237h, = .image-316w211h, = .image-316w421h, .module-image-316w237h, = .module-image-316w211h, = .module-image-316w421h { width:316px; } .image-366w-488h, = .image-366w488h, = .module-image-366w-488h, = .module-image-366w488h, = .image-650w-366h, = .image-650w-488h, = .image-650w-433h, .module-image-650w-366h, = .module-image-650w-488h, = .module-image-650w-433h, .image-650w366h, = .image-650w488h, = .image-650w433h, .module-image-650w366h, = .module-image-650w488h, = .module-image-650w433h { width:650px; } /* ---------------------------------------------------------------------= - */ /* Promo blocks */ /* ---------------------------------------------------------------------= - */ .promo-block { margin: 0; padding: 0; } /* make sure short promos don't have images busting out */ .promo-image:after, = .promo-inner:after, .promo-links:after { content: "."; display: block; height: 0; clear: bot= h; visibility: hidden; } * html .promo-inner { display: inline-block; } /* =3DIE6 */ *+ html .promo-inner { display: inline-block; } /* =3DIE7 */ /* promo: splash image -------------------- */ /* handle P tag from fck editor */ .promo-splash-01 .promo-inner { width: 100%; } .promo-splash-01 .caption p { display: inline; } * html .promo-splash-01 .caption p { display: inline; margin-right: 5px;= } /* stop =3DIE6 collapsing the whitespace */ * html .promo-splash-01 .read-more { white-space: nowrap; display: inlin= e-block; } /* stop =3DIE6 breaking to two lines */ /* promo: image promos, just linked images -------------------- */ .promo-image-01 { width: auto; } /* promo: no images -------------------- */ /* .promo-block-01 {} .promo-block-02 {} */ /* promo: image promos -------------------- */ .promo-block-03, .promo-block-06, = .promo-block-04, .promo-block-07, .promo-block-05, .promo-block-08 { min-height: 75px; } .promo-block-03 .promo-image, .promo-block-06 .promo-image, .promo-block-09 .promo-image { text-align: center; } .promo-block-04 .promo-image, .promo-block-07 .promo-image { float: left; } .promo-block-05 .promo-image, .promo-block-08 .promo-image { float: right; }/* test2 */ /* promo: showcase promos -------------------- */ .promo-showcase-01, = .promo-showcase-02, = .promo-showcase-03, = .promo-showcase-04 { width: 152px; margin: 0; } /* promo: thumbnail promos -------------------- */ .promo-thumbnail-01, .promo-thumbnail-02 { height: 75px; } .promo-thumbnail-01 .promo-image { float: right; } .promo-thumbnail-02 .promo-image { float: left; } .promo-thumbnail-01 .promo-inner, .promo-thumbnail-02 .promo-inner { display: block; } /* promo: wide thumbnail promos -------------------- */ .promo-widethumb-01, = .promo-widethumb-02 { height: 86px; width: 316px; } .promo-widethumb-01 .promo-image { float: right; } .promo-widethumb-02 .promo-image { float: left; } /* promo: background image promos, where the image is set as a backgroun= d remember background-image is set in the markup. -------------------- */ .promo-background-01, = .promo-background-02, = .promo-background-03, = .promo-background-04, = .promo-background-05 { min-height: 150px; background-color: #fff; backgr= ound-position: bottom right; background-repeat: no-repeat; } .promo-background-01 .promo-inner { margin: 10px; } .promo-background-02 .promo-inner, .promo-background-03 .promo-inner { width: 180px; margin: 10px; } .promo-background-02 .promo-inner { float: left; } .promo-background-03 .promo-inner { float: right; } .promo-background-04 .promo-inner, .promo-background-05 .promo-inner { width: 148px; margin: 10px; } .promo-background-04 .promo-inner { float: left; } .promo-background-05 .promo-inner { float: right; } /* ---------------------------------------------------------------------= - */ /* Multi promos */ /* ---------------------------------------------------------------------= - */ /* Clickable content ---------------------------------------------------------------------- *= / .has-js .js-clickable-content { cursor: pointer; } /* Tabbed Multi-Promo = ---------------------------------------------------------------------- *= / .tabbed .tab-set { display: none; } .tabbed .tab-content { border-bottom: 1px solid #eee; } .has-js .tabbed .module-controls { clear: both; } .has-js .tabbed .module-content { clear: both; } .has-js .tabbed .tab-set { float: left; list-style: none; padding: 0; ma= rgin: 0; display: block; } .has-js .tabbed .tab-set .tab { cursor: pointer; float: left; padding: 0= px 5px 3px; margin: 0; } .has-js .tabbed .tab-set .tab a { display: block; text-decoration: none;= } .has-js .tabbed .js-active-tab { background: #eee; } .has-js .js-tabbed .tab-content { clear: both; } .has-js .js-tabbed .js-tab-content { top: -9999px; left: -9999px; positi= on: absolute; } .has-js .js-tabbed .tab-set + div { position: static; } .has-js .js-tabbed .js-inactive-content { position: absolute !important;= } .has-js .js-tabbed .js-active-content { position: relative; top: 0; left= : 0; border-bottom: none; } .has-js .js-tabbed .js-tab-content .promo-inner { display: block; } .has-js #story .tab-set { background: #fff; display: block; width: auto;= padding: 0px; margin: 0px; } .article-media .controls, .article-media .js-tab { display: none; } .article-media .js-ready .controls, .article-media .js-ready .js-tab { display: block; } /* Scroller - Multi-Promo ---------------------------------------------------------------------- *= / .has-js .scroller { background: white; overflow: hidden; } .has-js .scroller .scroll-viewport { overflow: hidden; position: relativ= e; } .has-js .scroller .scroll-item { float: left; } .has-js .scroller .scroll-item.cirpos-1 { margin-right: -3px; } .has-js .scroller .scroll-content { float: left; left: 0; position: abso= lute; top: 0; } .has-js .scroller .scroll-item div { padding: 3px; } .has-js .scroller .scroll-prev-button, .has-js .scroller .scroll-next-button { float: left; margin: 5px; cursor= : pointer; } .has-js .scroller .scroll-scrubber { background: #ccc; cursor: pointer; = font-size: 9px; height: 15px; padding: 1px; position: absolute; } .has-js .scroller .scroll-scrubber-track { background: #eee; height: 17p= x; position: relative; } .has-js .scroller .scroll-item .promo-inner { display: block; } .has-js .scroller { width: 316px; } .has-js .scroller .scroll-viewport { width: 316px; } .has-js .scroller .scroll-content .promo-block, .has-js .scroller .scroll-content .story-block, .has-js .scroller .scroll-content .showcase-block { float: left; width: = 316px; } .has-js .scroller.scrollomatic-2col { width: 650px; } .has-js .scroller.scrollomatic-2col .scroll-viewport { margin: 3px; widt= h: 644px; } .has-js .scroller.scrollomatic-2col .scroll-content .promo-block, .has-js .scroller.scrollomatic-2col .scroll-content .story-block { margi= n:0 3px 0 0; width: 159px; } .has-js .scroller.scrollomatic-2col .scroll-content .cirpos-1 .promo-blo= ck, .has-js .scroller.scrollomatic-2col .scroll-content .cirpos-1 .story-blo= ck { margin-right: 0; } .scroller .js-scroll-controls { display: none; } .has-js .scroller .js-scroll-controls { display: block; } /* Vertical Accordion - Multi-Promo ---------------------------------------------------------------------- *= / .has-js .accordion .module-content { min-height: 100px; } .has-js .accordion .module-content .promo-inner { display: block; } .has-js .accordion .accordion-handle { background: #eee; margin: 0; } .has-js .accordion .accordion-handle a { display: block; } .has-js .accordion .js-acc-open .accordion-handle { background: #999; } .has-js .accordion .js-acc-closed .accordion-content { height: 0px; over= flow: hidden; } /* Faders - Multi-Promo ---------------------------------------------------------------------- *= / .js-fader .image-overlay { display: none; } /* Image fader */ .has-js .image-fader .fader-item { display: none; } .has-js .image-fader .cipos-1 { display: block; } .has-js .image-fader .fader-item:first-child { display: block; } .has-js .image-fader .js-fader-inactive { display: none !important; } .has-js .image-fader .js-fader-active { display: block; } .image-fader a img { border: none; } .has-js .image-fader { font-size: 12px; position: relative; /* width: 31= 6px;*/ } = .has-js .image-fader .image-block { overflow: hidden; position: relative= ; /* width: 316px; */ } .has-js .image-fader .image-block .caption { background: #E2E2E2; height= : 55px; overflow: hidden; padding: 2px; } .has-js .image-fader .fader-controls { background: #fff; float: right; p= adding: 0 3px 0 3px; position: absolute; text-align: right; right: 2px; = top: 245px; } .has-js .image-fader .fader-controls .fader-prev-button, .has-js .image-fader .fader-controls .fader-next-button { cursor: pointe= r; display: inline; } .has-js .image-fader .fader-controls .fader-counter-container { display:= inline; padding: 0 4px; } = .image-fader .fader-controls { display: none; } /* If no JS*/ .has-js .js-ready .fader-controls { display: block; } /* Feature fader */ .has-js .features-fader-contentcontrols { width: 650px; } .has-js .features-fader-contentcontrols .js-fader-item .image-block { di= splay: none; } .has-js .features-fader-contentcontrols .cipos-1 .image-block { display:= block; } .has-js .features-fader-contentcontrols .js-fader-inactive .image-block = { display: none; } .has-js .features-fader-contentcontrols .js-fader-item.js-fader-active .= image-block { display: block; } .has-js .features-fader-contentcontrols a img { border: none; } .has-js .features-fader-contentcontrols { font-size: 12px; width: 100%; = overflow: hidden; } .has-js .features-fader-contentcontrols .module-content { position: rela= tive; height: 237px; width: 100%; } .has-js .features-fader-contentcontrols .module-content .image-block { p= osition: absolute; top: 0; left: 0; overflow: hidden; } .has-js .features-fader-contentcontrols .module-content .js-fader-active= { background: #eee; } .has-js .features-fader-contentcontrols .module-content .story-block, .has-js .features-fader-contentcontrols .module-content .promo-block { p= adding-left: 326px; } .has-js .features-fader-contentcontrols .module-content .promo-block .p= romo-inner { display: block; } = /* Story fader -------------------------------------------------- */ .module.story-fader .fader-controls { display: none; width: 110px; posit= ion: absolute; top: 0px; right: 0px; } .module.story-fader .fader-controls .fader-next-button { float: right; }= .module.story-fader .fader-controls .fader-counter-container { float: ri= ght; margin: 0; padding: 0; } .module.story-fader .fader-controls .fader-prev-button { float: left; } .has-js .module.story-fader { position: relative; } .has-js .module.story-fader .module-header .heading { padding-right: 110= px; } .has-js .module.story-fader .module-content { min-height: 100px; _height= : 100px; position: relative; } .has-js .module.story-fader .module-content .content-item { background-c= olor: #fff; } .has-js .module.story-fader .module-content .promo-block .promo-inner {= display: block; } = .has-js .module.js-ready .fader-controls { display: block; } .has-js .module.story-fader .fader-item { display: none; } .has-js .module.story-fader .cipos-1 { display: block; position: static;= } /* Story scroller -------------------------------------------------- */ .module.story-scroller .scroll-controls { display: none; } .module.story-scroller .scroll-controls .scroll-next-button { float: lef= t; } .module.story-scroller .scroll-controls .scroll-counter-container { floa= t: left;} .module.story-scroller .scroll-controls .scroll-prev-button { float: lef= t; } .has-js .module.story-scroller { position: relative; overflow: hidden; }= .has-js .module.story-scroller .module-content { min-height: 100px; _hei= ght: 100px; position: relative; } .has-js .module.story-scroller .module-content:after { content: "."; dis= play:block; clear: both; visibility: hidden; height: 0; } .has-js .module.story-scroller .module-content .content-item { width: 31= 6px; float:left; } .has-js .module.js-ready .scroll-controls { display: block; } /* random-item - no-js display the first item - has-js display loading graphic - js-ready get rid of loading graphic and show items */ .no-js .module.js-random-item .content-item, .no-js .module.js-random-item .story-block {display: none;} .no-js .module.js-random-item .cipos-1, .no-js .module.js-random-item .sbpos-1 {display: block;} .has-js .module.js-random-item .module-content { background: url(../images/ajax-loader.gif) 50% 50% no-repeat transparen= t !important; height: 100px; overflow: hidden; } .has-js .module.js-random-item .content-item, .has-js .module.js-random-item .story-block {display: none;} .has-js .module.js-random-item .fader-controls {display: none;} .has-js .module.js-random-item .module-content .related {display: none;}= .has-js .module.js-random-item.js-ready .module-content { background: none !important; height: auto; } .has-js .module.js-random-item .content-item.js-ready, .has-js .module.js-random-item .story-block.js-ready {display: block;} .has-js .module.js-random-item.js-ready .module-content .related {displa= y: block;} /* shuffle-items - no-js displays all items as normal - has-js display loading graphic - shuffle-ready get rid of loading graphic and show items */ .has-js .module.js-shuffle-items .module-content { background: url(../images/ajax-loader.gif) 50% 50% no-repeat transparen= t !important; height: 100px; overflow: hidden; } .has-js .module.js-shuffle-items .content-item, .has-js .module.js-shuffle-items .story-block {display: none;} .has-js .module.js-shuffle-items .module-content .related {display: none= ;} .has-js .module.js-shuffle-items.shuffle-ready .module-content { background: none !important; height: auto; } .has-js .module.js-shuffle-items .content-item.shuffle-ready, .has-js .module.js-shuffle-items .story-block.shuffle-ready {display: bl= ock;} .has-js .module.js-shuffle-items.shuffle-ready .module-content .related = {display: block;} /* Showcase - the default Multi-Promo ---------------------------------------------------------------------- = .multi-promo .content-item { float: left; margin-right: 6px; display: in= line-block; } .multi-promo .module-content:after, = .multi-promo .content-item:after { content: "."; display: block; height:= 0; clear: both; visibility: hidden; } #content-2 .item-count-1 .multi-promo { width: 650px; } #content-2 .item-count-1 .multi-promo .content-item { margin-right: 14px= ; } #content-2 .item-count-1 .multi-promo .cipos-4, #content-2 .item-count-1 .multi-promo .cipos-8 { margin-right: 0; } #content-2 .item-count-2 .multi-promo { width: 316px; } #content-2 .item-count-2 .multi-promo .content-item { margin-right: 12px= ; } #content-2 .item-count-2 .multi-promo .cirpos-1, #content-2 .item-count-2 .multi-promo .cirpos-3, #content-2 .item-count-2 .multi-promo .cirpos-5, #content-2 .item-count-2 .multi-promo .cirpos-7, #content-2 .item-count-2 .multi-promo .cirpos-9 { margin-right: 0; } #content-3 .multi-promo .content-item { margin-right: 12px; } #content-3 .multi-promo .cirpos-1, #content-3 .multi-promo .cirpos-3, #content-3 .multi-promo .cirpos-5, #content-3 .multi-promo .cirpos-7, #content-3 .multi-promo .cirpos-9 { margin-right: 0; } #content-4 .item-count-1 .multi-promo { width: 100%; } #content-4 .item-count-1 .multi-promo .module-content { width: 984px; mi= n-height: 100px; } #content-4 .item-count-1 .multi-promo .content-item { float: left; width= : 158px; } * html #content-4 .item-count-1 .multi-promo .content-item { float: left= ; width: 158px; } #content-4 .item-count-1 .multi-promo .module-content:after { content: "= ."; display: block; height: 0; clear: both; visibility: hidden; } #content-4 .item-count-1 .multi-promo .module-content { display: inline-= block; } */ /* Showcase ---------------------------------------------------------------------- *= / .showcase .content-item { float: left; display: inline-block; } .showcase .module-content:after, = .showcase .content-item:after { content: "."; display: block; height: 0;= clear: both; visibility: hidden; } /* #content-2 .item-count-1 .showcase { width: 650px; } #content-2 .item-count-1 .showcase .content-item { margin-right: 14px; }= #content-2 .item-count-1 .showcase .cipos-4, #content-2 .item-count-1 .showcase .cipos-8 { margin-right: 0; } #content-2 .item-count-2 .showcase { width: 316px; } #content-2 .item-count-2 .showcase .content-item { margin-right: 12px; }= #content-2 .item-count-2 .showcase .cirpos-1, #content-2 .item-count-2 .showcase .cirpos-3, #content-2 .item-count-2 .showcase .cirpos-5, #content-2 .item-count-2 .showcase .cirpos-7, #content-2 .item-count-2 .showcase .cirpos-9 { margin-right: 0; } #content-3 .showcase .content-item { margin-right: 12px; } #content-3 .showcase .cirpos-1, #content-3 .showcase .cirpos-3, #content-3 .showcase .cirpos-5, #content-3 .showcase .cirpos-7, #content-3 .showcase .cirpos-9 { margin-right: 0; } #content-4 .item-count-1 .showcase { width: 100%; } #content-4 .item-count-1 .showcase .module-content { width: 984px; min-h= eight: 100px; } #content-4 .item-count-1 .showcase .content-item { float: left; width: 1= 58px; } * html #content-4 .item-count-1 .showcase .content-item { float: left; w= idth: 158px; } #content-4 .item-count-1 .showcase .module-content:after { content: ".";= display: block; height: 0; clear: both; visibility: hidden; } #content-4 .item-count-1 .showcase .module-content { display: inline-blo= ck; } */ /* Gallery ---------------------------------------------------------------------- = body.gallery #gallery { clear: left; } body.gallery #gallery .gallery-controls:after { content: "."; display: b= lock; height: 0; clear: both; visibility: hidden; } body.gallery #gallery .gallery-controls { display: inline-block } body.gallery .gallery-controls { background: #ccc; } body.gallery #gallery .module-content { overflow: hidden; width: 100%; }= body.gallery #control-buttons, #control-buttons li { display: inline; li= st-style: none; padding: 0px; margin: 0px; } body.gallery #gallery .tools { float: left; width: 316px; margin: 0 18px= 0 0; } body.gallery #gallery .controls { float: left; width: 316px; } body.gallery .gallery-image .module-content .caption { float: left; widt= h: 316px; margin: 0 18px 0 0; } body.gallery .gallery-image .module-content .related-links { float: left= ; width: 316px; } */ /* Multimedia ---------------------------------------------------------------------- *= / body.multimedia #multimedia .multimedia-controls:after { content: "."; d= isplay: block; height: 0; clear: both; visibility: hidden; } body.multimedia #multimedia .multimedia-controls { display: inline-block= } body.multimedia .multimedia-controls { background: #ccc; } body.multimedia #multimedia .module-content { overflow: hidden; width: 1= 00%; } body.multimedia #control-buttons, body.multimedia #control-buttons li { display: inline; list-style: none;= padding: 0px; margin: 0px; } body.multimedia #multimedia .tools { float: left; width: 316px; margin: = 0 18px 0 0; } body.multimedia #multimedia .controls { float: left; width: 316px; } body.multimedia .multimedia-contentpage .module-content .caption { float= : left; width: 316px; margin: 0 18px 0 0; } body.multimedia .multimedia-contentpage .module-content .related-links {= float: left; width: 316px; } /* polls ---------------------------------------------------------------------- *= / /* image polls */ /* image poll images capped at thumbnail size */ .image-poll-module .label-image img { max-width: 100px; max-height: 75px= ; } * html .image-poll-module .label-image img { width: 100px; height: 75px;= } /* =3DIE6 */ /* story page sidebar polls are in story css */ /* poll results. sure we could do this with js. but we don't need to. */= .poll-bar { display: block; } .pc0 .poll-bar { width: 0%; } .pc1 .poll-bar { width: 1%; } .pc2 .poll-b= ar { width: 2%; } .pc3 .poll-bar { width: 3%; } .pc4 .poll-bar { width: = 4%; } .pc5 .poll-bar { width: 5%; } .pc6 .poll-bar { width: 6%; } .pc7 .= poll-bar { width: 7%; } .pc8 .poll-bar { width: 8%; } .pc9 .poll-bar { w= idth: 9%; } .pc10 .poll-bar { width: 10%; } .pc11 .poll-bar { width: 11%= ; } .pc12 .poll-bar { width: 12%; } .pc13 .poll-bar { width: 13%; } .pc1= 4 .poll-bar { width: 14%; } .pc15 .poll-bar { width: 15%; } .pc16 .poll-= bar { width: 16%; } .pc17 .poll-bar { width: 17%; } .pc18 .poll-bar { wi= dth: 18%; } .pc19 .poll-bar { width: 19%; } .pc20 .poll-bar { width: 20%= ; } .pc21 .poll-bar { width: 21%; } .pc22 .poll-bar { width: 22%; } .pc2= 3 .poll-bar { width: 23%; } .pc24 .poll-bar { width: 24%; } .pc25 .poll-= bar { width: 25%; } .pc26 .poll-bar { width: 26%; } .pc27 .poll-bar { wi= dth: 27%; } .pc28 .poll-bar { width: 28%; } .pc29 .poll-bar { width: 29%= ; } .pc30 .poll-bar { width: 30%; } .pc31 .poll-bar { width: 31%; } .pc3= 2 .poll-bar { width: 32%; } .pc33 .poll-bar { width: 33%; } .pc34 .poll-= bar { width: 34%; } .pc35 .poll-bar { width: 35%; } .pc36 .poll-bar { wi= dth: 36%; } .pc37 .poll-bar { width: 37%; } .pc38 .poll-bar { width: 38%= ; } .pc39 .poll-bar { width: 39%; } .pc40 .poll-bar { width: 40%; } .pc4= 1 .poll-bar { width: 41%; } .pc42 .poll-bar { width: 42%; } .pc43 .poll-= bar { width: 43%; } .pc44 .poll-bar { width: 44%; } .pc45 .poll-bar { wi= dth: 45%; } .pc46 .poll-bar { width: 46%; } .pc47 .poll-bar { width: 47%= ; } .pc48 .poll-bar { width: 48%; } .pc49 .poll-bar { width: 49%; } .pc5= 0 .poll-bar { width: 50%; } .pc51 .poll-bar { width: 51%; } .pc52 .poll-= bar { width: 52%; } .pc53 .poll-bar { width: 53%; } .pc54 .poll-bar { wi= dth: 54%; } .pc55 .poll-bar { width: 55%; } .pc56 .poll-bar { width: 56%= ; } .pc57 .poll-bar { width: 57%; } .pc58 .poll-bar { width: 58%; } .pc5= 9 .poll-bar { width: 59%; } .pc60 .poll-bar { width: 60%; } .pc61 .poll-= bar { width: 61%; } .pc62 .poll-bar { width: 62%; } .pc63 .poll-bar { wi= dth: 63%; } .pc64 .poll-bar { width: 64%; } .pc65 .poll-bar { width: 65%= ; } .pc66 .poll-bar { width: 66%; } .pc67 .poll-bar { width: 67%; } .pc6= 8 .poll-bar { width: 68%; } .pc69 .poll-bar { width: 69%; } .pc70 .poll-= bar { width: 70%; } .pc71 .poll-bar { width: 71%; } .pc72 .poll-bar { wi= dth: 72%; } .pc73 .poll-bar { width: 73%; } .pc74 .poll-bar { width: 74%= ; } .pc75 .poll-bar { width: 75%; } .pc76 .poll-bar { width: 76%; } .pc7= 7 .poll-bar { width: 77%; } .pc78 .poll-bar { width: 78%; } .pc79 .poll-= bar { width: 79%; } .pc80 .poll-bar { width: 80%; } .pc81 .poll-bar { wi= dth: 81%; } .pc82 .poll-bar { width: 82%; } .pc83 .poll-bar { width: 83%= ; } .pc84 .poll-bar { width: 84%; } .pc85 .poll-bar { width: 85%; } .pc8= 6 .poll-bar { width: 86%; } .pc87 .poll-bar { width: 87%; } .pc88 .poll-= bar { width: 88%; } .pc89 .poll-bar { width: 89%; } .pc90 .poll-bar { wi= dth: 90%; } .pc91 .poll-bar { width: 91%; } .pc92 .poll-bar { width: 92%= ; } .pc93 .poll-bar { width: 93%; } .pc94 .poll-bar { width: 94%; } .pc9= 5 .poll-bar { width: 95%; } .pc96 .poll-bar { width: 96%; } .pc97 .poll-= bar { width: 97%; } .pc98 .poll-bar { width: 98%; } .pc99 .poll-bar { wi= dth: 99%; } .pc100 .poll-bar { width: 100%; } /* ads ---------------------------------------------------------------------- *= / /* ensure header and footer are hidden - these are not for display ads *= / .ad-header, .ad-footer { position: absolute; left: -5000em; width: 4000e= m; overflow: hidden; } /* no margin on pushdowns (use site body class to override if required) = */ #page .ad-pushdown { margin: 0; } /* default ad size restrictions */ .ad { overflow: hidden; } .ad-banner { max-width:468px; max-height:60px; } .ad-leaderboard { max-width:728px; max-height:90px; } .ad-strip { max-width:634px; max-height:45px; } .ad-shortrec { max-width:300px; max-height:100px; } .ad-spotlight { max-width:70px; max-height:55px; } /*.ad-text {}*/ .ad-btyb { max-width:110px; max-height:40px; } .ad-skyscraper { max-width:120px; max-height:600px; } .ad-wideskyscraper { max-width:160px; max-height:600px; } .ad-advertorial { max-width:85px; max-height:63px; } .ad-network { max-width:152px; max-height:77px; } .ad-network { max-width:300px; max-height:100px; } /*.ad-other {}*/ /* at request of ad ops, allow for expanding ad campaigns on medrec and = halfpage */ .ad-island, .ad-halfpage { overflow: visible; } /* default footer ads to center alignment */ #footer-ads { text-align: center; } #footer-ads .ad { margin-left: auto; margin-right: auto; } .ad table, .ad td, .ad th { border:none; } .item-count-1 .ad-other, .item-count-2 .ad-other, #page .group.text-g-network-grp-strip-ad-650x40 {margin-bottom:0;} .item-count-1 .ad-other {width:650px;} .item-count-2 .ad-other {width:316px;} .item-count-1 .ad-other object, .item-count-2 .ad-other object, .item-count-1 .ad-other img, .item-count-2 .ad-other img {margin-bottom:20px; float:left;} /* Readers Comments ---------------------------------------------------------------------- *= / .comment-module .comment-block .thumbnail { float: left; margin: 0 7px 7= px 0; } .comment-module .blog-link { display: block; } .comment-module .blog-links .blog-link-text { display: inline-block; wid= th: 30%; } .comment-module .comment-block { margin: 0 0 10px 0; } .comment-module .comment-block .comment-body { margin: 0; } .comment-module .comment-module-list ul li { margin-bottom: 5px; } /* Weather ---------------------------------------------------------------------- *= / /* tabs and drop down */ .has-js .weather-tab { position: relative; z-index: 20; } .has-js .weather-tab .js-popmenu-parent { background: #fff; border: 1px = solid #eee; color: #666; cursor: pointer; padding: 0 2px; position: abso= lute; right: 5px; top: 15px; width: 80px; z-index: 200; } .has-js .weather-tab .js-popmenu-parent ul { background: #fff; display: = none; position: relative; } .has-js .weather-tab .js-popmenu-parent ul.js-menu-hover { display: bloc= k; } .weather-tab .module-controls { display: none; } /* If no JS*/ .has-js .weather-tab .module-controls { display: block; } /* icons */ .module.weather-tab .module-content {} .module.weather-tab .module-content .weathericon-large { float: left; wi= dth: 35px; height: 35px; display: block; } .module.weather-tab .module-content .weathericon-large span {width: 35px= ; height: 35px; display: block; background: transparent url(../images/we= ather/weather-icons-large.png) no-repeat 0 0; text-indent: -50000px; } .module.weather-tab .module-content .weathericon-large span { display:bl= ock; margin:0; height:35px; width:35px; background: transparent url(../i= mages/weather/weather-icons-large.png) 0 0 no-repeat; text-indent:-9000p= x; } .module.weather-tab .module-content .weathericon-large span.sunny { back= ground-position: 0 0 !important; } .module.weather-tab .module-content .weathericon-large span.fog-then-sun= ny, .module.weather-tab .module-content .weathericon-large span.increasing-s= unshine, .module.weather-tab .module-content .weathericon-large span.mostly-sunny= { background-position: -35px 0 !important; } .module.weather-tab .module-content .weathericon-large span.hazy, .module.weather-tab .module-content .weathericon-large span.cloud-increa= sing, .module.weather-tab .module-content .weathericon-large span.mostly-cloud= y { background-position: -70px 0 !important; } .module.weather-tab .module-content .weathericon-large span.overcast, .module.weather-tab .module-content .weathericon-large span.cloudy { background-position: -105px 0 !important; } .module.weather-tab .module-content .weathericon-large span.rain, .module.weather-tab .module-content .weathericon-large span.heavy-rain, .module.weather-tab .module-content .weathericon-large span.heavy-shower= s, .module.weather-tab .module-content .weathericon-large span.rain { background-position: -140px 0 !important; } .module.weather-tab .module-content .weathericon-large span.showers, .module.weather-tab .module-content .weathericon-large span.rain-develop= ing, .module.weather-tab .module-content .weathericon-large span.showers-incr= easing, .module.weather-tab .module-content .weathericon-large span.showers-easi= ng, .module.weather-tab .module-content .weathericon-large span.clearing-sho= wer, .module.weather-tab .module-content .weathericon-large span.drizzle-clea= ring, .module.weather-tab .module-content .weathericon-large span.possible-sho= wer, .module.weather-tab .module-content .weathericon-large span.drizzle, .module.weather-tab .module-content .weathericon-large span.late-shower,= .module.weather-tab .module-content .weathericon-large span.rain-clearin= g { background-position: -175px 0 !important; } .module.weather-tab .module-content .weathericon-large span.late-thunder= , .module.weather-tab .module-content .weathericon-large span.possible-thu= nderstorm, .module.weather-tab .module-content .weathericon-large span.thunderstorm= s-clearing { background-position: -210px 0 !important; } .module.weather-tab .module-content .weathericon-large span.thunderstorm= s { background-position: -245px 0 !important; } .module.weather-tab .module-content .weathericon-large span.rain-tending= -to-snow, .module.weather-tab .module-content .weathericon-large span.snow-tending= -to-rain, .module.weather-tab .module-content .weathericon-large span.snow-showers= , .module.weather-tab .module-content .weathericon-large span.rain-and-sno= w { background-position: -280px 0 !important; } .module.weather-tab .module-content .weathericon-large span.snow { background-position: -315px 0 !important; } .module.weather-tab .module-content .weathericon-large span.frost-then-s= unny, .module.weather-tab .module-content .weathericon-large span.snow-develop= ing, .module.weather-tab .module-content .weathericon-large span.snowfalls-cl= earing { background-position: -350px 0 !important; } .module.weather-tab .module-content .weathericon-large span.windy-with-s= now { background-position: -385px 0 !important; } .module.weather-tab .module-content .weathericon-large span.wind-and-rai= n-increasing, .module.weather-tab .module-content .weathericon-large span.wind-and-sho= wers-easing, .module.weather-tab .module-content .weathericon-large span.windy-with-s= howers, .module.weather-tab .module-content .weathericon-large span.windy-with-r= ain { background-position: -420px 0 !important; } .module.weather-tab .module-content .weathericon-large span.cloud-and-wi= nd-increasing, .module.weather-tab .module-content .weathericon-large span.windy { background-position: -455px 0 !important; } .module.weather-tab .module-content .weathericon span { display:block; m= argin:0; height:20px; width:20px; background: transparent url(../images/= weather/weather-icons.png) left top; text-indent:-9000px; } .module.weather-tab .module-content .weathericon span.sunny { background= -position: 0 0 !important; } .module.weather-tab .module-content .weathericon span.fog-then-sunny, .module.weather-tab .module-content .weathericon span.increasing-sunshin= e, .module.weather-tab .module-content .weathericon span.mostly-sunny{ background-position: -20px 0 !important; } .module.weather-tab .module-content .weathericon span.hazy, .module.weather-tab .module-content .weathericon span.cloud-increasing, .module.weather-tab .module-content .weathericon span.mostly-cloudy { background-position: -40px 0 !important; } .module.weather-tab .module-content .weathericon .overcast, .module.weather-tab .module-content .weathericon .cloudy { background-position: -60px 0 !important; } .module.weather-tab .module-content .weathericon span.rain, .module.weather-tab .module-content .weathericon span.heavy-rain, .module.weather-tab .module-content .weathericon span.heavy-showers, .module.weather-tab .module-content .weathericon span.rain { background-position: -80px 0 !important; } .module.weather-tab .module-content .weathericon span.showers, .module.weather-tab .module-content .weathericon span.rain-developing, .module.weather-tab .module-content .weathericon span.showers-increasing= , .module.weather-tab .module-content .weathericon span.showers-easing, .module.weather-tab .module-content .weathericon span.clearing-shower, .module.weather-tab .module-content .weathericon span.drizzle-clearing, .module.weather-tab .module-content .weathericon span.possible-shower, .module.weather-tab .module-content .weathericon span.drizzle, .module.weather-tab .module-content .weathericon span.late-shower, .module.weather-tab .module-content .weathericon span.rain-clearing { background-position: -100px 0 !important; } .module.weather-tab .module-content .weathericon span.late-thunder, .module.weather-tab .module-content .weathericon span.possible-thunderst= orm, .module.weather-tab .module-content .weathericon span.thunderstorms-clea= ring { background-position: -120px 0 !important; } .module.weather-tab .module-content .weathericon span.thunderstorms { background-position: -140px 0 !important; } .module.weather-tab .module-content .weathericon span.rain-tending-to-sn= ow, .module.weather-tab .module-content .weathericon span.snow-tending-to-ra= in, .module.weather-tab .module-content .weathericon span.snow-showers, .module.weather-tab .module-content .weathericon span.rain-and-snow { background-position: -160px 0 !important; } .module.weather-tab .module-content .weathericon .snow { background-position: -180px 0 !important; } .module.weather-tab .module-content .weathericon span.frost-then-sunny, .module.weather-tab .module-content .weathericon span.snow-developing, .module.weather-tab .module-content .weathericon span.snowfalls-clearing= { background-position: -200px 0 !important; } .module.weather-tab .module-content .weathericon span.windy-with-snow { background-position: -220px 0 !important; } .module.weather-tab .module-content .weathericon span.wind-and-rain-incr= easing, .module.weather-tab .module-content .weathericon span.wind-and-showers-e= asing, .module.weather-tab .module-content .weathericon span.windy-with-showers= , .module.weather-tab .module-content .weathericon span.windy-with-rain { background-position: -240px 0 !important; } .module.weather-tab .module-content .weathericon span.cloud-and-wind-inc= reasing, .module.weather-tab .module-content .weathericon span.windy { background-position: -260px 0 !important; } /* lightbox = ------------------------------------------------------------------------= -*/ .lightbox-container { position: absolute; height: 100%; width: 100%; lef= t: 0; top: 0; z-index: 200; } .lightbox-container .lightbox-overlay { position:absolute; top:0; left:0= ; height:100%; width:100%; background:#000; opacity:0.6; filter:alpha(op= acity=3D60); } .lightbox-container .lightbox-content { position:absolute; } .lightbox-controls { background: #fff; } /* network classifieds footer ------------------------------------------------------------------------= -*/ .classifieds .item { width: 986px } .classifieds .module { float: left; width: 240px; clear: none; margin-ri= ght: 8px; } .classifieds .module.classifieds-home { margin-right: 0; } .classifieds .module .classifieds-thumb, .classifieds .module .classifieds-logo { text-align: center; margin: 5px= 0; } /* events and reviews - hide raw geo data ------------------------------------------------------------------------= -*/ .review-module .geo, = .event-module .geo { display:none; } /* Integrated headers -------------------- */ body.int-header-flush #content{margin-top:0;} body.int-header #section-header, body.int-header-flush #section-header {min-height:1px;} body.int-header #section-header #section-header-logo, body.int-header-flush #section-header #section-header-logo{height:0;left= :-5000em;overflow:hidden;position:absolute;width:4000em;} body.int-header-flush #content-1 .group.int-header-promo .module {margin= -bottom:1px;} body.int-header #content-1 .group.int-header-promo .module .module-conte= nt, body.int-header-flush #content-1 .group.int-header-promo .module .module= -content{padding:0;} body.int-header #content-1 #section-header, body.int-header-flush #content-1 #section-header{background:#fff;width:9= 84px;} ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=forms-2plus1.css Content-Type: text/css; name=forms-2plus1.css Content-Location: http://resources.news.com.au/cs/network/css/forms-2plus1.css Content-Transfer-Encoding: 8bit /* Network resource - do not edit. Change requests go to Frontend Architects. */ /* Forms ---------------------------------------------------------------------- */ /* simple focus style for good browsers. be really careful about colour contrast if you change this. */ .module .module-content input:focus, .module .module-content textarea:focus, .module .module-content button:focus { background: #FFFFC0; outline: 1px solid #000; } .module .module-content input.radio:focus { outline: 0; } /* error messages */ .module .module-content .form-item-error label { margin: 0 0 0.5em 0; clear: both; width: 100%; } .module .module-content .form-item-error label .label-text { display: block; width: 30%; float: left; } .module .module-content .form-item-error label .error-message {display: block; width: 60%; float: left; } .module .module-content .form-item-error input, .module .module-content .form-item-error textarea { margin-left: 30%; } .module .module-content .form-item-error label .error-message { color: #c33; } .module .module-content .form-item-error input, .form-item-error textarea { outline: 2px solid #c33; background: #ffefef; margin-bottom: 2px; } .module .module-content .form-item-error input:focus, .form-item-error textarea:focus { outline: 2px solid #c33; } .module .module-content .form-item-error label { color: #c33; } .module .module-content .form-item-error-corrected input, .module .module-content .form-item-error-corrected textarea { outline: 0; background: #efffef;} .module .module-content .form-item-error-corrected input:focus, .module .module-content .form-item-error-corrected textarea:focus { outline: 2px solid #006600; } .module .module-content .form-item-error-summary { padding-left: 30%; width: 70%; } .module .module-content .form-item-error-summary dt { font-weight: bold; color: #c33; } .module .module-content .form-item-error-summary dd { margin-left: 0; } /* default for forms is two-columns wide with labels to the left */ .module .module-content form { width: 100%; } .module .module-content label { float:left; width: 30%; } .module .module-content .form-item { width: 100%; margin: 0 0 0.5em 0; clear: both; position: relative; overflow: hidden; } .module .module-content input, .module .module-content textarea { width: 50%; } .module .module-content legend { white-space: normal; /* for firefox */ } .module .module-content fieldset { margin: 0.5em; } .module .module-content .form-checkbox-group, .module .module-content .form-checkbox-item, .module .module-content .form-radio-group, .module .module-content .button-submit { margin-left: 30%; } .module .module-content .form-checkbox-group .form-checkbox-item, .module .module-content .form-poll fieldset { margin-left: 0; } .module .module-content input.radio, .module .module-content input.checkbox, .module .module-content .form-checkbox-group { width: auto; } .module .module-content label .required { font-size: small; color: #c33; } .module .module-content input.radio, .module .module-content label.radio, .module .module-content label.checkbox, .module .module-content input.checkbox { float:none; width: auto; } .module .module-content .form-checkbox-group input.checkbox { margin-left: 0; } /* warning, crazy selector fun ahead! */ /* Single column variation is a vertical layout - form labels and inputs are placed one after the other. In 2+1 we set this by default for the story sidebar and the right-hand column. It can also be forced by applying the class "one-col" the module. */ .one-col input, .one-col .module textarea, #content-3 .module input, #content-3 .module textarea, .story-sidebar input, .story-sidebar textarea { width: 100%; } .one-col input.radio, .one-col input.checkbox, #content-3 .module input.radio, #content-3 .module input.checkbox, .story-sidebar input.radio, .story-sidebar input.checkbox { width: auto; } .one-col label, #content-3 .module label, .story-sidebar label { display: block; width: 100%; } .one-col .form-checkbox-group, .one-col .form-checkbox-item, .one-col .form-radio-group, .one-col input.checkbox, .one-col .button-submit, .one-col .form-item-error input, .one-col .form-item-error textarea, #content-3 .module .form-checkbox-group, #content-3 .module .form-checkbox-item, #content-3 .module .form-radio-group, #content-3 .module input.checkbox, #content-3 .module .button-submit, #content-3 .module .form-item-error input, #content-3 .module .form-item-error textarea, .story-sidebar .form-checkbox-group, .story-sidebar .form-checkbox-item, .story-sidebar .form-radio-group, .story-sidebar input.checkbox, .story-sidebar .button-submit, .story-sidebar .form-item-error input, .story-sidebar .form-item-error textarea { margin-left: 0; } .one-col label.radio, .one-col label.checkbox, #content-3 .module label.radio, #content-3 .module label.checkbox, .story-sidebar label.radio, .story-sidebar label.checkbox { display: inline; } .one-col label.checkbox, #content-3 .module label.checkbox, .story-sidebar label.checkbox { float:none; width: auto; } .one-col .form-item-error label .label-text, #content-3 .module .form-item-error label .label-text, .story-sidebar .form-item-error label .label-text { float: none; width: auto; } .one-col .form-item-error label .error-message, #content-3 .module .form-item-error label .error-message, .story-sidebar .form-item-error label .error-message { width: auto; float: none; } .one-col .form-item-error-summary, #content-3 .module .form-item-error-summary, .story-sidebar .form-item-error-summary { padding-left: 0; } ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=story-2plus1.css Content-Type: text/css; name=story-2plus1.css Content-Location: http://resources.news.com.au/cs/network/css/story-2plus1.css Content-Transfer-Encoding: 8bit /* Network resource - do not edit. Change requests go to Frontend Architects. */ /* story page ---------------------------------------------------------------------- */ /* ******************************* GENERAL **********************************/ #story { background: #fff; padding: 0; margin: 0 18px 0 8px; float: left; display: inline; width: 650px; min-height: 1px; } /* wider groups for story page */ #story .item-count-1 .module { width:650px; } #story .item-count-2 .module { width:316px; } #story .item-count-2 .ipos-1 { margin-right: 18px; } #story .group.item-count-1 .group-header, #story .group.item-count-1 .item, #story .group.item-count-1 .group-footer { width: 650px; } /* indented version .story-body {margin: 0 30px;} .image-316w-237h, .image-316w-211h, .image-316w-421h {margin: 0 -30px 20px 20px;*margin: 0 -15px 20px 20px;} .image-650w-366h, .image-650w-488h, .image-650w-433h {margin: 0 -30px 20px -30px;} */ /* left aligned version .image-316w-237h, .image-316w-211h, .image-316w-421h {float: left;margin: 0 1em 1em 0;} */ /* blockquote for shared stories * gets extra class .network-shared when content is shared */ .network-shared-body { margin: 0; padding: 0; } /* rich media module */ .single { float: right; width: 316px; margin: 0 0 1em 1em; } .double { float: none; width: 650px; margin: 0 0 1em 0; } /* ******************************* STORY HEADER **********************************/ .story-header { position: relative; display: inline-block; width: 650px; z-index:1 } .story-header .story-info { width: 500px; padding-bottom:5px;} .story-header .story-header-tools { width: 150px; position: absolute; bottom: 0; right: 0; } .story-header .story-header-tools .story-tools { position: absolute; right: 0; } .story-header .story-info ul { display: inline; } .story-header .story-info ul li { display: inline; margin-right:5px;} /* =IE6 */ * html .story-header .story-info ul li { display: inline; margin: 0; padding: 0 5px; margin:0px;} * html .story-header .story-info ul li.first { padding-left: 0; } * html .story-header .story-info ul li.last { padding-right: 0; } /* =IE7 */ *+ html .story-header .story-info ul { padding: 0; } *+ html .story-header .story-info ul li { display: inline; word-wrap: normal; white-space: nowrap; padding: 0 5px; margin:0; } *+ html .story-header .story-info ul li.first { padding-left: 0; } *+ html .story-header .story-info ul li.last { padding-right: 0; } .story-header .story-info cite { font-style:normal; } /* source prefix is assistive context only */ .story-info .source-prefix { position: absolute; left: -5000px; width: 4000px; overflow: hidden; } /* ******************************* STORY BODY **********************************/ /*#content { margin: 20px 0 0 0; } this is not specific enough... it's going F*** the entire network : DL :) */ .story-body { margin: 10px 0 0 0; font-size:14px; line-height: 1.35em; } .story-body .story-sidebar { line-height: 1.27em; } .story-body ul { list-style-type: disc; } .story-body p { padding-right:40px; margin:0 0 1em } /* to indent the right but not next to the image use margin: 0 5em 1em 0; in your vertical CSS */ .story-body ul, .story-body ol { margin: 0 0 1em 0; padding-left: 2em; } .story-body dl { display: inline-block; margin: 0 0 1em 0; } .story-body dt { font-weight: bold; } .story-body dd { margin-left: 2em; } .story-body object { float:left; margin:0 10px 2px 0; } .story-body .module object { float:none; margin:0; } /* ******************************* STORY TOOLS / SHARE TOOLS **********************************/ .story-tools { margin: 0; padding: 0; } .story-tools li { display: block; float: left; margin: 0; background:url("../images/icon-sprites-story-tool.gif") no-repeat 0 0; height: 15px; cursor: pointer; padding: 0 5px; } .story-tools li.button-font-inc { background-position:0px 0px; } .story-tools li.button-font-dec { background-position:0px -100px; } .story-tools li.button-print { background-position:0px -200px; } .story-tools li.button-email { background-position:0px -297px; padding: 0 5px 0 0; } .story-tools li.button-email a { display: block; width: 15px; height: 15px; } .story-tools li.button-share { background:none; text-indent:0; width:auto; position:relative; } /* story header story tools */ .story-header-tools { height: 1.8em; } .story-header .story-tools li { width: 10px; } .story-header .story-tools li a { display: block; overflow: hidden; text-indent: -9999px; width: 10px; } .story-header .story-tools li.button-share { padding: 0; position: relative; width: auto; } .story-header .story-tools li.button-share a.button-share-link { display: block; float: left; height: 16px; position: relative; text-indent: 0; width: auto; z-index: 2; } .story-header .story-tools li.button-share ul.js-popmenu { display: none; } .story-header .story-tools li.button-share ul.share-links { background-color: #fff; clear: left; display: none; position: absolute; right: 0px; top: 15px; width: 115px; } .story-header .story-tools li.button-share ul.share-links li { background: none; width: 100%; padding: 3px 0 3px 0; text-align: left; text-indent: 0; } .story-header .story-tools li.button-share ul.share-links li a { display: block; height: 16px; padding-left: 20px; font-size: 11px; text-indent: 0; width: auto; } .story-header .story-tools li.button-share ul.js-menu-hover { display: block !important; /*z-index: 1000 !important;*/ } /* story footer story tools */ .story-footer .story-tools { padding: 4px 0 5px 0; width:100%; _height: 1%; } .story-footer .story-tools:after { content: "."; display: block; clear: both; visibility: hidden; height: 0; } .story-footer .story-tools li { text-indent: 0; margin-right: 15px; padding-left: 20px; } .story-footer .story-tools li a { } .story-footer .story-tools li.button-print { margin-left: 0; } .story-footer .story-tools li.button-email { } .story-footer .story-tools li.button-font-inc, .story-footer .story-tools li.button-font-dec { display: none; } /* don't make sense at the bottom */ .story-footer .story-tools li.button-share { float: right; cursor: default; height: 16px; margin: 0; padding-right: 105px; text-align: right; } .story-footer .story-tools li.button-share ul.share-links { position: absolute; right: 0; text-align: left; top: 0; border: 0; } .story-footer .story-tools li.button-share ul.share-links li { width: 15px; padding: 0; margin: 0 0 0 5px; } /* hide newsvine and kwoff with css till backend can remove the markup */ body.story .story-tools li.share-kwoff, body.story .story-tools li.share-newsvine { display:none; } .story-footer .story-tools li.button-share ul.share-links li a { display: block; height: 16px; text-indent: -9999px; overflow: hidden; padding: 0; width: 15px; } .story-tools li.button-share ul.share-links li { background: none; } .story-tools li.button-share ul.share-links li a { background: url("../images/social-network-sprite.gif") no-repeat 0 0; } /* These have been coded in accordance with the px values from http://stuff.news.com.au/standards/markup-modules/library/css-sprites/ */ .story-tools li.button-share ul.share-links li.share-help a { background-position:0 -100px; } .story-tools li.button-share ul.share-links li.share-blinkList a { background-position: 0 -400px; } .story-tools li.button-share ul.share-links li.share-delicious a { background-position: 0 -500px; } .story-tools li.button-share ul.share-links li.share-digg a { background-position: 0 -600px; } .story-tools li.button-share ul.share-links li.share-facebook a { background-position:0 -700px; } .story-tools li.button-share ul.share-links li.share-furl a { background-position: 0 -800px; } .story-tools li.button-share ul.share-links li.share-igoogle a { background-position: 0 -900px; } .story-tools li.button-share ul.share-links li.share-kwoff a { background-position:0 -1000px; } .story-tools li.button-share ul.share-links li.share-magnolia a { background-position:0 -1100px; } .story-tools li.button-share ul.share-links li.share-myspace a { background-position:0 -1200px; } .story-tools li.button-share ul.share-links li.share-netscape a { background-position: 0 -1300px; } .story-tools li.button-share ul.share-links li.share-newsvine a { background-position: 0 -1400px; } .story-tools li.button-share ul.share-links li.share-reddit a { background-position:0 -1500px; } .story-tools li.button-share ul.share-links li.share-slashdot a { background-position:0 -1600px; } .story-tools li.button-share ul.share-links li.share-stumbleupon a { background-position: 0 -1700px; } .story-tools li.button-share ul.share-links li.share-tailrank a { background-position:0 -1800px; } .story-tools li.button-share ul.share-links li.share-technorati a { background-position: 0 -1900px; } .story-tools li.button-share ul.share-links li.share-yahoo a { background-position: 0 -2000px; } .story-tools li.button-share ul.share-links li.share-windows a { background-position:0 -2100px; } /* Facebook like button #content #story .js-socialise {background:#fff; margin-bottom:-6px; overflow:hidden;} #content #story .js-socialise-facebook-like {border-bottom:1px solid #ccc; margin:0 0 10px 0; height:24px; padding:5px 0 5px 0;} #content #story .story-footer .js-socialise-facebook-like {clear:both; border-bottom:1px solid #ccc; clear:both; padding-left:0; margin:-10px 0 5px 0;} */ /* ******************************* ARTICLE MEDIA **********************************/ /* .story-body .article-media .caption, .story-body .article-media .controls { font-size:11px; padding:0 }*/ .story-body .article-media .controls p { display:inline; padding:0 } /* lead media module */ .article-media { } .article-media-large { width: 650px; clear: both; margin: 0 0 20px 0; overflow: hidden; } .article-media-small { width: 316px; float: right; overflow: hidden; margin: 0 0 10px 10px; } .article-media-inline-left {float: left; margin:20px 20px 0 0; } .article-media-inline-right {float: right; margin:20px 0 0 20px; } .story-rich-media { float:left; padding: 3px 10px 3px 0 } /* default background colour for image frame */ .article-media .image-frame, .article-media-small .image-frame, .article-media-large .image-frame { text-align:center; background: #dadad8; } /* gimme some caption action */ p.caption{} p.caption span{} p.caption span.caption-text{} p.caption span.image-source{} /* suppress tabs when only one item placed */ .has-js .media-count-1 .tab-set { display: none; } /* videos in story body - default is to run full width with the same background colour as images */ .story-body .video-embed { width: 100%; } .story-body .video-embed .module-content { background-color: #dadad8; width: 100%; margin-bottom: 10px; text-align: center; } /* ******************************* STORY SUMMARY **********************************/ body.story .story-body.lead-media-both .story-summary-list, body.story .story-body.lead-media-small .story-summary-list { width:306px; margin:0 10px 10px 0; } body.story .story-body.lead-media-none .story-summary-list, body.story .story-body.lead-media-large .story-summary-list { width:640px; margin:0 0 10px 0; } /* ******************************* STORY SIDEBAR **********************************/ .story-sidebar { float: left; max-width: 180px; margin: 0 10px 0 0; padding: 0; font-size:12px; _width:0 } .story-sidebar {width: expression(document.body.clientWidth < 0? "0px" : document.body.clientWidth > 182? "180px" : "auto");} .story-sidebar .group, .story-sidebar .group-header, .story-sidebar .item { width:auto!important; } #story .story-sidebar .module { width:180px; margin-right:10px; clear:both } .story-sidebar .module-header, .story-sidebar .module-header .heading { max-width:180px; } .story-sidebar ul, .story-sidebar ol { list-style-type: none; margin: 0; padding:0; } .story-sidebar li { margin: 0 0 0.3em 0; } .sidebar-more-related-coverage .link-info { display: block; clear: both; font-size: small; } /* sidebar polls */ #story .story-sidebar .poll-module .poll-block { overflow:hidden; width:100%; } .story-sidebar .poll-block .form-radio-group, .story-sidebar .poll-block .form-radio-item { max-width: 180px; overflow: hidden; } .story-sidebar .poll-block .button-submit { margin: 0 0 10px 0; } /* sidebar image polls */ .story-sidebar .image-poll-module { max-width: 180px; } .story-sidebar .image-poll-module .form-radio-item { width: 160px; height: auto; } .story-sidebar .image-poll-module input.radio { margin-top: 30px; float: left; } .story-sidebar .image-poll-module label.radio { width: 100px; float: left; } .story-sidebar .image-poll-module .label-image { float: left; } .story-sidebar .image-poll-module .label-text { display: block; clear: both; margin: 0; } .story-sidebar .image-poll-module .form-item-submit { max-width: 180px; } * html .story-sidebar .image-poll-module .form-item-submit { width: 160px; } /* sidebar image poll images capped at thumbnail size */ .story-sidebar .image-poll-module .label-image img { max-width: 100px; max-height: 75px; } * html .story-sidebar .image-poll-module .label-image img { width: 100px; height: 75px; } /* =IE6 */ /* sidebar poll bars must always crunch to 100px */ #story .story-sidebar .poll-block .poll-question-result { width: 161px; } /* #story .story-sidebar .pc0 .poll-bar { width: 100px; border-width: 0 0 0 0px; } #story .story-sidebar .pc1 .poll-bar { width: 99px; border-width: 0 0 0 1px; } #story .story-sidebar .pc2 .poll-bar { width: 98px; border-width: 0 0 0 2px; } #story .story-sidebar .pc3 .poll-bar { width: 97px; border-width: 0 0 0 3px; } #story .story-sidebar .pc4 .poll-bar { width: 96px; border-width: 0 0 0 4px; } #story .story-sidebar .pc5 .poll-bar { width: 95px; border-width: 0 0 0 5px; } #story .story-sidebar .pc6 .poll-bar { width: 94px; border-width: 0 0 0 6px; } #story .story-sidebar .pc7 .poll-bar { width: 93px; border-width: 0 0 0 7px; } #story .story-sidebar .pc8 .poll-bar { width: 92px; border-width: 0 0 0 8px; } #story .story-sidebar .pc9 .poll-bar { width: 91px; border-width: 0 0 0 9px; } #story .story-sidebar .pc10 .poll-bar { width: 90px; border-width: 0 0 0 10px; } #story .story-sidebar .pc11 .poll-bar { width: 89px; border-width: 0 0 0 11px; } #story .story-sidebar .pc12 .poll-bar { width: 88px; border-width: 0 0 0 12px; } #story .story-sidebar .pc13 .poll-bar { width: 87px; border-width: 0 0 0 13px; } #story .story-sidebar .pc14 .poll-bar { width: 86px; border-width: 0 0 0 14px; } #story .story-sidebar .pc15 .poll-bar { width: 85px; border-width: 0 0 0 15px; } #story .story-sidebar .pc16 .poll-bar { width: 84px; border-width: 0 0 0 16px; } #story .story-sidebar .pc17 .poll-bar { width: 83px; border-width: 0 0 0 17px; } #story .story-sidebar .pc18 .poll-bar { width: 82px; border-width: 0 0 0 18px; } #story .story-sidebar .pc19 .poll-bar { width: 81px; border-width: 0 0 0 19px; } #story .story-sidebar .pc20 .poll-bar { width: 80px; border-width: 0 0 0 20px; } #story .story-sidebar .pc21 .poll-bar { width: 79px; border-width: 0 0 0 21px; } #story .story-sidebar .pc22 .poll-bar { width: 78px; border-width: 0 0 0 22px; } #story .story-sidebar .pc23 .poll-bar { width: 77px; border-width: 0 0 0 23px; } #story .story-sidebar .pc24 .poll-bar { width: 76px; border-width: 0 0 0 24px; } #story .story-sidebar .pc25 .poll-bar { width: 75px; border-width: 0 0 0 25px; } #story .story-sidebar .pc26 .poll-bar { width: 74px; border-width: 0 0 0 26px; } #story .story-sidebar .pc27 .poll-bar { width: 73px; border-width: 0 0 0 27px; } #story .story-sidebar .pc28 .poll-bar { width: 72px; border-width: 0 0 0 28px; } #story .story-sidebar .pc29 .poll-bar { width: 71px; border-width: 0 0 0 29px; } #story .story-sidebar .pc30 .poll-bar { width: 70px; border-width: 0 0 0 30px; } #story .story-sidebar .pc31 .poll-bar { width: 69px; border-width: 0 0 0 31px; } #story .story-sidebar .pc32 .poll-bar { width: 68px; border-width: 0 0 0 32px; } #story .story-sidebar .pc33 .poll-bar { width: 67px; border-width: 0 0 0 33px; } #story .story-sidebar .pc34 .poll-bar { width: 66px; border-width: 0 0 0 34px; } #story .story-sidebar .pc35 .poll-bar { width: 65px; border-width: 0 0 0 35px; } #story .story-sidebar .pc36 .poll-bar { width: 64px; border-width: 0 0 0 36px; } #story .story-sidebar .pc37 .poll-bar { width: 63px; border-width: 0 0 0 37px; } #story .story-sidebar .pc38 .poll-bar { width: 62px; border-width: 0 0 0 38px; } #story .story-sidebar .pc39 .poll-bar { width: 61px; border-width: 0 0 0 39px; } #story .story-sidebar .pc40 .poll-bar { width: 60px; border-width: 0 0 0 40px; } #story .story-sidebar .pc41 .poll-bar { width: 59px; border-width: 0 0 0 41px; } #story .story-sidebar .pc42 .poll-bar { width: 58px; border-width: 0 0 0 42px; } #story .story-sidebar .pc43 .poll-bar { width: 57px; border-width: 0 0 0 43px; } #story .story-sidebar .pc44 .poll-bar { width: 56px; border-width: 0 0 0 44px; } #story .story-sidebar .pc45 .poll-bar { width: 55px; border-width: 0 0 0 45px; } #story .story-sidebar .pc46 .poll-bar { width: 54px; border-width: 0 0 0 46px; } #story .story-sidebar .pc47 .poll-bar { width: 53px; border-width: 0 0 0 47px; } #story .story-sidebar .pc48 .poll-bar { width: 52px; border-width: 0 0 0 48px; } #story .story-sidebar .pc49 .poll-bar { width: 51px; border-width: 0 0 0 49px; } #story .story-sidebar .pc50 .poll-bar { width: 50px; border-width: 0 0 0 50px; } #story .story-sidebar .pc51 .poll-bar { width: 49px; border-width: 0 0 0 51px; } #story .story-sidebar .pc52 .poll-bar { width: 48px; border-width: 0 0 0 52px; } #story .story-sidebar .pc53 .poll-bar { width: 47px; border-width: 0 0 0 53px; } #story .story-sidebar .pc54 .poll-bar { width: 46px; border-width: 0 0 0 54px; } #story .story-sidebar .pc55 .poll-bar { width: 45px; border-width: 0 0 0 55px; } #story .story-sidebar .pc56 .poll-bar { width: 44px; border-width: 0 0 0 56px; } #story .story-sidebar .pc57 .poll-bar { width: 43px; border-width: 0 0 0 57px; } #story .story-sidebar .pc58 .poll-bar { width: 42px; border-width: 0 0 0 58px; } #story .story-sidebar .pc59 .poll-bar { width: 41px; border-width: 0 0 0 59px; } #story .story-sidebar .pc60 .poll-bar { width: 40px; border-width: 0 0 0 60px; } #story .story-sidebar .pc61 .poll-bar { width: 39px; border-width: 0 0 0 61px; } #story .story-sidebar .pc62 .poll-bar { width: 38px; border-width: 0 0 0 62px; } #story .story-sidebar .pc63 .poll-bar { width: 37px; border-width: 0 0 0 63px; } #story .story-sidebar .pc64 .poll-bar { width: 36px; border-width: 0 0 0 64px; } #story .story-sidebar .pc65 .poll-bar { width: 35px; border-width: 0 0 0 65px; } #story .story-sidebar .pc66 .poll-bar { width: 34px; border-width: 0 0 0 66px; } #story .story-sidebar .pc67 .poll-bar { width: 33px; border-width: 0 0 0 67px; } #story .story-sidebar .pc68 .poll-bar { width: 32px; border-width: 0 0 0 68px; } #story .story-sidebar .pc69 .poll-bar { width: 31px; border-width: 0 0 0 69px; } #story .story-sidebar .pc70 .poll-bar { width: 30px; border-width: 0 0 0 70px; } #story .story-sidebar .pc71 .poll-bar { width: 29px; border-width: 0 0 0 71px; } #story .story-sidebar .pc72 .poll-bar { width: 28px; border-width: 0 0 0 72px; } #story .story-sidebar .pc73 .poll-bar { width: 27px; border-width: 0 0 0 73px; } #story .story-sidebar .pc74 .poll-bar { width: 26px; border-width: 0 0 0 74px; } #story .story-sidebar .pc75 .poll-bar { width: 25px; border-width: 0 0 0 75px; } #story .story-sidebar .pc76 .poll-bar { width: 24px; border-width: 0 0 0 76px; } #story .story-sidebar .pc77 .poll-bar { width: 23px; border-width: 0 0 0 77px; } #story .story-sidebar .pc78 .poll-bar { width: 22px; border-width: 0 0 0 78px; } #story .story-sidebar .pc79 .poll-bar { width: 21px; border-width: 0 0 0 79px; } #story .story-sidebar .pc80 .poll-bar { width: 20px; border-width: 0 0 0 80px; } #story .story-sidebar .pc81 .poll-bar { width: 19px; border-width: 0 0 0 81px; } #story .story-sidebar .pc82 .poll-bar { width: 18px; border-width: 0 0 0 82px; } #story .story-sidebar .pc83 .poll-bar { width: 17px; border-width: 0 0 0 83px; } #story .story-sidebar .pc84 .poll-bar { width: 16px; border-width: 0 0 0 84px; } #story .story-sidebar .pc85 .poll-bar { width: 15px; border-width: 0 0 0 85px; } #story .story-sidebar .pc86 .poll-bar { width: 14px; border-width: 0 0 0 86px; } #story .story-sidebar .pc87 .poll-bar { width: 13px; border-width: 0 0 0 87px; } #story .story-sidebar .pc88 .poll-bar { width: 12px; border-width: 0 0 0 88px; } #story .story-sidebar .pc89 .poll-bar { width: 11px; border-width: 0 0 0 89px; } #story .story-sidebar .pc90 .poll-bar { width: 10px; border-width: 0 0 0 90px; } #story .story-sidebar .pc91 .poll-bar { width: 9px; border-width: 0 0 0 91px; } #story .story-sidebar .pc92 .poll-bar { width: 8px; border-width: 0 0 0 92px; } #story .story-sidebar .pc93 .poll-bar { width: 7px; border-width: 0 0 0 93px; } #story .story-sidebar .pc94 .poll-bar { width: 6px; border-width: 0 0 0 94px; } #story .story-sidebar .pc95 .poll-bar { width: 5px; border-width: 0 0 0 95px; } #story .story-sidebar .pc96 .poll-bar { width: 4px; border-width: 0 0 0 96px; } #story .story-sidebar .pc97 .poll-bar { width: 3px; border-width: 0 0 0 97px; } #story .story-sidebar .pc98 .poll-bar { width: 2px; border-width: 0 0 0 98px; } #story .story-sidebar .pc99 .poll-bar { width: 1px; border-width: 0 0 0 99px; } #story .story-sidebar .pc100 .poll-bar { width: 0px; border-width: 0 0 0 100px; } */ /* ******************************* STORY FOOTER **********************************/ .story-footer, .story-footer-more { clear: both; } .story-footer .share-links li a { display:block; width:180px; } .story-footer-tools .button-share { position: relative; z-index:1; } /* ******************************* LOWER PAGE **********************************/ /* story extras -------------------- */ .story-extras .group { width: 650px; } /* more related coverage (lower page module) -------------------- */ .story-related-coverage .content-item { width: 316px; float: left; } .story-related-coverage .content-item .related-links, .story-related-coverage .content-item .related-keywords { display: block; list-style-type: none; margin: 0; padding: 0; } .story-related-coverage .related-links .link-info { display: block; } .story-related-coverage .related-keywords { margin: 0; padding: 0; } .story-related-coverage .related-keywords li { display: inline; margin: 0; padding: 0 5px 0 0; } .story-related-coverage .module-footer { clear: both; padding: 10px 0; } /* Also In (list split into two columns) -------------------- */ .story-also-in { width: 100%; } .story-also-in .module-content .related li { width: 47%; display: inline-block; } /* ******************************* COMMENTS **********************************/ /* Comments list -------------------- */ #comments .item-count-2 .module { width: 650px; } /* hide character counter readout when JS not available. */ .no-js #comments .comment-form-comments .field-instruction { display: none; } .no-js #comments .comment-form-comments label .assistive { position: relative; left: 0; width: auto; height: auto; overflow: visible; } .has-js #comments .comment-form-comments .field-instruction { display: block; } /* All comments page -------------------- */ .all-comments .comment-page-snippet { margin: 0; } /* story comments group -------------------- */ .comments-group, .comments-group .item, .comments-group .item .module { width: 650px; float: none; } /* story comments form -------------------- */ .story-comments { width: 100%; } #module-comment-add { width: 100%; } #module-comment-add .assistive, #module-comment-add .assistive span { position: absolute; left: -5000px; width: 4000px; overflow: hidden; } #module-comment-add .honey { display: none!important; }/* don't remove. honey fields are not for human consumption. */ #module-comment-add .required { } #module-comment-add .form-block { } #module-comment-add legend { font-weight: 700; } #module-comment-add legend span.legend-text { color: #000; } #module-comment-add fieldset { border: 0; margin: 0; padding: 0; } #module-comment-add fieldset.form-checkbox-group { } #module-comment-add .field-instruction { } #module-comment-add .comment-form-comments { } #module-comment-add .comment-form-comments label { clear:both; float:left; } #module-comment-add .required { } #module-comment-add .comment-form-comments textarea#ccomments { clear:both; width:90%; height:100px; } .has-js #module-comment-add .additional-information { display: none; } /* JS shows this on demand */ .has-js #module-comment-add .additional-information { display: none; } /* JS shows this on demand */ #module-comment-add .additional-information .form-item { } #module-comment-add .additional-information label { float:left; width:150px; } #module-comment-add .additional-information input { } #module-comment-add .additional-information .comment-form-options { padding:0 } #module-comment-add .additional-information .comment-form-options legend { } #module-comment-add .additional-information .comment-form-options .form-checkbox-item { clear:both; padding-left:150px; } #module-comment-add .additional-information .comment-form-options .form-checkbox-item input { float:left; } #module-comment-add .additional-information .comment-form-options .form-checkbox-item label { clear:none; } #module-comment-add .additional-information .comment-form-options .form-checkbox-item .label-text { } /* comments posting form lightbox and faux ajax [DL] : not fully tested... but needs to go in ASAP ----------------------------------------------------------------------------*/ #module-comment-add-form #module-comment-add-form-iframe { display: none; } #module-comment-add-form-iframe { width: 610px; height: 356px; background: #fff; overflow: hidden; } body.story .lightbox-controls { position: absolute; bottom: 30px; left: 125px; } body.story a.lightbox-close { width: 170px; height: 28px; background: url(../images/comments/comment-feedback-close.gif); display: block; text-indent: -5000px; overflow: hidden; border: 1px solid #d5dfed; } body.comments-process .module.comment-feedback { background: url(../images/comments/comment-feedback-bg.gif) no-repeat 32px 37px; width: 602px; height: 348px; border: 4px solid #000; } body.comments-process .module.comment-feedback .module-content, body.comments-process .module.comment-feedback .module-header { margin-left: 125px; margin-right: 29px; } body.comments-process .module.comment-feedback .module-header { border-bottom: 2px solid #ababab; } body.comments-process .module.comment-feedback .module-header .heading { margin-top: 53px; font-family:Arial, Helvetica, sans-serif; font-size: 21px; font-weight: 700; } body.comments-process .module.comment-feedback .module-content p { font-family: Arial, Helvetica, sans-serif; font-size: 14px; padding-top: 22px; } /* comments pagination [JB] : can be overriden at site level :-) ----------------------------------------------------------------------------*/ #page .comment-list-module .more-links {border:0; margin:0; padding:0; margin:4px 10px 0 0;} #page .comment-list-module .module-footer .more-links {margin-top:0; top:0;} #page .comment-list-module .more-links li {background:none; float:left; margin:0; padding:0 3px; font-weight:700;} #page .comment-list-module .more-links li.last {padding-right:0;} #page .comment-list-module .more-links li a {background:#fff; border:1px solid #ccc; display:block; padding:0 5px;} #page .comment-list-module .more-links li a:hover, #page .comment-list-module .more-links li a:active, #page .comment-list-module .more-links li a:focus {background:#ccc; text-decoration:none; color:#000;} /* Facebook, tweetmeme, LinkedIn share tools ----------------------------------------------------------------------------*/ #page #content #story .story-header, #page #content #story .story-footer-tools {margin-bottom:32px;} #page #content #story .story-footer-more {border-top:1px solid #ccc; padding-top:5px;} #page #content #story .story-body {border-top:1px solid #ccc; margin-top:0; padding-top:10px;} #page #content #story .js-socialise-facebook-like {height:186px; width: 470px; margin:-34px 0 -159px; padding:7px 0 2px 0; overflow:hidden; } #page #content #story .js-socialise-tweetmeme-iframe {float:right; margin-right:101px !important; margin-top:-26px; width:80px; overflow:hidden;} #page #content #story .js-socialise-tweetmeme-iframe {*margin-right:0 !important;} #page #content #story .js-socialise-linkedin-iframe {float:right; margin-right:0; margin-top: -26px; overflow:hidden; display: block; width: 100px; height: 20px;} #page #content #story .js-socialise-linkedin-badge {float:right; margin-right:0; margin-top: -26px; overflow:hidden;} #page #content #story .story-footer .js-socialise-facebook-like {margin:-34px 0 -85px;} #page #content #story .story-footer .js-socialise-tweetmeme-iframe {margin-top:-70px;} #page #content #story .story-footer .js-socialise-linkedin-iframe {margin-top:-70px;} #page #content #story .story-footer .js-socialise-linkedin-badge {margin-top:-70px;} /* New Socialise CSS - Scoped to ".js-socialise-tools" for staged rollout, will delete old styles when rollout complete */ /* Facebook, tweetmeme, LinkedIn share tools ----------------------------------------------------------------------------*/ .js-socialise-tools #page #content #story .story-header, .js-socialise-tools #page #content #story .story-footer-tools {margin-bottom:0;} .js-socialise-tools #page #content #story .js-socialise-wrapper .js-socialise {overflow:hidden;float: left;} /* clear so will sit under floated buttons correctly */ .js-socialise-tools #page #content #story .story-body, .js-socialise-tools #page #content #story .story-footer-more {clear: both; border-top: 0;} /* default styling */ .js-socialise-tools #page #content #story .js-socialise-wrapper .js-socialise {padding:7px 0; height: 24px; margin: 0;} /*.js-socialise-tools #page #content #story .story-footer-more {border-top:1px solid #ccc; padding-top:5px;} .js-socialise-tools #page #content #story .story-body {border-top:1px solid #ccc; margin-top:0; padding-top:10px;}*/ /* specific buttons */ .js-socialise-tools #page #content #story .js-socialise-wrapper .js-socialise-tweetmeme-iframe, .js-socialise-tools #page #content #story .js-socialise-wrapper .js-socialise-linkedin-iframe, .js-socialise-tools #page #content #story .js-socialise-wrapper .js-socialise-linkedin-badge {float:right;} .js-socialise-tools #page #content #story .js-socialise-wrapper .js-socialise-facebook-like {width: 460px; overflow:visible;} .js-socialise-tools #page #content #story .story-footer .js-socialise-wrapper .js-socialise-facebook-like {height: auto;} .js-socialise-tools #page #content #story .js-socialise-wrapper .js-socialise-tweetmeme-iframe {width:90px; margin: 4px 0 -4px 0 !important;} .js-socialise-tools #page #content #story .js-socialise-wrapper .js-socialise-linkedin-iframe {width: 100px; height: 20px; margin-top: 3px; margin-bottom: -3px;} /* IE6 version - will be deleted when we stop supporting IE6 create margin in story-header & story-footer-tools to position share buttons */ .js-socialise-tools #page #content #story .story-header {_margin-bottom:32px;} .js-socialise-tools #page #content #story .story-footer-tools {_margin-bottom:80px;} .js-socialise-tools #page #content #story .js-socialise-wrapper .js-socialise {_margin:-32px 0 0 0 !important;} .js-socialise-tools #page #content #story .story-footer .js-socialise-wrapper .js-socialise {_margin-top:-80px !important;} .js-socialise-tools #page #content #story .js-socialise-wrapper .js-socialise-facebook-like { _height:186px; _margin-bottom: -159px !important; } .js-socialise-tools #page #content #story .js-socialise-wrapper .js-socialise-tweetmeme-iframe { _margin-right:50px !important; } ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=icon-sprites-story-tool.gif Content-Type: image/gif; name=icon-sprites-story-tool.gif Content-Location: http://resources.news.com.au/cs/network/images/icon-sprites-story-tool.gif Content-Transfer-Encoding: Base64 R0lGODlhGQCLAaIGAGZmZpSUlLa2tsrKyuLi4vr6+v///wAAACH5BAEAAAYALAAA AAAZAIsBAAP/aKpQq+HJaQQQMtIdAlhduEmDYBGPNqYFAagGvBKa56yUMCjDhVOA oFD2Kz0su5+Clly+br+hwiJUWq/YrHbL7Xq/4LB4TC6bz+i0es1uu9/wuHxOr9vv +Lx+z+/7/4CBgoOEhYaHiImKi3IBTVsuKiEdVgEnXQEFPls9VVsamo9WA5IfWUER Hi+MrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGcUKeWEEPplcfzgbRUcrSy0BK yUDVE6bJ3wwr0xvjzdniDN+e5Qva3dzk0toApBhRQPbn3UQj6kL5xwIKHEiwoMGD CBMqXMiwocOHECNKnAjGn7p75aDds2aOLCO6cCA99jMXjV3HdhJMovzIMh4Oi+Ao ypxJs6bNmzhz6tzJs6fPn0CD9kkAADs= ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=social-network-sprite.gif Content-Type: image/gif; name=social-network-sprite.gif Content-Location: http://resources.news.com.au/cs/network/images/social-network-sprite.gif Content-Transfer-Encoding: Base64 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 ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=gallery-2plus1.css Content-Type: text/css; name=gallery-2plus1.css Content-Location: http://resources.news.com.au/cs/network/css/gallery-2plus1.css Content-Transfer-Encoding: 8bit /* Gallery ---------------------------------------------------------------------- */ /* gallery reset */ body.gallery a img, body.gallery fieldset, body.gallery a:link img, body.gallery a:visited img { border: none; } body.gallery ul, body.gallery ol { list-style: none; } body.gallery dl, body.gallery dt, body.gallery dd, body.gallery li, body.gallery h1, body.gallery h2, body.gallery h3, body.gallery h4, body.gallery h5, body.gallery h6, body.gallery pre, body.gallery form, body.gallery body, body.gallery input, body.gallery legend, body.gallery fieldset { background: none; border: none; margin: 0; padding: 0; } body.gallery p, body.gallery ul, body.gallery ol, body.gallery table, body.gallery fieldset { margin: 0; padding: 0; } body.gallery #content, body.gallery #content-5, body.gallery .group, body.gallery .module, body.gallery .module .module-header, body.gallery .module .module-content { border: none; margin: 0; padding: 0; background: none; } /* gallery layout and design */ body.gallery #content { margin: 10px auto 0 auto; } body.gallery { background: #3d3e3d url("../images/gallery/gallery-bg-top.gif") top left repeat-x; } body.gallery #gallery-page { background: transparent url("../images/gallery/gallery-bg-top.gif") top left repeat-x; } body.gallery #page, body.gallery #content, body.gallery #content-1, body.gallery #content-2, body.gallery #content-3, body.gallery #content-4, body.gallery #content-5, body.gallery #footer { background: transparent; } /* DL : changed to help skinning */ * html body.gallery #page { background: transparent; } body.gallery p { line-height: 1.34; } body.gallery, body.gallery .group, body.gallery .module { /* background: #3d3e3d; */ color: #fff; } body.gallery a, body.gallery a:link, body.gallery a:visited { color: #BAE4FA; text-decoration: none; } body.gallery a:focus, body.gallery a:hover, body.gallery a:active { color: #BAE4FA; text-decoration: underline; outline: none; } body.gallery .module { margin: 0 auto 10px auto; } body.gallery .ad { margin-bottom: 10px; } /* gallery header */ body.gallery #slim-header { background: #2B2B2B; height: 28px; padding: 0 7px; } body.gallery #slim-header-logo { float: left; } body.gallery #slim-header-title { float: left; height: 28px; width: 492px; } body.gallery #slim-header-title h1 { float: right; font-size: 18px; font-weight: 900; margin: 3px 0 0 0; } body.gallery #slim-header-title h1 strong{ font-size: 15px; font-weight: normal; } body.gallery #slim-header-nav { float: right; height: 28px; } body.gallery #slim-header-nav .heading { float: left; color: #DFDFDF; font: normal 11px Arial,Helvetica,sans-serif; padding: 4px 4px 2px 2px; } body.gallery #slim-header-nav ul { float: left; font-size: 11px; padding: 4px 0px 0px 0px; } body.gallery #slim-header-nav ul li { float: left; color: #DFDFDF; } body.gallery #slim-header-nav ul li a { background: url("../images/gallery/btn_galleries_nav.gif") no-repeat; color: #BAE4FA; float: left; font-weight: bold; padding-left: 3px; text-decoration: none; } body.gallery #slim-header-nav ul li a:hover { color: #FFFFFF; text-decoration: underline; } body.gallery #slim-header-nav ul li.gallery-nav-home a { background-position: 0 -200px; width: 87px; height: 19px; display: block; text-indent: -9999em; } body.gallery #slim-header-nav ul li.gallery-nav-home a:hover { background-position: 0 -300px; width: 87px; height: 19px; display: block; text-indent: -9999em; } body.gallery #slim-header-nav ul li.gallery-nav-galleries a { background-position: 0 0; width: 77px; height: 19px; display: block; text-indent: -9999em; } body.gallery #slim-header-nav ul li.gallery-nav-galleries a:hover { background-position: 0 -100px; width: 77px; height: 19px; display: block; text-indent: -9999em; } body.gallery #slim-header-nav ul li span { padding-left: 3px; display: none; } body.gallery #slim-header-nav dt { margin: 4px 0px 0px 0px; float: left; color: #DFDFDF; font: normal 11px Arial,Helvetica,sans-serif; padding: 4px 4px 2px 2px; } body.gallery #slim-header-nav dd { margin: 4px 0px 0px 0px; float:left; } body.gallery #slim-header-nav dd a { background: url("../images/gallery/btn_galleries_nav.gif") no-repeat; color: #BAE4FA; float: left; font-weight: bold; padding-left: 3px; text-decoration: none; } body.gallery #slim-header-nav dd a:hover { color: #FFFFFF; text-decoration: underline; } body.gallery #slim-header-nav dd.home a { background-position: 0 -200px; width: 87px; height: 19px; display: block; text-indent: -9999em; } body.gallery #slim-header-nav dd.home a:hover { background-position: 0 -300px; width: 87px; height: 19px; display: block; text-indent: -9999em; } body.gallery #slim-header-nav dd.section a { background-position: 0 0; width: 77px; height: 19px; display: block; text-indent: -9999em; } body.gallery #slim-header-nav dd.section a:hover { background-position: 0 -100px; width: 77px; height: 19px; display: block; text-indent: -9999em; } /* gallery image */ body.gallery .gallery-image { border: 1px solid #121212; width: 650px; overflow: hidden; } * html body.gallery .gallery-image { background: #000; } body.gallery .gallery-image .module-content { background: #000; overflow-y: auto; overflow-x: hidden; padding: 0 0 16px 0; text-align: center; } body.gallery .gallery-image .module-content .image-frame { min-height: 433px; max-height: 488px; overflow: hidden; width: 650px; position: relative; } body.gallery .gallery-image .module-content .image-frame img { position:relative; } /* gallery controls */ body.gallery .gallery-image .module-content .gallery-controls { background: #212121; float: left; padding: 12px 8px 12px 8px; border-top: 1px solid #000; width: 634px; } body.gallery .gallery-image .module-content .gallery-controls .controls { float: right; } body.gallery .gallery-image .module-content .gallery-controls .controls ul li { float: left; border: 0; } body.gallery .module .gallery-tools li {float: left; margin: 0 30px 0 0; } body.gallery .module .gallery-tools li a {color: #fff; text-decoration: none; border: 0;} /* gallery share links */ body.gallery .module .gallery-tools .gallery-share {position: relative;} body.gallery .module .gallery-tools .gallery-share a {float: left; border: 0;} body.gallery .module .gallery-tools .gallery-share a.button-share-link { padding: 2px 5px 0; } body.gallery .module .gallery-tools .gallery-share ul {float: left; margin: -2px 0 0 17px;} body.gallery .module .gallery-tools .gallery-share ul li {text-indent: -9999em; margin: 0 0px 0 0; width:20px; border: 0;} body.gallery .module .gallery-tools .gallery-share ul li a {background: #212121 url("../images/gallery/gallery-share-icons.gif") no-repeat; width: 20px; height: 20px; border: 0;} body.gallery .module .gallery-tools .gallery-share ul li.share-digg a { background-position: 0px -200px; } body.gallery .module .gallery-tools .gallery-share ul li.share-delicious a { background-position: 0px -100px; } body.gallery .module .gallery-tools .gallery-share ul li.share-newsvine a { background-position: 0px -300px; } body.gallery .module .gallery-tools .gallery-share ul li.share-fark a { background-position: 2px -298px; } body.gallery .module .gallery-tools .gallery-share ul li.share-facebook a { background-position: 0px -500px; } body.gallery .module .gallery-tools .gallery-share ul li.share-what a { background-position: 2px 2px; } body.gallery .module .gallery-tools .gallery-share ul li.share-kwoff a { background-position: 0px -600px; } body.gallery .module .gallery-tools .gallery-share ul li.share-myspace a { background-position: 2px -398px; } body.gallery .module .gallery-tools .gallery-share ul li.share-help a { background-position: 0 1px; } body.gallery .module .gallery-tools .button-print a, body.gallery .module .gallery-tools .button-email a { padding: 0 20px 0 0;} body.gallery .module .gallery-tools .button-print, body.gallery .module .gallery-tools .button-email { background: url("../images/gallery/gallery-tool-icons.gif") no-repeat 32px 0px; margin: 0 20px 0 0; } body.gallery .module .gallery-tools .button-email { background-position: 39px -66px; } body.gallery .gallery-image .module-content .gallery-controls .controls #control-buttons li { margin: 0 20px 0 0; } body.gallery .gallery-image .module-content .gallery-controls .controls #control-buttons li a { background: url("../images/gallery/gallery-control-buttons.gif") no-repeat; width: 60px; height: 19px; display: block; text-indent: -9999em; } body.gallery .gallery-image .module-content .gallery-controls .controls #control-buttons li#next a { background-position: 0px -70px; } body.gallery .gallery-image .module-content .gallery-controls .controls #control-buttons li#previous a:hover { background: url("../images/gallery/gallery-control-buttons-back.gif") no-repeat; width: 60px; height: 19px; display: block; text-indent: -9999em; } body.gallery .gallery-image .module-content .gallery-controls .controls #control-buttons li#next a:hover { background: url("../images/gallery/gallery-control-buttons-next.gif") no-repeat; width: 60px; height: 19px; display: block; text-indent: -9999em; } body.gallery .gallery-image .module-content .gallery-controls .controls #control-buttons li#pagination { padding: 2px 0 0 0; } body.gallery .gallery-image .module-content .gallery-controls .controls #control-buttons .disabled { display: none; } /* gallery caption */ body.gallery .gallery-image .module-content .caption { padding: 16px 0 0 11px; background: #000; text-align: left; float: left; width: 400px; } body.gallery .gallery-image .module-content .caption p { background: #000; padding: 0 0 16px 0; } body.gallery .gallery-image .module-content .caption a, body.gallery .gallery-image .module-content .caption p a { color: #BAE4FA; text-decoration: none; } body.gallery .gallery-image .module-content .caption a:hover, body.gallery .gallery-image .module-content .caption p a:hover { color: #fff; text-decoration: underline; } /* gallery related links */ body.gallery .gallery-image .related-links { float:right; width:207px; text-align: left; padding-top: 16px; } body.gallery .gallery-image .related-links .heading { font-size: 14px; } body.gallery .gallery-image .related-links ul, body.gallery .gallery-image .related-links ol { list-style-type: none; margin-left: 0; } body.gallery .gallery-image .related-links ul li, body.gallery .gallery-image .related-links ol li { background: url("../images/gallery/story-link-icons.gif") 0 2px no-repeat; margin: 0; padding: 0 0 2px 15px; } /* gallery preroll */ body.preroll #gallery { width: 100%; clear: both; } body.preroll #gallery, body.preroll #gallery .gallery-image, body.preroll #gallery .gallery-image .module-content, body.preroll #gallery .gallery-image .module-controls, body.preroll .gallery-image .module-content .gallery-controls, body.preroll .gallery-image .module-content .preroll { background: transparent; border: 0; } /* DL changed to trans for skinning */ body.preroll .gallery-preroll .gallery-image { border: 0; text-align: center; } body.preroll .gallery-preroll .module-content { text-align: center; } body.preroll .gallery-preroll .preroll .ad { margin: 10px auto; width: auto; } body.preroll .gallery-skip-link { text-align:center; } body.preroll .gallery-skip-link a { background: transparent url("../images/gallery/btn-begin-gallery.gif") top left no-repeat; width: 163px; height: 33px; text-indent: -9999em; display: block; margin: 5px auto; } /* =IE6 */ * html .preroll #gallery .module-content { height: 400px; } /* gallery end page / more galleries */ body.gallery .replay-gallery { position: relative; } body.gallery .replay-gallery { width: 640px; overflow: hidden; margin: 0; padding: 10px 0; background: #000; } body.gallery .replay-gallery .replay { float: left; width: 280px; padding: 6px 5px 5px 30px; background: #000 url("../images/gallery/gallery-replay-arrow.gif") 10px 7px no-repeat; } body.gallery .replay-gallery .share { padding: 5px 0; position: absolute; top: 9px; left: 318px; } body.gallery #gallery .replay-gallery .gallery-tools .gallery-share ul { margin: 0 10px 0 0; } body.gallery #gallery .replay-gallery .button-print { margin-top: 2px; } body.gallery #gallery .replay-gallery .button-email { background-position:38px -66px; margin-top: 2px; } body.gallery #gallery .more-galleries { padding: 5px 0px 5px 10px; width: 630px; background: #1A1A1A; overflow: hidden; margin: 1px 0; } body.gallery .more-galleries .gallery-summary { float: left; width: 300px; clear: none; margin: 0 7px 20px 0; padding: 0; } body.gallery .more-galleries .gallery-summary .standfirst { min-height: 85px; } * html body.gallery .more-galleries .gallery-summary .standfirst { height: 85px; } body.gallery .more-galleries .gallery-summary .gallery-summary { display: inline-block; margin: 0; padding: 0; } body.gallery .more-galleries .module-content .thumbnail, body.gallery .more-galleries .thumbnail { padding: 0; background: none; } body.gallery .more-galleries .module-header .heading { font-family: arial, helvetica, sans-serif; letter-spacing: 0; font-weight: bold; margin-bottom: 10px; } body.gallery .all-galleries { width: 620px; overflow: hidden; margin: 0; padding: 10px; background: #000; text-align: right; } body.gallery .all-galleries .all-galleries { overflow: hidden; margin: 0; padding: 0; background: #000; } /* gallery right panel */ body.gallery #content-3 { padding-top: 0; } body.gallery #content-3 .module { margin: 0 0 20px 0; } body.gallery #content-3 .module .module-header, body.gallery #content-3 .module .module-header .heading { background: none; float: none; font: bold 14px arial, helvetica, sans-serif; width: auto; text-align: left; margin: 0 0 3px 0} body.gallery #content-3 .module .module-content { border-top: 2px solid #646564; border-bottom: 1px solid #646564; background: #212121; padding: 10px 7px 10px 7px; } body.gallery #content-3 .module .module-content ul, body.gallery #content-3 .module .module-content ol { list-style-type: none; margin-left: 0; padding-left: 0; } body.gallery #content-3 .module .module-content ul li, body.gallery #content-3 .module .module-content ol li { background: url("../images/gallery/story-link-icons.gif") 0 2px no-repeat; margin: 0; padding: 0 0 2px 15px; } /* gallery google ads */ body.gallery #google-ads { border: none; } body.gallery #google-ads .google-ad-content { border-top: 2px solid #646564; border-bottom: 1px solid #646564; background: #212121; padding: 10px 7px 10px 7px; } body.gallery #google-ads .google-ad-header { background: none; } body.gallery #google-ads .google-ad-header .heading { background: none; color: #fff; font-size: 11px; font-weight: normal; height: auto; margin: 0 0 3px 7px; text-indent: 0; } body.gallery #google-ads .google-ad-content li p { text-decoration: none; color: #dfdfdf; } body.gallery #google-ads .google-ad-content li h5 { display: block; color: #bae4fa; font-size: 1em; } /* gallery promo */ body.gallery #content-5 { font-size: 11px; } body.gallery #content-5 .item { text-align: center; width: 986px; } body.gallery #content-5 a { color: #bae4fa; font-size: 11px; } body.gallery #content-5 .promo-block { margin: 10px 0 20px 0; } /* gallery navigation */ body.gallery #content-5 .navigation-module { width: auto; margin: 0 auto; display: inline-block; } body.gallery #content-5 .navigation-module .module-header { border: none; display: inline; padding: 0; } body.gallery #content-5 .navigation-module .module-header .heading { color: #fff; display: inline; float: left; font: normal 11px Arial, Helvetica, sans-serif; } body.gallery #content-5 .navigation-module .module-content { display: inline; padding: 0; text-align: center; width: auto; /* background: #3D3E3D; */ } /* DL : removed for skinning */ body.gallery #content-5 .navigation-module .module-content ul { display: inline; text-align: center; /* background: #3D3E3D; */ } /* removed for skinning */ body.gallery #content-5 .navigation-module .module-content ul li { border-left:1px solid #bae4fa; display: inline; padding: 0 5px 0 6px; background: none; width: auto; } body.gallery #content-5 .navigation-module .module-content ul li.first { border: none; } body.gallery #content-5 .navigation-module .module-content ul li a { color: #bae4fa; } /* gallery footer */ body.gallery #footer { border: none; } /* DL: Removed for skinning */ body.gallery #footer a:link, body.gallery #footer a:visited, body.gallery #footer a:focus, body.gallery #footer a:hover, body.gallery #footer a:active { color: #BAE4FA; } body.gallery #footer .footer-nav, body.gallery #footer .footer-nav a { float: none; width: auto; border: 0; /*background: #3d3e3d;*/ margin: 0; padding: 0; } /* DL: removed for skinning */ body.gallery #footer .footer-nav dl { float: none; border: 0; width: auto; } body.gallery #footer .footer-nav dt { width: auto; } body.gallery #footer .footer-nav dd { background-image: none; } body.gallery #footer ul, body.gallery #footer dl { /* background: #3d3e3d; */ border: 0; margin: 0 0 5px 0; } /* DL : remove for skinning */ body.gallery #footer li, body.gallery #footer dt, body.gallery #footer dd { display: inline; border: 0; } body.gallery #footer dd {padding:0 3px 0 6px; border-left:1px solid #BAE4FA;} body.gallery #footer dd.first {border: none;} body.gallery #footer ul li { /* background: #3d3e3d; */ border-left:1px solid #bae4fa; padding: 0 3px 0 6px; margin: 0; font-weight: normal; } /* DL : removed for skinning */ body.gallery #footer ul li.first { border: none; } /* fixes for template error ---------------------------- */ body.gallery #gallery .more-galleries .more-galleries { width: auto; } body.gallery #gallery .gallery-summary .gallery-summary { padding: 0; margin: 0; } body.gallery #network-bar {display:none;} ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=styles.css Content-Type: text/css; name=styles.css Content-Location: http://resources.news.com.au/cs/network/css/multimedia/styles.css Content-Transfer-Encoding: 8bit @import url("hotornot/styles.css"); @import url("imageslider/styles.css"); @import url("videoicon/styles.css"); @import url("tabtitle/styles.css"); ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=styles.css Content-Type: text/css; name=styles.css Content-Location: http://resources.news.com.au/cs/network/css/multimedia/hotornot/styles.css Content-Transfer-Encoding: 8bit /* hot or not ----------------------------------------------------------------------- */ /* standard module stuff -------------------------------------------- */ .module.js-interactive-hotornot { width: 650px; color: #fff; border:none; } #page .module.js-interactive-hotornot a {color: #fff;} .module.js-interactive-hotornot.js-loading {} .module.js-interactive-hotornot * { padding: 0; margin: 0; font-size: 100%; border: none; background: none; line-height: 1.1em;} #page .module.js-interactive-hotornot .module-header {display:none;} #page .module.js-interactive-hotornot .module-content { padding: 0; position: relative; background: none; background-color: #000; overflow: hidden; height: 488px; border:0;} .module.js-interactive-hotornot .module-content:after { content: "."; display:block; clear:both; height:0; overflow:hidden; visibility: hidden; } #page .module.js-interactive-hotornot .module-content .image-poll { padding: 0; background:none;} .module.js-interactive-hotornot .module-content .poll-block .poll-header { height: 40px; margin: 0; } .module.js-interactive-hotornot .module-content .poll-block .poll-header .more-links { float: right; padding: 0 10px 0 0; margin:0; background: none;} .module.js-interactive-hotornot .module-content .poll-block .poll-header .more-links li { font-family: 'arial narrow', arial, sans-serif; font-size: 12px; padding: 0; background: url("images/hotornot-sprite-default.png") repeat scroll -494px -55px transparent; _background-image: url("images/hotornot-sprite-default.gif"); } .module.js-interactive-hotornot .module-content .poll-block .poll-header .more-links li a { color: #fff; padding: 7px 8px 7px 30px; display: block; text-transform: uppercase; text-decoration: none; } .module.js-interactive-hotornot .module-content .poll-block .poll-header .more-links li a:hover { text-decoration: none; } .module.js-interactive-hotornot .module-content .poll-block .poll-header .more-links li.restart-poll {margin:0;} .module.js-interactive-hotornot .module-content .poll-block .poll-header .more-links li.restart-poll a {background: none;} .module.js-interactive-hotornot .module-content .poll-block .poll-header .heading { display: block; font-family: 'arial narrow',arial,sans-serif; font-size: 22px; float: left; padding: 8px 0 0 10px; font-weight: normal; color: #fff; text-transform: uppercase; } .module.js-interactive-hotornot .module-content .poll-block .poll-header .heading em { font-style: normal;} /* Poll Description */ .module.js-interactive-hotornot .module-content .image-poll .poll-description { cursor: pointer; height: 488px; width: 650px; } .module.js-interactive-hotornot .module-content .image-poll .poll-description p { padding: 80px 170px 0; font-size: 30px; text-transform: uppercase; color: #fff; font-family: 'arial narrow', arial, sans-serif; } #page .module.js-interactive-hotornot .module-content .image-poll .poll-description p {line-height: 35px;} .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item fieldset.form-radio-group legend { white-space: normal; padding: 0; position: static; float: left; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item fieldset.form-radio-group legend span.legend-text { background: url('images/pre-sprite/instruction.gif') no-repeat right top; display: block;width: 230px; color: #fff; padding: 0 85px 0 0; min-height: 55px; position: absolute; top: -245px; left: 170px; display: block; font-family: Arial,Helvetica,sans-serif; line-height: 1.4em; font-size: 12px;} /* form ------------------------------------------------------------- */ .module.js-interactive-hotornot .module-content .image-poll .form-poll { background: none; position: relative; margin: 0; height: 428px; } .module.js-interactive-hotornot.interactive-started .module-content .image-poll .form-poll { overflow: hidden; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item { padding: 0px; margin: 0; position: static; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item fieldset.form-radio-group { padding: 0px; margin: 0; position: static; } .module.js-interactive-hotornot.interactive-started .module-content .image-poll .form-poll .form-item fieldset.form-radio-group { width: 650px; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item fieldset.form-radio-group .form-radio-item input.radio { display: none; } /* items with the images in ---------------------------------------- */ .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item fieldset.form-radio-group { background: #000; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item fieldset.form-radio-group .form-radio-item {position: relative; width: 316px; padding: 0; margin:0; clear: none; float: none; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item fieldset.form-radio-group .form-radio-item input { position: absolute; right: 10px; left: auto; top: auto; bottom: 20px; z-index: 1; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item fieldset.form-radio-group .form-radio-item label { margin: 0px; padding: 0; float: left; width: 316px; height: 421px; position: relative; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item fieldset.form-radio-group .form-radio-item label .label-image { position: absolute; margin: 0; cursor: pointer; float: none; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item fieldset.form-radio-group .form-radio-item label .label-image img { margin: 0; width: 316px; height: 421px; max-height: 421px; max-width: 316px; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item fieldset.form-radio-group .form-radio-item label .label-text { cursor: pointer; width: 296px; max-width: none; padding: 6px 10px; position: absolute; left: 0; bottom: 32px; color: #fff; font-size: 10px; font-family: Arial, Helvetica, sans-serif; background: url("images/hotornot-sprite-default.png") repeat scroll 0 -280px transparent; _background: url("images/hotornot-sprite-default.gif") repeat scroll 0 -280px transparent; border-top: 1px solid #fff; overflow: hidden; margin:0;} .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item fieldset.form-radio-group .form-radio-item label .label-text .poll-results-description { width: 270px; display: block; font-size: 11px; line-height: 1.3em; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item fieldset.form-radio-group .form-radio-item.form-radio-item-right label .label-text .poll-results-description { float: right; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item fieldset.form-radio-group .form-radio-item.js-hover label .label-text {} .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item fieldset.form-radio-group .form-radio-item.form-radio-item-right label .label-text { text-align: right; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item fieldset.form-radio-group .form-radio-item label .label-text em { font-size: 18px; font-family: 'arial narrow',arial,sans-serif; text-transform: uppercase; display: block; font-style: normal; float: none; line-height:normal;} .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item fieldset.form-radio-group .form-radio-item label .label-text .vote-for { font-size: 11px; text-transform: uppercase; color: #fff; font-weight: 700; float: none; line-height:normal;} .module.poll-module.js-interactive-hotornot .module-content .poll-description { padding: 0; } /* js enhancements ---------------------------------------- */ .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item fieldset.form-radio-group .form-radio-item.right { text-align: right; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item-submit, .module.js-interactive-hotornot.interactive-started .module-content .image-poll .poll-description, .module.js-interactive-hotornot.interactive-started .module-content .image-poll legend { display: none; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item { width: 650px; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item fieldset.form-radio-group .form-radio-item { left: -500000px; position: absolute; height: 435px; width: 316px; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item fieldset.form-radio-group .form-radio-item-selected { left: 0; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item fieldset.form-radio-group .form-radio-item.form-radio-item-left { left: 0; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item fieldset.form-radio-group .form-radio-item.form-radio-item-right { left: auto; right: 0 !important; } /* Progress ---------------------------------------- */ .module.js-interactive-hotornot .module-content .form-poll .progress-container { font-weight: 300; display: none; color: #fff; height: 70px; padding: 40px 0 0 0; text-align:center; position: absolute; bottom: 0; left: 50%; margin-left: -40px; width: 80px; background: url('images/hotornot-sprite-default.png') -12px 0; _background: url('images/hotornot-sprite-default.gif') -12px 0; z-index: 10; } .module.js-interactive-hotornot.interactive-started .module-content .form-poll .progress-container { display: block; } .module.js-interactive-hotornot .module-content .form-poll .progress-container h3 { display: none; } .module.js-interactive-hotornot .module-content .form-poll .progress-container ul { list-style: none; list-style-type: none; display: inline; background: none;} .module.js-interactive-hotornot .module-content .form-poll .progress-container ul li { display: none; font-size: 18px; } .module.js-interactive-hotornot .module-content .form-poll .progress-container ul li.active { display: inline; padding: 0; color: #868383; } .module.js-interactive-hotornot .module-content .form-poll .progress-container .total { display: none; } /* Form Item Submit ---------------------------------------- */ .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item-submit { float: left; position: absolute; top: 0; height: 421px; width: 325px; border: 0;} .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item-submit.ready { display: block; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item-submit.left { left: 0; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item-submit.right { right: 0; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item-submit button { display: none; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item-submit .button { font-family: 'arial narrow', arial, sans-serif; font-size: 17px; display: block; _display: inline; padding: 0; overflow: hidden; text-align: center; text-transform: uppercase; width: 125px; margin: 0 0 0 25px; float: left; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item-submit .button a { -webkit-transition: background-position 0.1s; background: #474744 url("images/hotornot-sprite-default.png") repeat scroll 0 -179px; _background-image: url("images/hotornot-sprite-default.gif"); padding: 4px 0; color: #fff; display: block; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; cursor: pointer; text-decoration: none; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item-submit .button a:active, .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item-submit .button a:hover { background-position: 0 -212px; text-decoration: none; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item-submit .button.restart-poll { margin: 0 25px 0 0; float: right; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item-submit .message { padding: 145px 20px 30px; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item-submit .message h3 { font-weight: 700; color: #c1c1b6; font-size: 12px; text-transform: uppercase; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item-submit .message p { color: #fff; font-size: 14px; margin: 0 0 7px; font-style: normal;} .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item-submit .message p strong { font-family:Tahoma,Geneva,Arial,Helvetica,Sans-Serif; font-size: 20px; text-transform: uppercase; font-weight: 300; } .module.js-interactive-hotornot .load-state { display: none; } .module.js-interactive-hotornot.js-loading .load-state { display: block; height: 421px; width: 325px; position: absolute; top: 0; left: 0; background: #000 url(images/hotornot-loading.gif) 50% 50% no-repeat; text-indent: -9999px; } .module.js-interactive-hotornot.js-loading .load-state p {display: none;} /* Results ---------------------------------------- */ .module.js-interactive-hotornot.image-poll-results-module .poll-block { padding: 0; background: #000;} .module.js-interactive-hotornot.image-poll-results-module .poll-block.image-poll-results { height: 428px; margin: 0; overflow:visible; background:none; padding:0;} .module.js-interactive-hotornot.image-poll-results-module .poll-block .poll-description { color: #fff; display: none; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .poll-voted { color: #fff; display: none; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .heading { color: #fff; display: none; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .total-votes { font-family: 'arial narrow', arial, sans-serif; font-size: 15px;line-height: 1em; font-weight: 300; text-transform: uppercase; position: absolute; left: 340px; bottom: 15px; width: 110px; height: 38px; padding: 0; margin: 0; background: #000; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .total-votes .total { display: block; color: #fff; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .total-votes .number { } .module.js-interactive-hotornot.image-poll-results-module .poll-block .total-votes .votes { } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results { list-style-type: none; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results li { float: left; padding: 13px 16px; margin: 0; position: relative; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results li.js-hidden { display: none; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results li .poll-meta { white-space:normal; display: none; background: url("images/hotornot-sprite-default.png") repeat scroll 0 -280px #000; _background-image: url("images/hotornot-sprite-default.png"); border:1px solid #444444; color:#FFFFFF; position:absolute; right: 10px; top:40px; padding: 3px 10px; font-size: 10px; line-height: 1.4em; text-transform: uppercase; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results li .poll-meta .poll-votecount { display: block; color: #fff; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results li.js-hover .poll-meta { display: block; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results li.poll-winner .poll-meta { display: block; width: auto; background:none repeat scroll 0 0 transparent; border:medium none; padding:0; position:static; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results li.poll-winner { width: 325px; height: auto; padding: 0; margin: 0; position: relative; background: none; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results li.poll-winner .poll-question { display: block; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results li.poll-winner .poll-question-result .poll-question-position { background: url("images/hotornot-sprite-default.png") repeat scroll -35px -145px transparent; _background-image: url("images/hotornot-sprite-default.gif"); padding: 5px 0 0; font-size: 20px; width: 35px; height: 29px; z-index: 1; bottom: 5px; left: 5px; text-align: center; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results li.poll-winner .poll-question-result { font-family: 'arial narrow', arial, sans-serif; font-size: 21px; padding: 12px 0 10px 50px; text-transform: uppercase; display: block; margin: 0; position: absolute; bottom: 0; left: 0; width: 266px; background: url("images/hotornot-sprite-default.png") repeat scroll 0px -290px transparent; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results li.poll-winner .poll-question-result .poll-pc { display: none; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results li.poll-winner .poll-question-result .poll-name { font-size: 21px; color: #fff; padding: 0 7px 0 0; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results li.poll-winner .poll-question-result .poll-votecount { font-size: 21px; display: inline; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results li.poll-winner .poll-question .poll-votecount { padding-left: 10px; font-size: 16px; font-weight: 700; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results .poll-question-image img { width: 75px; height: 100px; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results .poll-winner .poll-question-image img { width: 316px; height: 421px; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results .poll-question { } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results .poll-question-result .poll-question-position { font-family: 'arial narrow', arial, sans-serif; font-size: 18px; position: absolute; bottom: 8px; left: 0px; background: url("images/hotornot-sprite-default.png") repeat scroll -236px -44px transparent; _background-image: url("images/hotornot-sprite-default.gif"); color: #fff; display: block; padding: 4px 0 0; width: 34px; height: 29px; font-weight: 300; text-align: center; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results .poll-question-result-name { } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results .poll-question-text { font-size: 11px; color: #fff; position: absolute; bottom: 5px; left: 0; font-weight: 700; display: none; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results .poll-question-result { width: auto; margin: none; height: auto; border: none; background: none; display: block; position: static; margin: 0; padding: 0; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results .poll-question-result .poll-bar { display: none; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results .poll-question-result .poll-pc { display: none; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results .poll .poll-votecount { font-size: 11px; color: #fff; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results .poll-selected .poll-question-result { } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results .poll-selected .poll-question-result .poll-bar, .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results .poll-selected .poll-question-result .poll-pc, .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results .poll-selected .poll-question .poll-votecount { display: none; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .poll-selected-results { font-family: 'arial narrow', arial, sans-serif; font-size: 15px; position: absolute; bottom: 10px; right: 0px; color: #fff; padding: 7px 45px 0 0; height: 33px; text-transform: uppercase; width: 200px; text-align: right;} .module.js-interactive-hotornot.image-poll-results-module .poll-block .poll-selected-results .poll-vote-position { background: url("images/hotornot-sprite-default.png") repeat scroll -134px -146px transparent; _background-image: url("images/hotornot-sprite-default.gif"); width: 29px; height: 23px; padding: 7px 0 0; text-align: center; display: block; position: absolute; right: 10px; top: 0; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .poll-selected-results .poll-label-text { } .module.js-interactive-hotornot.image-poll-results-module .poll-block .poll-selected-results .poll-choice-name { } .module.js-interactive-hotornot.image-poll-results-module .poll-block .selected-poll-preview { position: absolute; top: 75px; left: 41px; display: block; width: 525px; background: url("images/hotornot-sprite-default.png") repeat scroll 0 -300px transparent; _background-image: url("images/hotornot-sprite-default.gif"); border: 1px solid #8a8989; padding: 20px; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .selected-poll-preview .poll-question-image { width: 165px; float: left; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .selected-poll-preview .poll-question-image img { width: 165px; height: 220px; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .selected-poll-preview .results .poll-pc { display: none; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .selected-poll-preview .results .poll-votecount { font-family: 'arial narrow', arial, sans-serif; font-size: 16px; color: #919191; display: block; font-weight: 300; padding: 8px 0 0 0; text-transform: uppercase; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .selected-poll-preview .results .poll-bar { display: none; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .selected-poll-preview .results { float: right; width: 325px; display: block } .module.js-interactive-hotornot.image-poll-results-module .poll-block .selected-poll-preview .results .heading { font-family: 'arial narrow', arial, sans-serif; font-size: 18px; font-weight: 300; color: #d8d8d8; text-transform: uppercase; display: block; margin-bottom: 15px; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .selected-poll-preview .results .vote-block { padding-left: 67px; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .selected-poll-preview .results .poll-name { font-family: 'arial narrow', arial, sans-serif; font-size: 26px; text-transform: uppercase; font-weight: 300; width: 250px; display: block; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .selected-poll-preview .results .poll-description { font-size: 14px; color: #fff; font-weight: 300; width: 250px; display: block; font-family: "Trebuchet MS", arial, sans-serif; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .selected-poll-preview .results .poll-position { font-size: 45px; font-family: 'arial narrow', arial, sans-serif; background: url("images/hotornot-sprite-default.png") repeat scroll -121px -30px transparent; _background-image: url("images/hotornot-sprite-default.gif"); color: #fff; padding: 19px 0 0; *padding: 14px 0 0; width: 61px; height: 65px; font-weight: 300; display: block; float: left; margin-right: 7px; line-height: 25px!important; *line-height: 32px!important; text-align: center; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .selected-poll-preview .close-preview { } .module.js-interactive-hotornot.image-poll-results-module .poll-block .selected-poll-preview .close-preview:hover { cursor: pointer; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .selected-poll-preview .close-preview a { font-family: 'arial narrow', arial, sans-serif; font-size: 16px; position: absolute; bottom: 15px; right: 15px; display: block; background: #2f2f2f url("images/hotornot-sprite-default.png") repeat scroll -490px -0px; _background-image: url("images/hotornot-sprite-default.gif"); display: block; _display: inline; padding: 4px 4px 4px 20px; overflow: hidden; color: #fff; text-align: center; text-transform: uppercase; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; cursor: pointer; margin: 0; float: right; text-decoration: none; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .selected-poll-preview .close-preview a:hover { text-decoration: none;} .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item fieldset.form-radio-group .form-radio-item .selected { text-transform: uppercase; padding: 5px; font-size: 16px; top: 150px; left: 100px; position: absolute; background: url('images/hotornot-sprite-default.png') 0 -280px; _background: url('images/hotornot-sprite-default.gif') 0 -280px; color: #fff; border-radius: 4px; -moz-border-radius: 4px; -webkit-border-radius: 4px; display: none; font-weight: 700; } /* Closed Poll */ .module.js-interactive-hotornot.image-poll-results-module .poll-block .poll-closed {color: #FFFFFF; font-family: 'arial narrow',arial,sans-serif; font-size: 22px; font-weight: normal; padding: 8px 0 8px 10px; text-transform: uppercase;} .module.js-interactive-hotornot.image-poll-results-module .poll-block .poll-question-text {float: left; margin: 0 0 0 10px; width: 300px; font-size: 15px; font-family: 'arial narrow',arial,sans-serif;} .module.js-interactive-hotornot.image-poll-results-module .image-poll-results ul li.poll-winner {display: block; margin: 0;} .module.js-interactive-hotornot.image-poll-results-module .image-poll-results ul li.poll-winner .poll-question-result {display: none;} .module.js-interactive-hotornot.image-poll-results-module .image-poll-results ul li.poll-winner .poll-question-image {float: left; margin:0;} /* Story */ body.story .story-body .module.js-interactive-hotornot p { padding-right: 0; } body.story #story .module.js-interactive-hotornot a { color: #fff; } ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=styles.css Content-Type: text/css; name=styles.css Content-Location: http://resources.news.com.au/cs/network/css/multimedia/imageslider/styles.css Content-Transfer-Encoding: 8bit .has-js .module-photoreveal { background: #ededed url('images/loading-animation-ededed.gif') no-repeat 50% 50%; width: 650px;} .has-js .module-photoreveal .module-content { visibility: hidden; } .has-js .module-photoreveal .module-content .content-item { display: none; } .has-js .module-photoreveal .module-content .content-item:first-child { display: block; } .has-js .module-photoreveal.photoreveal-loaded { background: transparent; position: relative; visibility: visible; } .has-js .module-photoreveal.photoreveal-loaded { width: 650px; overflow: hidden; } .has-js .module-photoreveal.photoreveal-loaded .module-content { visibility: visible; margin: 0; padding: 0;} .has-js .module-photoreveal.photoreveal-loaded .module-content .promo-block .note { position: absolute; text-transform: uppercase; font-size: 12px; bottom: 5px; left: 5px; background: #000; color: #fff; padding: 3px; line-height: 1em; } .has-js body.homepage .module-photoreveal.photoreveal-loaded .module-content .promo-block .note { bottom: 82px; } .has-js .module-photoreveal.photoreveal-loaded .module-content .content-item { display: block; margin:0; padding:0;} .has-js #page .module-photoreveal.photoreveal-loaded .module-content .content-item .promo-image {padding: 0; border: 0; height: auto; background: none;} .has-js .module-photoreveal.photoreveal-loaded .module-content .content-item:first-child .promo-block .note { right: 5px; left: auto; } .has-js .module-photoreveal.photoreveal-loaded .module-content .handle { cursor: move; height: 366px; background: transparent url('images/move-scrubber.png') 0 0 no-repeat; _background-image: url('images/move-scrubber.gif'); width: 43px; height: 488px; text-indent: -50000px; margin-left: -21px; } .has-js .module-photoreveal.photoreveal-loaded .module-content .promo-heading { display: none; float: left; font-weight: 700; clear: left; padding-right: 5px; } .has-js .module-photoreveal.photoreveal-loaded .module-content .promo-heading h4 { font-weight: 700; } .has-js .module-photoreveal.photoreveal-loaded .module-content .promo-text { float: left; display: none; } .has-js .module-photoreveal.photoreveal-loaded .module-content .promo-text p { padding: 0; margin: 0; } .has-js .module-photoreveal.photoreveal-loaded .module-content .promo-block { width: 650px; } .has-js .module-photoreveal.photoreveal-loaded.first-image-650w366h { height: 366px; } .has-js .module-photoreveal.photoreveal-loaded.first-image-650w488h { height: 488px; } .has-js .module-photoreveal.photoreveal-loaded .promo-image a img { border: none; } ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=styles.css Content-Type: text/css; name=styles.css Content-Location: http://resources.news.com.au/cs/network/css/multimedia/videoicon/styles.css Content-Transfer-Encoding: 8bit /* Video Icons */ .story-block .related li.story a span.video, .related li.story a span.video, #page .breaking-news-list li a span.video, #page .most-popular li a span.video, .story-block p.standfirst span.video {background: transparent url('images/video-icon.gif') no-repeat 0 0; display: inline-block; width: 10px; height: 8px; /* IE7 hack */ *height: 11px; overflow: hidden; margin: 0; border: 0; padding:0;} /* IE fixes */ The Australian body.theaustralian .story-block .related li.story a span.video, body.theaustralian .related li.story a span.video, body.theaustralian #page .breaking-news-list li a span.video, body.theaustralian #page .most-popular li a span.video {*height: 10px;} body.theaustralian.homepage .story-block p.standfirst span.video {*height: 13px;} body.theaustralian.national-affairs .story-block p.standfirst span.video {*height: 10px;} body.theaustralian.business .story-block p.standfirst span.video {*height: 10px;} body.theaustralian.australian-it .story-block p.standfirst span.video {*height: 13px;} /* Site Exclude */ body.theaustralian .story-block .related li.story a span.video, body.theaustralian .related li.story a span.video, body.theaustralian #page .breaking-news-list li a span.video, body.theaustralian #page .most-popular li a span.video, body.theaustralian .story-block p.standfirst span.video {display: none;} body.heraldsun .story-block .related li.story a span.video, body.heraldsun .related li.story a span.video, body.heraldsun #page .breaking-news-list li a span.video, body.heraldsun #page .most-popular li a span.video, body.heraldsun .story-block p.standfirst span.video {display: none;} ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=video-icon.gif Content-Type: image/gif; name=video-icon.gif Content-Location: http://resources.news.com.au/cs/network/css/multimedia/videoicon/images/video-icon.gif Content-Transfer-Encoding: Base64 R0lGODlhCwAIAJECAP////kMGf///wAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0 IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6 eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUg WE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAw ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3Jn LzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJk ZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu MC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0v IiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBl L1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3Ag Q1M1IE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2M0Q2MkQ2 NTYxN0ExMUUwOEQ4QUU4RTQ4MTE5MjBGNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1w LmRpZDo2M0Q2MkQ2NjYxN0ExMUUwOEQ4QUU4RTQ4MTE5MjBGNiI+IDx4bXBNTTpE ZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjYzRDYyRDYzNjE3 QTExRTA4RDhBRThFNDgxMTkyMEY2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlk OjYzRDYyRDY0NjE3QTExRTA4RDhBRThFNDgxMTkyMEY2Ii8+IDwvcmRmOkRlc2Ny aXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJy Ij8+Af/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU 09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWk o6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0 c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVE Q0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUU ExIREA8ODQwLCgkIBwYFBAMCAQAAIfkEAQAAAgAsAAAAAAsACAAAAhRUfqIb64oi NDFZgLGstvFmQJVTAAA7 ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=styles.css Content-Type: text/css; name=styles.css Content-Location: http://resources.news.com.au/cs/network/css/multimedia/tabtitle/styles.css Content-Transfer-Encoding: 8bit /* resets -------------------------------------------- */ .has-js #page #story .story-body .article-media .js-tabbed-tabtitle {padding:0; } .has-js #page #story .story-body .article-media .js-tabbed-tabtitle ul.tab-set { border:0; position: static; padding:0; margin:0; height:auto;} .has-js #page #story .story-body .article-media .js-tabbed-tabtitle ul.tab-set li { background:#dadada; border:0; margin:0; margin-right:1px; padding:0; line-height:normal; text-transform:none;} .has-js #page #story .story-body .article-media .js-tabbed-tabtitle ul.tab-set li.js-active-tab {border:0; padding:0;} .has-js #page #story .story-body .article-media .js-tabbed-tabtitle ul.tab-set li a { padding:0; font-weight:normal; font-size: 11px; border:0; } .has-js #page #story .story-body .article-media .js-tabbed-tabtitle ul.tab-set li.js-active-tab a { color:#fff; } .has-js #page #story .story-body .article-media .js-tabbed-tabtitle { background:none; } .has-js #page #story .story-body .article-media .js-tabbed-tabtitle .tab-content { border: 0; } .has-js #page #story .story-body .article-media .js-tabbed-tabtitle .module-header { display:none; } .has-js #page #story .story-body .article-media .js-tabbed-tabtitle .tab-content .module-content { padding:0; } /* Revisit this once all live .no-js .has-js #page #story .story-body .article-media .js-tabbed ul li {display:none;} .no-js .has-js #page #story .story-body .article-media .js-tabbed {background: url('images/ajax-loader.gif') no-repeat center;} .has-js .has-js #page #story .story-body .article-media .js-ready-tabbed ul li {display:block;} */ /* tab styles -------------------------------------------- */ .has-js #page #story .story-body .article-media .js-tabbed-tabtitle {background: url('images/ajax-loader.gif') no-repeat center; position: relative; overflow:visible!important;} .has-js #page #story .story-body .article-media .js-tabbed-tabtitle ul.tab-set {border: 0;position:absolute; background:none; z-index:9999; overflow:visible!important;} .has-js #page #story .story-body .article-media .js-tabbed-tabtitle ul.tab-set li {background: url('images/bg-nav-off.gif') repeat-x; width: 163px; height: 40px; padding-bottom: 12px!important; _padding-bottom: 6px!important; border-bottom: none; border: 0; margin-right:0px; line-height:normal;} .has-js #page #story .story-body .article-media .js-tabbed-tabtitle ul.tab-set li a {padding: 5px 5px 0 36px; font-size: 12px; color: #fff; border-right: 1px solid #b4b4b4; height: 35px;} .has-js #page #story .story-body .article-media .js-tabbed-tabtitle ul.tab-set li.js-active-tab {background: transparent url('images/bg-arrow.png') no-repeat bottom; _background: transparent url('images/bg-arrow.gif') no-repeat bottom; border-bottom: none; margin-top: -3px; _margin-top: 0; width: 161px;} .has-js #page #story .story-body .article-media .js-tabbed-tabtitle ul.tab-set li.js-active-tab a {color: #414141; border-top: 1px solid #b4b4b4; border-left: 1px solid #b4b4b4; height: 37px; _height: 34px; -moz-border-radius: 2px 2px 0 0; /* FF1+ */ -webkit-border-radius: 2px 2px 0 0; /* Saf3-4 */ border-radius: 2px 2px 0 0; /* Opera 10.5, IE 9, Saf5, Chrome */ } .has-js #page #story .story-body .article-media .js-tabbed-tabtitle .js-tab-content {padding-top:40px!important; border-top: 1px solid #fff;} .has-js #page #story .story-body .article-media .js-tabbed-tabtitle ul.tab-set li a {background: transparent url('images/icon-sprite.gif') no-repeat; background-position: 4px -994px;} .has-js #page #story .story-body .article-media .js-tabbed-tabtitle ul.tab-set li.js-active-tab a {background-position: 4px -1094px;} .has-js #page #story .story-body .article-media .js-tabbed-tabtitle ul.tab-set li.video a {background-position: 4px 6px;} .has-js #page #story .story-body .article-media .js-tabbed-tabtitle ul.tab-set li.video.js-active-tab a {background-position: 4px -94px;} .has-js #page #story .story-body .article-media .js-tabbed-tabtitle ul.tab-set li.iframe a {background-position: 4px -994px;} .has-js #page #story .story-body .article-media .js-tabbed-tabtitle ul.tab-set li.iframe.js-active-tab a {background-position: 4px -1094px;} .has-js #page #story .story-body .article-media .js-tabbed-tabtitle ul.tab-set li.image a {background-position: 4px -194px;} .has-js #page #story .story-body .article-media .js-tabbed-tabtitle ul.tab-set li.image.js-active-tab a {background-position: 4px -294px;} .has-js #page #story .story-body .article-media .js-tabbed-tabtitle ul.tab-set li.map a {background-position: 4px -394px;} .has-js #page #story .story-body .article-media .js-tabbed-tabtitle ul.tab-set li.map.js-active-tab a {background-position: 4px -494px;} /* site specific styles */ /* newscomau */ .has-js .newscomau #page #story .story-body .article-media .js-tabbed-tabtitle .image-fader .fader-controls p.fader-counter-container {top: 50px;} ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=base-header-and-footer.css Content-Type: text/css; name=base-header-and-footer.css Content-Location: http://resources.news.com.au/cs/perthnow/css/base-header-and-footer.css Content-Transfer-Encoding: 8bit /* header and footer, incorporates base and skin for header and footer only. */ /* ---------------------------------------------------------------------- */ /* Base */ /* ---------------------------------------------------------------------- */ body { color: #fff; background: #ebebeb url("../images/header-and-footer/page-bg.gif") repeat-y center; text-align: center; font-size: 12px; font-family: Arial, Helvetica, sans-serif; } #page { color: #000; background: #fff; } #skip-links, #network-bar, #header, #slim-header, #nav, #info-bar, #footer, #stats { background: #ccc; font-family: Arial, Helvetica, sans-serif; } /* link style specific to header and footer, scope to avoid clash with content */ #network-bar a, #header a, #nav a, #info-bar a { color: #fff; text-decoration:none; } #network-bar a:hover { color:#ffc84c; } #header a:link, #header a:visited, #info-bar a:link, #info-bar a:visited { color: #000; } #header a:focus, #header a:hover, #header a:active, #nav a:focus, #nav a:hover, #nav a:active, #info-bar a:focus, #info-bar a:hover, #info-bar a:active, #footer a:focus, #footer a:hover, #footer a:active { color: #c33; } /* network bar ---------------------------------------------------------------------- */ #network-bar { position: relative; width: 998px; margin-left: 1px; } .network-bar-links { clear:both; height:11px; padding:1px 0 0 0; line-height:10px; overflow:hidden; margin:0; background: #3a4789 url(../images/header-and-footer/network-bar-links-bg.gif) repeat-x; } .network-bar-links dt { float:left; margin-left: -999px; } .network-bar-links dd { float:left; margin:0; padding:0; text-align:center; width:68px; height:10px; display:block; border-right:1px solid #fff; font-size:10px; } .network-bar-links dd.last { border-right:0; } .network-bar-links dd a { font-weight:normal; font-family:Tahoma,arial,san-serif; line-height:10px; font-size:10px; text-decoration:none; } #network-bar ul, #network-bar li { display: inline-block; } /* Header ---------------------------------------------------------------------- */ #header { height:100px; padding:0; position: relative; background: #fafafa url("../images/header-and-footer/header-bg.gif") repeat-x; width: 998px; margin-left: 1px; } #header ad { margin:0; } body.homepage #header-logo { width: 258px; height: 57px; position: absolute; top: 28px; left: 10px; background:url(../images/header-and-footer/logo.gif) no-repeat; text-indent:-9000px; } body #header-logo a { width: 258px; height: 57px; position: absolute; top: 28px; left: 10px; background:url(../images/header-and-footer/logo.gif) no-repeat; text-indent:-9000px; } #header-ads { float: left; position: absolute; top: 5px; right: 10px; } /* Slim Header ---------------------------------------------------------------------- */ #slim-header-nav sam{ height: 1.5em; line-height: 1.5em; } #slim-header-nav dt, #slim-header-nav dd { display: inline; float: left; margin: 0 1em 0 0; } /* Slim Header for Gallery and Multimedia ---------------------------------------------------------------------- */ /* no network bar, no info bar, no nav, slimline header means remove the margin from content... body.gallery #content { margin: 0; } body.gallery #slim-header, body.multimedia #slim-header { width: 1000px; } body.gallery #slim-header-logo, body.gallery #slim-header-title, #slim-header-nav, body.multimedia #slim-header-logo, body.multimedia #slim-header-title, #slim-header-nav { width: 316px; float: left; background: #eee; } body.gallery #slim-header-logo, body.multimedia #slim-header-logo { margin: 0 18px 0 8px; } body.gallery #slim-header-title, body.multimedia #slim-header-title { margin: 0 18px 0 0; } body.gallery #slim-header-nav, body.multimedia #slim-header-nav { margin: 0 8px 0 0; } body.gallery .module-content li, body.multimedia .module-content li { margin: 0 0 0 20px; } body.gallery p.article-info, body.multimedia p.article-info { background: #eee; } body.gallery .standfirst, body.multimedia .standfirst { background: #eee; } */ /* body.gallery #slim-header-logo a { background: #2B2B2B url("../images/base/PN-gallery-logo.gif") left top no-repeat; display: block; float: left; height: 28px; overflow: hidden; text-indent: -9999px; width: 160px; } */ #slim-header {background:#fff;} #slim-header-logo {color:#fff; background:url("../images/header-and-footer/slim-bg.gif") no-repeat 0 0; height:29px; width:120px; } #slim-header-logo strong a {background:none; display:block; text-indent:-9999px; height:46px; width: 240px;} body.gallery #slim-header-title { width:600px; text-align:right; } body.gallery #slim-header-title .heading { font-size:12px; } #slim-header-nav {height:1.5em; line-height:1.5em;} #slim-header-nav dt, #slim-header-nav dd {display:inline; float:left; margin: 0 1em 0 0;} body.gallery #slim-header-logo, body.gallery #slim-header-title, body.gallery #slim-header-logo a { color: #fff; } body.gallery #footer .footer-legals { background-color: #3D3E3D !important; } /* info bar ---------------------------------------------------------------------- */ #info-bar { background:#F5F4F4; border-bottom:1px solid #d9e4e9; width:998px; height:28px; line-height:28px; position: relative; clear:both; margin:0 1px 17px 1px; } .info-bar-datestamp { margin: 0 8px; width: 220px; font-size: 10px; } .info-bar-datestamp-date { width:4000em; height:0; overflow:hidden; } .info-bar-links { position: absolute; top: 0; left: 230px; height: 30px; } .info-bar-links li { display: inline; float: left; padding-right: 0.3em; } .info-bar-links li:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } /* site search form -------------------- */ /* basics in all locations */ #site-search label { position: absolute; left: -5000em; width: 4000em; height: 0; overflow: hidden; } #site-search input { border: 1px solid #a4a4a4; height: 11px; font-size: 9px; position: absolute; top: 0; right: 55px; } #site-search .submit { height: 15px; text-indent: -9999em; color: #000; background: #ccc url("../images/header-and-footer/site-search-submit-bg.gif") 0 0 no-repeat; border: 0; text-transform:uppercase; right:0; width: 50px; } /* info bar search */ .network-bar-search { position: absolute; top: 5px; right: 10px; width: 165px; } .network-bar-search input { width: 100px; } .network-bar-search .submit { width: 60px; } /* info bar search */ .info-bar-search { width: 316px; height: 30px; position: absolute; top: 0; left: 267px; } #info-bar #site-search { width: 300px; position: absolute; top: 7px; right: 0; height: 30px; line-height: 30px; text-align: right; } #info-bar #site-search input { width: 185px; } #info-bar #site-search input.submit { width: 50px; } /* slim weather -------------------- */ #info-bar .slimline-weather { float:right; height:20px; line-height:20px; position: absolute; top: 5px; right: 8px; font-size: 10px; } #info-bar .slimline-weather .slimline-weather-icon { width: 20px; height: 20px; background: transparent url("../../network/images/weather/iconset-weather.gif") 0 0 no-repeat; display:block; float:left; margin:0 5px 0 0; } #info-bar .slimline-weather .sunny {background-position: 0 0 ;} #info-bar .slimline-weather .mostly-sunny {background-position:0 -22px ;} #info-bar .slimline-weather .mostly-cloudy {background-position:0 -44px ;} #info-bar .slimline-weather .cloudy {background-position:0 -66px ;} #info-bar .slimline-weather .overcast {background-position:0 -88px ;} #info-bar .slimline-weather .cloud-increasing {background-position:0 -110px ;} #info-bar .slimline-weather .increasing-sunshine {background-position:0 -132px ;} #info-bar .slimline-weather .hazy {background-position:0 -154px ;} #info-bar .slimline-weather .possible-shower {background-position:0 -176px ;} #info-bar .slimline-weather .showers {background-position:0 -198px ;} #info-bar .slimline-weather .heavy-showers {background-position:0 -220px ;} #info-bar .slimline-weather .showers-increasing {background-position:0 -242px ;} #info-bar .slimline-weather .showers-easing {background-position:0 -264px ;} #info-bar .slimline-weather .clearing-shower {background-position:0 -286px ;} #info-bar .slimline-weather .drizzle-clearing {background-position:0 -308px ;} #info-bar .slimline-weather .possible-thunderstorm {background-position:0 -330px ;} #info-bar .slimline-weather .late-thunder {background-position:0 -352px ;} #info-bar .slimline-weather .thunderstorms {background-position:0 -374px ;} #info-bar .slimline-weather .thunderstorms-clearing {background-position:0 -396px ;} #info-bar .slimline-weather .drizzle {background-position:0 -418px ;} #info-bar .slimline-weather .rain {background-position:0 -440px ;} #info-bar .slimline-weather .heavy-rain {background-position:0 -462px ;} #info-bar .slimline-weather .rain-developing {background-position:0 -484px ;} #info-bar .slimline-weather .rain-clearing {background-position:0 -506px ;} #info-bar .slimline-weather .rain-and-snow {background-position:0 -528px ;} #info-bar .slimline-weather .rain-tending-to-snow {background-position:0 -550px ;} #info-bar .slimline-weather .snow-tending-to-rain {background-position:0 -572px ;} #info-bar .slimline-weather .snow {background-position:0 -594px ;} #info-bar .slimline-weather .snow-showers {background-position:0 -616px ;} #info-bar .slimline-weather .snow-developing {background-position:0 -638px ;} #info-bar .slimline-weather .snowfalls-clearing {background-position:0 -660px ;} #info-bar .slimline-weather .windy {background-position:0 -682px ;} #info-bar .slimline-weather .cloud-and-wind-increasing {background-position:0 -704px ;} #info-bar .slimline-weather .wind-and-rain-increasing {background-position:0 -726px ;} #info-bar .slimline-weather .wind-and-showers-easing {background-position:0 -748px ;} #info-bar .slimline-weather .windy-with-rain {background-position:0 -770px ;} #info-bar .slimline-weather .windy-with-showers {background-position:0 -792px ;} #info-bar .slimline-weather .windy-with-snow {background-position:0 -814px ;} #info-bar .slimline-weather .fog-then-sunny {background-position:0 -836px ;} #info-bar .slimline-weather .frost-then-sunny {background-position:0 -858px ;} #info-bar .slimline-weather .late-shower {background-position:0 -880px ;} #info-bar .slimline-weather a, #info-bar .slimline-weather a abbr { text-decoration:none; } /* Navigation ---------------------------------------------------------------------- */ #nav { width:998px; margin: 0 1px; font-family:Tahoma, Arial, Helvetica, sans-serif; font-weight:bold; font-size:11px; padding: 0; z-index:20; } * html #nav { margin: 0; padding: 0; left: 1px; position: relative; } body.news-archives #nav { background:#fff; padding-bottom:10px; } #nav a { display:inline-block; line-height:25px; height:25px; padding:0 6px 0 7px; } #nav #nav-level1 a, #nav #nav-level1 a:link, #nav #nav-level1 a:visited { color:#fff; line-height:22px; background:url('../images/header-and-footer/nav-divider.gif') top right no-repeat; } #nav #nav-level1 li.active a { background:none; } #nav #nav-level1 a a { background-image:none; } #nav #nav-level2 a, #nav #nav-level2 a:link, #nav #nav-level2 a:visited { color:#3A4789; line-height:20px; height:20px; } #nav #nav-level3 a, #nav #nav-level3 a:link, #nav #nav-level3 a:visited { color:#3A4789; line-height:20px; height:20px; } #nav-wrap { list-style:none; display:block; } #nav-level1 { position:relative; z-index:101; } #nav-level2 { position:relative; z-index:100; } #nav-level3 { position:relative; z-index:101; } #info-bar { z-index:0; } #info-bar-datestamp { z-index:0; } #nav-level1, #nav-level2, #nav-level3 { width:100%; float:left; display:block; } #nav-list { display:block; float:left; } #nav .tier-1 li { float:left; display:block; width:auto; padding:0; position:relative; } #nav .tier-1 li .tier-2 { display:block; position:absolute; float:left; overflow:hidden; width:100px; height:auto; z-index:100; left:-9999em; top:-9999em; width: 130px; } #nav #nav-level1 .tier-1 li:hover .tier-2, #nav #nav-level1 .tier-1 li.js-hover .tier-2, #nav #nav-level1 .tier-1 li.sfhover .tier-2 { left:0; top:21px; clear:both; } /* DL: we probably need to get this down to just the JS-HOVER */ #nav .tier-1 li:hover .tier-2, #nav .tier-1 li.js-hover .tier-2, #nav .tier-1 li.sfhover .tier-2 { left:0; top:20px; clear:both; } #nav .tier-1 li .tier-2 li { display:block; padding:0; width:120px; height:auto; } #nav #nav-level2 .tier-1 li.active { background:#fff; } #nav #nav-level2 .tier-1 li.active { padding:0 0 0 5px; background:#fff url('../images/header-and-footer/nav-level2-active-left.gif') no-repeat scroll left top; } #nav #nav-level2 .tier-1 li.active a { display:inline-block; height:24px; padding:0 5px 0 0; background:transparent url('../images/header-and-footer/nav-level2-active-right.gif') no-repeat right top; } #nav #nav-wrap .tier-1 .tier-2 a { font-size:11px; color:#3A4789; background: #FAFAF7; display:block; padding:0; line-height:normal; padding:2px 0 2px 4px; border:#F0EFEC solid 1px; border-top:none 0px; height:auto; } #nav #nav-wrap .tier-1 .tier-2 a:hover { color:#9f1f1f; background:#EAE7DE; } #nav #nav-level2 a:hover, #nav #nav-level3 a:hover { color:#9f1f1f; } /* =IE6 */ * html .sfhover { z-index: 200; } /** #nav-wrap li ul.drop-menu a { width:120px; } **/ #nav #nav-level1 { background:url(../images/header-and-footer/nav-level1-bg.gif) repeat-x; height:25px; } #nav #nav-level2 { background:#eae9dd; border-bottom:#bfd2db solid 1px; height:24px; } #nav #nav-level3 { background:#eae9dd; border-bottom:#bfd2db solid 1px; height:19px; } #nav #nav-level1 li:hover, #nav #nav-level1 li.js-hover { background:transparent url(../images/header-and-footer/nav-level1-hover-bg.gif) repeat-x; } #nav #nav-level1 li.active a, #nav #nav-level1 li.active a:link, #nav #nav-level1 li.active a:visited, #nav #nav-level1 li.active a:focus, #nav #nav-level1 li.active a:hover, #nav #nav-level1 li.active a:active { background:#ear9dd url(../images/header-and-footer/nav-level1-active-bg.gif) repeat-x; color:#3a4789; } #nav #nav-level1 li.active {background:url('../images/header-and-footer/nav-divider.gif') top right no-repeat; padding-right:1px;} #nav #nav-level1 li.active a { background:#eae9dd url(../images/header-and-footer/nav-level1-active-bg.gif) repeat-x!important; color:#3a4789;} #nav #nav-level1 ul li.js-hover a, #nav #nav-level1 ul li a:hover { color:#656565; } /* drop downs */ #nav #nav-level1 .tier-1 .tier-2 { width:124px; padding:1px 0 0 0; background:#f6f6f6; } #nav #nav-level1 .tier-1 .tier-2 li { padding:0; width:124px; margin:0 1px 1px 1px; background:#fff; } #nav #nav-level1 .tier-1 .tier-2 li a { display:block; padding:3px; color:#484848; } #nav #nav-level1 li li a { border-bottom:0; } #nav #nav-level1 li.js-hover li a { border-bottom:0; } #nav #nav-level1 .tier-1 .tier-2 li a:hover { color:#cc0a17; } #nav #nav-level1 .tier-1 .nav-cars .tier-2 li.first a { display:block; padding:0; text-indent:-9000px; width:124px; height:38px; background:url(../images/header-and-footer/nav-cars.gif); } #nav #nav-level1 .tier-1 .nav-cars .tier-2 li a:hover { background-color:#931318; color:#fff; } #nav #nav-level1 .tier-1 .nav-jobs .tier-2 li.first a { display:block; padding:0; text-indent:-9000px; width:124px; height:38px; background:url(../images/header-and-footer/nav-jobs.gif); } #nav #nav-level1 .tier-1 .nav-jobs .tier-2 li a:hover { background-color:#0ca000; color:#fff; } #nav #nav-level1 .tier-1 .nav-news-network .tier-2 li a:hover, #nav #nav-level1 .tier-1 .nav-classifieds .tier-2 li a:hover { background-color:#2e5483; color:#fff; } #nav #nav-level1 .tier-1 .nav-cars, #nav #nav-level1 .tier-1 .nav-jobs, #nav #nav-level1 .tier-1 .nav-classifieds, #nav #nav-level1 .tier-1 .nav-news-network { float:right; } #nav #nav-level1 .tier-1 .nav-news-network a, #nav #nav-level1 .tier-1 .nav-news-network a:link, #nav #nav-level1 .tier-1 .nav-news-network a:visited {background-position:top left;} /* news network dropdown nav doesn't go outside page */ #nav #nav-wrap li#nav-level1 ul.tier-1 li.nav-news-network:hover ul.tier-2 {left: -23px;} /* Footer ---------------------------------------------------------------------- */ #footer { background:#EEEEEE none repeat scroll 0%; clear:both; font-size:11px; padding:0pt 0pt 24px; position:relative; text-align:center; width:998px; margin:0 1px; } #footer-ads { padding-top: 20px; } #footer .footer-tools ul { background:#eee; margin:0; padding:7px 0; border-top:1px solid #dadada; border-bottom:1px solid #dadada; } #footer .footer-tools ul li { background:url(../images/header-and-footer/iconset-tools.gif) no-repeat; display:inline; font-weight:bold; margin:0 15px; padding:0 0 0 33px; } #footer .footer-tools ul li.tool-mobile { background-position: 0 -138px; } #footer .footer-tools ul li.tool-alerts { background-position: 0 -69px; } #footer .footer-tools ul li.tool-rss { background-position: 0 -1px; } #footer .footer-tools ul li.tool-newsletter { background-position: 0 -35px; } #footer .footer-tools ul li.tool-tips { background-position: 0 -210px; } #footer .footer-tools ul li.tool-pics { background-position: 0 -175px; } /* Footer Nav */ .footer-nav {float:left; width:998px; padding-bottom:7px; background:#E9E9F3; border-bottom:1px solid #dadada; } .footer-nav dl {display:inline-block; clear:both; float:left; font-size:11px; padding:5px 10px; text-align:left; width:805px; margin-left:100px; } * html .footer-nav dl {display:inline; padding: 2px 10px;}/* =IE6 */ .footer-nav dl dt { display:block; clear:left; float:left; font-weight:bold; position:relative; margin:10px 0 0; width:155px;} * html .footer-nav dl dt { position:static; }/* =IE6 */ .footer-nav dl dd {float:left; display:inline-block; margin:10px 0 0; background:transparent url("../images/header-and-footer/bg-list-divider-footer.gif") no-repeat 100% 2px; padding:0 7px;} .footer-nav dl dd.last {background-image:none;} .footer-nav ul {line-height:1.6em; padding:0 0 7px 0;} .footer-nav ul li {background:transparent url("../images/header-and-footer/bg-list-divider-footer.gif") no-repeat 0 2px; padding:0 0 0 6px; display:inline;} .footer-nav ul li.first {background:none;} #footer .footer-legals { background: #fff; font-size:10px; padding:7px 0; clear:both; } #footer .footer-legals ul { padding:0 0 2px; } #footer .footer-legals ul li { display:inline; background:transparent url("../images/header-and-footer/bg-list-divider-footer.gif") no-repeat 0 2px; padding:0 0 0 6px; } #footer .footer-legals ul li.first {background:none; padding: 0; } ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=page-bg.gif Content-Type: image/gif; name=page-bg.gif Content-Location: http://resources.news.com.au/cs/perthnow/images/header-and-footer/page-bg.gif Content-Transfer-Encoding: Base64 R0lGODlh9gMBALMAAP///+bm5uHh4c/Pz+rq6tnZ2b+/v8jIyMfHyAAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAD2AwEAAAQukARRBjIg6827/2AojmRp nmiqrmzrvnAsz3Rt33iu73zv/8CgcBgyHAYFQYAQAQA7 ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=network-bar-links-bg.gif Content-Type: image/gif; name=network-bar-links-bg.gif Content-Location: http://resources.news.com.au/cs/perthnow/images/header-and-footer/network-bar-links-bg.gif Content-Transfer-Encoding: Base64 R0lGODlhAQAaAMQAADpIijpHiUdTjVBbkEBMiklUjU1Yj09ZjzxIikJOjFJckUZR jD1KikFNi1RekT5LiktWjkRPiwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAABABoAAAUTICCOQAAgzEM0SbQIBWQc g+IEIQA7 ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=header-bg.gif Content-Type: image/gif; name=header-bg.gif Content-Location: http://resources.news.com.au/cs/perthnow/images/header-and-footer/header-bg.gif Content-Transfer-Encoding: Base64 R0lGODlhBQBrAPcAAPf3+Pr6+/n5+vv7+/j4+fr6+vX19vn5+fHx8uvr7fb29+Lj 5PPz9Onq6+Dh4vDw8dfY2uPj5MfIyvT09eTl5vf39/Ly8/P09O7u79HS0/b29vDx 8vLz8+3t7u7v8N3e39jZ2/j4+OPk5d/g4ff4+MzNzvX29unp6uHi49PU1c/R0vb3 9+Xm5tbX2Lu8vt7f4c7Q0dLU1cXFxuvr7Ozs7ufn6MrLy97e4MfIycnKy/j5+sjJ yu/v8Nna2/T19e3u7/Hx8e7u7vX19eXm59fZ2err69XW19zc3tnb3Ojp6ejo6fHx 8/Pz8+zt7dvd3dvc3evs7Obn5/T19tDR0r/Awefn6ebn6MPExc7P0Pf4+d3d3rW3 uOTm5tTV19TV1uvs7ezs7dXV1/b3+O/v8dbX2dra3MTExuzt7t3e4NPT1NLT1O/v 79zd3t/f4dbY2eXl597g4PX299bW18DBwuLi5ODi4vHy8ufo6OTk5ebm5/Ly8tzd 3+7v7/Dw8Onq6u/w8MvMzdvc3t7f4MXHyNXW1tvb3L2+v9vb3err7MvNztbW2M/Q 0s3O0Ojp6rm7vMXGx9jY2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACwAAAAABQBrAAAI/wAzpMkgQwYOHFS2uLBhw4WjRyV2GKJS AoaZOTtgqLhyZUqGEoMApUiRI4caOWESYSFCJAUjQj16qJhSphCkRS2OHDGSwckH LTFi3LgBwkuLFy8UdTk0wokRNyMcICHzxIEDECDqoPiAZM+CBYGeoBCxgA0aChS2 LmDBAk6bIXkoCFpgxcqCETWUVLF64sQQOiIaNMAj4k6RJBS4FElQ442SBFCiRIHS pEEVPx06NErSJEiQEw0wYADT4IwHDzMQ8eizZsaPBw9+fHmwAQgNGkuWjOmAwYIF PhiAMNHjgQcTBhv+IGBwAfaFCxw2WJgwAYGdC1KkWOBgwsQEDhM0aKZgwECDAgMM hChQIITBigoKfEwAACCODxMkSBgwUCEEgPUhECDGCgAQQEAFFRiYBQAk6KADfQcI IICBBRRwAAEHVBhChAEIwGGHHx5wwAADSCgAiSYO0OGJAxQQQAAkvhhjAAWQWKEA Fb6o44489ujjj0AG2aOJEhpoJH1IJqnkkkw26eSTSyIgpZQJVFllBFhiCcGWW0rg pZdbhCnmmGSWaeaZYwYEADs= ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=logo.gif Content-Type: image/gif; name=logo.gif Content-Location: http://resources.news.com.au/cs/perthnow/images/header-and-footer/logo.gif Content-Transfer-Encoding: Base64 R0lGODlhAgE5APf/AO9CN3eBraatyfm6tY+XvPFYT/BSQ+9GOvmyq4ONtfFSQ/R5 YvJnVPFaSvq+uP3o5veZjvehkvzX0vq9tfBLPvzc2vFkWvWLd/NvW/eYkfiuqfq6 r/WCdv3i3vm5sfWJefWCefilnvNtWfJwZ/aOffWJfvvSz/rGwvNoVf3q6PvIwPzV 0frBufzVzkZUkfJlUvFWR/eaivmxpv729faVhvaThfFYSPNrYfvRzvWKg/zf3PWF evzc1vrIxPrGv/rDvPefkfiupfNqXfR9cvrFwfNrWfBKPfikl/JcS/ejnfefl/FX S/FURfaRf/aQiPaOhvWNgvJeVPV/avR0XvRyXfm5rvNyafJbSzpJivNrV1lWV/jM yvWAZ+9DOPWDavJiUPR4YcXExI+NjfRzXvJkUfR7ZPBOQGp2pu9FOfBJPPBMP/BQ QvBHO/R2YPFXSPWemPFURvJgTvJdTPNyXJqiwjEtLu9EOe9EOMvO35ujw/BNP6qo qWp2p/eci+3t7dLS0j47O3Rycu/w9FJfmIKAgMvP3+Df4OPl7bK40L7D2Le2tpya m2dkZbK40UxISdfa5v708/ze2dfZ5vBNQvBPQfJfTvnY1vBIO/719Pa1sfBIPF5r oPrv7/BNQF5rn/FRQ/7u6/R3YfaTiv7z8/zb1vBOQfnk4vNnV/SHgPNwW/zZ1P3l 4ffBvfN7dPza1fFbUPiomvBGOvimoPWHffNwX/N0a/appPzX0/q9svvU0PJmU/vT 0PJeTfvOxfWDbfFZSfaUgfvMw/vQzfBQRfJhT/NqVvNqV/BRQvR+b/JnXvBJPfaS ifR2bf3s6vJiV/vPyfvNyPV/Z/NsX/BSRvFdTPJdT+9FOveblO9IO/JfUfR2Y/aM e/R7Y/FTSPvTzPNxXPzd2/BRRvBMPvNpVVJgmfaQgfNxYvitnvaVjPRxXPWGdvFQ QvFRQvWLg/RwW/R5a/R5b/R6Z/V/dPR6cPvHwP7t6/iooPaWkPWFcviqnPecjvR0 aO9BNiMfIP////v7+yH5BAEAAP8ALAAAAAACATkAAAj/AP8JHEiwoMGDCBMqXMiw ocOHECNKnEixosWLGDNq3Mixo8ePIEOKLPgnjEmThhL2W8kyTMdMqEbwm0mzps2b OHPq3MmzZ89JI1CxGkm06D8tLFeKUZm0n0uNbyb5nEq1qtWrNQvYMsrVI9KkSxE2 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 7NquvxEQADs= ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=site-search-submit-bg.gif Content-Type: image/gif; name=site-search-submit-bg.gif Content-Location: http://resources.news.com.au/cs/perthnow/images/header-and-footer/site-search-submit-bg.gif Content-Transfer-Encoding: Base64 R0lGODlhMgAPAKIAAEBAQBNlkaSkpP///xRmk//ITAAAAAAAACH5BAAAAAAALAAA AAAyAA8AAAN+KLrc/jC6Qau9OOttxShgKI5kaZ5g4KFs6xbqBxL0TNc2Ed54we86 Wygm9PmCohtQ2As2kcQjssd0Wo+k53CVy011ON51JO5Fu9QyWFlMfreya/pdC0/b Zq7Uu17avUttZy+EhIOFiCgqAYyNjo+QkZKTjgCWl5iZmpucnZkJADs= ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=iconset-weather.gif Content-Type: image/gif; name=iconset-weather.gif Content-Location: http://resources.news.com.au/cs/network/images/weather/iconset-weather.gif Content-Transfer-Encoding: Base64 R0lGODlhFgCGA+Z4ADk5OfrdVCpqy4Cz/2if8cLAwHOo996lM9GaLF6W6+Hd3Wqh 8mac71uU6ViS50aC3GRjY3mt+2CY7E6I4Her+ePh4XGm9m+l9FiR51CL4urp6VON 5G2j81aP5u3QSO7sIvf0Gl1cXDo6O36w/Xqt+22i80uG312W6n+y/26l9Huu+2uh 8nmt+j9813+y/nGn9u/u7jBvz3qu/Hyv/Td101WQ5VCL43Gm9VOM5GOb7V6W6mCY 63Wp+FCK4m+k9FKN5FuU6Gad7z5716GenpmXl0qF31aP5YOCgo+Ojl6V6Xaq+WOa 7v/MM3NycvPAJbOysvjbVOvPSujl5e7t7WOb7jx51ubIPP////b19evOSH+x/unn 55KQkKWkpO/t7VGL4kR+1UmD2js7OStry2CX6XCl8+LGQOnNSmGZ7OrOSmOa64eF hVtaWtfX12dnZ3x8fHJycvj39z54zluT5+TGPFKM4EF91VSO4v///wAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAEAAHgALAAAAAAWAIYDAAf/gHiCg4SFhoeIiYkIio2M jYOPkYaSlIqVigeaB5CEBwGgoZydoaUBnZ+moKOZqqt4CLGEsYwHTKpMrIkHTreh TE66iU69TMbEnXi8xMzCjZvOiJiF05PU18nV2cnc3d7f4OHi3KXdrqekrunniQDu 7uyH7gP08KYeiAD09CgAHqUerMgD4GLEDBks3HlYuNDQOxURKPAwcOPCOysYCwGI CMDAixQlFhBgAECCDgAODVjwwUEkgyUSEjRwUONHBpSEAKwgECTHDpkOjGzoMcHE gxY4c54AgqEDDhsTijwQQiOGgKQa32ndOq6r169gwxIqR07dOlNnVeXb6grfIRH7 /1CISAOlLqiGDkW4OMhChIgzUaJkWSgwJwARECUaKPPOg2C3gzZSEOER5FYAZugU FtRxZcuR8/gBEONwZxA1ZJLMcVdwRkKskZc2fRiRR8V3Dt9xrFwCtEnYnFWydLkE aM2bpXn6BDq06FHgeADIdgp1atWr7S5zFcu9u/fv4MMn2z5eXz3oA/cN6EcaEmuD CN01oq34tnx5uz+G9H0ypWfiMc10HGw6KffTTEIRZRRSDk33VFTWWYWedpeJZ+GF GGbImVbdhDbAfZ2YJ1p5rcWHXmTuJDaRfRPmB5JLJfWnkXCfvbTVHXW0F5lpyzXg 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 ZlksRJ2qmXf4ppW/Rmk8dpWUBiyBAAA7 ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=nav-divider.gif Content-Type: image/gif; name=nav-divider.gif Content-Location: http://resources.news.com.au/cs/perthnow/images/header-and-footer/nav-divider.gif Content-Transfer-Encoding: Base64 R0lGODlhAQAZALMAAMfHx8TExMHBwbu7u7W1tcLCwsbFxr+/v7m5ub29vbi4ucjI yPcDA7i4uAAAAAAAACH5BAEAAAwALAAAAAABABkAAAQOcC1gQhEnDaSa/2DDMBEA Ow== ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=nav-level2-active-left.gif Content-Type: image/gif; name=nav-level2-active-left.gif Content-Location: http://resources.news.com.au/cs/perthnow/images/header-and-footer/nav-level2-active-left.gif Content-Transfer-Encoding: Base64 R0lGODlhBAA8AIAAAP///+rp3SH5BAAAAAAALAAAAAAEADwAAAIRjB9goOwPo5y0 2ouz3rz73xUAOw== ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=nav-level2-active-right.gif Content-Type: image/gif; name=nav-level2-active-right.gif Content-Location: http://resources.news.com.au/cs/perthnow/images/header-and-footer/nav-level2-active-right.gif Content-Transfer-Encoding: Base64 R0lGODlhkAE8APcAAP///+rp3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAACQATwAAAj/AAMIHEiwoMGDCBMqXMiw ocOHECNKnEixosWLGDNq3GgRgMePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2b Lwfi3Mmzp8+fQIMKHUo0qMCiSJMqXcq0qdOnKANAnUq1qtWrWLNq3cq1q9evYMOK HUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4 sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3b uHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MOL Hh9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz6/cbEAA7 ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=nav-level1-bg.gif Content-Type: image/gif; name=nav-level1-bg.gif Content-Location: http://resources.news.com.au/cs/perthnow/images/header-and-footer/nav-level1-bg.gif Content-Transfer-Encoding: Base64 R0lGODlhBQAZALMAADpHiXV8mlljk0NPjGRtlmpyl15ok0tWjlRekUdSjT1JimRt lXyFs3B3mUBMi09bjyH5BAAAAAAALAAAAAAFABkAAAQsMEjZai0Yk72N90IojkhZ Pih6rGviukMcOzSt3Deg73zv/0DeYjhkGI0TSQQAOw== ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=nav-level1-hover-bg.gif Content-Type: image/gif; name=nav-level1-hover-bg.gif Content-Location: http://resources.news.com.au/cs/perthnow/images/header-and-footer/nav-level1-hover-bg.gif Content-Transfer-Encoding: Base64 R0lGODlhAwAXALMAANnXzfDv7O3s6OHg2OPi25SPcuno4ubl39rYz97d1Ovq5dza 0aqmj+/u6nNvWAAAACH5BAAAAAAALAAAAAADABcAAAQbMMjZqrgqm306+UOYjEuJ nECqrmw7MbAjF3QEADs= ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=nav-level1-active-bg.gif Content-Type: image/gif; name=nav-level1-active-bg.gif Content-Location: http://resources.news.com.au/cs/perthnow/images/header-and-footer/nav-level1-active-bg.gif Content-Transfer-Encoding: Base64 R0lGODlh+gAFAPcAAOrp3f///3V8m293mXV8mgAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAD6AAUAAAhWAAUQAECwoMGDCBMqXMiw ocOHECNKnEixosWLEwcQDMCxo8ePIEOKHEmypMmTKFOqXMmypcuXKjdinEmzps2b OHPqhBhgp8+fQIMKHUq0qNGjSJNODAgAOw== ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=nav-cars.gif Content-Type: image/gif; name=nav-cars.gif Content-Location: http://resources.news.com.au/cs/perthnow/images/header-and-footer/nav-cars.gif Content-Transfer-Encoding: Base64 R0lGODlhfAAmAPcAAP///97f4Pf398TGyKKlp7a1tr69vZSWmMXIypeZm+Lj5bS2 uLm6vLO0tuDe3trb3Pv7+7y7vP7+/r2+wLGwse7u7sLBwc3P0MXExNXX2KiqrMLE xtPV1tzd38DCxJQuMf79/dnY19jX2K0XHfPz88jGxvr5+ZyeoLSyspqbnerq6q6s rd3e36CipcTDxL0dI+fm5tbW183NzncNE9HS1OTl5sC/v8nKzKWoqogVG56go8rI yXh6e42SlODg4d/g4ezy8oQNE+Hi47YiJ7zBw+Xn6Ojo6Lm2t/Hw8PLx8fPy8t3b 2/b19fj4+NTT0+Tj4+Df4Kemp8zKy9PS0uDh4o2MjM4uMNvc3bCytOzs7NbV1cC3 uKyrq9bZ2sjHyJMcIfz8+7RESK66vK+xs7csMI+PkYkmKuLg4OhZV5YXHOby8uXk 5NXU1NXV1tjZ2qiGh66ur/v6+tze38vMznQbILW4u5VYW5gyNqutsKqoqNDQ0aWm qNhKRpxiZOno6Pr6+cnIx+bu7qkbIevr6+Pi4vX09P7+/cjR06GAgqpydPb29fT0 89rZ2eLi47q5us7MzKuWmMW3uGIoLPL3+KRUV8xub5eJi+7t7dHPz/38/Nva2qdj ZY9PUvPy8e3t7qI+QdldYJJiZYdARIWLjfD29t7c3Olqa/Dv7+nr7MgdI+PKzby6 urm8voIvMq+srJokJ8ZSVsi/v6omK6CgoLusrbXBxJRqbeHj5Ih4e4oFDOFHQsTC wpBfYZSTlbOursO9vYs6Pejr68ZcYvD7/PHw793c29jW1q+3uefq6tbh4t3c3JcM EsenqKdFSJsHDurp6YGEhrVZXdSKjc/ExPDz9H1maaSjpN3Ky4yChKSio9TW17af obKXmHc8QPf29tHGx6c2OnBvcOz5+rI3ObOMjeC1ucTP0ezs69Le4Nfb3H5PUZJJ TayqqqcuMYhpbI9UWM65ua+nqI5vcsi1tuDq6/j49+zu7u7u7Z+SlcZDQrjGydOr rMzZ27SjpOLU1QAAACH5BAAAAAAALAAAAAB8ACYAAAj/AAEIHEiwoMGDCBMqXMiw ocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTFSU0SVIhy6BBxEygnAnSEIkK 1EgB2QkkGBUoi2gKzdjE0yRkkd70sdPnzTwFgdg4MDS0qkQmFSbREnUnjDBhsMa9 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 ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=nav-jobs.gif Content-Type: image/gif; name=nav-jobs.gif Content-Location: http://resources.news.com.au/cs/perthnow/images/header-and-footer/nav-jobs.gif Content-Transfer-Encoding: Base64 R0lGODlhfAAkANUAAP///xscIACdMmKwHo2Nj8bGx1RVWOLj4ykqLqmqq/Hx8UZH SmNjZtjrx3FxdDg4PE28dbe4udTU1c/t2JubnRCjP7DXjsPo0X+Aguv144nEVj62 aojSo/X68WDCf53Oc3a6OvD589Lu3JPJZUC2Zb/mzKXdurrcnFzBgYC/SJ/assTh qi+wXmvHjGy1LN/z5XDIjOH06JbXrnrNmCCrU+/58iCpTK/gv4/Upc7muBGlR+Hw 1X/OmNXu17TjxTCvWSH5BAAAAAAALAAAAAB8ACQAAAb/QIBwSCwaj8ikcslsOp/Q qHRKrVqv2Kx2y+16v+CweFydkM/o5aRyS7vfa4HnTSfHBba6Xpo5fTQaHycZRXcC AnuJTBkjA46PAzlEhodmipdFK5AaFp0aHUOUhyWYpQAWjxqERzU2h6+jRAoFBUQH tAq2tAcAErVFBRJGtMK3wkO3vwCzvGg5jx9ME7CxQgkIAQEIFAcG2doJAAcM3xQP 2QjhANfZD8IKGNgBBAnfCwcSC/br3wRnHS4cpXBCTQApABGyYSDwIIGCAA4IeEMg AdsDDA7OMcCg7cABheQWANCHwAGDAgEY9EpJIEAEAOQSqiSXawwqRw0IUqsh5Jw/ /1lDfAYQyY+ogwAUjmLoGUBCtl8tf3mLCqBly28BlIUB4QiEk2nUhHwMUHNIBAcG DGBraUBIywUEJAbAoC8iQ5dPhVAIoG4BAqpW+abJkMqJCmokhKBEUOQqVrZCvGEN IHny1V8fFyhIGDFrVZcI7ilwOKZB4SYkqMFQnK3I2sjzKMP+OSQvEdvr5BlQADgr uwAPmoUxLbDJi4JtluEGkK3mVNmfVRLxRqHIclNCiDtapSQ1rApEQuaKQAGbA3FC 24rLFm40eW3FCIzVih2A9gHRlPAoOAeZPHSOZWNAQuoBwBFWKumD1V6e1UcEJAOs kMRhBb1QxAFoGcANQmk5UNPLAfQQkUBaDKjDW4e1xCWcgwA0AskJR8BQkBxFhHAB ADGIAICNF+i44wUhxACAjyxWcZ9AK+xg3wkW4FBQBRYSQQMHMmwAgQw0oAABCzqa YCUEAIBZpBUuQghhA969okIRImwAAAccXICCDhdwAMGNKMwAAQQhiDkmFR1wZSYk IPRQwSv9DWGClxBwwAILPtBppwktzLBBCy1sgMKfVuyQwqCQNHlIopzu0UGZg7oA wA+rlYpJAx8ERKgFoLjqYAYN5Mqdrbz26uuvwAYr7LDEshgEADs= ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=iconset-tools.gif Content-Type: image/gif; name=iconset-tools.gif Content-Location: http://resources.news.com.au/cs/perthnow/images/header-and-footer/iconset-tools.gif Content-Transfer-Encoding: Base64 R0lGODlhKABeAcQVAABkj/////9mALOzs+MGDuDg4OTk5PHx8cnJyQJlkO7u7srK ytPT0/r6+t/f3/Hw5OYdJc/Pyb+/veXk2gFkj////wAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAEAABUALAAAAAAoAF4BAAX/oCCOZGmeVaqu6em+JCtX cI3OKxnsu96PvBIuBwyIfsijUbAUDVU+pTRqeraKQayv6bRGf9RizCtmLs/nafcZ RoLNXIGVZquvh3b7PF+f+/+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnHMD n6ChoYsDBqanqKYDpKcArq+wsQCFpaauPLi5rrStAQC5ur4pBMN/tQa/vsA7ybPF FcSevczAycIq0dFPx9bKPN3O0M9W3Afm5rDn6M/a5K0F8PHy8uGCoRQI+fr7+/WB uABECQTlDxBAWQh3dVrIsKHDhxAjSpxIsaLFixgzNkyQwFKCHR0nfbwVEtJHX8lK /zY6iZKHSkUJGshs4Gpmg5LZCiVQwJOnq548cY4LtBPoT6Aqcw5K4KCpA1dOHSQd KigBg6tYr04VdyhBPlf5Xq5EAFasI68IzD7iqLGt27dw48qdS7eu3bt48+qtoLCd oVUzfoXzS+iTjGYrCNszAJivtV1KeTFOcYuZM2KKAZVq7KrVrMiFG6sIOKBeZs04 Ag6e1Hev69ewY8ueTbu27duPQFnSDSlhwUQAFgxc8PtQ8AG5BhB3dDz58kbNcSm/ THVQdB7TsVUPdFzgc3aGjqsunR18eOHeqXM9T37890XdRb1XJL59edz48+vfz7+/ //8AcgILJaR9MotC8PmGIP9wy+hCXwG6dBNAAeqdNgQAEH6DDi4UarfeHxh+Qw8P HXpo4WEZ+tIPiat96AeG6pAGgDolggbiPBRiOE9x3AHAz49k8dijggsGaOSRSCap 5JJMNqnfgJAYCI6Qg3xC4TePkRLPY1maZw88UwJk4pdgHiTmmJptGeOM57R44gwD gKnOnAdUWNiWW+pYoiJW+viVn2Q5ImUoRTL3ipOIJqrooow26ugKRB6KSGUNMsNg AAOBco1xlZ45KaahoPTKppyKsoyb1oGqaSyk2jjHjKLQWScLrj4Bayh1pmPadrbi 6Cuq3AH5I5UvZkoosa9GiuyjzDbr7LPQRistC8ZGicnRKr5Rtiw5fD3g7bcPHFho Yd2C620sKUCQLrkATODuuxOgu24F6trDVyq2QDlvvagBEMG/AEcgL73zBoKtBAgn LIG4ztTLr8F8DeTMuFU6htC0GGes8caDMDAAA5R4vNkAHIm2iMemOEByR66YjEgt HgPQwA4yBcRIOTbVjGaVrbTJ5q4u/oEyMnMmYHNivD4hssoAAKXA0V4arApHAKQC LM+mJACmntvOMTQFUTnAwFONiEweAp+Q5XIiwnFEAclQR0Iex3TXbffdeOet994U hQAAOw== ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=bg-list-divider-footer.gif Content-Type: image/gif; name=bg-list-divider-footer.gif Content-Location: http://resources.news.com.au/cs/perthnow/images/header-and-footer/bg-list-divider-footer.gif Content-Transfer-Encoding: Base64 R0lGODlhAQAKAIAAABZJgwAAACH5BAAAAAAALAAAAAABAAoAAAIDjI8FADs= ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=base-style.css Content-Type: text/css; name=base-style.css Content-Location: http://resources.news.com.au/cs/perthnow/css/base-style.css Content-Transfer-Encoding: Quoted-Printable /* core colours, typefaces, link colours * NOTE: body/backgrounds set in= header/footer ---------------------------------------------------------------------- *= / #content { color: #000; background:#fff url("../images/base/content-bg.g= if") top right repeat-y; } #content:after { content: "."; display: block; height: 0; clear: both; v= isibility: hidden; } /* default link style - note header and footer have ID-scoped links of t= heir own */ a { color: #3a4789; text-decoration:none; } a:link, a:visited { color: #3a4789; text-decoration:none; } a:focus, a:hover, a:active { color: #c33; text-decoration:underline; } /* default #content, group, item and module spacing = -------------------- */ #content { margin: 10px 0 0 0; /*float: left;*/} #content-1, #content-4, #content-5 { background:#fff; } #content-5 #footer-ads { margin-bottom: -20px; padding-bottom: 20px; } .group { margin: 0; } = .gallery-imagepage .group.item-count-2 .ipos-1 {margin-right:18px;} .module, .group-header, .group-footer, .ad { margin: 0 0 20px 0; } .module-ad { margin: 0; } /* default group and item style = -------------------- */ .group-header, = .module-header { = height: 18px; = line-height: 18px; = color: #fff; = background: #3a3a3a; = padding: 0 0 0 5px; = margin: 0 0 15px 0; = position: relative; } .group-header, = .group-header .heading, .group-header .heading a, .module-header, = .module-header .heading, .module-header .heading a { font-size: 12px; } .module-header a:link, .module-header a:visited, .module-header a:focus, .module-header a:hover, .module-header a:active, /* .module-footer .more-link a:link, .module-footer .more-link a:visited, .module-footer .more-link a:focus, .module-footer .more-link a:hover, .module-footer .more-link a:active, */ .group-header .more-links li a:link, .group-header .more-links li a:visited, .group-header .more-links li a:focus, .group-header .more-links li a:hover, .group-header .more-links li a:active, .module-header .more-links li a:link, .module-header .more-links li a:visited, .module-header .more-links li a:focus, .module-header .more-links li a:hover, .module-header .more-links li a:active { color:#fff; } .module-header .more-links, .group-header .more-links { height: 18px; = line-height: 18px; font-size: 10px; background: transparent url("../images/base/header-more-links-bg-sprite.= gif") 100% 0 no-repeat; text-align: right; position: absolute; right: 0; } .module-header .more-links li, .group-header .more-links li { background: transparent url("../images/base/link-icon-sprite.gif") 100% = -2196px no-repeat; padding: 0 18px 0 0; height: 20px; = line-height: 20px; } /* this 2px difference is doing my head in */ .module-header .more-links li { background: transparent url("../images/base/link-icon-sprite.gif") 100% = -2193px no-repeat; } /* default group style = -------------------- */ .group-footer { border-bottom: 1px solid #b1b1b1; height: 22px; line-hei= ght: 22px; } .group-footer .more-links li { background: transparent url("../images/base/link-icon-sprite.gif") 100% = -2395px no-repeat; padding: 0 10px 0 0; margin-right: 6px; } /* RHC group defaults -------------------- */ #content-3 .group { width: 316px; overflow: hidden; } #content #content-3 .group-header { width: 311px; } /* group variations ---------------------------------------------------------------------- *= / /* combined group (no gap but second group must line up) -------------------- */ #content #content-2 .group.combined-group-top { margin-bottom: 0; } /* no gaps between modules inside group */ #content .closed-group { margin-bottom: 20px; } #content .closed-group .group-header { margin-bottom: 0; } #content .closed-group .module { margin-bottom: 0; border-bottom: 0; } #content .closed-group .irpos-1 .mrpos-1 { border-bottom: 1px solid #dad= ada; } #content .closed-group .irpos-1 .mrpos-1 .module-content { padding-top: = 0; } /* featured - pale blue/purple background -------------------- */ /* =3DIE6 */ #content .featured-group { background: #edeef7; margin-bottom: 20px; } #content .featured-group .module { margin-bottom: 10px; } #content .featured-group .ipos-1 { margin: 0 10px 0 8px; } /* featured group - equal height background image - pale blue/purple bac= kground -------------------- */ .group.group-featured-equal-heights { margin:0 0 20px 0; background:url(= '../images/base/group-featured-equal-heights-bg.gif') repeat-y; } .group.group-featured-equal-heights .module { margin:0; } = /* default module style = -------------------- */ /* =3DIE6 set default */ * html .module { width: 316px; overflow: hidden; } .module-header .heading a { color: #fff; } /* module subheader */ #content .module-subheader { background: #ececec; margin: 0 0 15px 0; fo= nt-size:12px; padding: 0 5px; height: 17px; line-height: 17px; } #content .module-subheader .heading { font-size:12px; } #content .module-subheader .more-links { font-size: 10px; margin-right: = 5px; } #content .module-subheader a:link, #content .module-subheader a:visited, #content .module-subheader a:focus, #content .module-subheader a:hover, #content .module-subheader a:active { color: #000; } /* module footer */ #page .module-footer { height: 18px; line-height: 18px; } .module-footer .more-link, .module-footer .more-links li { background: transparent url("../images/base/link-icon-sprite.gif") 100% = -2393px no-repeat; padding: 0 10px 0 0; margin-right: 6px; } /* module related links */ .module .related { margin:0; padding:5px 0 0 0; clear: both; } #content-2 .module .collection .related { border-top:1px solid #dadada; = } .module .related li { padding:0 0 0 15px; background:url("../images/base= /link-icon-sprite.gif") no-repeat 0 4px; list-style:none; } .module .related li.audio { background-position:0 -397px; } .module .related li.blog { background-position:0 -497px; } .module .related li.comments { background-position:0 -597px; } .module .related li.confidential { background-position:-9px -697px; } .module .related li.external { background-position:0 -797px; } .module .related li.gallery { background-position:0 -897px; } .module .related li.interactive { background-position:0 -997px; } .module .related li.map { background-position:0 -1097px; } .module .related li.pictures { background-position:0 -1197px; } .module .related li.poll { background-position:0 -1297px; } .module .related li.related { background-position:0 -1397px; } .module .related li.tips { background-position:0 -1497px; } .module .related li.video { background-position:0 -1597px; } .module .related li.vote { background-position:0 -1697px; } .module .related li.your-say { background-position:0 -1797px; } .module .related li a { line-height:1.3; } /* kicker colours */ span.kicker {font-weight:bold;} span.kicker-01, strong.kicker-01 { color: #ff0000; } /* red */ span.kicker-02, strong.kicker-02 { color: #00ff00; } /* green */ span.kicker-03, strong.kicker-03 { color: #0000ff; } /* blue */ span.kicker-04, strong.kicker-04 { color: #E72B9A; } /* pink - cancer ribbon dark shade = pink */ span.kicker-em, strong.kicker-em {font-style:italic;} strong.kicker-strong, strong.kicker-strong {font-weight:bold;} /* generic table style */ table { border-collapse: collapse; border: 1px solid #ccc; text-align: l= eft; } th, td { border: 1px solid #ccc; padding: 0.2em; } = table .loss { color: #9C0000; } table .gain { color: #005D00; } /* story-block */ .story-block { margin: 0 0 16px 0; } .sbrpos-1 { margin: 0 0 10px 0; } /* last story block needs a little le= ss bottom margin */ .story-block .heading, .story-block .heading a { color:#a02021; font-size:14px; margin:0 0 5px;= } .story-block .thumbnail { border:1px solid #cfcfcf; margin:0 7px 5px 0; = padding:2px; float: left; } .story-block .article-info { display:block; color:#6e6e6e; font-size:11p= x; } .story-block .standfirst { margin:0 0 2px 0; } .story-block .comments { margin: 0 0 5px 0; padding:0 0 0 15px; backgrou= nd:url("../images/base/link-icon-sprite.gif") no-repeat 0 -1797px; float= :left; clear:left; } /* story-block */ .showcase-block { margin: 0 0 10px 0; } .showcase-block .heading { margin-left:95px; width:auto; float:right; wi= dth:200px; padding:0 2px 0 0; text-align:left; } .showcase-block .heading, .showcase-block .heading a { margin:0 0 5px; } .showcase-block .thumbnail { border:1px solid #cfcfcf; margin:0 7px 7px = 0; padding:2px; float: left; } .showcase-block .article-info { display:block; color:#6e6e6e; font-size:= 11px; } .showcase-block .standfirst { margin:0; } .showcase-block .comments { margin: 2px 0 5px 0; padding:0 0 0 15px; bac= kground:url("../images/base/link-icon-sprite.gif") no-repeat 0 -1797px; = float:left; clear:left; } /* RHC default module style = -------------------- */ /* =3DIE6 width resets apply */ #content-3 .module { background: #fff; border:0; border-bottom: 1px soli= d #dadada; } #content-3 .module-header { margin: 0; border-bottom: 1px solid #dadada;= } #content-3 .module-subheader { margin: 0; } #content-3 .module-content, = #content-3 .module-related { padding: 5px; } #content-3 .module.promo-class-no-bottom-content-padding .module-content= { padding-bottom:0px; } #content-3 .module.promo-class-no-bottom-content-padding .module-content= .promo-block { margin:0; } #content-3 .story-block .standfirst { margin-right: 0; } #content-3 .module-content, #content-3 .module-subheader, #content-3 .module-related, #content-3 .module-footer, #content-3 .module-ad { border-left: 1px solid #dadada; border-right: 1p= x solid #dadada; } #content-3 .module-content { xborder-top: 1px solid #dadada; } = #content-3 .module-footer { height: 18px;} /* ad-text = ---------- */ .ad-text { background:#fff url(../images/base/ads/sponsored-links.gif) n= o-repeat 10px 10px; border:1px solid #e3e3e3; padding:30px 10px 10px; } = /* module variations ---------------------------------------------------------------------- *= / /* closed module - no bottom margin */ .closed-module { margin-bottom: 0; } /* featured - pale blue/purple background */ #content .featured { background: #edeef7; } .featured .module-content, .featured .module-related { padding: 0 5px; } .featured .module-content .standfirst { margin-right: 0; } /* highlight - beige background */ .highlight { background: #f0efe5; } .highlight .module-content, .highlight .module-related { padding: 0 5px; } .highlight .module-content .standfirst { margin-right: 0; } #content-3 .highlight { background: #f0efe5; } /* spotlight - red header, grey gradient content */ #content .spotlight { background: #fff url("../images/base/module-bg-gra= d-from-right.gif") bottom right repeat-y; } .spotlight .module-header { background:#9f1f1f; } .spotlight .module-header .more-links { background: #9f1f1e url("../imag= es/base/header-more-links-bg-sprite.gif") 100% -200px no-repeat; } /* confidential - general/fallback */ .confidential { background: url("../images/base/module-content-confident= ial-bg.gif") repeat-y; padding-bottom: 5px; } .confidential .module-header, .confidential .module-header .heading, .confidential .module-header .heading a { background: #fff; color: #333;= padding: 0; font-size: 14px; } .confidential .module-header .heading a:hover, .confidential .module-header .heading a:active, = .confidential .module-header .more-links li a:hover, .confidential .module-header .more-links li a:active { background: #fff;= color: #c33; } .confidential .module-header { border-bottom: 1px solid #e3e2e2; height:= 20px; overflow:hidden; } = .confidential .module-header .heading { text-transform: uppercase; } .confidential .module-header .heading b, .confidential .module-header .heading strong { color: #f33; } .confidential .module-header .more-links li, .confidential .module-header .more-links li a { color:#3A4789; font-weig= ht:bold; } .confidential .more-links { background: none; } .confidential .more-links li { background-position: 100% -696px; padding= :0 13px 0 0; } #content-3 .confidential .module-content, #content-3 .confidential .module-subheader, #content-3 .confidential .module-related, #content-3 .confidential .module-footer, #content-3 .confidential .module-ad { border-left: 0; border-right: 0; }= /* confidential - specific headers */ .confidential.text-m-perth-confidential .module-header { background: #ff= f url("../images/base/module-header-confidential-bg.gif") top left no-re= peat; } .confidential.text-m-perth-confidential .module-header .heading { height= :0; left:-5000em; overflow:hidden; position:absolute; width:4000em; } /* video module headers in story body */ body.story .story-body .module.video-embed .module-header { margin:0; } body.story .story-body .module.video-embed .module-content { background:= transparent; text-align:center; } body.story .story-body .module.video-embed #video-pdkHolder { width:316p= x; } body.story .story-body .module.video-embed #video-underneath { width:314= px; } /* section header (in-page header) ---------------------------------------------------------------------- *= / #section-header { background: #fff; margin: 0 0 10px 0;padding: 0 8px; w= idth: 984px;clear: both;min-height: 50px;} #section-header-logo { } * html #section-header { height: 50px; } /* section header (in-page header) = -------------------- */ #section-header #section-header-nav { width: 100%; clear: both; height: = 20px; margin: 0 0 10px 0; } #section-header #section-header-nav dt { line-height:25px; font-weight:b= old; padding:0 7px 0 0; } #section-header #section-header-nav dd { line-height:25px; background:#e= cecec; padding:0 14px; } #section-header #section-header-nav dd.active { background:#fff; } #section-header #section-header-nav { margin-top:2px; } #section-header #section-header-nav li, #section-header #section-header-nav dt, #section-header #section-header-nav dd { margin: 0 1px 0 0; } #section-header #section-header-nav dd a { color:#707070; } #section-header #section-header-nav dd.active a { color:#a02021; } /* major event homepages ---------------------------------------------------------------------- *= / .major-event-01 .module { margin: 0; } /* ---------------------------------------------------------------------= - */ /* Promos */ /* ---------------------------------------------------------------------= - */ /* RHC promos ---------------------------------------------------------------------- *= / /* special features -------------------- */ #content-3 .special-features .promo-block { margin-bottom: 2px; } #content-3 .special-features .story-block { margin: 0 0 2px 0; padding: = 5px; } #content-3 .special-features .thumbnail { border:0; } #content-3 .special-features .story-block, #content-3 .special-features .promo-text, #content-3 .special-features .promo-inner { background: #ececec; } #content-3 .special-features .promo-text { padding: 5px; } #content-3 .special-features .module-promo-block-10 .module-content { ma= rgin-bottom: -5px } /* restyle headings in sub modules - note extra class must be added */ #content-3 .special-features .sub-module .module-header { background: #f= ff; color: #000; border-left: 1px solid #DADADA; border-right: 1px solid= #DADADA; border-bottom: 0; } /* splash promo ---------------------------------------------------------------------- *= / .promo-splash-01, .promo-splash-01 .promo-inner { background: #ececec; } .promo-splash-01 .promo-inner { padding-top: 5px; } .promo-splash-01 .caption, .promo-splash-01 .promo-links { padding: 0 5px 5px 5px; } .promo-splash-01 .promo-links .related li { padding:0 0 0 15px; /*backgr= ound: transparent url("../images/base/link-icon-sprite.gif") 0 -2499px n= o-repeat; fix broken link*/ list-style:none; font-size: 11px; } .promo-splash-01 .caption .read-more { background: transparent url("../i= mages/base/link-icon-sprite.gif") no-repeat 100% -2394px; padding-right:= 9px; font-weight: bold; } /* placed single splash promo */ .module-promo-splash-01 .module-header { margin-bottom: 0; } .module-promo-splash-01 .promo-heading { height: 18px; line-height: 18px= ; display: block; color: #fff; background: #3A3A3A; padding-left: 5px; }= /* thumbnail promos ---------------------------------------------------------------------- *= / /* emulate story block - this may be backed out if the faux story block = works instead */ .promo-thumbnail-02 { margin: 0 0 20px 0; } .promo-thumbnail-02 .promo-image { border:1px solid #cfcfcf; margin:0 7p= x 7px 0; padding:2px; float: left; } .promo-thumbnail-02 .promo-inner .heading { font-size:14px; margin:0 0 5= px 0; } /* ---------------------------------------------------------------------= - */ /* Multi-promos = */ /* ---------------------------------------------------------------------= - */ /* scrollomatic -------------------- */ .scrollomatic-2col .js-car-scroll-item img { padding:0; } .scrollomatic-2col .js-car-viewport, .scrollomatic-2col .js-car-viewport .content-item { height:160px; } .scrollomatic-2col .js-car-viewport .content-item { background:#F2F0E5; = margin:0 2px 0 0; } .scrollomatic-2col .js-car-scroll-content { padding:0; } .scrollomatic-2col .promo-block { background:#ebe9eb; font-size:11px; he= ight:160px; width:161px; } .scrollomatic-2col .promo-block .promo-heading .heading { background:#6c= 78b0; color:#fff; padding:0 5px 1px; } .scrollomatic-2col .promo-block .promo-heading .heading a { color:#fff; = } .scrollomatic-2col .promo-block .promo-image img { padding:0; } .scrollomatic-2col .promo-block .promo-image { background:#ccc; } .scrollomatic-2col .promo-block .promo-text, .scrollomatic-2col .promo-block .promo-links { padding:0 4px; } .js-car-prev, .js-car-next { border:#40659b solid 1px; height:12px; margin:0; width:14= px; } .js-car-prev { background:#fff url(../images/base/module-scrollomatic-co= ntrols-bg.gif) no-repeat; } .js-car-next { background:#fff url(../images/base/module-scrollomatic-co= ntrols-bg.gif) no-repeat 0px -24px; } .scrollomatic-2col .js-car-scrubber-track { background:#daddeb; height:1= 4px; margin:0; width:618px; } .js-car-scrubber { background:#fff url(../images/base/module-scrollomati= c-controls-bg.gif) no-repeat 50% -12px; border:#40659b solid 1px; height= :12px; width:308px; } .js-car-prev span, .js-car-next span, .js-car-scrubber div { height:0pt; left:-5000em; overflow:hidden; positi= on:absolute; width:4000em; } /* Scroller - Multi-Promo ---------------------------------------------------------------------- *= / /* =3DIE6 */ #content-2 .scroller .scroll-viewport { width:649px; background:url('../= images/base/scroller-bg.gif') bottom left repeat-y; } /* set up widths - note borders */ #content .scroller .promo-block { width: 152px; margin: 0 0 4px 5px; pad= ding: 0; } #content .scroller .cirpos-1 .promo-block { width: 152px; margin: 0 5px = 4px 5px; } #content .scroller .promo-block div { width: 152px; } #content .scroller .promo-block .promo-text, #content .scroller .promo-block .promo-links { width: 142px; } #content .scroller .scroll-item div { padding: 0;} /* style up the content item and promo block */ #content-2 .scroller .scroll-content { background: #fff url("../images/b= ase/scroller-viewport-bg.gif") bottom left repeat-x; } #content-2 .scroller .promo-block { border-left: 2px solid #fff; border-= right: 2px solid #fff; border-bottom: 3px solid #fff; } #content-2 .scroller .promo-block .promo-heading { background: #413f44; = color: #fff; height: 17px; line-height: 17px; border-bottom: 1px solid #= 000; } #content-2 .scroller .promo-block .promo-heading .heading { padding-left= : 7px; } #content-2 .scroller .promo-block .promo-heading .heading a { color: #ff= f; } #content-2 .scroller .promo-block .promo-image { border-bottom: 3px soli= d #fff; } #content-2 .scroller .promo-block .promo-text { background: #ececec; pad= ding: 5px; } #content-2 .scroller .promo-block .promo-links { background: #ececec; pa= dding: 5px; } /* min-height overrides */ #content .scroller-lines-2 .promo-block .promo-text, #content .scroller-lines-2 .promo-block .promo-links { min-height: 35px;= } #content .scroller-lines-3 .promo-block .promo-text, #content .scroller-lines-3 .promo-block .promo-links { min-height: 50px;= } #content .scroller-lines-4 .promo-block .promo-text, #content .scroller-lines-4 .promo-block .promo-links { min-height: 65px;= } #content .scroller-lines-5 .promo-block .promo-text, #content .scroller-lines-5 .promo-block .promo-links { min-height: 80px;= } #content .scroller-lines-6 .promo-block .promo-text, #content .scroller-lines-6 .promo-block .promo-links { min-height: 95px;= } #content .scroller-lines-7 .promo-block .promo-text, #content .scroller-lines-7 .promo-block .promo-links { min-height: 110px= ; } #content .scroller-lines-8 .promo-block .promo-text, #content .scroller-lines-8 .promo-block .promo-links { min-height: 125px= ; } #content .scroller-lines-9 .promo-block .promo-text, #content .scroller-lines-9 .promo-block .promo-links { min-height: 140px= ; } #content .scroller-lines-10 .promo-block .promo-text, #content .scroller-lines-10 .promo-block .promo-links { min-height: 155p= x; } = /* scrollbar and buttons */ #content .scroller .scroll-prev-button, #content .scroller .scroll-next-button { width: 16px; height: 14px; bac= kground:transparent url('../images/base/scroller-nextprev-bg.gif') 0 0 n= o-repeat; text-indent: -9999em; margin: 0; float: left; padding:0; } #content .scroller .scroll-next-button { background-position: 0 -100px;= } #content .scroller .scroll-prev-button a, #content .scroller .scroll-next-button a { display: block; width: 16px;= height: 14px; padding:0; } = #content .scroller .scroll-scrubber-track { width: 617px; height: 14px;= background: #e5e7f3; float: left; } #content .scroll-scrubber-track .scroll-scrubber { background: transpar= ent url("../images/base/scroller-scrollbar-bg.gif") 0 0 no-repeat; width= : 310px; height: 14px; text-indent: -9999em; } #content .scroller .scroll-controls { height: 14px; width: 650px; paddi= ng: 0; margin:0; position:relative; } /* scrollbar and buttons, rhs */ #content-3 .scroller .scroll-prev-button, #content-3 .scroller .scroll-next-button { width: 14px; height: 18px; b= ackground:transparent url('../images/base/module-controls-bg.gif') 0 0 n= o-repeat; text-indent: -9999em; margin: 0; padding:0; } #content-3 .scroller .scroll-next-button { float:right; } = #content-3 .scroller .scroll-next-button { background-position: 0 -100p= x; } #content-3 .scroller .scroll-prev-button a, #content-3 .scroller .scroll-next-button a { width: 14px; height: 18px;= } = #content-3 .scroller .module-header .more-links { display:none; } /* RHS scroller overrides */ #content-3 .scroller { position:relative; background:#cfcfcf; background= : #fff url('../images/base/scroller-viewport-bg.gif') bottom left repeat= -x; } #content-3 .scroller .module-content { margin:5px 0 0 0; padding:0; } #content-3 .scroller .scroll-content .content-item { padding:0; margin:0= ; } = #content-3 .scroller .promo-block { border-left: 2px solid #fff; border-= right: 2px solid #fff; border-bottom: 3px solid #fff; } #content-3 .scroller .promo-block .promo-heading { background: #413f44; = color: #fff; height: 17px; line-height: 17px; border-bottom: 1px solid #= 000; } #content-3 .scroller .promo-block .promo-heading .heading { padding-left= : 7px; } #content-3 .scroller .promo-block .promo-heading .heading a { color: #ff= f; } #content-3 .scroller .promo-block .promo-image { border-bottom: 3px soli= d #fff; } #content-3 .scroller .promo-block .promo-text { background: #ececec; pad= ding: 5px; } #content-3 .scroller .promo-block .promo-links { background: #ececec; pa= dding: 5px; } #content-3 .scroller .scroll-controls { display:block; width:60px; posit= ion:absolute; top:0; right:0; background:#9f1f1c; height:18px; overflow:= hidden; } #content-3 .scroller .scroll-controls .scroll-prev-button { margin-right= :5px; } /* tabber */ #content .module.tabbed { position:relative; } #content .module.tabbed .module-controls { position:absolute; top:0; rig= ht:0; height:17px; } #content .module.tabbed .module-content .content-item { display:block; h= eight:180px; } = #content .module.tabbed .module-controls .tab { background:#626061; colo= r:#fff; padding:0; height:17px; text-align:center; margin:0 0 0 1px; } #content .module.tabbed .module-controls .tab a { color:#fff; font-size:= 11px; height:17px; line-height:17px; padding:0 5px; float:left;} #content .module.tabbed .module-controls .tab.js-active-tab { background= :#a52c2c; } = /*=3DIE6*/ * html #content .scroller .promo-block { margin: 0 0 4px 3px; } * html #content .scroller .cipos-1 .promo-block { margin: 0 0 4px 2px; }= * html #content .scroller .cirpos-1 .promo-block { margin: 0 2px 4px 2px= ; } * html #content .scroller .scroll-content { padding-bottom: 10px; } /* #content-2 .scroller .scroll-viewport { width: 650px;} #content .scroller .promo-block { width: 152px; margin: 0 14px 0 0; padd= ing: 0; } #content .scroller .cirpos-1 .promo-block { margin-right: 0; } #content .scroller .scroll-item div { padding: 0;} #content .scroller .promo-block .promo-heading { background: #3a3a3a; co= lor: #fff; height: 18px; line-height: 18px; } #content .scroller .promo-block .promo-heading .heading { padding-left: = 7px; } #content .scroller .promo-block .promo-image { margin: 1px 0; } #content .scroller .promo-block .promo-text { background: #edeef7; paddi= ng: 5px; } #content .scroller .scroll-prev-button, #content .scroller .scroll-next-button { width: 16px; height: 14px; back= ground: transparent url("../images/base/scroller-nextprev-bg.gif") 0 0 n= o-repeat; text-indent: -9999em; margin: 0; float: left; } #content .scroller .scroll-next-button { background-position: 0 -100px; = } #content .scroller .scroll-prev-button a, #content .scroller .scroll-next-button a { display: block; width: 16px; = height: 14px; } = #content .scroller .scroll-scrubber-track { width: 618px; height: 14px; = background: #e5e7f3; float: left; } #content .scroll-scrubber-track .scroll-scrubber { background: transpare= nt url("../images/base/scroller-scrollbar-bg.gif") 0 0 no-repeat; width:= 310px; height: 14px; text-indent: -9999em; } #content .scroller .scroll-controls { height: 14px; width: 650px; paddin= g: 0; margin: 2px 0 0 0; } * html #content .scroller .promo-block { width: 166px; margin: 0; paddin= g: 0; } * html #content .scroller .cirpos-1 .promo-block { width: 152px; } * html #content .scroller .promo-block div { width: 152px; } * html #content .scroller .promo-block .promo-text { width: 142px; } */ /* story fader -------------------- */ .has-js .module.story-fader { height:1%;position:relative; background: #= ececec; } .module.story-fader .promo-heading { display: none; } #content .story-fader.story-fader-with-headings .promo-heading { height:= 18px; line-height: 18px; display: block; color: #fff; background: #3A3A= 3A; padding-left: 5px; } #content .story-fader.story-fader-with-headings .fader-controls { margin= -top: 18px; } .has-js .module.story-fader .fader-controls { display: block; position: = absolute; background: #9f1f1e; color: #fff; font-size:11px; height:18px;= margin:0; overflow:hidden; width: 77px; } .module.story-fader .fader-controls a { width: 14px; height: 18px; displ= ay: block; } .module.story-fader .fader-controls .fader-prev-button, .module.story-fader .fader-controls .fader-next-button { text-indent: -9= 999em; width: 14px; height: 18px; background-color: #9f1f1e; background-= image: url("../images/base/module-controls-bg.gif"); background-repeat: = no-repeat; } .module.story-fader .fader-controls .fader-prev-button { background-posi= tion: 0 0; float: left; } .module.story-fader .fader-controls .fader-next-button { background-posi= tion: 0 -100px; } .module.story-fader .fader-controls .fader-counter-container { color:#ff= f; padding:0; text-align:center; width:49px; font-weight: bold; height: = 18px; line-height: 18px; float: left; } .module.story-fader ul.related { padding:0; border-top:0; } .module.story-fader.wide { width:650px; } #content .first-image-316w421h .fader-controls { top:403px; } #content .first-image-316w211h .fader-controls { top:193px; } #content .first-image-316w237h .fader-controls { top:219px; } #content .first-image-316w324h .fader-controls { top:306px; } #content .first-image-650w366h .fader-controls { top:348px; } .module.story-fader .module-footer { background:#ececec; font-size:11px;= height:20px; } /* image fader -------------------- */ .has-js body.story .article-media .image-fader.largest-image-400h .fader= -controls { top:380px; } .has-js body.story .article-media .image-fader .fader-controls { display= : block; position: absolute; background: #9f1f1e; color: #fff; font-size= :11px; height:18px; margin:0; overflow:hidden; width: 77px; } body.story .article-media .image-fader .fader-controls a { width: 14px; = height: 18px; display:block; padding:40px 0 0 0; overflow:hidden; } body.story .article-media .image-fader .fader-controls p { width: 14px; = height: 18px; display:block; } body.story .article-media .image-fader .fader-controls .fader-prev-butto= n a, body.story .article-media .image-fader .fader-controls .fader-next-butto= n a { text-indent:-9999em; width: 14px; height: 18px; background-color: = #9f1f1e; background-image: url("../images/base/module-controls-bg.gif");= background-repeat: no-repeat; text-indent:-9000px; display:block; } body.story .article-media .image-fader .fader-controls .fader-prev-butto= n a { background-position: 0 0; } body.story .article-media .image-fader .fader-controls .fader-next-butto= n a { background-position: 0 -100px; } body.story .article-media .image-fader .fader-controls .fader-prev-butto= n { float:left; } body.story .article-media .image-fader .fader-controls .fader-next-butto= n { float:right; } body.story .article-media .image-fader .fader-controls .fader-counter-co= ntainer { color:#fff; padding:0; text-align:center; width:49px; font-wei= ght: bold; height: 18px; line-height: 18px; float: left; } /* version with controls in a row on their own .has-js .module.story-fader { height:1%;position:relative; } .story-fader .promo-splash-01, .story-fader .promo-splash-01 .promo-inner { background: #EBEBE9; } .has-js .module.story-fader .module-controls.fader-controls { = background: #3a3a3a; = font-size:11px; height:18px; margin:0; overflow:hidden; width: 316px; border-top: 1px solid #252525; } .has-js .module.story-fader .caption { margin-top: 19px; } #content .first-image-316w421h .fader-controls { top:421px; } #content .first-image-316w211h .fader-controls { top:211px; } #content .first-image-316w237h .fader-controls { top:237px; } #content .first-image-316w324h .fader-controls { top:324px; } #content .first-image-650w366h .fader-controls { top:366px; } */ /* features fader / triple fader ---------------------------------------------------------------------- *= / /* if no image is available */ .features-fader .image-frame .no-image { display: block; width: 316px; h= eight: 237px; background: transparent url("../images/base/fader-fallback= -bg.gif") 0 0 no-repeat; } /* hide extraneous content */ .has-js .features-fader .fader-item .caption, .has-js .features-fader .fader-item .js-clickable-link { display: none; = } /* Features Fader */ .has-js .features-fader-contentcontrols .module-content .js-fader-active= {background:none;} .has-js .features-fader .module-content .fader-item .image-block {width:= 360px; height:254px; padding:8px 0 0 8px;} .has-js .features-fader .module-content .image-block .image-frame {backg= round:none;} .has-js .features-fader .module-content {background:#fff url("../images/= skin/multi/features-fader/fader-bg.gif") no-repeat 0 0; height:254px; ov= erflow:hidden;} .has-js .features-fader-contentcontrols .module-content .js-fader-active= {background:none;} .has-js .features-fader .module-content .js-fader-active .image-block {w= idth:360px; height:254px; padding:8px 0 0 8px;} .has-js .features-fader .module-content .js-fader-active.cipos-1 .image-= block {background:transparent url("../images/skin/multi/features-fader/f= ader-tab1.gif") no-repeat 0 0;} .has-js .features-fader .module-content .js-fader-active.cipos-2 .image-= block {background:transparent url("../images/skin/multi/features-fader/f= ader-tab2.gif") no-repeat 0 0;} .has-js .features-fader .module-content .js-fader-active.cipos-3 .image-= block {background:transparent url("../images/skin/multi/features-fader/f= ader-tab3.gif") no-repeat 0 0;} .has-js .features-fader .story-block, .has-js .features-fader .promo-block {height:83px; padding:3px 7px 0 0;}= .has-js .features-fader .story-block, .has-js .features-fader .promo-heading, .has-js .features-fader .promo-text {padding-left:40px; margin:0; width:= 280px;} .has-js .features-fader-contentcontrols .module-content .story-block, = .has-js .features-fader-contentcontrols .module-content .promo-block { p= adding-left: 366px; } /* ---------------------------------------------------------------------= - */ /* Breaking news */ /* ---------------------------------------------------------------------= - */ .module.breaking-news {float:left; clear:both;} .module.breaking-news .module-header {height:18px; line-height:18px; mar= gin-bottom:0;}/* =3DIE6 */ .homepage .module.breaking-news .module-header { height:18px; line-heigh= t:18px; color:#fff; font-weight:bold; border:none; }/* background:#bc232= 4 url("../images/skin/module-header/colours-sprite.gif") repeat-x 0 -100= px; broken link removed */ #content .module.breaking-news .module-header .heading {font-size:12px; = font-family: arial, helvetica, sans-serif; font-weight:bold; line-height= :18px; letter-spacing:normal;} .homepage .module.breaking-news .module-header .heading {margin-left:9px= ;} #content .module.breaking-news .module-content {padding:0;} /* UL - Links */ .module.breaking-news .module-content ul.breaking-news-list {border: 1px= solid #e9e9e9; background:#fff url("../images/skin/breaking-news-bg.gif= ") repeat-y 66px 0; float:left; width:314px; list-style:none; margin:0;= padding:3px 0; line-height:1.2; float:left;} .module.breaking-news .module-content ul.breaking-news-list li {list-sty= le:none; background:none; margin:0; padding:0 0 2px; line-height:1.4; fl= oat:left; width:314px;} #content-2 .item-count-1 .module.breaking-news .module-content ul.breaki= ng-news-list {width:648px;} #content-2 .item-count-1 .module.breaking-news .module-content ul.breaki= ng-news-list li {width:648px;} .module.breaking-news .breaking-news-list .timestamp {display:block; flo= at:left; font-weight:bold; margin:0; padding:0 7px; overflow:hidden; wid= th:60px; height:1.4em;} .module.breaking-news .module-content li a {text-decoration:none; float:= left; width:233px;} #content-2 .item-count-1 .module.breaking-news .module-content li a {wid= th:560px;} .module.breaking-news .module-footer {min-height:20px; line-height:20px;= color:#000; background:#e9e9e9;} /* DL - Summary */ .module.breaking-news .module-content dl {background:#fff url("../images= /skin/breaking-news-bg.gif") repeat-y 67px 0; float:left; width:316px; m= argin:13px 0; padding:0 0 10px; line-height:1.5;} #content-2 .item-count-1 .module.breaking-news .module-content dl {width= :650px;} .module.breaking-news .module-content dt, .module.breaking-news .module-content dd {float:left; margin:0; padding:= 0;} .module.breaking-news .module-content dt {width:68px; color:#b44b51; pad= ding:9px 0 0; line-height:1;} .module.breaking-news .module-content dt .timezone {color:#555; font-siz= e:10px; font-weight:normal;} .module.breaking-news .module-content dd {width:237px; border-bottom:1px= solid #e9e9e9; margin:0 0 0 10px;} #content-2 .item-count-1 .module.breaking-news .module-content dd {width= :570px;} .module.breaking-news .module-content dd .story-block {margin:0; padding= :7px; width:237px;}/* =3DIE6 */ #content-2 .item-count-1 .module.breaking-news .module-content dd .story= -block {width:350px;} .module.breaking-news .module-content dd .story-block .heading {margin:0= ;} .module.breaking-news .module-content dd .story-block .more-link a {back= ground: transparent url("../images/base/relatedlinks-sprite.gif") no-rep= eat 100% -195px; font-weight: bold; padding-right: 15px; text-decoration= : none;} = /* ---------------------------------------------------------------------= - */ /* Story page = */ /* ---------------------------------------------------------------------= - */ /* story page ---------------------------------------------------------------------- *= / /* =3DIE6 */ #story { } body.story #story .story-header { border-bottom:1px solid #dadada; margi= n:0 0 15px; z-index:0px; } body.story #story .story-body { margin: 3px 0 20px 0; } body.story #story .story-extras { margin: 3px 0 20px 0; } body.story #story .group.item-count-1 .group-header, body.story #story .group.item-count-1 .item, body.story #story .group.item-count-1 .group-footer { width:640px; } .lead-media-1col .story-summary-list { width: 306px; margin: 0 10px 10px= 0; } .lead-media-2col .story-summary-list { width: 640px; margin: 0 0 10px 0;= } .story-summary-list { border-bottom:1px solid #dadada; } #story .story-header .story-headline .heading { font-size:18px; line-hei= ght: 26px; margin-bottom:5px;} #story .story-header .story-info { color:#000; } #story .story-header .story-info em, #story .story-header .story-info cite, #story .story-header .story-info span { font-style:normal; } #story .story-header .comments { padding:0 0 0 17px; background:url("../= images/base/link-icon-sprite.gif") no-repeat 0 -1797px; } .story-header .story-info ul li {padding-right: 5px; background:transpar= ent url("../images/base/pipe-cacaca-bg.gif") no-repeat 100% 2px;} .story-header .story-info ul li.last {padding-right: 0; background:none;= } body.story .story-body ul, body.story .story-body ol { display: inline-block; padding:0; } body.story .story-body ol li, body.story .story-body ul li { margin:0 0 0 2em; } body.story #story .story-summary-list ul { padding:0 0 7px; margin:0; } body.story #story .story-summary-list ul li { background:url("../images/= base/link-icon-sprite.gif") no-repeat 12px -1995px; list-style:none; mar= gin:0 0 7px; padding:0 0 0 28px; } body.story .story-comments-link { margin: 10px 0; padding:0 0 0 17px; ba= ckground:url("../images/base/link-icon-sprite.gif") no-repeat 0 -1797px;= float: left; } body.story .story-footer-tools { border-top: 1px solid #dadada; border-b= ottom: 2px solid #dadada; height: 23px; margin: 0 0 10px 0; } = .story-footer .story-tools li.button-share ul.share-links li a { width: = 16px; } body.story .story-footer-more { margin: 0 0 10px 0; } /* story sidebar -------------------- */ body.story #story .story-sidebar .module { width:180px; } body.story #story .story-sidebar .module-header { background-image:none;= width:170px; margin:0; padding: 0 5px; border-bottom: 1px solid #fff;} /* sidebar links */ body.story #story .story-sidebar li { background: #f0efe5; padding: 5px;= width:auto; margin: 0; border-bottom: 1px solid #fff; } body.story #story .story-sidebar .link-info { color:#444; font-size:10px= ; font-style: normal; display: block; } body.story #story .story-sidebar .link-info em { font-style:normal; } /* sidebar poll */ body.story .story-sidebar .poll-module .module-header {height:auto;} body.story .story-sidebar .poll-block .form-radio-group { border:0px non= e; max-width:180px; overflow:hidden; width:170px; padding:0 5px; } body.story .story-sidebar .poll-block .form-radio-item { width:170px; pa= dding:0; } body.story .story-sidebar .poll-block .poll-description p {padding-right= :0;} body.story .story-sidebar .poll-block ul {display:block;} /* sidebar quote */ body.story .story-sidebar .sidebar-quote .module-header { border-bottom:= 2px solid #fff; } body.story .story-sidebar .sidebar-quote .module-content .sidebar-quote-= q { padding: 10px 10px 0 10px; background: transparent url("../images/ba= se/story-comment-top-bg.gif") 2% 0 no-repeat; min-height: 40px; } body.story .story-sidebar .sidebar-quote .module-content { padding: 0; b= ackground: #f0efe5 url("../images/base/story-comment-bottom-bg.gif") 98%= 100% no-repeat; min-height: 80px; } body.story .story-sidebar .sidebar-quote .module-content .sidebar-quote-= source { padding:0 10px 10px 10px; margin:0;} /* story comments -------------------- */ #comments .comments-group .group-header { position: absolute; left: -500= 0px; width: 4000px; overflow: hidden; } .comment-list-module .module-header, #module-comment-add .module-header { background: #9f1f1e; color: #fff; m= argin: 0; border-bottom: 2px solid #fff; } .comment-list-module .comment-list li { background: #f0efe5 url("../imag= es/base/story-comment-top-bg.gif") 1% 0 no-repeat; min-height: 40px; bor= der-bottom: 2px solid #fff; padding: 15px 0 0 20px; } .comment-list-module .comment-list .comment-block { padding: 0 30px 0 0;= background: transparent url("../images/base/story-comment-bottom-bg.gif= ") 99% 100% no-repeat; } .comment-list-module .comment-list .comment-block .comment-body { margin= :0; padding: 2px 0 10px 0; } .comment-list-module .comment-list .comment-block .comment-info { font-s= tyle: normal; } .comment-list-module .comment-list .comment-block .comment-time { font-s= tyle: normal; font-size: 10px; } .comment-list-module .module-footer { font-weight: bold; } #module-comment-add .module-content { background: #f0efe5; color: #000; = padding: 7px; } #module-comment-add .additional-information .comment-form-name label, #module-comment-add .additional-information .comment-form-email label, #module-comment-add .additional-information .comment-form-location label= { width: 177px; } #module-comment-add .additional-information .comment-form-options .form-= checkbox-item { padding-left: 177px; } #module-comment-add .comment-form-comments textarea#ccomments { clear:bo= th; height:50px; float:left; width:495px; } #module-comment-add .comment-form-comments .field-instruction { color:#7= 87772; float:right; font-size:11px; padding:8px 55px 0 0; } #module-comment-add .comment-form-comments .field-instruction em { displ= ay:block; font-family:Georgia; font-size:18px; } #module-comment-add .additional-information { clear:both; padding:10px 0= 0; } #module-comment-add .additional-information legend { padding:10px 0 0; }= #module-comment-add .comment-form-options label { font-size:11px; width:= 250px; } #module-comment-add .additional-information .form-item-submit { margin-b= ottom:0; padding: 10px 0 0 0; text-align: right; } #module-comment-add .additional-information .button-submit { background:= none transparent; margin-right:137px; width:75px; height:23px; border:0= ; padding:0; } #module-comment-add .additional-information .button-submit span { displa= y:block; width:75px; height:23px; background:url('../images/base/button-= submit.gif') no-repeat; text-indent:-9000px; padding:0; cursor:hand; } = /* story tab module -------------------- */ #story .js-tabbed { font-size:11px; } #story .js-tabbed .js-tab { background:#ebe9eb; color:#3a4789; display:b= lock; float:left; margin:0 1px 0 0; padding:3px 10px; } #story .js-tabbed .js-tab-content { display:none; clear:both; border-to= p: 6px solid #3a3a3a; padding-top:1px; position:relative; } #story .js-tabbed .js-active-content { display:block; } #story .js-tabbed .js-active-tab { background: #3a3a3a; color:#fff; } #story .js-tabbed .js-active-tab a { color:#fff; } #story .js-tabbed .caption { font-size:11px; padding:7px 10px; margin-to= p: 1px; } .has-js #story .js-tabbed .js-active-content.image-fader {position: rela= tive;} /* display only */ #display-container {margin:10px; width:420px;} .js-tab {cursor:pointer;} .tabs-embedded { position:relative; padding-top:18px; overflow:hidden; }= .tabs-embedded .js-tab-content { float:left; display:block; height:0px; = overflow:hidden; padding:0; } .tabs-embedded .js-active-content { height:auto; float:left; width:100%;= } .tabs-embedded .js-tab { float:left; position:absolute; left:0; top:0; m= argin:0; font-size:14px } /* tabs */ .js-tabbed .module-content ul.js-tabs { list-style:none; background:#fff= ; display:block; width:auto; padding:0; margin:0; } ul.js-tabs li { display:inline; } .js-tab { padding:0px 5px 1px; margin:0; } /* story related coverage -------------------- */ .related-coverage { margin-bottom : 0; } .story .story-related-coverage { } .story .story-related-coverage .related-links li { margin: 0 0 5px 0; } .story .story-related-coverage li .link-info { color:#999; font-size:10p= x; font-style: normal; display: block; } .story .story-related-coverage li .link-info em { font-style:normal; } .story .story-related-coverage .more-link { background: #fff url("../ima= ges/base/link-icon-sprite.gif") 100% -2796px no-repeat; padding: 0 10px = 0 0; font-weight: bold; } .story .story-related-coverage .keywords { margin: 15px 0 20px 0; font-s= ize: 11px; } .story .story-related-coverage .keywords h4 { color: #4e4e4e; background= : #fff url("../images/base/link-icon-sprite.gif") 0 -2900px no-repeat; p= adding: 0 0 0 17px; } /* ---------------------------------------------------------------------= - */ /* Content = */ /* ---------------------------------------------------------------------= - */ /* lead content ---------------------------------------------------------------------- *= / .lead-stories .sbpos-1 .heading, .lead-stories .sbpos-1 .heading a { font-size: 20px; } .collection .related { border-top: 1px solid #dadada; padding-top:5px; }= .collection .story-block .related { border-top:0; padding-top:0; } /* image modules ---------------------------------------------------------------------- *= / .caption { background: #ebebe9; padding:5px; font-size:11px; } .caption .caption-text { line-height:1.1em; } .caption .caption-text p { margin:0; padding:0; padding-right:0px; } .story-body .caption { padding-right:5px; } /* breaking news ---------------------------------------------------------------------- *= / .breaking-news { background: #fff; } .breaking-news .module-header { background:#9f1f1f; color: #fff; margin:= 0; } .breaking-news .module-header .heading { color: #fff; } .breaking-news .module-content { margin: 0; padding: 0; } .breaking-news .module-header .more-links { background: transparent url("../images/base/header-more-links-bg-sprite.= gif") 100% -200px no-repeat; } /* .breaking-news .module-header .more-links li { background: transparent url("../images/base/link-icon-sprite.gif") 97% -= 2193px no-repeat; } */ .breaking-news .module-content, .breaking-news .module-footer { = background: #fff url("../images/base/module-bg-grad-from-right.gif") bot= tom right repeat-y; } .breaking-news .module-content .breaking-news-list li { line-height: 1.7= ; } .breaking-news .module-content .breaking-news-list li:after { content:".= "; display:block; height:0; clear:both; visibility:hidden; } .breaking-news .module-content .breaking-news-list li .timestamp { displ= ay:block; float:left; font-weight:bold; margin:0; padding:0 0 0 7px; wid= th:55px; } .breaking-news .module-content .breaking-news-list li a { display:block;= float:right; padding:0 0 0 7px; width:245px; } * html .breaking-news .breaking-news-list, * html .breaking-news .breaking-news-list li { height: 1%; } * html .breaking-news .module-content .breaking-news-list li { line-heig= ht: 18px; height: 18px; } /* polls ---------------------------------------------------------------------- *= / .lead-poll .module { width: 650px; } .poll-module { background:#edeef7; } .poll-module .module-header { margin:0 0 5px; } .poll-module .module-content { padding:0 10px 10px; } body.story .story-sidebar .poll-module .module-content { padding:5px 0; = } body.story .story-sidebar .poll-results .module-content { padding:5px 10= px; } .poll-module .module-content legend { color:#000; padding:0 0 7px; /* wi= dth:300px; */ overflow:hidden; display:inline; } .poll-module .module-content legend .legend-text { display:block; float:= left; } .poll-module .module-content .form-radio-group { width: 90%; margin: 0; = } .poll-module .module-content .poll-block .button-submit { background: tr= ansparent url("../images/base/poll-button-bg.gif") no-repeat scroll 0%; = border:0px none; color:#fff; cursor:pointer; float:right; font-weight:bo= ld; height:23px; margin:0 3px 0 0; padding:0 20px 0 0; width:73px; text-= indent: -9999em; } .poll-module .module-content .poll-block form:after { content: "."; disp= lay: block; height: 0; clear: both; visibility: hidden; } .poll-module .module-content .poll-block form { margin:0; padding:0; } .poll-module .module-content .poll-block label { font-size:11px; font-we= ight:bold; } .poll-module .module-content .form-item { margin:0; } .poll-module .module-content .form-item fieldset { border:0px none; padd= ing:0; } .poll-module .module-content .form-item fieldset input { float:left; mar= gin:2px 2px 0 0; padding:0; } .poll-module .module-content .form-item .form-radio-item { width:296px; = margin:0 0 7px; } .poll-module .module-content .poll-bar { background-color: #6c78b0; heig= ht: 12px; display: block; clear: both; } .poll-module .module-content .poll-question, .poll-module .module-content .poll-question-result { font-size:11px; } .poll-module .module-content ul { padding:15px 0 0; } .poll-module .module-content ul li { padding:0 0 15px; } .poll-module .module-content .poll-winner { } .poll-module .module-content .poll-winner .poll-bar { } .poll-module .module-footer { background:#e3e2d1; border-top:#ceccb4 sol= id 3px; height:17px; } .poll-results .module-content .poll-status { margin: 10px 0; } /* latest reader comment & most discussed combine with .featured and .close-module to create variations ---------------------------------------------------------------------- *= / .comment-module .module-header, .most-discussed-module .module-header { margin-bottom: 2px; } /* latest comment */ /* =3DIE6 */ .comment-module .module-content { padding-bottom: 1px; } .comment-module .ci-header, = .comment-module .ci-header a, .comment-module .comment-block .heading, = .comment-module .comment-block .heading a { color: #a4231f; height: 30px= ; line-height: 30px; } .comment-module .comment-body { background: transparent url("../images/b= ase/most-discussed-quote-bg.gif") 0 3px no-repeat; padding: 0 0 0 57px; = min-height:46px; } .comment-module .comment-block .comment-info { display: block; clear: bo= th; margin-top: 10px; font-size: 11px; } .comment-module .comment-block .comment-info .comment-time { font-size: = 11px; } /* most discussed */ .most-discussed-module .module-content { background: transparent url("..= /images/base/most-discussed-balloon-bg.gif") 5px 10px no-repeat; padding= : 10px 5px 5px 62px; } .most-discussed-module .module-content li { padding: 0 0 3px 0; } .most-discussed-module .module-content li .blog-link-comments { white-sp= ace: nowrap; font-size: 11px; } /* missed something module ---------------------------------------------------------------------- *= / .missed-something .archive-recent ul { margin: 10px 0; } .missed-something .archive-recent ul li { display: inline-block; border-= right: 1px solid #000; } * html .missed-something .archive-recent ul li { display: inline; paddin= g: 0 5px; } * html .missed-something .archive-recent ul li.lipos-1 { padding-left: 0= ; } .missed-something .archive-recent ul li.lirpos-1 { border-right: 0; padd= ing: 0; } .missed-something .archive-recent ul li, .missed-something .archive-visit .related li { margin: 0; padding: 0 5px= 0 0; font-weight: bold; } .missed-something .archive-visit .related { margin: 5px 0; } .missed-something .archive-visit .related li { background: transparent u= rl("../images/base/link-icon-sprite.gif") no-repeat scroll 0px 4px !impo= rtant; padding: 0 0 0 10px; } .archive-links .archive-recent ul { margin: 10px 0; overflow:hidden; } .archive-links .archive-recent ul li { float:left; border-right: 1px sol= id #000; } * html .archive-links .archive-recent ul li { display: inline; padding: = 0 5px; } * html .archive-links .archive-recent ul li.lipos-1 { padding-left: 0; }= .archive-links .archive-recent ul li.lirpos-1 { border-right: 0; padding= : 0; } .archive-links .archive-recent ul li, .archive-links .archive-visit .related li { margin: 0; padding: 0 5px; f= ont-weight: bold; } .archive-links .archive-visit .related { margin: 5px 0; } .archive-links .archive-visit .related li { background: transparent url(= "../images/base/link-icon-sprite.gif") no-repeat scroll 0px 4px !importa= nt; padding: 0 0 0 10px; } .archive-links .archive-recent ul li.lipos-1 {padding-left:0;} /* blog module ---------------------------------------------------------------------- *= / #content-2 .blog { width: 650px; } .module.blog .module-content .content-item.blog-lead { position:relative= ; padding-bottom:10px; } .module.blog .module-content .content-item.blog-lead .comments { positio= n:absolute; right:0; top:0; } .module.blog .module-content .content-item.blog-links { clear:left; } .module.blog .module-content .content-item.blog-links .blog-links-latest= { margin-right: 18px; } .module.blog .module-content .content-item.blog-links .blog-links-latest= , .module.blog .module-content .content-item.blog-links .blog-links-mostpo= pular, .module.blog .module-content .content-item.blog-links .blog-links-mostco= mmented { width:316px; float:left; } .module.blog .module-content .content-item:after { content: "."; display= : block; height: 0; clear: both; visibility: hidden; } .module.blog .module-content .content-item.blog-links .lipos-2, .module.blog .module-content .content-item.blog-links .lipos-4, .module.blog .module-content .content-item.blog-links .lipos-6, .module.blog .module-content .content-item.blog-links .lipos-8, .module.blog .module-content .content-item.blog-links .lipos-10 { backgr= ound:#fff; } .module.blog .module-content .content-item.blog-links .lipos-1, .module.blog .module-content .content-item.blog-links .lipos-3, .module.blog .module-content .content-item.blog-links .lipos-5, .module.blog .module-content .content-item.blog-links .lipos-7, .module.blog .module-content .content-item.blog-links .lipos-9 { backgro= und:#eee; } .module.blog .module-content .content-item.blog-links .blog-link-text { = width:230px; text-align:left; display:inline-block; } /* ---------------------------------------------------------------------= - */ /* RHC / Right Hand Column = */ /* ---------------------------------------------------------------------= - */ /* weather group -------------------- */ /* =3DIE6 */ #content-3 .weather-group .group-header { margin: 0; } #content-3 .weather-group .ipos-1 .module.mpos-1 { margin: 0; border-bot= tom: 0;} #content-3 .weather-group .iframe .module-header { display: none; } #content-3 .weather-group .iframe .module-content { padding: 0; border: = 0; } #content-3 .module.weather .weather-icon-large { float:left; } #content-3 .module.weather .module-content { height: 60px; } #content-3 .module.weather .module-controls { border: 1px solid #dadada;= border-top: 0; height: 18px; } #content-3 .module.weather .module-footer { height: 0; min-height: 0; pa= dding: 0; } #content-3 .module.weather .module-footer .more-link { display: block; p= osition: absolute; top: -108px; right: -1px; font-size: 10px; background= : transparent url("../images/base/header-more-links-bg-sprite.gif") 100%= 0 no-repeat; margin: 0; padding: 0; } #content-3 .module.weather .module-footer .more-link a { padding: 0 17px= 0 0; background: transparent url("../images/base/link-icon-sprite.gif")= 100% -2196px no-repeat; } #content-3 .module.weather .forecast-wrap { float:left; width:230px; pad= ding-left: 12px; margin: 5px 0 0 12px; border-left:1px solid #e9e9e9; li= ne-height:1.4; } #content-3 .module.weather .forecast-wrap .heading { font-size:12px; fon= t-weight:normal; } .module.weather .js-tab-content .weather-icon-large { background:transpa= rent url("../../network/images/weather/weather-icons-large.png") no-repe= at 0 0; display:block; height:35px; margin: 5px 0 0 0; text-indent:-9000= px; width:35px; } .module.weather .js-tab-content .weather-icon-large.sunny { background-p= osition:0 !important; } .module.weather .js-tab-content .weather-icon-large.fog-then-sunny, .module.weather .js-tab-content .weather-icon-large.increasing-sunshine,= .module.weather .js-tab-content .weather-icon-large.mostly-sunny { backg= round-position:-35px 0 !important; } .module.weather .js-tab-content .weather-icon-large.hazy, .module.weather .js-tab-content .weather-icon-large.cloud-increasing, .module.weather .js-tab-content .weather-icon-large.mostly-cloudy { back= ground-position:-70px 0 !important; } .module.weather .js-tab-content .weather-icon-large.overcast, .module.weather .js-tab-content .weather-icon-large.cloudy { background-= position:-105px 0 !important; } .module.weather .js-tab-content .weather-icon-large.rain, .module.weather .js-tab-content .weather-icon-large.heavy-rain, .module.weather .js-tab-content .weather-icon-large.heavy-showers { back= ground-position:-140px 0 !important; } .module.weather .js-tab-content .weather-icon-large.showers, .module.weather .js-tab-content .weather-icon-large.rain-developing, .module.weather .js-tab-content .weather-icon-large.showers-increasing, .module.weather .js-tab-content .weather-icon-large.showers-easing, .module.weather .js-tab-content .weather-icon-large.clearing-shower, .module.weather .js-tab-content .weather-icon-large.drizzle-clearing, .module.weather .js-tab-content .weather-icon-large.possible-shower, .module.weather .js-tab-content .weather-icon-large.drizzle, .module.weather .js-tab-content .weather-icon-large.late-shower, .module.weather .js-tab-content .weather-icon-large.rain-clearing { back= ground-position:-175px 0 !important; } .module.weather .js-tab-content .weather-icon-large.late-thunder, .module.weather .js-tab-content .weather-icon-large.possible-thunderstor= m, .module.weather .js-tab-content .weather-icon-large.late-thunder { backg= round-position:-210px 0 !important; } .module.weather .js-tab-content .weather-icon-large.thunderstorms { back= ground-position:-245px 0 !important; } .module.weather .js-tab-content .weather-icon-large.rain-tending-to-snow= , .module.weather .js-tab-content .weather-icon-large.snow-tending-to-rain= , .module.weather .js-tab-content .weather-icon-large.snow-showers, .module.weather .js-tab-content .weather-icon-large.rain-and-snow { back= ground-position:-280px 0 !important; } .module.weather .js-tab-content .weather-icon-large.snow { background-po= sition:-315px 0 !important; } .module.weather .js-tab-content .weather-icon-large.frost-then-sunny, .module.weather .js-tab-content .weather-icon-large.snow-developing, .module.weather .js-tab-content .weather-icon-large.frost-then-sunny { b= ackground-position:-350px 0 !important; } .module.weather .js-tab-content .weather-icon-large.windy-with-snow { ba= ckground-position:-385px 0 !important; } .module.weather .js-tab-content .weather-icon-large.wind-and-rain-increa= sing, .module.weather .js-tab-content .weather-icon-large.wind-and-showers-eas= ing, .module.weather .js-tab-content .weather-icon-large.windy-with-rain, .module.weather .js-tab-content .weather-icon-large.wind-and-showers-eas= ing { background-position:-420px 0 !important; } .module.weather .js-tab-content .weather-icon-large.cloud-and-wind-incre= asing, .module.weather .js-tab-content .weather-icon-large.windy { background-p= osition:-455px 0 !important; } /* ---------------------------------------------------------------------= - */ /* Section pages */ /* ---------------------------------------------------------------------= - */ #section-header #section-header-logo { height: 40px; line-height: 40px; = color: #fff; background: #616161; padding-left:37px;} #section-header #section-header-logo h1 { background: #3a3a3a; border-le= ft: 1px solid #fff; padding-left: 10px; font-weight: bold; font-size: 20= px; border-right:10px solid #616161; } /* span inserted by js = #section-header #section-header-logo h1 span { font-weight: bold; } */ /* section colours */ body.business #section-header #section-header-logo {background:#002c61;}= body.entertainment #section-header #section-header-logo {background:#DE0= 2C6;} body.sport #section-header #section-header-logo {background:#44b304;} body.property #section-header #section-header-logo, body.real-estate #section-header #section-header-logo {background:#ff550= 0;} body.news #section-header #section-header-logo {background: #d10003;} body.fun-games #section-header #section-header-logo {background:#9CB116}= body.lifestyle #section-header #section-header-logo {background:#8635c4;= } body.opinion #section-header #section-header-logo {background: #94736C;}= body.perth-wow #section-header #section-header-logo, body.perthwow #section-header #section-header-logo {background:#9bb013;}= body.yoursay #section-header #section-header-logo {background:#44b304;} body.business #section-header #section-header-logo h1{border-right-color= :#002c61;} body.entertainment #section-header #section-header-logo h1{border-right-= color:#DE02C6;} body.entertainment-television #section-header #section-header-logo h1{bo= rder-right-color:#f49a00; } body.sport #section-header #section-header-logo h1{border-right-color:#4= 4b304;} body.property #section-header #section-header-logo h1, body.real-estate #section-header #section-header-logo h1 {border-right-c= olor:#ff5500;} body.news #section-header #section-header-logo h1{border-right-color: #d= 10003;} body.fun-games #section-header #section-header-logo h1{border-right-colo= r:#9CB116} body.lifestyle #section-header #section-header-logo h1 {border-right-col= or:#8635c4;} body.opinion #section-header #section-header-logo h1 {border-right-color= : #94736C;} body.perth-wow #section-header #section-header-logo h1, body.perthwow #section-header #section-header-logo h1 {border-right-colo= r:#9bb013;} body.yoursay #section-header #section-header-logo h1 {border-right-color= :#44b304;} /* ---------------------------------------------------------------------= - */ /* Non managed data modules = */ /* ---------------------------------------------------------------------= - */ /* Aegis ---------------------------------------------------------------------- *= / .fx-cross-rates, .markets-data { max-width: 316px; overflow: auto; } .fx-cross-rates table { font-size: smaller;} /* .markets-data .module-content td { margin: 0; padding: 0; } .markets-data .module-content img { margin: 0; padding: 0; border: 0; } .company-names { width: 650px; } .company-names .module-content .market-table { font-size: smaller; width= : 300px; margin: 0; } */ .markets-data table { font-size: smaller; width: 300px; margin: 0; } .currency-converter .module-content ol { list-style-type: none; } .currency-converter .module-content ol li { margin-left: 0; } .bond-bill strong { width: 120px; display: inline-block; } .bond-bill span { width: 40px; display: inline-block; } .bond-bill .loss { color: #9C0000; } .bond-bill .gain { color: #005D00; } /* horoscopes / jonathan cainer ---------------------------------------------------------------------- *= / /* Horoscope Module */ /* =3DIE6 yet to come, check in DT styles */ .module.horoscope-summary .module-content { padding:4px 0 7px 0; positio= n: relative; } #content .horoscope-summary .module-footer { height: 59px; background: #= f5f6f0 url("../images/base/horoscope-footer-bg.gif") bottom right no-rep= eat; padding: 0 5px 0 70px; margin: 0; } * html #content .horoscope-summary .module-footer { width: 239px; margin= : 0;} .module.horoscope-summary .module-footer .powered-by {position:relative;= background: none; top: 13px; } .module.horoscope-summary .module-footer .more-link {position:relative; = background: none; margin-top: 13px; } .module.horoscope-summary .module-content a, .module.horoscope-summary .module-footer .more-link a { color: #3a4789; = text-align: left; font-weight: bold; } .module.horoscope-summary .story-block .heading, .module.horoscope-summary .story-block .date-range {margin-left: 65px; f= ont-weight:bold;} .module.horoscope-summary .story-block .stand-first {margin-left:65px;} .module.horoscope-summary .story-block .stand-first a {display:inline-bl= ock; width:15px; height:15px; background: transparent url("../images/bas= e/relatedlinks-sprite.gif") no-repeat 100% -195px; text-indent:-9999em;}= .module.horoscope-summary .horoscope-sign {float:left; position: absolut= e; top: 5px; left: 5px; width:55px; height:55px; border:1px solid #f7f7f= 7; background:#fff; background-repeat:no-repeat; background-position: 2p= x 0;} .module.horoscopes .horoscope-sign {float:left; width:55px; height:55px;= margin:7px; border:1px solid #cfcfcf; background:#fff; background-repea= t:no-repeat; background-position: 2px 0;} .module.horoscope-summary .aquarius .horoscope-sign, .module.horoscope-s= ummary .pisces .horoscope-sign, .module.horoscope-summary .aries .horosc= ope-sign, .module.horoscope-summary .taurus .horoscope-sign, .module.hor= oscope-summary .gemini .horoscope-sign, .module.horoscope-summary .cance= r .horoscope-sign, .module.horoscope-summary .leo .horoscope-sign, .modu= le.horoscope-summary .virgo .horoscope-sign, .module.horoscope-summary .= libra .horoscope-sign, .module.horoscope-summary .scorpio .horoscope-sig= n, .module.horoscope-summary .sagittarius .horoscope-sign, .module.horos= cope-summary .capricorn .horoscope-sign, .module.horoscopes .aquarius .h= oroscope-sign, .module.horoscopes .pisces .horoscope-sign, .module.horos= copes .aries .horoscope-sign, .module.horoscopes .taurus .horoscope-sign= , .module.horoscopes .gemini .horoscope-sign, .module.horoscopes .cancer= .horoscope-sign, .module.horoscopes .leo .horoscope-sign, .module.horos= copes .virgo .horoscope-sign, .module.horoscopes .libra .horoscope-sign,= .module.horoscopes .scorpio .horoscope-sign, .module.horoscopes .sagitt= arius .horoscope-sign, .module.horoscopes .capricorn .horoscope-sign {ba= ckground-image:url("../../network/images/horoscope-icons-sprite.gif"); t= ext-indent:-9999em; } .module.horoscope-summary .aquarius .horoscope-sign, .module.horoscopes .aquarius .horoscope-sign {background-position:2px -9= 8px;} .module.horoscope-summary .pisces .horoscope-sign, .module.horoscopes .pisces .horoscope-sign {background-position:2px -19= 8px;} .module.horoscope-summary .aries .horoscope-sign, .module.horoscopes .aries .horoscope-sign {background-position:2px -298= px;} .module.horoscope-summary .taurus .horoscope-sign, .module.horoscopes .taurus .horoscope-sign {background-position:2px -39= 8px;} .module.horoscope-summary .gemini .horoscope-sign, .module.horoscopes .gemini .horoscope-sign {background-position:2px -49= 8px;} .module.horoscope-summary .cancer .horoscope-sign, .module.horoscopes .cancer .horoscope-sign {background-position:2px -59= 8px;} .module.horoscope-summary .leo .horoscope-sign, .module.horoscopes .leo .horoscope-sign {background-position:2px -698px= ;} .module.horoscope-summary .virgo .horoscope-sign, .module.horoscopes .virgo .horoscope-sign {background-position:2px -798= px;} .module.horoscope-summary .libra .horoscope-sign, .module.horoscopes .libra .horoscope-sign {background-position:2px -898p= x;} .module.horoscope-summary .scorpio .horoscope-sign, .module.horoscopes .scorpio .horoscope-sign {background-position:2px -99= 8px;} .module.horoscope-summary .capricorn .horoscope-sign, .module.horoscopes .capricorn .horoscope-sign {background-position:2px = -1098px;} .module.horoscope-summary .sagittarius .horoscope-sign, .module.horoscopes .sagittarius .horoscope-sign {background-position:2px= -1198px;} /* Fox Sports ---------------------------------------------------------------------- *= / /* Fox Sports: Live Scores and Stats Central */ #content .live-scores .module-content table { width: 100%; } #content .live-scores .module-footer .more-links li { display: inline; }= = /* wall street jounral module tweak */ .module.wsj-news ul.related { padding:0; border-top:0; } /* ASX market header / search / banner / stock quotes ---------------------------------------------------------------------- *= / .group-banner .market-header {width:746px; margin-bottom:10px;} .group-banner .mw-search {width:232px; margin-left:2px; background-color= :#eef5fe; border:1px solid #d8e5f4;} #content .group-banner .group-content .item { margin:0; } /* assistive heading */ .group-banner .stock-quotes .module-header { position: absolute; left: -= 5000em; width: 4000em; overflow: hidden; } /* Facebook and tweetmeme */ #page #content #story .story-header, #page #content #story .story-footer-tools {margin-bottom:32px;} #page #content #story .story-footer-more {border-top:1px solid #ccc; pad= ding-top:5px;} #page #content #story .story-body {border-top:1px solid #ccc; margin-top= :0; padding-top:10px;} #page #content #story .js-socialise-facebook-like {height:155px; margin:= -34px 0 -128px; padding:7px 0 2px 0; overflow:hidden; } #page #content #story .js-socialise-tweetmeme-iframe {float:right; margi= n-right:12px; margin-top:-26px; width:80px; overflow:hidden;} #page #content #story .story-footer .js-socialise-facebook-like {margin:= -34px 0 -85px;} #page #content #story .story-footer .js-socialise-tweetmeme-iframe {marg= in-top:-70px;} /* weather tweaks */ body.weather #info-bar .info-bar-datestamp, body.weather #info-bar .slimline-weather, body.weather #footer .footer-tools ul li.tool-alerts {display:none;} /* Promotion Adjustments */ .ipad-advert { text-align:center; margin-bottom:20px; } ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=content-bg.gif Content-Type: image/gif; name=content-bg.gif Content-Location: http://resources.news.com.au/cs/perthnow/images/base/content-bg.gif Content-Transfer-Encoding: Base64 R0lGODlh5gMBAKIAAP///+/t4ezt5+zs5O/t3gAAAAAAAAAAACH5BAAAAAAALAAA AADmAwEAAAMxCLrc/jDKSau9OOvNu/9gKI5kaZ5oqq6sELxwLM90bd94ru987//A oHBILBphhMAgAQA7 ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=header-more-links-bg-sprite.gif Content-Type: image/gif; name=header-more-links-bg-sprite.gif Content-Location: http://resources.news.com.au/cs/perthnow/images/base/header-more-links-bg-sprite.gif Content-Transfer-Encoding: Base64 R0lGODlhDgDaAKIEAGFhYXAAAJ8fH////////wAAAAAAAAAAACH5BAEAAAQALAAA AAAOANoAAAOqOLDcrC4CKBut62JdufQR6IgWVpoZmqrko05vuxB0bd94ru987//A oHBILBqPyKRyyWw6n9CodEqtWq/YrHbL7Xq/4LBxICibz2Yyei1Qs8/udzkup7/t bPxaj+bD5X+Ac4KDhH5phG2Jh2Vijo+QkZKTlJWWl5iZmpucnZ6fngMBo6SlpKKm qQGoqqWsraOvsLKttKq2qbimuq6wvb6xwMHCvKfCq8fFowkAOw== ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=link-icon-sprite.gif Content-Type: image/gif; name=link-icon-sprite.gif Content-Location: http://resources.news.com.au/cs/perthnow/images/base/link-icon-sprite.gif Content-Transfer-Encoding: Base64 R0lGODlhFAAQDuZ/ACUoKhBkm7cUFP///8ZLTJmZmd+Wl8zMzOTj415eXv80NKca KvLu7rplZUxMTP9PT/95eZ8fH7c3N60tLf9jY/+urqampk5OTgcKDMI+PgVAZhNt qODf67PA0ezs7AVIc/T09KOjo+bm5qSkpF9fX1Zzitzp7K+vr4GWqYKWqf/c3MjI yGB+lZuvxXR0dLLA0p6engU5W9nk7OLi4jddd2NjY8LN3qi+1SM+TxpVfdnm7Ku4 yb6+vu7u7maZuQ5Lc9fX1zNffWFgY1NTU5y/2wRDaneOofv7+0BVZJ6zycjP4fLy 8tHb7JGRkSJMZLOzs4ODg1tbW3GdwERzlJGhtKenp5iYmIObrwU/ZAUzUaK2zN/f 38HX7MvT5Gqgw3aozAdPfaurqyViiyhtnF+OsVqTvWSBmBtqn6CgoNPT03Jycjx6 pQpEarq6uoqKjcLK2nuas2VlZa67zJycnI+Pj9nZ2dvb2yFcgiNfiZmpu5qqvmib u42NjXBwcA1bjf///yH5BAEAAH8ALAAAAAAUABAOAAf/gAJ/g4SFhoUCgoeLhomM j4OOkIeSk4iKloiZhwWbhgcHnoUICKKEpaapqqusra6vsLGys7S1tre4ubq7vL2+ v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NCYopXY157Zmd2W3+CqnamgqqTn1err7O3u 7/Dx8vP09fb3+Pn6+/z9/v8AbSnaNslRuEcGCTJKyC2SKHLkNpkz5wkVqoAYM2rc yLGjx48gQ4ocSbKkyZMoUxYjwLIASwKWXspkOYnlAAICGLysSYDBzQEDBERkxFIA UKM3efpEKgAmpARGEwWlCQlnIqhXY7ps6VSl169gw4odS7as2bNo06pdy/aVgVQG /96Kiit36KIDdKn+sWto684EeyH5pQmYbyGsTbsapiRp8aKDBU0VmOz4EKjLoSyR 2ry5refPoEOLHk26tOnTqFObpMta7iMDQGPHdr0IdqLbRmkfIiBbdtdFvHFL/b27 d2zilI7iBhdUm8JMmC9v4nxRtfXr2LNr3869u/fv4NG21s0oruy4MWfqfWTzOPLd 6t8zXr7pNrZV0TNn4hy+v///AAYo4IAEFmjggYU8oOADCiz4ACQOUlCBgw8yQsGF FEAwAAQYUvAIBCBCoMIAKoQIwYcVGDdABScyooACKcpWwYuPvKiAhkBBYGONL/oE lAo7utjjhBUwEOQiL+po4/+NNPK45JEIRinllFRWaeWVWGY5YGvyHQLbceQB59sA YRoSHFAvTVZVUEglVVlPtzGgU2DsMZCInDoxUJkACPC5WU57UtennpAIdxsClQ1S gKCJ7kXZo1pGKumklFZq6aWYZmpMfhRBcoBx+t3F6QCVfdrbp5UVoBxQqqbKplSt CrYqqQkA9oiquNFqKyO19tqrJb76qumwxBZr7LHIJquspeOVaciXs2XCm29qrjlm otMeR2pNvfWUaJtHEVpob4AWZCiimSzKWaOOPsrusvDGK++89NZr773rOFvbIOhl 0qy//1YVX5eDDEzwH/YJJw4hkNXyHL4QRyzxxBRXbPH/xYvUakoCQAGm8STN6vsH a5OxJjABqpK6E3soy7aVwCmzut58KRdgH0K3TUYfzoam6+67nIb6iKDVYWz00Ugn rfTSTPPT71wi1/bW05agRzVPf8wMHEw0aQ1f1lwfjLAgDBVq6M2CdaJmtZNMFEqn kKAjd9N012333XjnrTcvBRzgY2yW9O0jUoH7HZtRhdu5862GD2DnAIkfBVTkshWe 396YZ6755px37nk7UT/78EKjPyYI3M9eYgDqlLx1G+uW4ba60Iwc8Drtj9gunSe7 i4L758AHL/zwxBdvJaSe2Lqroq+NN8gBjsV3WfTqIW+6cL06dvYgH5O+8/KLuKto /6PRPb8ff8anr/767LfvvmfgZ8Jx/E/FRv+zBiSAJwMIJKBv/tTxn74IEDKCGYxg iVHP6M6Gtuttz2w9C9zP2BW081HnfRjMoAY3yMEOlidgr1ERmSBhG+GMkD0iNOCr bpMUFKroYExZ3EKaw42GeepyFkSHB3fIwx768IdAXEUDhkjEBliiARlIohIzYERI NEACEhgAFKHYxEc8MYpSpOIkGjCBLgKli1VkBBcn8EUwbjECERgAGtEYxkU0YI1w bKMbizjEINrxjnjMox73aAkRnGAyJxDBJkLwqBBs4meHFF8mRvCoEWxiBoQsQAhm wMdKWvKSmMykJmExucl5ov+TkPsk5DxpCVBuwpSbTKUqV8nKVrryEKg85ShDKcs/ kHISscTlLF/Jy1768pfAxNwCFvCHYYrCmMb0BDKJmYllbsKZwYymNKdJzWoiDZrP JGYys1lMZloCm5MApzXHSc5ymvOc3tmAOtfphUwEgAsmiOcXzrAHSwRAB2agAQ3w UAYi+GASfpCBDV7wAjKMYQ1icAMkAnoFFrAgCFOQQg6EAAkwMEEPKMioHG7wAyRA 4gNdyEMKRroDLRTBCR9VghFKwFIqJAELOPjoGzhAU5q2IAYA+GgLOsBTnsIBp5C4 Axs0QNSiZiGnkAAABpbKVAwgFZ1QjapUp/rK0pFOFTbgvKo2TJFVSlD1q2ANq1jH StaymvWsaE0r3S4wCAuYgq1/cKso4CpXT9DVrm3Fa1z1Wle1+vWvgA1sNT1gihFE wQFDgMEmYOAAB5CgsVawRA8au4I/AKGxW5gEDxzAB0KgwQFhmMQKHAAFQjTBAW2Y xBEaWwU7nKCxS7DEExpLWxKAIBMimEMf6PBYNdzWEx6ogQNc8NtNBHe4xc2EB+Iw hDqYwgNpEKx0p0vd6lr3utjNrna3y93ueve74A2veMdL3vKa97zoTa9618ve9rr3 vfCNr3znS9/62ve++O1gIAAAOw== ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=sponsored-links.gif Content-Type: image/gif; name=sponsored-links.gif Content-Location: http://resources.news.com.au/cs/perthnow/images/base/ads/sponsored-links.gif Content-Transfer-Encoding: Base64 R0lGODlhdAAKAIAAAGZmZv///yH5BAAAAAAALAAAAAB0AAoAAAKcDA6heOroTJQL RlvZY8noSV3L1HVPZoZUarabqLrjfKo1fdeNDrN52SONZD4bMAhKGZNDHq1owx15 RNDyqsRdg9WYFbXBKI/TD5YTtoyFbHKThGFGsafsqv2zrmFISSlh99THN+MydTco w5YTVYYYAlUUqMhySJmnJSWXaKmZxnixo9US5wFViGYqGqpx+Ii6+iU7S1tre4ub +1UAADs= ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=pipe-cacaca-bg.gif Content-Type: image/gif; name=pipe-cacaca-bg.gif Content-Location: http://resources.news.com.au/cs/perthnow/images/base/pipe-cacaca-bg.gif Content-Transfer-Encoding: Base64 R0lGODlhAQALAIAAAMrKygAAACH5BAAAAAAALAAAAAABAAsAAAIDhI9QADs= ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=base.css Content-Type: text/css; name=base.css Content-Location: http://resources.news.com.au/cs/perthnow/css/base.css Content-Transfer-Encoding: 8bit @import url("../../network/css/layout-2plus1.css"); @import url("../../network/css/defaults-2plus1.css"); @import url("../../network/css/forms-2plus1.css"); @import url("../../network/css/story-2plus1.css"); @import url("../../network/css/gallery-2plus1.css"); @import url("../../network/css/multimedia/styles.css"); @import url("base-header-and-footer.css"); @import url("base-style.css"); ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=skin-style.css Content-Type: text/css; name=skin-style.css Content-Location: http://resources.news.com.au/cs/perthnow/css/skin-style.css Content-Transfer-Encoding: 8bit /* Section headers (in-page header) *************************************************/ body.opinion #section-header #section-header-logo { background-image:url('../images/skin/section-header/opinion.gif'); background-color:#fff; background-position:0 -100px; background-repeat:no-repeat; border:none; } body.opinion #section-header #section-header-logo h1 { background:#3a3a3a url('../images/skin/section-header/opinion.gif') top right no-repeat; border-right:none;} body.opinion-readers-comments #section-header #section-header-logo { background-position:0 -200px; } body.opinion-poll #section-header #section-header-logo { background-position:0 -300px; } body.opinion-newspaper-columns #section-header #section-header-logo { background-position:0 -500px; } body.opinion-blogs #section-header #section-header-logo { background-position:0 -600px; } body.sport #section-header #section-header-logo { background-image:url('../images/skin/section-header/sport.gif'); background-color:#fff; background-position:0 -500px; background-repeat:no-repeat; border:none; } body.sport #section-header #section-header-logo h1 { background:#3a3a3a url('../images/skin/section-header/sport.gif') top right no-repeat; border-right:none;} body.sport-tennis #section-header #section-header-logo { background-position:0 -100px; } body.sport-soccer #section-header #section-header-logo { background-position:0 -200px; } body.sport-sport-rugby-union #section-header #section-header-logo { background-position:0 -300px; } body.sport-motot-sport #section-header #section-header-logo { background-position:0 -400px; } body.sport-cricket #section-header #section-header-logo { background-position:0 -800px; } body.sport-basketball #section-header #section-header-logo { background-position:0 -900px; } body.business #section-header #section-header-logo { background-image:url('../images/skin/section-header/business.gif'); background-color:#fff; background-position:0 -300px; background-repeat:no-repeat; border:none; } body.business #section-header #section-header-logo h1 { background:#3a3a3a url('../images/skin/section-header/business.gif') top right no-repeat; border-right:none;} body.business-wa-company-news #section-header #section-header-logo { background-position:0 -100px; } body.business-property #section-header #section-header-logo { background-position:0 -400px; } body.business-mining-energy #section-header #section-header-logo { background-position:0 -500px; } body.business-boardroom-radio #section-header #section-header-logo { background-position:0 -800px; } body.real-estate #section-header #section-header-logo { background-image:url('../images/skin/section-header/realestate.gif'); background-color:#fff; background-position:0 -100px; background-repeat:no-repeat; border:none; } body.real-estate #section-header #section-header-logo h1 { background:#3a3a3a url('../images/skin/section-header/realestate.gif') top right no-repeat; border-right:none;} body.real-estate-news-info #section-header #section-header-logo { background-position:0 -300px; } body.real-land #section-header #section-header-logo { background-position:0 -400px; } body.lifestyle #section-header #section-header-logo { background-image:url('../images/skin/section-header/lifestyle.gif'); background-color:#fff; background-position:0 -500px; background-repeat:no-repeat; border:none; } body.lifestyle #section-header #section-header-logo h1 { background:#3a3a3a url('../images/skin/section-header/lifestyle.gif') top right no-repeat; border-right:none;} body.lifestyle-restaurants #section-header #section-header-logo { background-position:0 -200px; } body.lifestyle-food-wine #section-header #section-header-logo { background-position:0 -200px; } body.lifestyle-fishing #section-header #section-header-logo { background-position:0 -300px; } body.lifestyle-fashion-beauty #section-header #section-header-logo { background-position:0 -400px; } body.lifestyle-social-scene-galleries #section-header #section-header-logo { background-position:0 -100px; } body.fun-games #section-header #section-header-logo { background-image:url('../images/skin/section-header/fun.gif'); background-color:#fff; background-position:0 -500px; background-repeat:no-repeat; border:none; } body.fun-games #section-header #section-header-logo h1 { background:#3a3a3a url('../images/skin/section-header/fun.gif') top right no-repeat; border-right:none;} body.fun-games-best-of-youtube #section-header #section-header-logo { background-position:0 -100px; } body.fun-games-images #section-header #section-header-logo { background-position:0 -300px; } body.fun-games-horoscopes #section-header #section-header-logo { background-position:0 -400px; } body.fun-games-competitions #section-header #section-header-logo { background-position:0 -600px; } body.entertainment #section-header #section-header-logo { background-image:url('../images/skin/section-header/entertainment.gif'); background-color:#fff; background-position:0 -500px; background-repeat:no-repeat; border:none; } body.entertainment #section-header #section-header-logo h1 { background:#3a3a3a url('../images/skin/section-header/entertainment.gif') top right no-repeat;} body.entertainment-whats-on #section-header #section-header-logo { background-position:0 -200px; } body.entertainment-movies #section-header #section-header-logo { background-position:0 -700px; } body.entertainment-television #section-header #section-header-logo { background-position:0 -300px; } body.entertainment-music #section-header #section-header-logo { background-position:0 -600px; } body.entertainment-books #section-header #section-header-logo { background-position:0 -800px; } body.entertainment .module.text-m-perth-confidential .module-header { padding:0; } body.entertainment .module.text-m-perth-confidential .module-header .heading { display:block; height:24px; background:#fff url('../images/skin/confidential/confidential-hdrs-sprite.gif') 0 -2100px no-repeat; padding:0; text-indent:-9999px; } body.entertainment .module.text-m-perth-confidential .module-header .more-links { background:transparent; } body.entertainment .module.text-m-perth-confidential .module-header .more-links li { background:transparent url('../images/skin/confidential/relatedlinks.gif') right -1996px no-repeat; } body.entertainment .module.text-m-perth-confidential .module-header .more-links li a { color:#444; } body.entertainment .module.text-m-showbuzz .module-header { padding:0; } body.entertainment .module.text-m-showbuzz .module-header .heading { display:block; height:24px; background:#fff url('../images/skin/confidential/confidential-hdrs-sprite.gif') 0 -300px no-repeat; padding:0; text-indent:-9999px; } body.entertainment .module.text-m-showbuzz .module-header .more-links { background:transparent; } body.entertainment .module.text-m-showbuzz .module-header .more-links li { background:transparent url('../images/skin/confidential/relatedlinks.gif') right -1996px no-repeat; } body.entertainment .module.text-m-showbuzz .module-header .more-links li a { color:#444; } body.entertainment-perth-confidential-index #page #section-header-logo, body.entertainment-perth-confidential-news-index #page #section-header-logo, body.entertainment-perth-confidential-celebrity-biographies #page #section-header-logo, body.entertainment-perth-confidential-showbuzz-index #page #section-header-logo, body.entertainment-perth-confidential-showbuzz-showbuzz-filmstrip-index #page #section-header-logo { background: url("../images/skin/confidential/section-conf-heading-image-sprite.jpg") no-repeat 0 0; border:none; height:48px;} body.entertainment-perth-confidential-index #page #section-header-logo h1, body.entertainment-perth-confidential-news-index #page #section-header-logo h1, body.entertainment-perth-confidential-celebrity-biographies #page #section-header-logo h1, body.entertainment-perth-confidential-showbuzz-index #page #section-header-logo h1, body.entertainment-perth-confidential-showbuzz-showbuzz-filmstrip-index #page #section-header-logo h1 {border:none; background:none;} body.entertainment-perth-confidential-index #page #section-header-logo {background-position:0 -97px; text-indent: -9999px;} body.entertainment-perth-confidential-news-index #page #section-header-logo {background-position:0 -197px; text-indent: -9999px;} body.entertainment-perth-confidential-celebrity-biographies #page #section-header-logo {background-position:0 -589px; text-indent: -9999px;} body.entertainment-perth-confidential-showbuzz-showbuzz-filmstrip-index #page #section-header-logo, body.entertainment-perth-confidential-showbuzz-index #page #section-header-logo {background-position:0 -497px; text-indent: -9999px;} /* Entertainment *************************************************/ /* Submit an event */ body.entertainment .module.text-m-submit-an-event .module-content .promo-block .promo-heading {height:20px; line-height:17px;} body.entertainment .module.text-m-submit-an-event .module-content .promo-block .promo-heading .heading {background:transparent url("../images/base/icn-important.gif") 0 0 no-repeat; padding-left:18px;} body.entertainment .module.text-m-submit-an-event .module-content .promo-block .promo-text {background:#F0EFE5; border-width:1px 0; border-style:solid; border-color:#CAC8AF; padding:8px;} body.entertainment .module.text-m-submit-an-event .module-content .promo-block .promo-text p a {background: transparent url(../images/base/link-icon-sprite.gif) 0 4px no-repeat; padding-left:8px;} /* Entertainment > Perth Confidential *************************************************/ /* defaults */ body.entertainment-perth-confidential .module.text-m-top-stories .module-header .more-links li, body.entertainment-perth-confidential .module.text-m-top-stories .module-subheader .more-links li, body.entertainment-perth-confidential .module.text-m-top-stories .module-footer .more-links li, body.entertainment-perth-confidential .module.text-m-also-in-confidential-news .module-header .more-links li, body.entertainment-perth-confidential .module.text-m-also-in-confidential-news .module-subheader .more-links li, body.entertainment-perth-confidential .module.text-m-also-in-confidential-news .module-footer .more-links li, body.entertainment-perth-confidential .module.text-m-celebrity-biographies .module-header .more-links li, body.entertainment-perth-confidential .module.text-m-celebrity-biographies .module-subheader .more-links li, body.entertainment-perth-confidential .module.text-m-celebrity-biographies .module-footer .more-links li, body.entertainment-perth-confidential .module.text-m-entertainment-galleries .module-header .more-links li, body.entertainment-perth-confidential .module.text-m-entertainment-galleries .module-subheader .more-links li, body.entertainment-perth-confidential .module.text-m-entertainment-galleries .module-footer .more-links li, body.entertainment-perth-confidential .module.text-m-also-today .module-header .more-links li, body.entertainment-perth-confidential .module.text-m-also-today .module-subheader .more-links li, body.entertainment-perth-confidential .module.text-m-also-today .module-footer .more-links li, body.entertainment-perth-confidential .module.text-m-showbuzz .module-header .more-links li, body.entertainment-perth-confidential .module.text-m-showbuzz .module-subheader .more-links li, body.entertainment-perth-confidential .module.text-m-showbuzz .module-footer .more-links li { color:#3A4789; background:transparent url("../images/skin/confidential/relatedlinks.gif") no-repeat scroll 100% -1998px; line-height:14px;} body.entertainment-perth-confidential .module.text-m-top-stories .module-header .more-links li a, body.entertainment-perth-confidential .module.text-m-top-stories .module-subheader .more-links li a, body.entertainment-perth-confidential .module.text-m-top-stories .module-footer .more-links li a, body.entertainment-perth-confidential .module.text-m-also-in-confidential-news .module-header .more-links li a, body.entertainment-perth-confidential .module.text-m-also-in-confidential-news .module-subheader .more-links li a, body.entertainment-perth-confidential .module.text-m-also-in-confidential-news .module-footer .more-links li a, body.entertainment-perth-confidential .module.text-m-celebrity-biographies .module-header .more-links li a, body.entertainment-perth-confidential .module.text-m-celebrity-biographies .module-subheader .more-links li a, body.entertainment-perth-confidential .module.text-m-celebrity-biographies .module-footer .more-links li a, body.entertainment-perth-confidential .module.text-m-entertainment-galleries .module-header .more-links li a, body.entertainment-perth-confidential .module.text-m-entertainment-galleries .module-subheader .more-links li a, body.entertainment-perth-confidential .module.text-m-entertainment-galleries .module-footer .more-links li a, body.entertainment-perth-confidential .module.text-m-also-today .module-header .more-links li a, body.entertainment-perth-confidential .module.text-m-also-today .module-subheader .more-links li a, body.entertainment-perth-confidential .module.text-m-also-today .module-footer .more-links li a, body.entertainment-perth-confidential .module.text-m-showbuzz .module-header .more-links li a, body.entertainment-perth-confidential .module.text-m-showbuzz .module-subheader .more-links li a, body.entertainment-perth-confidential .module.text-m-showbuzz .module-footer .more-links li a {color:#3A4789; font-weight:bold;} body.entertainment-perth-confidential .module.text-m-top-stories .module-header, body.entertainment-perth-confidential .module.text-m-also-in-confidential-news .module-header, body.entertainment-perth-confidential .module.text-m-celebrity-biographies .module-header, body.entertainment-perth-confidential .module.text-m-entertainment-galleries .module-header, body.entertainment-perth-confidential .module.text-m-also-today .module-header, body.entertainment-perth-confidential .module.text-m-showbuzz .module-header {padding:0; background:none;} body.entertainment-perth-confidential .module.text-m-top-stories .module-header .more-links, body.entertainment-perth-confidential .module.text-m-also-in-confidential-news .module-header .more-links, body.entertainment-perth-confidential .module.text-m-celebrity-biographies .module-header .more-links, body.entertainment-perth-confidential .module.text-m-entertainment-galleries .module-header .more-links, body.entertainment-perth-confidential .module.text-m-also-today .module-header .more-links, body.entertainment-perth-confidential .module.text-m-showbuzz .module-header .more-links {background:none;} /* Confidential Fader */ .has-js body.entertainment-perth-confidential .features-fader .module-content {background:#fff url("../images/skin/confidential/multi/fader/fader-bg.gif") no-repeat 0 0; height:254px; overflow:hidden;} .has-js body.entertainment-perth-confidential .features-fader .module-content .cipos-1 .image-block {background:transparent url("../images/skin/confidential/multi/fader/galleries-tabometer1.gif") no-repeat 0 0;} .has-js body.entertainment-perth-confidential .features-fader .module-content .js-fader-active.cipos-1 .image-block {background:transparent url("../images/skin/confidential/multi/fader/galleries-tabometer1.gif") no-repeat 0 0;} .has-js body.entertainment-perth-confidential .features-fader .module-content .js-fader-active.cipos-2 .image-block {background:transparent url("../images/skin/confidential/multi/fader/galleries-tabometer2.gif") no-repeat 0 0;} .has-js body.entertainment-perth-confidential .features-fader .module-content .js-fader-active.cipos-3 .image-block {background:transparent url("../images/skin/confidential/multi/fader/galleries-tabometer3.gif") no-repeat 0 0;} /* navigation */ body.entertainment-perth-confidential #section-header-nav a, body.entertainment-perth-confidential #section-header-nav a:hover { color:#FFF; } body.entertainment-perth-confidential #section-header #section-header-nav dd:hover, body.entertainment-perth-confidential #section-header #section-header-nav dd.active, body.entertainment-perth-confidential #section-header #section-header-nav dd.js-hover {background-position: 0 -18px; color:#FFF;} body.entertainment-perth-confidential #section-header #section-header-nav dd:hover a, body.entertainment-perth-confidential #section-header #section-header-nav dd.active a, body.entertainment-perth-confidential #section-header #section-header-nav dd.js-hover a {background-position: 100% -17px; color:#FFF;} body.entertainment-perth-confidential #section-header #section-header-nav dt {line-height:20px;} body.entertainment-perth-confidential #section-header #section-header-nav dd { margin:0 1px; padding:3px 0 4px 4px; background: url("../images/skin/confidential/nav-tertiary-left-conf.gif") no-repeat 0 0; line-height:11px;} body.entertainment-perth-confidential #section-header #section-header-nav dd a { color:#fff; font-weight:700; padding:2px 8px 2px 2px; background: url("../images/skin/confidential/nav-tertiary-right-conf.gif") no-repeat 100% 1px; } body.entertainment-perth-confidential #section-header #section-header-nav dd a:hover, body.entertainment-perth-confidential #section-header #section-header-nav dd a:active, body.entertainment-perth-confidential #section-header #section-header-nav dd a:focus {text-decoration:none;} /* module headers */ body.entertainment-perth-confidential .module.text-m-top-stories .module-header .heading, body.entertainment-perth-confidential .module.text-m-also-in-confidential-news .module-header .heading, body.entertainment-perth-confidential .module.text-m-celebrity-biographies .module-header .heading, body.entertainment-perth-confidential .module.text-m-entertainment-galleries .module-header .heading, body.entertainment-perth-confidential .module.text-m-showbuzz .module-header .heading, body.entertainment-perth-confidential .module.text-m-also-today .module-header .heading {background: #fff url("../images/skin/confidential/confidential-hdrs-sprite.gif") 0 0 no-repeat;} body.entertainment-perth-confidential .module.text-m-also-today .module-header .heading {background-position: 0 -200px; text-indent:-9999px;} body.entertainment-perth-confidential .module.text-m-showbuzz .module-header .heading {background-position: 0 -300px; text-indent:-9999px;} body.entertainment-perth-confidential .module.text-m-celebrity-biographies .module-header .heading {background-position: 0 -600px; text-indent:-9999px;} body.entertainment-perth-confidential .module.text-m-entertainment-galleries .module-header .heading {background-position: 0 -1000px; text-indent:-9999px;} body.entertainment-perth-confidential .module.text-m-top-stories .module-header .heading {background-position: 0 -1100px; text-indent:-9999px;} body.entertainment-perth-confidential .module.text-m-also-in-confidential-news .module-header .heading {background-position: 0 -1200px; text-indent:-9999px;} /* Related Links Tweaks */ body.entertainment-perth-confidential .module.text-m-also-today .module-related {border-top:none;} /* Module - YOU SAID IT */ body.entertainment-perth-confidential-index #content .comment-module {background:none;} body.entertainment-perth-confidential-index #content .comment-module .module-header {border:none; margin:0; height:30px; line-height:30px; padding:0;} body.entertainment-perth-confidential-index #content .comment-module .module-header .heading { background: url("../images/skin/confidential/confidential-hdrs-sprite.gif") no-repeat 0 -1400px; text-indent:-9999px; height:30px; line-height:30px;} body.entertainment-perth-confidential-index #content .comment-module .module-content { background: #000 url("../images/skin/confidential/bg-dz-yousaidit.gif") repeat-x bottom left; padding:0; overflow:hidden;} body.entertainment-perth-confidential-index .comment-module .comment-block { color:#FFF; margin:0; padding:0 15px 5px 10px;} body.entertainment-perth-confidential-index .comment-module .comment-block blockquote {background:none; padding:0;} body.entertainment-perth-confidential-index .comment-module .comment-block .heading {height:22px; line-height:25px;} body.entertainment-perth-confidential-index .comment-module .comment-block .heading a { color: #FFF; font-size: 12px;} body.entertainment-perth-confidential-index .comment-module .comment-block .comment-info, body.entertainment-perth-confidential-index .comment-module .comment-block .comment-name {color:#fff; font-size:0.9em; font-style:italic;} body.entertainment-perth-confidential-index #content .comment-module .module-footer { border:0; margin:0; height: 20px; background:url("../images/skin/confidential/yousaidit_footer.gif") no-repeat 0 0; } body.entertainment-perth-confidential-index .comment-module .module-footer a { color:#FFF; background:none; line-height:1.5; font-weight: normal; font-size:11px;} body.entertainment-perth-confidential-index .comment-module .module-footer .more-link {background:none; line-height:15px;} /* Bios/biographies/profile modules */ body.entertainment-perth-confidential #content .module.profile-module {background: url(../images/skin/confidential/bios_bg.gif) no-repeat scroll left bottom; float:left; overflow:hidden;} body.entertainment-perth-confidential .module.profile-module .module-header {background:none; padding:0; height:20px;} body.entertainment-perth-confidential .module.profile-module .module-header .heading { color: #000; font-size: 20px; margin: 0; border:0; text-indent:0; padding:0 10px; font-family:Arial,Helvetica,sans-serif; line-height:20px; } /* CUFON REPLACEMENT */ body.entertainment-perth-confidential .module.profile-module .module-content { margin-top:8px; position:relative; } body.entertainment-perth-confidential .module.profile-module .image-block { float:right; overflow:hidden; right:10px; top:0; width:316px; } body.entertainment-perth-confidential .module.profile-module .image-block .caption { background:#000; color:#fff; } body.entertainment-perth-confidential .module.profile-module .details { display:inline-block; padding:0 10px; width:300px; } body.entertainment-perth-confidential .module.profile-module .details li { padding: 0 0 3px 0; } body.entertainment-perth-confidential .module.profile-module .details li strong { color:#0E355E; } body.entertainment-perth-confidential .module.profile-module .image-source { text-align: right; } /* horoscopes duplicate header removal hack -------------------- */ .text-g-pn-horoscopes-group .module.horoscopes .module-header { display:none; } /* most popular module -------------------- */ #content-5 .module.most-popular { width: 998px; margin: 0 0 0 1px; background: #E8EAF3; color: #3A4789; } #content-5 .module.most-popular .ci-header .heading { padding:5px; font-size:13px; } #content-5 .module.most-popular .content-item { border-width: 0 1px 1px 1px; border-style: solid; border-color: #5e6bac; } #content-5 .module.most-popular .content-item:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } #content-5 .module.most-popular .most-pop-item { width: 246px; float: left; margin: 0; } #content-5 .module.most-popular .most-pop-major { min-height: 310px; line-height: 26px; background: #f0f1f7; } #content-5 .module.most-popular .most-pop-standard { min-height: 155px; line-height: 15px; border-left: 1px solid #d3d6e7; padding: 0 2px 0 1px; } #content-5 .module.most-popular .most-pop-herald-sun, #content-5 .module.most-popular .most-pop-news-com-au { padding-right:0; padding-left:0px; } #content-5 .module.most-popular .module-header { display: none; } #content-5 .module.most-popular-articles .ci-header .heading { background: #c1c8e8; height: 30px; line-height: 30px; padding: 0 10px; } #content-5 .most-popular .mpi-header .heading { text-indent:-9999em; border-left:5px solid #6c78b0; } #content-5 .most-popular .mpi-header .heading a { display:block; height:33px; width:240px; outline:none; } body.homepage .most-popular .most-pop-item ol { list-style-position: inside; margin: 0 0 0 6px; } body.homepage .most-popular .most-pop-item ol li { margin: 0; padding: 0; } #content-5 .module.most-popular .most-pop-item ol { list-style-position: inside; margin: 0 0 0 6px; } #content-5 .module.most-popular .most-pop-item ol li { margin: 0; padding: 0; } #content-5 .module.most-popular .most-pop-more-link { margin-top: 3px; } #content-5 .module.most-popular .most-pop-more-link a { font-weight: bold; background: transparent url("../images/base/link-icon-sprite.gif") 11px -2596px no-repeat; padding: 0 0 0 24px; } #content-5 .module.most-popular .mpi-header { height:33px; width:auto; background: #fff url("../../network/images/most-popular/heads.gif") 0 0 no-repeat; margin-bottom:7px; } #content-5 .most-popular .most-pop-adelaide-now .mpi-header { background-position:0 -100px; } #content-5 .most-popular .most-pop-herald-sun .mpi-header { background-position:0 -500px; } #content-5 .most-popular .most-pop-courier-mail .mpi-header, #content-5 .most-popular .most-pop-the-courier-mail .mpi-header { background-position:0 -300px; } #content-5 .most-popular .most-pop-dailytele .mpi-header, #content-5 .most-popular .most-pop-the-daily-telegraph .mpi-header { background-position:0 -400px; } #content-5 .most-popular .most-pop-perth-now .mpi-header { background-position:0 -600px; } #content-5 .most-popular .most-pop-the-australian .mpi-header { background-position:0 -200px; } #content-5 .most-popular .most-pop-news-main .mpi-header, #content-5 .most-popular .most-pop-news-com-au .mpi-header { background-position:0 -700px; } #content-5 .module.most-popular .module-content { border:0; overflow:hidden; } /* HWW TV-GUIDE */ .module.guides .module-header {margin:0 0 -18px 0;} .module.guides .module-content {text-align:right;} .module.guides .module-content .js-tab {padding:0;} .module.guides .module-content .js-tab a {background:#626061; color:#fff; height:18px; font-size:11px; line-height:18px; margin:0 0 0 -2px; padding:2px 5px; text-decoration:none; position:relative;} .module.guides .module-content .js-active-tab a {background:#A52C2C;} .module.guides .module-content {/* background:url(../images/skin/local-guide/guide-tabs.gif) 0 0 no-repeat; */ overflow:hidden; margin-bottom:-10px;} .module.guides .module-content .guide-box {background:#fff; border:1px solid #B5AD87; clear:both; font-size:0.9em; height:auto; padding:6px 6px 4px; height:145px !important; text-align:left;} .module.guides .module-content .guide-box br {display:none;} .module.guides .module-content .guide-box a, .module.guides .module-content .guide-box a:link {text-decoration:none; font-weight:bold;} .module.guides .module-content .guide-box a:hover, .module.guides .module-content .guide-box a:active, .module.guides .module-content .guide-box a:focus {text-decoration:underline;} .module.guides .module-content p {margin:0 0 6px 1px !important;} .module.guides .module-content .movie p {margin:0 0 -1px 1px !important;} .module.guides .module-content .movie table {margin-left:12px !important;} .module.guides .module-content fieldset {margin:0; padding:0; border:none;} .module.guides .module-content label {display:block; float:none; margin:0 0 6px 0; font-weight:bold; width:auto;} .module.guides .module-content select {display:block; font-size:1em;} .module.guides .module-content .submit-wrap { float:right; height:25px; margin:0 !important; padding:0; width:67px; overflow:hidden;} .module.guides .module-content .submit-wrap { } .module.guides .module-content .submit-wrap input { background:transparent url(../images/skin/tv-guide/submit.gif) no-repeat 0 0; border:none; color:#fff; cursor:pointer; font-weight:bold; font-size:0.9em; line-height:22px; height:24px; outline:none; padding:0 0 6px 0; width:67px; text-align:center;} .module.guides .module-content select {margin:0 0 15px 0; width:215px;} .module.guides .module-content td select {margin:0 0 15px 0; width:215px !important;} .module.guides .module-content fieldset select#subscription-service {display:inline; float:left;} .module.guides .module-content table, .module.guides .module-content table th, .module.guides .module-content table td { border: none; margin:0; font-size: 10px; padding:0; } .module.guides .module-content table td input {width:15px; margin:0;} .module.guides .module-content div {margin:0 0 10px 0 !important;} .module.readers-comment { padding:0 0 5px 0; } .module.readers-comment .readers-comments-quote { margin:0 0 5px 0; } .module.readers-comment .comment-block { margin:0 0 10px 0; } .module.readers-comment .blog-link { font-weight:bold; } .module.readers-comment ul.related li { backgrngound:none transparent; mari:0; padding:0; } .module.readers-comment ul.related li .blog-link { background:transparent url(../images/base/link-icon-sprite.gif) no-repeat 0 -597px; padding:0 0 0 15px; } .module.readers-comment ul.related li .blog-links { background:transparent url(../images/base/link-icon-sprite.gif) no-repeat 0 2px; padding:0 0 0 15px; } .module.readers-comment ul.related li .blog-links .blog-link-text { background:transparent url(../images/base/link-icon-sprite.gif) no-repeat 0 -1396px; padding:0 0 0 13px; margin:0 0 0 3px; } /* Business ---------------------------------------------------------------------- */ .module.wsj-news .module-footer { display:none; } /* Fox Sports ---------------------------------------------------------------------- */ /* Fox Sports: Live Scores and Stats Central */ #content .live-scores .module-header { height: 20px; margin: 0 0 1px 0; background: #fff url("../images/skin/sport/foxsports-module-header-bg.gif") bottom right no-repeat; } #content .live-scores .module-header .heading { padding: 2px 0 0 0; font-size: 12px; } #content .live-scores .module-content { margin: 1px 0; background: #EDECE2; } #content .live-scores .module-content table { width: 100%; } #content .live-scores .module-content table, #content .live-scores .module-content table th, #content .live-scores .module-content table td { border: 0; } #content .live-scores .module-content table th { white-space: nowrap; } #content .live-scores .module-footer { background: #E3E2D1; border-top: 1px solid #CAC8AF; } #content .live-scores .module-footer .more-links li { display: inline; } .module.showcase .module-header { margin:0; } .module.showcase .module-content { background:#ececec; overflow:hidden; } .module.showcase .module-content .content-item .showcase-block { float:left; overflow:hidden; position:relative; width:130px; margin:0; padding:0; } .module.showcase .module-content .content-item .showcase-block img { border:15px solid #ececec; border-top:5px solid #ececec; border-bottom:5px solid #ececec; margin:0; } .module.showcase .module-content .content-item .showcase-block .heading { display:block; font-weight:normal; text-align:center; font-size:10px; padding:3px 2px 1px 2px; width:126px; } /* MOSHTIX */ #page #content .moshtix-on-tour-highlights {width: 316px;} #content .moshtix-on-tour-highlights .module-header {background: url(../images/skin/entertainment/moshtix/moshtix_header.gif) no-repeat; height: 82px; border: none; padding: 0; margin: 0;} #content .moshtix-on-tour-highlights .module-header h3 {background: none; text-indent: -9999em; border: none;} #content .moshtix-on-tour-highlights .module-header p {text-indent: -9999em;} #content .moshtix-on-tour-highlights .module-header a {display: block; background: none; width: 316px; height: 82px;} #content .moshtix-on-tour-highlights .module-content {background: url(../images/skin/entertainment/moshtix/moshtix_content_bg.gif) repeat-y; padding: 5px 10px; color: #4e4e4e;} #content .moshtix-on-tour-highlights .module-content h4 {font-family: Verdana; font-weight: normal; font-size: 14px;} #content .moshtix-on-tour-highlights .module-content h4 a {color: #f47e30;} #content .moshtix-on-tour-highlights .module-content img {border: 1px solid #565151; padding: 0;} #content .moshtix-on-tour-highlights .module-content .event-date, #content .moshtix-on-tour-highlights .module-content .event-location {font-weight: bold;} #content .moshtix-on-tour-highlights .module-related li {background: url(../images/skin/entertainment/moshtix/moshtix_arrow.gif) no-repeat 2px 4px transparent; padding: 0 0 5px 12px;} #content .moshtix-on-tour-highlights .module-related a {color: #4e4e4e;} #content .moshtix-on-tour-highlights .module-related a strong {color: #f47e30;} #content .moshtix-on-tour-highlights .module-footer {background: url(../images/skin/entertainment/moshtix/moshtix_footer.gif) no-repeat; height: 118px; padding: 0; margin: 0; border: none; text-indent: -9999em;} #content .moshtix-on-tour-highlights .module-footer a {display: none;} /* Film Strip *************************************************/ body.filmstrip-gallery .item-count-2 .group-content { background-color:transparent; } /* background:transparent url("../images/base/col-bg.gif") no-repeat scroll 325px 100%; */ /* =IE7 */ body.filmstrip-gallery .filmstrip-gallery-image { background: url(../images/skin/confidential/filmstrip/showbuzz_image_bg.jpg) no-repeat 0 0; float:left; overflow:hidden;} body.filmstrip-gallery .filmstrip-gallery-image .image-frame { background:none; padding:8px 7px 0 8px; height: 237px; width: 316px; overflow:hidden;} body.filmstrip-gallery .filmstrip-gallery-image .image-frame a.image-link {display:block; overflow:hidden; width: 316px; } body.filmstrip-gallery .filmstrip-gallery-image .image-caption { padding:0 14px 0; height:255px; background: url(../images/skin/confidential/filmstrip/showbuzz_caption_bg.jpg) no-repeat right top; width:291px;} body.filmstrip-gallery .filmstrip-gallery-image .image-caption .heading { margin:0 0 7px 0;} body.filmstrip-gallery .filmstrip-gallery-image .image-caption .caption { background:none; padding:0; margin:0 0 5px 0;} body.filmstrip-gallery .filmstrip-gallery-image .image-caption .caption p {margin:0 0 7px 0;} body.filmstrip-gallery .filmstrip-gallery-image .module-content .filmstrip ul { padding: 8px; overflow:hidden;} body.filmstrip-gallery .filmstrip-gallery-image .module-content .filmstrip ul li a {display:block;} body.filmstrip-gallery .filmstrip-gallery-image .module-content .filmstrip ul li, body.filmstrip-gallery .filmstrip-gallery-image .module-content .filmstrip ul li.lirpos-1 { display:inline; margin:0 5px 0 0; } /* =IE7/IE6 */ body.filmstrip-gallery .filmstrip-gallery-image .module-content .filmstrip ul li .filmstrip-link { position: relative; font-size:11px;} /* background: url(../images/skin/confidential/filmstrip/filmstrip_over1_bg.gif) no-repeat 0 0; */ body.filmstrip-gallery .filmstrip-gallery-image .module-content .filmstrip ul li .filmstrip-link a { color:#000; text-decoration: none; display:block; padding:5px; text-align:center;} body.filmstrip-gallery .filmstrip-gallery-image .module-content .filmstrip ul li .filmstrip-link a:hover { background: url(../images/skin/confidential/filmstrip/filmstrip_over_bg.gif) no-repeat 0 0; color: #FFF; } /* Not possible in IE6 without js solution */ body.filmstrip-gallery .filmstrip-gallery-image .module-content .filmstrip ul li:hover .filmstrip-link a {background: url(../images/skin/confidential/filmstrip/filmstrip_over_bg.gif) no-repeat 0 0; color: #FFF; } /* Film Strip - Controls */ body.filmstrip-gallery .filmstrip-gallery-image .module-content .gallery-controls { float:right; width:283px; margin:-19px 0 0 0;} body.filmstrip-gallery .filmstrip-gallery-image .module-content .gallery-controls .controls {float:right;} body.filmstrip-gallery .filmstrip-gallery-image .module-content .gallery-controls .controls #control-buttons li { float:left; margin:} body.filmstrip-gallery .filmstrip-gallery-image .module-content .gallery-controls .controls #control-buttons li a {display:block; height:19px; outline:none; text-indent:-9999px; width:52px; } body.filmstrip-gallery .filmstrip-gallery-image .module-content .gallery-controls .controls #control-buttons li#back a, body.filmstrip-gallery .filmstrip-gallery-image .module-content .gallery-controls .controls #control-buttons li#next a { display:block; padding-right:6px;} body.filmstrip-gallery .filmstrip-gallery-image .module-content .gallery-controls .controls #control-buttons li#back a { background: url("../images/skin/confidential/filmstrip/showbuzz_back_btn.jpg") no-repeat 0 0;} body.filmstrip-gallery .filmstrip-gallery-image .module-content .gallery-controls .controls #control-buttons li#next a { background: url("../images/skin/confidential/filmstrip/showbuzz_next_btn.jpg") no-repeat 0 0;} body.filmstrip-gallery .filmstrip-gallery-image .module-content .gallery-controls .controls #control-buttons li#next span.disabled, body.filmstrip-gallery .filmstrip-gallery-image .module-content .gallery-controls .controls #control-buttons li#back span.disabled { display:none; } /* Film Strip - BG */ body.filmstrip-gallery .filmstrip-gallery-image .filmstrip { width:650px; height:215px; left:0; background: url(../images/skin/confidential/filmstrip/showbuzz_filmstrip_bg.jpg) no-repeat right top; } /* classifieds *************************************************/ body.advertise-placemyad { margin:0 0 20px 0; } body.advertise-placemyad .module.place-ads { overflow:hidden; background:none transparent; } body.advertise-placemyad .module.place-ads .module-content { margin:0; padding:0; } body.advertise-placemyad .module.place-ads .content-item { height:300px; width:152px; padding:0 4px 10px 4px; display:block; float:left; border-right:1px #dcdcdc solid; border-bottom:1px #dcdcdc solid; margin:0; } body.advertise-placemyad .module.place-ads .content-item.cipos-4, body.advertise-placemyad .module.place-ads .content-item.cipos-8 { border-right:0; } body.advertise-placemyad .module.place-ads .content-item .promo-block { border:none; background:none transparent; } body.advertise-placemyad .module.place-ads .content-item .promo-block .promo-heading { padding:0; background:none transparent; height:37px; } body.advertise-placemyad .module.place-ads .content-item .promo-block .promo-heading .heading { margin:0 0 10px 0; } body.advertise-placemyad .module.place-ads .content-item .promo-block .promo-heading .heading, body.advertise-placemyad .module.place-ads .content-item .promo-block .promo-heading .heading a { font-size:18px; color:#000; height:37px; line-height:37px; } body.advertise-placemyad .module.place-ads .content-item .promo-block.careerone .promo-heading .heading a { display:block; width:149px; height:37px; background:url('../images/skin/classifieds/careerone-hd.jpg') no-repeat; text-indent:-9000px; } body.advertise-placemyad .module.place-ads .content-item .promo-block.carsguide .promo-heading .heading a { display:block; width:149px; height:37px; background:url('../images/skin/classifieds/carsguide-hd.jpg') no-repeat; text-indent:-9000px; } body.advertise-placemyad .module.place-ads .content-item .promo-block.truelocal .promo-heading .heading a { display:block; width:149px; height:37px; background:url('../images/skin/classifieds/truelocal-hd.jpg') no-repeat; text-indent:-9000px; } body.advertise-placemyad .module.place-ads .content-item.cipos-5 .promo-block .promo-heading, body.advertise-placemyad .module.place-ads .content-item.cipos-6 .promo-block .promo-heading, body.advertise-placemyad .module.place-ads .content-item.cipos-7 .promo-block .promo-heading, body.advertise-placemyad .module.place-ads .content-item.cipos-8 .promo-block .promo-heading {height:auto;} body.advertise-placemyad .module.place-ads .content-item.cipos-5 .promo-block .promo-heading .heading, body.advertise-placemyad .module.place-ads .content-item.cipos-6 .promo-block .promo-heading .heading, body.advertise-placemyad .module.place-ads .content-item.cipos-7 .promo-block .promo-heading .heading, body.advertise-placemyad .module.place-ads .content-item.cipos-8 .promo-block .promo-heading .heading, body.advertise-placemyad .module.place-ads .content-item.cipos-5 .promo-block .promo-heading .heading a, body.advertise-placemyad .module.place-ads .content-item.cipos-6 .promo-block .promo-heading .heading a, body.advertise-placemyad .module.place-ads .content-item.cipos-7 .promo-block .promo-heading .heading a, body.advertise-placemyad .module.place-ads .content-item.cipos-8 .promo-block .promo-heading .heading a {height:44px; line-height:24px;} body.advertise-placemyad .module.place-ads .content-item .promo-block .promo-image { margin:0 0 10px 0; padding:0; border:0; } body.advertise-placemyad .module.place-ads .content-item .promo-block .promo-text { width:152px; margin:0 0 5px 0; padding:0; } body.advertise-placemyad .module.place-ads .content-item .promo-block .promo-links { width:152px; } body.advertise-placemyad .group.placemyad-contact-numbers { background:#f2f2f2; border:1px solid #ccc; overflow:hidden; } body.advertise-placemyad .group.placemyad-contact-numbers .item .module .static-body dt {font-weight: bold; margin-top: 10px;} body.advertise-placemyad .group.placemyad-contact-numbers .item .module .static-body dd {background: url("../images/base/link-icon-sprite.gif") no-repeat scroll 0 4px transparent; margin-left: 0; padding-left: 15px;} body.advertise-placemyad .group.placemyad-contact-numbers .item.ipos-1 .module { width:130px; float:left; padding:100px 0 12px 8px; background:url('../images/skin/classifieds/bg-contact.jpg') no-repeat; } body.advertise-placemyad .group.placemyad-contact-numbers .item.ipos-1 .module h2 { margin:0 0 10px 0; } body.advertise-placemyad .group.placemyad-contact-numbers .item.ipos-2 .module { width:230px; float:left; padding:15px 5px 0 5px; border-left:1px solid #d8d8d8; border-right:1px solid #d8d8d8; } body.advertise-placemyad .group.placemyad-contact-numbers .item.ipos-3 .module { width:230px; float:left; padding:15px 5px 0 5px; } /* Classifieds V2 *************************************/ body.advertise-placemyad #content-2 .group.grp-place-my-ad-v2 {margin-bottom:20px;} body.advertise-placemyad #content-2 .group.grp-place-my-ad-v2 .group-footer {display:block; float:left; margin-top:40px; width:100%;} body.advertise-placemyad #content-2 .module.new-place-ads {margin-bottom:13px; background: none; float: none; height: auto; padding: 0; position: static;} body.advertise-placemyad #content-2 .module.new-place-ads .module-content {overflow:hidden; background: none; margin: 0; padding: 0;} body.advertise-placemyad #content-2 .module.new-place-ads .content-item {display:block;float:left;height:141px;margin:0 2px 3px 0;position:relative;width:160px;} body.advertise-placemyad #content-2 .module.new-place-ads .promo-block .promo-heading {background:none;padding:0; text-align:center;} body.advertise-placemyad #content-2 .module.new-place-ads .promo-block .promo-heading a {color:#000;text-decoration:none; text-transform:uppercase;} body.advertise-placemyad #content-2 .module.new-place-ads .promo-block .promo-text{text-indent:-9999em;} body.advertise-placemyad #content-2 .module.new-place-ads .related{height:141px;left:0;list-style-type:none;margin:0;padding:0;position:absolute;top:0;width:160px;} body.advertise-placemyad #content-2 .module.new-place-ads .related li, body.advertise-placemyad #content-2 .module.new-place-ads .related li a{background:none;display:block;height:100%;margin:0 auto;overflow:hidden;padding:0;text-indent:-999em;width:100%;z-index:49;} body.advertise-placemyad #content-2 .module.new-place-ads .cipos-1 ul.related li a {background:url("../images/skin/classifieds/v2/button1.png") 0 0 no-repeat;} body.advertise-placemyad #content-2 .module.new-place-ads .cipos-2 ul.related li a {background:url("../images/skin/classifieds/v2/button2.png") 0 0 no-repeat;} body.advertise-placemyad #content-2 .module.new-place-ads .cipos-3 ul.related li a {background:url("../images/skin/classifieds/v2/button3.png") 0 0 no-repeat;} body.advertise-placemyad #content-2 .module.new-place-ads .cipos-4 ul.related li a {background:url("../images/skin/classifieds/v2/button4.png") 0 0 no-repeat;} body.advertise-placemyad #content-2 .module.new-place-ads .cipos-5 ul.related li a {background:url("../images/skin/classifieds/v2/button5.png") 0 0 no-repeat;} body.advertise-placemyad #content-2 .module.new-place-ads .cipos-6 ul.related li a {background:url("../images/skin/classifieds/v2/button6.png") 0 0 no-repeat;} body.advertise-placemyad #content-2 .module.new-place-ads .cipos-7 ul.related li a {background:url("../images/skin/classifieds/v2/button7.png") 0 0 no-repeat;} body.advertise-placemyad #content-2 .module.new-place-ads .cipos-8 ul.related li a {background:url("../images/skin/classifieds/v2/button8.png") 0 0 no-repeat;} body.advertise-placemyad #content-2 .module.new-place-ads .content-item .related li a:hover {background-position:0 100%;} body.advertise-placemyad #content-2 .module.new-place-ads .cipos-8 {margin-right:-3px;} /* More options */ body.advertise-placemyad #content-2 .module.promo-class-place-ads-more-options {background:#fcf4ee;border:1px solid #aba8a8;clear:both;width:644px; -moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;} body.advertise-placemyad #content-2 .module.promo-class-place-ads-more-options .promo-block {margin-bottom: 0;} body.advertise-placemyad #content-2 .module.promo-class-place-ads-more-options .promo-block .promo-heading {background:url(../images/skin/classifieds/v2/excl.gif) no-repeat 12px 50%;color:#3c3c3c;font-size:14px;font-weight:700;padding:20px 42px 15px;} body.advertise-placemyad #content-2 .module.promo-class-place-ads-more-options .promo-block .promo-heading .heading {color:#000; font-size:14px; line-height:15px;} body.advertise-placemyad #content-2 .module.promo-class-place-ads-more-options .promo-block .promo-text {background:#f0e8e2;border-top:1px solid #aba8a8;color:#4d4b49;font-size:12px;padding:15px 12px;} body.advertise-placemyad #content-2 .module.promo-class-place-ads-more-options .promo-block .promo-text a, body.advertise-placemyad #content-2 .module.promo-class-place-ads-more-options .promo-text a:visited{border-bottom:1px dotted #000;color:#4d4b49;text-decoration:none;} body.advertise-placemyad #content-2 .module.promo-class-place-ads-more-options .promo-block .promo-text a:hover{border-bottom:1px dotted grey;color:#000;text-decoration:none;} /* Partners */ body.advertise-placemyad #content-2 .group.grp-place-my-ad-v2 .group-footer {border:none; font-size:14px; font-weight:700; padding-left:8px; background: none; height: auto;} body.advertise-placemyad #content-2 .group.grp-place-my-ad-v2 .group-footer .more-links {margin:8px 0 0 -8px; height:66px;position:static;} body.advertise-placemyad #content-2 .group.grp-place-my-ad-v2 .group-footer .more-links li {display:block;float:left;height:66px;margin-left:0;width:162px; background: none; margin-right: 0; padding: 0;} body.advertise-placemyad #content-2 .group.grp-place-my-ad-v2 .group-footer .more-links li a{background:url("../images/skin/classifieds/v2/bottom_buttons.png") no-repeat;display:block;height:66px;margin:0;overflow:hidden;padding:0;text-indent:-999em;width:162px;} body.advertise-placemyad #content-2 .group.grp-place-my-ad-v2 .group-footer .more-links li.careerone a{background-position:-163px 0;} body.advertise-placemyad #content-2 .group.grp-place-my-ad-v2 .group-footer .more-links li.truelocal a{background-position:-326px 0;} body.advertise-placemyad #content-2 .group.grp-place-my-ad-v2 .group-footer .more-links li.realestate, body.advertise-placemyad #content-2 .group.grp-place-my-ad-v2 .group-footer .more-links li.realestate a{background-position:-488px 0;width:163px;} body.advertise-placemyad #content-2 .group.grp-place-my-ad-v2 .group-footer .more-links li a:hover{background-position:0 100%;} body.advertise-placemyad #content-2 .group.grp-place-my-ad-v2 .group-footer .more-links li.careerone a:hover{background-position:-163px 100%;} body.advertise-placemyad #content-2 .group.grp-place-my-ad-v2 .group-footer .more-links li.truelocal a:hover{background-position:-326px 100%;} body.advertise-placemyad #content-2 .group.grp-place-my-ad-v2 .group-footer .more-links li.realestate a:hover{background-position:-488px 100%;} /* Tool tip */ #content .tooltip {display:none; color:#fff; width:300px; font-size:12px; position:absolute; z-index:10;} #content .tooltip .tooltip-content {border:1px solid #121212; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; padding:10px; background:#000;} #content .tooltip .tooltip-content strong {font-weight:700;} #content .tooltip .tooltip-footer {background:url(../images/skin/classifieds/v2/tip_arrow_center.gif) center -7px no-repeat; height:8px;} #content .tooltip-left .tooltip-footer {background-position: 20% -7px} #content .tooltip-right .tooltip-footer {background-position: 80% -7px} /* hot or not ------------------------------------------------------------------------------------ */ /* standard module stuff -------------------------------------------- */ #page .module.js-interactive-hotornot { width: 650px; color: #FFF; background:none;} #page .module.js-interactive-hotornot .module-content { padding: 0px; position: relative; background: #313131; overflow: hidden; height: 488px;} .module.js-interactive-hotornot .module-content .poll-block .poll-header { height: 40px; /*background: url("../images/skin/hotornot/hotornot-sprite-default.png") repeat scroll 0 -1297px transparent; _background-image: url("../images/skin/hotornot/hotornot-sprite-default.gif");*/ margin: 0 10px 10px 10px; border-bottom: 1px solid #FFF;} .module.js-interactive-hotornot .module-content .poll-block .poll-header .more-links { float: right; padding: 0 10px 0 0; } .module.js-interactive-hotornot .module-content .poll-block .poll-header .more-links li { font-family: 'arial narrow', arial, sans-serif; font-size: 12px; padding: 0; background: url("../images/skin/hotornot/hotornot-sprite-default.png") repeat scroll -494px -55px transparent; _background-image: url("../images/skin/hotornot/hotornot-sprite-default.gif"); } .module.js-interactive-hotornot .module-content .poll-block .poll-header .more-links li.restart-poll { } .module.js-interactive-hotornot .module-content .poll-block .poll-header .heading { display: block; font-family: 'arial narrow',arial,sans-serif; font-size: 21px; float: left; padding: 8px 0 0 10px; font-weight: normal; color: #fff; text-transform: uppercase; } /* Poll Description */ #page .module.js-interactive-hotornot .module-content .image-poll .poll-description p { padding: 80px 170px 0; font-size: 30px; text-transform: uppercase; color: #FFF; font-family: Arial,Helvetica,sans-serif; line-height: normal;} .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item fieldset.form-radio-group legend span.legend-text { background: url('../images/skin/hotornot/pre-sprite/instruction.gif') no-repeat right top; display: block;width: 230px; color: #fff; padding: 0 85px 0 0; min-height: 55px; position: absolute; top: -245px; left: 170px; display: block; } /* form ------------------------------------------------------------- */ #page .module.js-interactive-hotornot .module-content .image-poll .form-poll { background: none; position: relative; margin: 0; height: 428px; overflow:visible;} .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item fieldset.form-radio-group { /*width: 0;*/ padding: 0px; margin: 0; position: static; } /* items with the images in ---------------------------------------- */ .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item fieldset.form-radio-group .form-radio-item label .label-text { cursor: pointer; width: 296px; max-width: none; padding: 6px 10px; position: absolute; left: 0; bottom: 32px; color: #FFF; font-size: 10px; font-family: Trebuchet MS,Trebuchet,Helvetica,sans-serif; background: url("../images/skin/hotornot/hotornot-sprite-default.png") repeat scroll 0 -280px transparent; _background: url("../images/skin/hotornot/hotornot-sprite-default.gif") repeat scroll 0 -280px transparent; border-bottom: 1px solid #FFF; /*border-top: #FFF solid 1px;*/ overflow: hidden; margin:0;} #page .module.poll-module.js-interactive-hotornot .module-content .poll-description { padding: 0; } /* js enhancements ---------------------------------------- */ .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item { width: 650px; /*height: 0;*/ } /* Progress ---------------------------------------- */ .module.js-interactive-hotornot .module-content .form-poll .progress-container { font-weight: 300; display: none; color: #fff; height: 70px; padding: 40px 0 0 0; text-align:center; position: absolute; bottom: 0; left: 50%; margin-left: -40px; width: 80px; background: url('../images/skin/hotornot/hotornot-sprite-default.png') -12px 0; _background: url('../images/skin/hotornot/hotornot-sprite-default.gif') -12px 0; z-index: 10; } /* Form Item Submit ---------------------------------------- */ .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item-submit { float: left; background: #000 url("../images/skin/hotornot/hotornot-sprite-default.png") repeat scroll -325px -779px; _background-image: url("../images/skin/hotornot/hotornot-sprite-default.gif"); position: absolute; top: 0; height: 421px; width: 325px; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item-submit .button a { -webkit-transition: background-position 0.1s; background: #474744 url("../images/skin/hotornot/hotornot-sprite-default.png") repeat scroll 0 -179px; _background-image: url("../images/skin/hotornot/hotornot-sprite-default.gif"); padding: 4px 0; color: #fff; display: block; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; cursor: pointer; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item-submit .message h3 { font-weight: 700; color: #FFF; font-size: 12px; text-transform: uppercase; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item-submit .message p strong { font-family: 'arial narrow', arial, sans-serif; font-size: 20px; text-transform: uppercase; font-weight: 300; } .module.js-interactive-hotornot.js-loading .load-state { display: block; height: 421px; width: 325px; position: absolute; top: 0; left: 0; /*background: #000 url(../images/skin/hotornot/hotornot-loading.gif) 50% 50% no-repeat; */ text-indent: -9999px; } /* Results ---------------------------------------- */ .module.js-interactive-hotornot.image-poll-results-module .poll-block { padding: 0; } .module.js-interactive-hotornot.image-poll-results-module .poll-block.image-poll-results { height: 428px; margin: 0; background: none;} .module.js-interactive-hotornot.image-poll-results-module .poll-block .total-votes { font-family: 'arial narrow', arial, sans-serif; font-size: 15px;line-height: 1em; font-weight: 300; text-transform: uppercase; position: absolute; left: 340px; bottom: 15px; width: 110px; height: 38px; padding: 0; margin: 0; background: none;} .module.js-interactive-hotornot.image-poll-results-module .poll-block .total-votes .number {color: #FFF; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .total-votes .votes {color: #FFF; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results li .poll-meta { white-space:normal; display: none; background: url("../images/skin/hotornot/hotornot-sprite-default.png") repeat scroll 0 -280px transparent; _background-image: url("../images/skin/hotornot/hotornot-sprite-default.png"); border:1px solid #444444; color:#FFFFFF; position:absolute; right: 10px; top:40px; padding: 3px 10px; font-size: 10px; text-transform: uppercase; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results li.poll-winner { width: 325px; height: auto; padding: 0; margin: 0; position: relative; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results li.poll-winner .poll-question-result .poll-question-position { background: url("../images/skin/hotornot/hotornot-sprite-default.png") repeat scroll -35px -145px transparent; _background-image: url("../images/skin/hotornot/hotornot-sprite-default.gif"); padding: 5px 0 0; font-size: 20px; width: 35px; height: 29px; z-index: 1; bottom: 5px; left: 5px; text-align: center; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results li.poll-winner .poll-question-result { font-family: 'arial narrow', arial, sans-serif; font-size: 21px; padding: 12px 0 10px 50px; text-transform: uppercase; display: block; margin: 0; position: absolute; bottom: 0; left: 0; width: 266px; background: url("../images/skin/hotornot/hotornot-sprite-default.png") repeat scroll 0px -290px transparent; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results li.poll-winner .poll-question-result .poll-votecount { font-size: 21px; display: inline; color: #FFF;} .module.js-interactive-hotornot.image-poll-results-module .poll-block .ordered-results .poll-question-result .poll-question-position { font-family: 'arial narrow', arial, sans-serif; font-size: 18px; position: absolute; bottom: 8px; left: 0px; background: url("../images/skin/hotornot/hotornot-sprite-default.png") repeat scroll -236px -44px transparent; _background-image: url("../images/skin/hotornot/hotornot-sprite-default.gif"); color: #fff; display: block; padding: 4px 0 0; width: 34px; height: 29px; font-weight: 300; text-align: center; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .poll-selected-results .poll-vote-position { background: url("../images/skin/hotornot/hotornot-sprite-default.png") repeat scroll -134px -146px transparent; _background-image: url("../images/skin/hotornot/hotornot-sprite-default.gif"); width: 29px; height: 23px; padding: 7px 0 0; text-align: center; display: block; position: absolute; right: 10px; top: 0; color: #fff; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .selected-poll-preview { position: absolute; top: 75px; left: 41px; display: block; width: 525px; background: #313131; /* background: url("../images/skin/hotornot/hotornot-sprite-default.png") repeat scroll 0 -300px transparent; _background-image: url("../images/skin/hotornot/hotornot-sprite-default.gif"); */ border: 1px solid #fff; padding: 20px; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .selected-poll-preview .results .poll-votecount { font-family: 'arial narrow', arial, sans-serif; font-size: 16px; color: #fff; display: block; font-weight: 300; padding: 8px 0 0 0; text-transform: uppercase; text-align:left; position:static; width:auto; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .selected-poll-preview .results .heading { font-family: 'arial narrow', arial, sans-serif; font-size: 18px; font-weight: 300; color: #fff; text-transform: uppercase; display: block; margin-bottom: 15px; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .selected-poll-preview .results .poll-name { font-family: 'arial narrow', arial, sans-serif; font-size: 26px; text-transform: uppercase; font-weight: 300; width: 250px; display: block; color: #fff; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .selected-poll-preview .results .poll-position { font-size: 45px; font-family: 'arial narrow', arial, sans-serif; background: url("../images/skin/hotornot/hotornot-sprite-default.png") repeat scroll -121px -30px transparent; _background-image: url("../images/skin/hotornot/hotornot-sprite-default.gif"); color: #fff; padding: 19px 0 0; width: 61px; height: 56px; font-weight: 300; display: block; float: left; margin-right: 7px; line-height: 25px; text-align: center; } .module.js-interactive-hotornot.image-poll-results-module .poll-block .selected-poll-preview .close-preview a { font-family: 'arial narrow', arial, sans-serif; font-size: 16px; position: absolute; bottom: 15px; right: 15px; display: block; background: #2f2f2f url("../images/skin/hotornot/hotornot-sprite-default.png") repeat scroll -490px -0px; _background-image: url("../images/skin/hotornot/hotornot-sprite-default.gif"); display: block; _display: inline; padding: 4px 4px 4px 20px; overflow: hidden; color: #fff; text-align: center; text-transform: uppercase; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; cursor: pointer; margin: 0; float: right; } .module.js-interactive-hotornot .module-content .image-poll .form-poll .form-item fieldset.form-radio-group .form-radio-item .selected { text-transform: uppercase; padding: 5px; font-size: 16px; top: 150px; left: 100px; position: absolute; background: url('../images/skin/hotornot/hotornot-sprite-default.png') 0 -280px; _background: url('../images/skin/hotornot/hotornot-sprite-default.gif') 0 -280px; color: #fff; border-radius: 4px; -moz-border-radius: 4px; -webkit-border-radius: 4px; display: none; font-weight: 700; } /* Closed Poll */ .module.js-interactive-hotornot.image-poll-results-module .poll-block .poll-closed {margin:0;} .module.js-interactive-hotornot.image-poll-results-module .image-poll-results ul {padding:0;} /* Group ads */ .group.group-ad .ad, .group.group-ad .flash-embed, .group.group-ad .module.iframe { padding-top: 12px; background: url('../images/skin/home-strap-advertisement.png') 0 0 no-repeat; } .group.group-ad { margin-top: 5px; } ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=skin-thirdparty-and-sales.css Content-Type: text/css; name=skin-thirdparty-and-sales.css Content-Location: http://resources.news.com.au/cs/perthnow/css/skin-thirdparty-and-sales.css Content-Transfer-Encoding: 8bit /* ---------------------------------------------------------------------- */ /* Google Ads */ /* ---------------------------------------------------------------------- */ #google-ads {border-bottom:1px solid #dadada; font-size:12px; line-height:1.2em; margin-bottom:10px; color:#000; overflow:hidden;} #google-ads .google-ad-header {background: #3a3a3a; border:none; padding:0 } #google-ads .google-ad-header .heading {background:transparent url("../images/third-party/google/ads-by-google.png") no-repeat; height:22px; overflow:hidden; text-indent:-9999px; width:105px} * html #google-ads .google-ad-header .heading {background-image:none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://resources.news.com.au/cs/perthnow/images/third-party/google/ads-by-google.png')} #google-ads .google-ad-content {padding:7px; background: #f5f4f4;} #google-ads .google-ad-content .heading {font-size:12px; font-weight:bold;} #google-ads .google-ad-content li {padding-bottom:10px;} #google-ads .google-ad-content li h5 {font-size: 12px; font-weight:bold;} #google-ads .google-ad-content p {color:#000;} #google-ads .google-ad-content p.link-url {color:#666; font-size:11px; background:url("../images/base/link-icon-sprite.gif") no-repeat scroll 0 4px transparent; padding-left:12px; margin-top:3px;} #google-ads .google-ad-content h5 {font-size:10px; font-weight: normal;} #google-ads .google-ad-content a:link, #google-ads .google-ad-content a:visited {text-decoration:none} #google-ads .google-ad-content a:hover {text-decoration:none} #google-ads .google-ad-content a:hover .header {text-decoration:underline} #google-ads .google-ad-content ul.txt-small-square {} #google-ads .google-ad-content ul.txt-small-square li {text-align:left;} #google-ads .google-ad-content ul.txt-small-square li a {font-size:115%;} #google-ads .google-ad-content ul.txt-leaderboard {border:1px solid #dadada; text-align:center; width:100%;} #google-ads .google-ad-content ul.txt-leaderboard li {margin:auto; padding:30px 5px; text-align:center; width:618px;} #google-ads .google-ad-content ul.txt-leaderboard li a {font-size:115%;} /* advertisement text ---------------------------------------------------------------------- */ #content .ad-island, #content .ad-halfpage { background: transparent url("../images/base/ads/advertisment-bg.gif") 303px 1px no-repeat; width: 316px; max-width: 316px; } ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=ads-by-google.png Content-Type: image/png; name=ads-by-google.png Content-Location: http://resources.news.com.au/cs/perthnow/images/third-party/google/ads-by-google.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAGkAAAAWCAYAAADD9rIuAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3RJREFUeNrsWdFx2zAMtXP9rzaoMkGZ CapO4HiCqBNEmcDuBEonUDKB7QmsTGB3AmkDeQOVuj66rygp0YpaOz3hDieGBEES AB9AZ1rX9WSky6ar0QSjk0YandRJoeYIHJ5h/VvNheYmp+w0B6OTflEM46w0zzTf wUiV5qyvsXrQWvMz2hvNhz5K3v2HDsoQwXPNOfU/aE7hwA0M+C9p3zEuK7gp+qZ/ w0lNlCpEzd5zjsK8fd9oAy3hhM/CQRPo3ZzJQROPcx2dgm/dF+4UKVAtMltErS+l mKNeaYh7ODpvgZ+1BRp3Ag5DEXRL7K8ALwVkNu0EMsyJI4gzrFcDkpXDab2cdOdo c5IOWhK48gyEPs4ya+cnQuM9oPEGX+M046jG2B8xdq35q+YF+s3ZCrS/YA8RctGj xUFm3g30RegLyDG/f5vH7AlcaN7VP6mg/rj+k7YYS0X/yqJ3i7EdyaU0N4WcGb+1 6IiEbBcb+Vj0mzUzzQnayrHfGOepaSwU9lni74j0BWS3CjpC116vToS6EBGyRlsR XJnk/CDmJICgKSLnpaMamqOdIH+YUpZz3brjRvnevIZK0f9M4zNH0jcyMwtylJC3 lfyf6GzmtpobXA5Rgt+RITfUF1HSfxQHOpCzCsBEGxy9QH8uqqIQcyctDtqLYJIB tqJc0bTf05hNT9Di+JJkDmR4hrWnjkrvBrmtHPKddItvASznPlf1UqLSWmPjMQx0 Cj0LI3xrqZ6eKNdIo8yRTyLs6zvdBhvlZECXzAbIUQJNTAF0EIjCQWgKHH/yxG9F eWYBLghra8oVC5JVwN0AXAODXTkporUqgfEyD9o4xDyT+wJHHlpijM9gZDgPGX2V yEsZ+gKhe2fRxzkpoP1lND+w5L0j+zoptSy+sCT4mgy+JYPXZPi4xUkVycaW8YXH XkOhL4OhlujnPSiSTSFbiHMq9FWQ2dLZ5LorWleJvRcIAEXBYYqlrSWgjjwd8F8V JqmXjsftxPOxauCIcb9C+9oHw0XZHwr4Kh2yYccD3Dy4pY6E3mcNhH4ArB+Qd0qP wqUcAu7OyQlF3KXtLXaU8THB6qvXeQs/sOYoPuYXuLeZo+J8wk06DLHIW3DSXlRa l0Qv9E4MxE9Nk44y3Jum47/PX00pPQ9y5LY9leajky6IQnrUD0qjk94A/RBgADHF JKYpCuc+AAAAAElFTkSuQmCC ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=advertisment-bg.gif Content-Type: image/gif; name=advertisment-bg.gif Content-Location: http://resources.news.com.au/cs/perthnow/images/base/ads/advertisment-bg.gif Content-Transfer-Encoding: Base64 R0lGODlhBwBCAIABAGZmZv///yH5BAEAAAEALAAAAAAHAEIAAAJMRI4Bm6p2oHPs Sdnyughyu2HZZHXjdo5dRU3GGz1qFGpz4oVorOokzmt5WjxRYyeMwShGXO1oAxmn NNbtyIINl6/mzQcNP68uXfZQAAA7 ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=skin.css Content-Type: text/css; name=skin.css Content-Location: http://resources.news.com.au/cs/perthnow/css/skin.css Content-Transfer-Encoding: 8bit @import url("skin-style.css"); @import url("skin-thirdparty-and-sales.css"); ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=print.css Content-Type: text/css; name=print.css Content-Location: http://resources.news.com.au/cs/perthnow/css/print.css Content-Transfer-Encoding: 8bit /* Perth Now - Print CSS */ #skip-links, #network-bar, #header-ads, #nav, #info-bar, #comments, #content-1, #content-3, #content-4, #content-5, #footer-ads, #footer .footer-nav, #footer .footer-legals ul, .story-header-tools, .story-body .article-media .video, .story-footer-tools, .story-sidebar, .story-footer-top-link, .story-extras, .story-related, .story-comments-link, .tab-set, .comments-group .assistive {display:none;} body {text-align:left; font-family:Arial, Helvetica, sans-serif; font-size: 11pt; line-height:1.3; background:#fff; color:#000; margin:0; padding:0;} img {border: 0;} h1, h2, h3, h4, h5, h6 {font-family: "Times New Roman", Times, serif; margin-bottom: 0;} #header { border-bottom: 0.2em solid #333; } #footer { border-top: 0.1em solid #333; } #footer .footer-tools {display:none;} h1 { font-size: 16pt; } h2 { font-size: 14pt; } h3 { font-size: 12pt; } h4 { font-size: 12pt; font-weight: normal; } h5 { font-size: 12pt; font-weight: normal; font-style: italic; } h6 { font-size: 10pt; font-weight: normal; font-style: italic; } a:link, a:visited {color: #000; text-decoration:none; font-weight:700;} .story-body a:link, .story-body a:visited {border-bottom:1px dotted #ccc;} .story-body a:link:after, .story-body a:visited:after {content: " (" attr(href) ") "; font-weight:300; color:#777; font-size:10pt; padding-left:7px; font-style:italic; text-decoration:none;} #header-logo {font-size:35pt; font-family:"Times New Roman", serif ;} .story-info {font-size:8pt; font-weight:300;} .story-info em, .story-info cite {font-style:normal;} .story-info .byline {font-weight:700;} .story-headline .heading {font-size:20pt;} .article-media .tab-content {display: block;margin:1em 0;} .caption .image-source {display:block;} p.copyright {font-size:8pt; display: block; } #content p { margin: 0 0 0.75em 0; } ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=vcms-facade-fatwire-min.css Content-Type: text/css; name=vcms-facade-fatwire-min.css Content-Location: http://w.news-static.com/latest/v/vcms-facade-fatwire-min.css Content-Transfer-Encoding: 8bit .vcms-player-wide .module-content{min-height:366px;background:#333!important;}.vcms .module-content p{display:none;}.vcms-ready .module-content p{display:block;}.vcms .module-content a.thumb-link{display:none;}.vcms-ready .module-content a.thumb-link{display:block;}.vcms.html5VideoDisabled{background:url("images/flashrequired.png") center center no-repeat;visibility:visible!important;}.vcms.html5VideoDisabled.vcms-wide{height:364px;}.vcms.html5VideoDisabled.vcms-narrow{height:370px;}.vcms.html5VideoDisabled.multimedia-promo-narrow{height:654px;}.vcms.html5VideoDisabled.multimedia-promo-wide{height:386px;}.vcms.html5VideoDisabled .module-content{display:none;}.has-js .vcms *{visibility:hidden;}.has-js .module-navigation-ready,.has-js .module-video-listing-ready{visibility:visible;}.story-body .vcmsversion-2{width:316px;margin:auto;}.story-body .vcms-narrow{width:316px;min-height:250px;float:right;margin-left:15px;background:url("css/images/spinner.gif") center center no-repeat #fff!important;}.story-body .vcms-narrow .module-header{display:none;}.story-body #video-pdkHolder{margin:auto;}body.story #story,body.story #story .article-media-large,#content-3{overflow:visible!important;}.group .group-content{overflow:visible;}#page #content-3 .group.vcms-group{overflow:visible;}#story .vcms-player-narrow,#story .embedded-video{float:right;clear:right;width:316px;margin:0;}#story .embedded-video .vcms-player-narrow{float:none;clear:none;margin:0;}#story .embedded-video{margin-left:15px;}.has-js #story .js-tabbed .js-active-content{position:static;}#page #content-3 .vcms .end-card p.replay{padding:4px 0 15px 29px;}#page #content-3 .vcms .end-card p.share-btn{padding:5px 0 0 32px;}#page .module-video-listing .video-listing .listing .pagination.bottom{margin:7px 7px 0 7px;} ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=vcms-facade-fatwire-min.js Content-Type: application/x-javascript; name=vcms-facade-fatwire-min.js Content-Location: http://w.news-static.com/latest/v/vcms-facade-fatwire-min.js Content-Transfer-Encoding: Base64 KGZ1bmN0aW9uKGMpe3ZhciBhPS92Y21zLVswLTldKy8uZXhlYyhkb2N1bWVudC5s b2NhdGlvbi5oYXNoLnJlcGxhY2UoLyMvLCIiKSl8fCJ2Y21zLTAwMzAwIixiPTI7 aWYodHlwZW9mIHdpbmRvdy52Y21zZmFjYWRlPT09InVuZGVmaW5lZCIpe3dpbmRv dy52Y21zZmFjYWRlPXt9fWMuZm4udmNtc2ZhY2FkZT1mdW5jdGlvbihkKXt2YXIg ZixlPWMuZXh0ZW5kKGMuZm4udmNtc2ZhY2FkZS5kZWZhdWx0cyxkfHx7fSk7Zj1m dW5jdGlvbigpe307YygiaGVhZCIpLmFwcGVuZCgnPGxpbmsgcmVsPSJzdHlsZXNo ZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iJytlLmxvY2F0aW9uKydjc3MvdmNt cy1taW4uY3NzIiAvPicpO2MuZ2V0U2NyaXB0KGUubG9jYXRpb24rImpzL3ZjbXMt bWluLmpzIixmKTtyZXR1cm4gdGhpc307Yy5mbi52Y21zZmFjYWRlLmRlZmF1bHRz PWMuZXh0ZW5kKHt0YWc6YSxsb2NhdGlvbjoiaHR0cDovL3cubmV3cy1zdGF0aWMu Y29tL3YvIithKyIvIixmYXR3aXJldmVyc2lvbjpwYXJzZUludCgoZG9jdW1lbnQu bG9jYXRpb24uaGFzaC5yZXBsYWNlKC8jLywiIikpLnJlcGxhY2UoL3ZjbXN2ZXJz aW9uLS8sIiIpLDEwKXx8YixjYWxsYmFjazpmdW5jdGlvbigpe319LHdpbmRvdy52 Y21zZmFjYWRlLm92ZXJyaWRlc3x8e30pfShqUXVlcnkpKTtuZG09d2luZG93Lm5k bXx8e307bmRtLnZjbXM9bmRtLnZjbXN8fHt9O25kbS52Y21zLnRyYWt0ckNvbnRy b2xsZXI9bmRtLnZjbXMudHJha3RyQ29udHJvbGxlcnx8e2xhc3RFdmVudDoiIixm bGFzaFVuYm91bmRFdmVudExpc3Q6W10saHRtbDVVbmJvdW5kRXZlbnRMaXN0Oltd LGV2ZW50TWFwOntPbk1lZGlhU3RhcnQ6ImxvYWRlZGRhdGEiLE9uTWVkaWFQbGF5 aW5nOiJ0aW1ldXBkYXRlIixPbk1lZGlhRW5kOiJlbmRlZCIsT25SZWxlYXNlRW5k OiJlbmRlZCIsT25NZWRpYVVucGF1c2U6InBsYXkiLE9uTWVkaWFQYXVzZToicGF1 c2UiLE9uU2V0Vm9sdW1lOiJ2b2x1bWVjaGFuZ2UifSxodG1sNU1vZGU6ZnVuY3Rp b24oKXt2YXIgZT1bImlwYWQiLCJpcG9kIiwiaXBob25lIl0sYT0hISgvZm9yY2Vo dG1sNW1vZGUvLmV4ZWMoZG9jdW1lbnQubG9jYXRpb24uaGFzaC5yZXBsYWNlKC8j LywiIikpKSxkPWZhbHNlLGM9bmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2Fz ZSgpLGI7Zm9yKGI9MDtiPGUubGVuZ3RoO2IrPTEpe2lmKGMuaW5kZXhPZihlW2Jd KSE9LTEpe2Q9dHJ1ZTticmVha319cmV0dXJuIGR8fGF9LGFkZEV2ZW50TGlzdGVu ZXI6ZnVuY3Rpb24oYSxiKXt2YXIgYz17bmFtZTphLGZ1bmM6Yn07aWYobmRtLnZj bXMudHJha3RyQ29udHJvbGxlci5odG1sNU1vZGUoKSl7bmRtLnZjbXMudHJha3Ry Q29udHJvbGxlci5odG1sNVVuYm91bmRFdmVudExpc3QucHVzaChjKX1lbHNle25k bS52Y21zLnRyYWt0ckNvbnRyb2xsZXIuZmxhc2hVbmJvdW5kRXZlbnRMaXN0LnB1 c2goYyl9fSxiaW5kVFBFdmVudDpmdW5jdGlvbihjLGEsYil7cmV0dXJuIGZ1bmN0 aW9uKCl7dmFyIGU9IShhPT0idGltZXVwZGF0ZSImJm5kbS52Y21zLnRyYWt0ckNv bnRyb2xsZXIubGFzdEV2ZW50PT0icGF1c2UiKSxkO2lmKGUpe2Q9JC5kYXRhKGMs InRwT2JqIik7YihkKX1uZG0udmNtcy50cmFrdHJDb250cm9sbGVyLmxhc3RFdmVu dD1hfX0sYXR0YWNoSFRNTDVFdmVudHM6ZnVuY3Rpb24oZSl7dmFyIGMsZixkLGI9 bmRtLnZjbXMudHJha3RyQ29udHJvbGxlci5odG1sNVVuYm91bmRFdmVudExpc3Qs YT1uZG0udmNtcy50cmFrdHJDb250cm9sbGVyLmV2ZW50TWFwO2ZvcihkPTA7ZDxi Lmxlbmd0aDtkKz0xKXtjPWJbZF0ubmFtZTtmPWJbZF0uZnVuYztpZihhLmhhc093 blByb3BlcnR5KGMpKXskKGUpLmJpbmQoYVtjXSxuZG0udmNtcy50cmFrdHJDb250 cm9sbGVyLmJpbmRUUEV2ZW50KGUsYVtjXSxmKSl9fX0sYXR0YWNoRmxhc2hFdmVu dHM6ZnVuY3Rpb24oKXt2YXIgYSxiO2ZvcihhPTA7YTxuZG0udmNtcy50cmFrdHJD b250cm9sbGVyLmZsYXNoVW5ib3VuZEV2ZW50TGlzdC5sZW5ndGg7YSs9MSl7Yj1u ZG0udmNtcy50cmFrdHJDb250cm9sbGVyLmZsYXNoVW5ib3VuZEV2ZW50TGlzdFth XTt3aW5kb3cudHBDb250cm9sbGVyLmFkZEV2ZW50TGlzdGVuZXIoYi5uYW1lLGIu ZnVuYyl9fX07KGZ1bmN0aW9uKGIpe3ZhciBhPWIsYz17fTtjLnZlcnNpb24xPWZ1 bmN0aW9uKCl7dGFudG8ubmFtZXNwYWNlKCJuZG0ubWVkaWEubG9hZHZjbXMiKTtu ZG0ubWVkaWEubG9hZHZjbXMuYXJ0aWNsZXBsYXllcj1mdW5jdGlvbihkKXtpZih3 aW5kb3cudHJhayl7dHJhaygidmNtc3BsYXllciIpfWEoIiN2Y21zLSIrZCkuYWRk Q2xhc3MoInZjbXN2ZXJzaW9uLTIiKTtpZighbmRtLm1lZGlhLmluaXRBcnRpY2xl UGxheWVyKXtpZihuZG0ubWVkaWEudmNtc3BsYXllcmlkcyl7bmRtLm1lZGlhLnZj bXNwbGF5ZXJpZHMucHVzaChkKX1lbHNle25kbS5tZWRpYS52Y21zcGxheWVyaWRz PVtkXX10YW50by5sb2FkKCJodHRwOi8vc3RhdGljLnZpZGVvLm5ld3MuY29tLmF1 L2FydGljbGUvYXJ0aWNsZXBsYXllci5qcyIsdHJ1ZSl9ZWxzZXtuZG0ubWVkaWEu aW5pdEFydGljbGVQbGF5ZXIoZCl9fX07Yy52ZXJzaW9uMj1mdW5jdGlvbigpe2Eu Zm4udmNtc2ZhY2FkZSgpfTtpZihhLmZuLnZjbXNmYWNhZGUuZGVmYXVsdHMuZmF0 d2lyZXZlcnNpb249PT0xKXtjLnZlcnNpb24xKCl9ZWxzZXtpZihuZG0mJm5kbS5t ZWRpYSYmbmRtLm1lZGlhLmxvYWR2Y21zKXtuZG0ubWVkaWEubG9hZHZjbXMuYXJ0 aWNsZXBsYXllcj1mdW5jdGlvbihkKXtpZih3aW5kb3cudGNvbmYpe3dpbmRvdy50 Y29uZih7dGFnczoiY29udGVudDp0eXBlPXZpZGVvIixwbHVnaW5zOnt2Y21zOnt9 fX0pfX19YShmdW5jdGlvbigpe2lmKGEoImRpdi52Y21zIikubGVuZ3RoKXtjLnZl cnNpb24yKCl9fSl9fShqUXVlcnkpKTs= ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=kit.js Content-Type: application/x-javascript; name=kit.js Content-Location: http://sops.news.com.au/adkit/js/kit.js Content-Transfer-Encoding: Base64 LypORE0gQWRLaXQgNC42IC0gRmFjYWRlIC0gS2FydGlrIFJhbyovCnZhciBraXRj b25maWc9e3ZlcnNpb246IjQuNiIsa2l0cm9vdDoiaHR0cDovL3NvcHMubmV3cy5j b20uYXUvYWRraXQvIixkZWZhdWx0anNwYXRoOiJodHRwOi8vc29wcy5uZXdzLmNv bS5hdS9hZGtpdC9qcy8iLGpzcGF0aDoiaHR0cDovL3NvcHMubmV3cy5jb20uYXUv YWRraXQvanMvIixkZWJ1ZzpmYWxzZSxzdGlja3ltb2RlOmZhbHNlfTtmdW5jdGlv biBuZG1hZGtpdF9nZXRVcmxQYXJhbShCKXt2YXIgQT0iW1xcPyZdIitCKyI9KFte JiNdKikiO3ZhciBEPW5ldyBSZWdFeHAoQSk7dmFyIEM9RC5leGVjKHdpbmRvdy5s b2NhdGlvbi5ocmVmKTsKaWYoQyE9PW51bGwmJiEoQz09PSIiKSl7cmV0dXJuIENb MV07fWVsc2V7cmV0dXJuIG51bGw7fX1mdW5jdGlvbiBuZG1hZGtpdF9yZWFkQ29v a2llKEIpe3ZhciBEPUIrIj0iO3ZhciBBPWRvY3VtZW50LmNvb2tpZS5zcGxpdCgi OyIpO2Zvcih2YXIgQz0wO0M8QS5sZW5ndGg7QysrKXt2YXIgRT1BW0NdO3doaWxl KEUuY2hhckF0KDApPT09IiAiKXtFPUUuc3Vic3RyaW5nKDEsRS5sZW5ndGgpO31p ZihFLmluZGV4T2YoRCk9PT0wKXtyZXR1cm4gRS5zdWJzdHJpbmcoRC5sZW5ndGgs RS5sZW5ndGgpO319cmV0dXJuIG51bGw7fWZ1bmN0aW9uIG5kbWFka2l0X2NyZWF0 ZUNvb2tpZShDLEQsRSl7dmFyIEE9IiI7CmlmKEUpe3ZhciBCPW5ldyBEYXRlKCk7 Qi5zZXRUaW1lKEIuZ2V0VGltZSgpKyhFKjI0KjYwKjYwKjEwMDApKTtBPSI7IGV4 cGlyZXM9IitCLnRvR01UU3RyaW5nKCk7fWRvY3VtZW50LmNvb2tpZT1DKyI9IitE K0ErIjsgcGF0aD0vIjt9a2l0Y29uZmlnLmRlYnVnPSEhKHdpbmRvdy5sb2NhdGlv bi5ocmVmLmluZGV4T2YoInNvcHM9ZGVidWciKT4wKXx8KG5kbWFka2l0X3JlYWRD b29raWUoInNvcHMiKT09PSJkZWJ1ZyIpO3ZhciBuZG1hZGtpdF9zb3Bzc3RpY2t5 PWZhbHNlO3ZhciBuZG1hZGtpdF91cmxfc29wc3N0aWNreT1uZG1hZGtpdF9nZXRV cmxQYXJhbSgic29wc3N0aWNreSIpOwp2YXIgbmRtYWRraXRfdXJsX3NjcmlwdGhv c3Q9bmRtYWRraXRfZ2V0VXJsUGFyYW0oInNvcHNob3N0Iik7dmFyIG5kbWFka2l0 X2Nvb2tpZV9zY3JpcHRob3N0PW5kbWFka2l0X3JlYWRDb29raWUoInNvcHNob3N0 Iik7dmFyIG5kbWFka2l0X3VybF92ZXJzaW9uPW5kbWFka2l0X2dldFVybFBhcmFt KCJzb3BzdmVyIik7dmFyIG5kbWFka2l0X2Nvb2tpZV92ZXJzaW9uPW5kbWFka2l0 X3JlYWRDb29raWUoInNvcHN2ZXIiKTtpZihuZG1hZGtpdF91cmxfc29wc3N0aWNr eSE9PW51bGwpe2lmKG5kbWFka2l0X3VybF9zb3Bzc3RpY2t5PT09Im9uIil7a2l0 Y29uZmlnLnN0aWNreW1vZGU9dHJ1ZTsKfWVsc2V7aWYobmRtYWRraXRfdXJsX3Nv cHNzdGlja3k9PT0iY2xlYXIiKXtraXRjb25maWcuc3RpY2t5bW9kZT1mYWxzZTtu ZG1hZGtpdF9jcmVhdGVDb29raWUoInNvcHMiLCIiLC0xKTtuZG1hZGtpdF9jcmVh dGVDb29raWUoInNvcHNob3N0IiwiIiwtMSk7bmRtYWRraXRfY3JlYXRlQ29va2ll KCJzb3BzdmVyIiwiIiwtMSk7fX19aWYobmRtYWRraXRfdXJsX3NjcmlwdGhvc3Qh PT1udWxsJiZuZG1hZGtpdF91cmxfc2NyaXB0aG9zdCE9PSIiKXtpZihuZG1hZGtp dF91cmxfc2NyaXB0aG9zdC5zdWJzdHJpbmcobmRtYWRraXRfdXJsX3NjcmlwdGhv c3QubGVuZ3RoLTEsbmRtYWRraXRfdXJsX3NjcmlwdGhvc3QubGVuZ3RoKSE9PSIv Iil7bmRtYWRraXRfdXJsX3NjcmlwdGhvc3QrPSIvIjsKfWtpdGNvbmZpZy5qc3Bh dGg9a2l0Y29uZmlnLmtpdHJvb3QrbmRtYWRraXRfdXJsX3NjcmlwdGhvc3Q7aWYo a2l0Y29uZmlnLnN0aWNreW1vZGUpe25kbWFka2l0X2NyZWF0ZUNvb2tpZSgic29w c2hvc3QiLGtpdGNvbmZpZy5qc3BhdGgsMSk7fX1lbHNle2lmKG5kbWFka2l0X2Nv b2tpZV9zY3JpcHRob3N0IT09bnVsbCYmbmRtYWRraXRfY29va2llX3NjcmlwdGhv c3QhPT0iIil7a2l0Y29uZmlnLmpzcGF0aD1uZG1hZGtpdF9jb29raWVfc2NyaXB0 aG9zdDt9fWlmKG5kbWFka2l0X3VybF92ZXJzaW9uIT09bnVsbCYmbmRtYWRraXRf dXJsX3ZlcnNpb24hPT0iIil7a2l0Y29uZmlnLnZlcnNpb249bmRtYWRraXRfdXJs X3ZlcnNpb247CmlmKGtpdGNvbmZpZy5zdGlja3ltb2RlKXtuZG1hZGtpdF9jcmVh dGVDb29raWUoInNvcHN2ZXIiLGtpdGNvbmZpZy52ZXJzaW9uLDEpO319ZWxzZXtp ZihuZG1hZGtpdF9jb29raWVfdmVyc2lvbiE9PW51bGwmJm5kbWFka2l0X2Nvb2tp ZV92ZXJzaW9uIT09IiIpe2tpdGNvbmZpZy52ZXJzaW9uPW5kbWFka2l0X2Nvb2tp ZV92ZXJzaW9uO319dmFyIG5kbWFka2l0X3NjcmlwdF9zcmM9IiI7bmRtYWRraXRf c2NyaXB0X3NyYz1raXRjb25maWcuanNwYXRoKyJraXQiK2tpdGNvbmZpZy52ZXJz aW9uKyIuanMiO2RvY3VtZW50LndyaXRlKCI8c2NyIisnaXB0IHR5cGU9InRleHQv amF2YXNjcmlwdCIgc3JjPSInK25kbWFka2l0X3NjcmlwdF9zcmMrJyI+JysiPC9z Y3IiKyJpcHQ+Iik7CmlmKGtpdGNvbmZpZy5kZWJ1Zyl7ZG9jdW1lbnQud3JpdGUo JzxkaXYgc3R5bGU9ImJhY2tncm91bmQ6eWVsbG93O2JvcmRlcjoxcHggc29saWQg IzAwMDsiPmFkIGtpdCA6ICcrbmRtYWRraXRfc2NyaXB0X3NyYysiPC9kaXY+Iik7 aWYoa2l0Y29uZmlnLnN0aWNreW1vZGUpe25kbWFka2l0X2NyZWF0ZUNvb2tpZSgi c29wcyIsImRlYnVnIiwxKTt9fQ== ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=jquery.fn.photoreveal.js Content-Type: application/x-javascript; name=jquery.fn.photoreveal.js Content-Location: http://media.perthnow.com.au/fe/2011/01/reveal/jquery.fn.photoreveal.js Content-Transfer-Encoding: Base64 LypnbG9iYWwgalF1ZXJ5IG5kbSAqLwovKmpzbGludCB3aGl0ZTogdHJ1ZSwgYnJv d3NlcjogdHJ1ZSwgb25ldmFyOiB0cnVlLCB1bmRlZjogdHJ1ZSwgbm9tZW46IHRy dWUsIGVxZXFlcTogdHJ1ZSwgcGx1c3BsdXM6IHRydWUsIGJpdHdpc2U6IHRydWUs IHJlZ2V4cDogdHJ1ZSwgbmV3Y2FwOiB0cnVlLCBpbW1lZDogdHJ1ZSwgc3RyaWN0 OiB0cnVlICovCgooZnVuY3Rpb24gKCQpIHsKICAgICJ1c2Ugc3RyaWN0IjsKICAg ICQuZm4ucGhvdG9yZXZlYWwgPSBmdW5jdGlvbiAob3B0aW9ucykgewogICAgICAg IHZhciBkZWZhdWx0cywgc2V0dGluZ3M7CgogICAgICAgIGRlZmF1bHRzID0gewog ICAgICAgICAgICAib2Zmc2V0IjogIjUwJSIKICAgICAgICB9OwogICAgICAgIHNl dHRpbmdzID0gJC5leHRlbmQoZGVmYXVsdHMsIG9wdGlvbnMgfHwge30pOwoKICAg ICAgICB0aGlzLmVhY2goZnVuY3Rpb24gKCkgewogICAgICAgICAgICB2YXIgdWkg PSB7fSwKICAgICAgICAgICAgICAgIHNldHVwID0ge30sCiAgICAgICAgICAgICAg ICAkbW9kdWxlID0gJCh0aGlzKTsKCiAgICAgICAgICAgIGlmICgkbW9kdWxlLmhh c0NsYXNzKCdwaG90b3JldmVhbC1sb2FkZWQnKSkgewogICAgICAgICAgICAgICAg cmV0dXJuOwogICAgICAgICAgICB9CgogICAgICAgICAgICBzZXR1cC5waG90b3Jl dmVhbCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHNldHVwLmRvbSgp OwogICAgICAgICAgICB9OwoKICAgICAgICAgICAgc2V0dXAuZG9tID0gZnVuY3Rp b24gKCkgewogICAgICAgICAgICAgICAgdWkuc2xpZGVyID0gJC5mbi5waG90b3Jl dmVhbC52aWV3cy5zbGlkZXIoJG1vZHVsZS5maW5kKCcubW9kdWxlLWNvbnRlbnQn KSwgc2V0dGluZ3MpOwogICAgICAgICAgICAgICAgJG1vZHVsZS5hZGRDbGFzcygn cGhvdG9yZXZlYWwtbG9hZGVkJyk7CiAgICAgICAgICAgIH07CiAgICAgICAgICAg IHNldHVwLnBob3RvcmV2ZWFsKCk7CiAgICAgICAgfSk7CiAgICAgICAgcmV0dXJu IHRoaXM7CiAgICB9OwoKICAgICQuZm4ucGhvdG9yZXZlYWwudmlld3MgPSB7CiAg ICAgICAgInNsaWRlciI6IGZ1bmN0aW9uICgkZG9tLCBzZXR0aW5ncykgewogICAg ICAgICAgICB2YXIgYWN0aXZlID0gZmFsc2UsCiAgICAgICAgICAgICAgICAkaGFu ZGxlLCByZXZlYWxpbWFnZSA9ICRkb20uZmluZCgnLnByb21vLWJsb2NrOmVxKDEp IC5wcm9tby1pbWFnZScpLAogICAgICAgICAgICAgICAgb2Zmc2V0ID0gJGRvbS5v ZmZzZXQoKTsKCiAgICAgICAgICAgICRkb20uZmluZCgnLnByb21vLWJsb2NrJyku ZWFjaChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICB2YXIgaGVhZGluZ3Rl eHQgPSAkKHRoaXMpLmZpbmQoJy5wcm9tby1oZWFkaW5nJykudGV4dCgpOwogICAg ICAgICAgICAgICAgJCh0aGlzKS5maW5kKCcucHJvbW8taW1hZ2UnKS5hcHBlbmQo JzxkaXYgY2xhc3M9Im5vdGUiPicgKyBoZWFkaW5ndGV4dCArICc8L2Rpdj4nKTsK ICAgICAgICAgICAgfSk7CgoKICAgICAgICAgICAgcmV2ZWFsaW1hZ2UuY3NzKHsK ICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6ICJhYnNvbHV0ZSIsCiAgICAgICAg ICAgICAgICAidG9wIjogMCwKICAgICAgICAgICAgICAgICJsZWZ0IjogMCwKICAg ICAgICAgICAgICAgICJvdmVyZmxvdyI6ICJoaWRkZW4iLAogICAgICAgICAgICAg ICAgIndpZHRoIjogc2V0dGluZ3Mub2Zmc2V0CiAgICAgICAgICAgIH0pOwoKICAg ICAgICAgICAgJGhhbmRsZSA9ICQoJzxkaXYgY2xhc3M9ImhhbmRsZSI+aGFuZGxl PC9kaXY+Jyk7CgogICAgICAgICAgICByZXZlYWxpbWFnZS5hZnRlcigkaGFuZGxl KTsKCiAgICAgICAgICAgICRoYW5kbGUuY3NzKHsKICAgICAgICAgICAgICAgICJw b3NpdGlvbiI6ICJhYnNvbHV0ZSIsCiAgICAgICAgICAgICAgICAidG9wIjogMCwK ICAgICAgICAgICAgICAgICJsZWZ0Ijogc2V0dGluZ3Mub2Zmc2V0CiAgICAgICAg ICAgIH0pOwoKCiAgICAgICAgICAgICRkb20uaG92ZXIoZnVuY3Rpb24gKCkgewog ICAgICAgICAgICAgICAgJGRvbS5iaW5kKCdtb3VzZW1vdmUnLCBmdW5jdGlvbiAo ZXYpIHsKCiAgICAgICAgICAgICAgICAgICAgaWYgKGFjdGl2ZSA9PT0gdHJ1ZSkg ewoKICAgICAgICAgICAgICAgICAgICAgICAgJGhhbmRsZS5jc3MoewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgImxlZnQiOiAoZXYucGFnZVggLSBvZmZzZXQu bGVmdCkgKyAncHgnCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAg ICAgICAgICAgICAgICAgICByZXZlYWxpbWFnZS5jc3MoewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgIndpZHRoIjogKGV2LnBhZ2VYIC0gb2Zmc2V0LmxlZnQp ICsgJ3B4JwogICAgICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBldi5wcmV2ZW50RGVmYXVs dCgpOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0sIGZ1bmN0aW9u ICgpIHsKICAgICAgICAgICAgICAgICRkb20udW5iaW5kKCdtb3VzZW1vdmUnKTsK ICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAkaGFuZGxlLmJpbmQoJ21vdXNl ZG93bicsIGZ1bmN0aW9uIChldikgewogICAgICAgICAgICAgICAgYWN0aXZlID0g dHJ1ZTsKICAgICAgICAgICAgICAgIGV2LnByZXZlbnREZWZhdWx0KCk7CiAgICAg ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0pOwoKICAgICAg ICAgICAgJGhhbmRsZS5iaW5kKCdtb3VzZXVwJywgZnVuY3Rpb24gKGV2KSB7CiAg ICAgICAgICAgICAgICBhY3RpdmUgPSBmYWxzZTsKICAgICAgICAgICAgICAgIGV2 LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7 CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuICRkb207CiAgICAg ICAgfQogICAgfTsKfShuZG0ualF1ZXJ5KSk7CgoKKGZ1bmN0aW9uICgkKSB7CiAg ICAidXNlIHN0cmljdCI7CiAgICAkKGZ1bmN0aW9uICgpIHsKICAgICAgICAkKCcu bW9kdWxlLXBob3RvcmV2ZWFsJykucGhvdG9yZXZlYWwoKTsKICAgIH0pOwp9KG5k bS5qUXVlcnkpKTs= ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=photoreveal.css Content-Type: text/css; name=photoreveal.css Content-Location: http://media.perthnow.com.au/fe/2011/01/reveal/photoreveal.css Content-Transfer-Encoding: 8bit .has-js .module-photoreveal { background: #ededed url('loading-animation-ededed.gif') no-repeat 50% 50%; width: 650px; height: 366px; } .has-js .module-photoreveal .module-content { visibility: hidden; } .has-js .module-photoreveal .module-content .content-item { display: none; } .has-js .module-photoreveal .module-content .content-item:first-child { display: block; } .has-js #story .module-photoreveal { margin-left: -8px; } .has-js .module-photoreveal.photoreveal-loaded { background: transparent; position: relative; visibility: visible; } .has-js .module-photoreveal.photoreveal-loaded { width: 650px; overflow: hidden; } .has-js .module-photoreveal.photoreveal-loaded .module-content { visibility: visible; } .has-js .module-photoreveal.photoreveal-loaded .module-content .promo-block .note { position: absolute; text-transform: uppercase; font-size: 12px; bottom: 5px; left: 5px; background: #000; color: #fff; padding: 3px; line-height: 1em; } .has-js body.homepage .module-photoreveal.photoreveal-loaded .module-content .promo-block .note { bottom: 82px; } .has-js .module-photoreveal.photoreveal-loaded .module-content .content-item { display: block; } .has-js .module-photoreveal.photoreveal-loaded .module-content .content-item:first-child .promo-block .note { right: 5px; left: auto; } .has-js .module-photoreveal.photoreveal-loaded .module-content .handle { cursor: move; height: 366px; background: transparent url('move-scrubber.png') 0 0 no-repeat; _background-image: url('move-scrubber.gif'); width: 43px; height: 366px; text-indent: -50000px; margin-left: -21px; } .has-js .module-photoreveal.photoreveal-loaded .module-content .promo-heading { display: none; float: left; font-weight: 700; clear: left; padding-right: 5px; } .has-js .module-photoreveal.photoreveal-loaded .module-content .promo-heading h4 { font-weight: 700; } .has-js .module-photoreveal.photoreveal-loaded .module-content .promo-text { float: left; display: none; } .has-js .module-photoreveal.photoreveal-loaded .module-content .promo-text p { padding: 0; margin: 0; } .has-js .module-photoreveal.photoreveal-loaded .module-content .promo-block { width: 650px; } .has-js .text-g-homepage-defcon-group-slider, .has-js .text-g-cm-news-grp-home-page-normal-strap{position:relative;} ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=jquery-galleryBook.js Content-Type: application/x-javascript; name=jquery-galleryBook.js Content-Location: http://media.dailytelegraph.com.au/fe/2011/mar/gallerybook/jquery-galleryBook.js Content-Transfer-Encoding: Base64 KGZ1bmN0aW9uICgkKSB7Ci8qICArLS0tLS0tLS0tLS0tLS0tLS0rCiAgICB8IGpR dWVyeSBNZXRhZGF0YSB8CiAgICArLS0tLS0tLS0tLS0tLS0tLS0rICovCgkkLmV4 dGVuZCh7CgkJbWV0YWRhdGEgOiB7CgkJCWRlZmF1bHRzIDogewoJCQkJdHlwZTog J2NsYXNzJywKCQkJCW5hbWU6ICdtZXRhZGF0YScsCgkJCQljcmU6IC8oey4qfSkv LAoJCQkJc2luZ2xlOiAnbWV0YWRhdGEnCgkJCX0sCgkJCXNldFR5cGU6IGZ1bmN0 aW9uKCB0eXBlLCBuYW1lICl7CgkJCQl0aGlzLmRlZmF1bHRzLnR5cGUgPSB0eXBl OwoJCQkJdGhpcy5kZWZhdWx0cy5uYW1lID0gbmFtZTsKCQkJfSwKCQkJZ2V0OiBm dW5jdGlvbiggZWxlbSwgb3B0cyApewoJCQkJdmFyIHNldHRpbmdzID0gJC5leHRl bmQoe30sdGhpcy5kZWZhdWx0cyxvcHRzKTsKCQkJCWlmICggIXNldHRpbmdzLnNp bmdsZS5sZW5ndGggKSBzZXR0aW5ncy5zaW5nbGUgPSAnbWV0YWRhdGEnOyAvLyBj aGVjayBmb3IgZW1wdHkgc3RyaW5nIGluIHNpbmdsZSBwcm9wZXJ0eQoJCQkJdmFy IGRhdGEgPSAkLmRhdGEoZWxlbSwgc2V0dGluZ3Muc2luZ2xlKTsgLy8gcmV0dXJu ZWQgY2FjaGVkIGRhdGEgaWYgaXQgYWxyZWFkeSBleGlzdHMKCQkJCWlmICggZGF0 YSApIHJldHVybiBkYXRhOwoJCQkJZGF0YSA9ICJ7fSI7CgkJCQkKCQkJCWlmICgg c2V0dGluZ3MudHlwZSA9PSAiY2xhc3MiICkgewoJCQkJCXZhciBtID0gc2V0dGlu Z3MuY3JlLmV4ZWMoIGVsZW0uY2xhc3NOYW1lICk7CgkJCQkJaWYgKCBtICkgewoJ CQkJCQlkYXRhID0gbVsxXTsKCQkJCQl9CgkJCQl9IGVsc2UgaWYgKCBzZXR0aW5n cy50eXBlID09ICJlbGVtIiApIHsKCQkJCQlpZiggIWVsZW0uZ2V0RWxlbWVudHNC eVRhZ05hbWUgKSB7IHJldHVybjsgfQoJCQkJCXZhciBlID0gZWxlbS5nZXRFbGVt ZW50c0J5VGFnTmFtZShzZXR0aW5ncy5uYW1lKTsKCQkJCQlpZiAoIGUubGVuZ3Ro ICkgewoJCQkJCQlkYXRhID0gJC50cmltKGVbMF0uaW5uZXJIVE1MKTsKCQkJCQl9 CgkJCQl9IGVsc2UgaWYgKCBlbGVtLmdldEF0dHJpYnV0ZSAhPSB1bmRlZmluZWQg KSB7CgkJCQkJdmFyIGF0dHIgPSBlbGVtLmdldEF0dHJpYnV0ZSggc2V0dGluZ3Mu bmFtZSApOwoJCQkJCWlmICggYXR0ciApIHsKCQkJCQkJZGF0YSA9IGF0dHI7CgkJ CQkJfQoJCQkJfQoJCQkJCgkJCQlpZiAoIGRhdGEuaW5kZXhPZiggJ3snICkgPDAg KSB7CgkJCQkJZGF0YSA9ICJ7IiArIGRhdGEgKyAifSI7CgkJCQl9CgkJCQkKCQkJ CWRhdGEgPSBldmFsKCIoIiArIGRhdGEgKyAiKSIpOwoJCQkJCgkJCQkkLmRhdGEo IGVsZW0sIHNldHRpbmdzLnNpbmdsZSwgZGF0YSApOwoJCQkJcmV0dXJuIGRhdGE7 CgkJCX0KCQl9Cgl9KTsKCQoJJC5mbi5tZXRhZGF0YSA9IGZ1bmN0aW9uKCBvcHRp b25zICkgewoJCXJldHVybiAkLm1ldGFkYXRhLmdldCggdGhpc1swXSwgb3B0aW9u cyApOwoJfTsKCi8qICArLS0tLS0tLS0tLS0tLS0rCiAgICB8IEdhbGxlcnkgQm9v ayB8CiAgICArLS0tLS0tLS0tLS0tLS0rICovCiAgICAkLmZuLmdhbGxlcnlCb29r ID0gZnVuY3Rpb24gKG9wdGlvbnMpIHsKICAgICAgICBpZiAoIXRoaXMubGVuZ3Ro KSB7IHJldHVybjsgfQoKICAgICAgICB2YXIgb3B0cyA9ICQuZXh0ZW5kKHt9LCAk LmZuLmdhbGxlcnlCb29rLmRlZmF1bHRzLCBvcHRpb25zKTsKCQkKICAgICAgICBy ZXR1cm4gdGhpcy5ub3Qob3B0cy5yZWFkeUNsYXNzKS5lYWNoKGZ1bmN0aW9uICgp IHsKICAgICAgICAgICAgdmFyIG8gPSAkLm1ldGFkYXRhID8gJC5leHRlbmQoe30s IG9wdHMsICQodGhpcykubWV0YWRhdGEoKSkgOiBvcHRzLAoJCQkJcGljRnJhbWUg ICA9ICQodGhpcykuYWRkQ2xhc3Moby5sb2FkaW5nQ2xhc3MpLAoJCQkJbmF2aWdh dGlvbiA9ICQoJzxkaXYgY2xhc3M9ImdhbGxlcnktbmF2aWdhdGlvbiIgc3R5bGU9 ImRpc3BsYXk6bm9uZTsiPjx1bD48bGk+PGEgaHJlZj0iIyIgY2xhc3M9ImpzLWdh bGxlcnktcHJldjUiIHRpdGxlPSJCYWNrIDUiLz48L2xpPiA8bGk+PGEgaHJlZj0i IyIgY2xhc3M9ImpzLWdhbGxlcnktcHJldiIgdGl0bGU9IlByZXZpb3VzIi8+PC9s aT48bGk+PGEgaHJlZj0iIyIgY2xhc3M9ImpzLWdhbGxlcnktbmV4dCIgdGl0bGU9 Ik5leHQiIC8+PC9saT4gPGxpPjxhIGhyZWY9IiMiIGNsYXNzPSJqcy1nYWxsZXJ5 LW5leHQ1IiB0aXRsZT0iU2tpcCA1IiAvPjwvbGk+PC91bD48L2Rpdj4nKSwKCQkJ CWxvYWRlciAgICAgPSAkKCc8ZGl2IGNsYXNzPSJsb2FkaW5nIj48c3Bhbi8+PC9k aXY+JyksCgkJCQljb250YWluZXIgID0gcGljRnJhbWUud3JhcCgnPGRpdiBjbGFz cz0ianMtZ2FsbGVyeS1jb250YWluZXIiLz4nKS5wYXJlbnQoJy5qcy1nYWxsZXJ5 LWNvbnRhaW5lcicpLmFkZENsYXNzKCdza2luLScgKyBvLnNraW4pLmFkZENsYXNz KG8ucG9zaXRpb24pLmFkZENsYXNzKG8uc3BlY2lhbENsYXNzKS5hcHBlbmQobmF2 aWdhdGlvbikuYXBwZW5kKGxvYWRlciksCgkJCQlpbWFnZSAgICAgID0gcGljRnJh bWUuZmluZCgnaW1nJyksCgkJCQljYXB0aW9uICAgID0gY29udGFpbmVyLmFwcGVu ZCgnPGRpdiBjbGFzcz0ianMtZ2FsbGVyeS1jYXB0aW9uIi8+JykuZmluZCgnLmpz LWdhbGxlcnktY2FwdGlvbicpLmhpZGUoKSwKCQkJCWNvdW50ZXIgICAgPSBuYXZp Z2F0aW9uLmZpbmQoImxpIikuZXEoMSkuYWZ0ZXIoJzxzcGFuIGNsYXNzPSJqcy1n YWxsZXJ5LWNvdW50ZXIiPkNvdmVyPC9zcGFuPicpLm5leHQoJy5qcy1nYWxsZXJ5 LWNvdW50ZXInKSwKCQkJCWxpbmsgICAgICAgPSBwaWNGcmFtZS5maW5kKCIucHJv bW8taW1hZ2UgYSIpLmF0dHIoJ2hyZWYnKSwKCQkJCWdhbGxlcnlJZCAgPSAobGlu ayA/IHBhcnNlSW50KGxpbmsubWF0Y2gob3B0cy5yZWcpWzBdLnJlcGxhY2UoJy0n LCAnJyksIDEwKSA6IDApLAoJCQkJdXJsICAgICAgICA9IG9wdHMudXJsLnJlcGxh Y2UoL2NpZD1bXGRdKy9nLCAnY2lkPScgKyBnYWxsZXJ5SWQpLAoJCQkJcGFnZVRv dGFsICA9IDAsIHBhZ2UgPSAxLAoJCQkJaGFzRGF0YSAgICA9IGZhbHNlLAoJCQkJ Z2V0UGFnZSwKCQkJCXRpbWVyOwoJCQkJCQkJCQkJCQkKCQkJJCgnaGVhZCcpLmFw cGVuZCgnPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBtZWRpYT0ic2NyZWVuLCBwcm9q ZWN0aW9uIiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iJyArIG8uc3R5bGVzaGVldCAr ICciIC8+Jyk7CgkJCQkJCQkJCgkJCWdldFBhZ2UgPSBmdW5jdGlvbiAocCkgewoJ CQkJaWYgKGhhc0RhdGEpIHsgcGFnZSA9IChwYWdlICsgcCA+IHBhZ2VUb3RhbCB8 fCBwYWdlICsgcCA8IDEgPyAxIDogcGFnZSArIHApOyB9CgkJCQlsb2FkZXIuZmFk ZUluKCk7CgkJCQkkLmFqYXgoewoJCQkJCXVybDogdXJsICsgIiZwYWdlPSIgKyBw YWdlLAoJCQkJCWRhdGFUeXBlOiAnaHRtbCcsCgkJCQkJc3VjY2VzczogZnVuY3Rp b24gKGRhdGEpIHsKCQkJCQkJdmFyICRkYXRhID0gJChkYXRhKTsJCQkJCQkKCQkJ CQkJaWYgKGhhc0RhdGEgPT09IGZhbHNlKSB7IAoJCQkJCQkJcGFnZVRvdGFsID0g cGFyc2VJbnQoJGRhdGEuZmluZCgnI3BhZ2luYXRpb24nKS50ZXh0KCkucmVwbGFj ZSgvXGQqIG9mIC8sICcnKSk7IAoJCQkJCQkJcGFnZSA9IDA7CgkJCQkJCX0gZWxz ZSB7CgkJCQkJCQlpbWFnZSA9ICRkYXRhLmZpbmQoJ2ltZycpLmZhZGVJbig1MDAs IGZ1bmN0aW9uICgpIHsKCQkJCQkJCQlwaWNGcmFtZS5jaGlsZHJlbigpLm5vdChp bWFnZSkucmVtb3ZlKCk7IAoJCQkJCQkJfSk7CgkJCQkJCQkkKCcuZ2FsbGVyeS1u YXZpZ2F0aW9uJykuc2hvdygpOwoJCQkJCQkJaWYgKHBhZ2VUb3RhbCA9PT0gMCB8 fCBwYWdlIDwgcGFnZVRvdGFsICsgMSkgewoJCQkJCQkJCXBpY0ZyYW1lLmFwcGVu ZChpbWFnZSk7CQoJCQkJCQkJCQoJCQkJCQkJfQoJCQkJCQkJY291bnRlci50ZXh0 KCRkYXRhLmZpbmQoJyNwYWdpbmF0aW9uJykudGV4dCgpKTsKCQkJCQkJCWNhcHRp b24udGV4dCgkZGF0YS5maW5kKCcuY2FwdGlvbicpLnRleHQoKSk7CgkJCQkJCX0K CQkJCQkJbG9hZGVyLmZhZGVPdXQoKTsKCQkJCQkJaGFzRGF0YSA9IHRydWU7CgkJ CQkJfQoJCQkJfSk7CgkJCX07CgkJCQoJCQljb250YWluZXIuYmluZCgnbW91c2Vl bnRlciBtb3VzZWxlYXZlIG1vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7CgkJCQlp ZiAoZS50eXBlID09PSAibW91c2VlbnRlciIpIHsKCQkJCQljbGVhckludGVydmFs KHRpbWVyKTsKCQkJCQluYXZpZ2F0aW9uLmZhZGVJbigpOwoJCQkJfSBlbHNlIGlm IChlLnR5cGUgPT09ICJtb3VzZWxlYXZlIikgewoJCQkJCXRpbWVyID0gc2V0SW50 ZXJ2YWwoZnVuY3Rpb24gKCkgewoJCQkJCQluYXZpZ2F0aW9uLmZhZGVPdXQoKTsK CQkJCQl9LCAyMDAwKTsKCQkJCX0KCQkJfSk7CgkJCQoJCQlwaWNGcmFtZS5jbGlj ayhmdW5jdGlvbiAoZSkgewoJCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQkJZ2V0 UGFnZSgxKTsKCQkJfSk7CgkJCQoJCQluYXZpZ2F0aW9uLmZpbmQoIi5qcy1nYWxs ZXJ5LW5leHQiKS5jbGljayhmdW5jdGlvbiAoZSkgewoJCQkJZS5wcmV2ZW50RGVm YXVsdCgpOwoJCQkJZ2V0UGFnZSgxKTsKCQkJfSk7CgkJCW5hdmlnYXRpb24uZmlu ZCgiLmpzLWdhbGxlcnktbmV4dDUiKS5jbGljayhmdW5jdGlvbiAoZSkgewoJCQkJ ZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQkJZ2V0UGFnZSg1KTsKCQkJfSk7CgkJCW5h dmlnYXRpb24uZmluZCgiLmpzLWdhbGxlcnktcHJldiIpLmNsaWNrKGZ1bmN0aW9u IChlKSB7CgkJCQllLnByZXZlbnREZWZhdWx0KCk7CgkJCQlnZXRQYWdlKC0xKTsK CQkJfSk7CgkJCW5hdmlnYXRpb24uZmluZCgiLmpzLWdhbGxlcnktcHJldjUiKS5j bGljayhmdW5jdGlvbiAoZSkgewoJCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQkJ Z2V0UGFnZSgtNSk7CgkJCX0pOwoKCQkJZ2V0UGFnZSgpOwogICAgICAgIH0pLnJl bW92ZUNsYXNzKG9wdHMubG9hZGluZ0NsYXNzKS5hZGRDbGFzcyhvcHRzLnByZWZp eCkuYWRkQ2xhc3Mob3B0cy5yZWFkeUNsYXNzKTsKICAgIH07CgogICAgJC5mbi5n YWxsZXJ5Qm9vay5kZWZhdWx0cyA9IHsKCQlza2luOiAnZGVmYXVsdCcsCgkJcG9z aXRpb246ICdib3R0b21DZW50ZXInLAoJCXNwZWNpYWxDbGFzczogJycsCiAgICAg ICAgcHJlZml4OiAnZ2FsbGVyeS1wYWdlIGNsZWFyZml4JywKICAgICAgICBsb2Fk aW5nQ2xhc3M6ICdqcy1sb2FkaW5nJywKICAgICAgICByZWFkeUNsYXNzOiAnanMt cmVhZHknLAogICAgICAgIHJlZzogLyg/IWdhbGxlcnktW2EtekEtWlxzMC05XSsp LShbMC05XXsxLDEzfSkvZ2ksCiAgICAgICAgdXJsOiAnL2NzL1NhdGVsbGl0ZT9j aWQ9MCZwYWdlbmFtZT1Gb3VuZGF0aW9uJTJGTmV3c19SaWNoX01lZGlhJTJGRkRO aWZyYW1lJywKCQkvL3N0eWxlc2hlZXQ6ICdodHRwOi8vMTAuNjguNzIuNDYvUHJv amVjdHMvcXVpY2tkZXYvZ2FsbGVyeWJvb2suY3NzJwoJCXN0eWxlc2hlZXQ6ICdo dHRwOi8vbWVkaWEuZGFpbHl0ZWxlZ3JhcGguY29tLmF1L2ZlLzIwMTEvbWFyL2dh bGxlcnlib29rL2dhbGxlcnlib29rLmNzcycKICAgIH07CgkKLyogICstLS0tLS0t LS0tLS0tLS0tLS0rCiAgICB8IEluaXQgJiBET00gUmVhZHkgfAogICAgKy0tLS0t LS0tLS0tLS0tLS0tLSsgKi8KCSQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uICgp IHsKCQkkKCIuanMtYm9vayIpLmdhbGxlcnlCb29rKCk7Cgl9KTsKfShuZG0ualF1 ZXJ5KSk7Cgo= ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=favicon.ico Content-Type: image/x-icon; charset=UTF-8; name=favicon.ico Content-Location: http://resources.news.com.au/cs/perthnow/images/favicon.ico Content-Transfer-Encoding: Base64 AAABAAEAEBAAAAEACABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAAAABML AAATCwAAAAEAAAAAAACJRzoA////AHRFZwBDUvEAP03wAOHRzgCER0UAXnP0AD1J 8ADp3NoA+PPzAK6BeADT1/wAnKn4AJJ0mQB5RlwA07q1AERT8QDEo50A0NT7AE9h 8gCQU0YAy66oAE5HwgA/TPAA2uD9AKCv+QBTZvIAQlDwADxJ8AA6R/AA0Nj8AHN+ 9ABke/UA5+n9AHuI9QBBTvAARVTxAHRGZwDz8/4ATEXCAHKF9QBATfAAfFF0AKq3 +QDa3PwAS1zxALC7+gDO0vsAPUrwAD5L8ACepPgAlqb4AEZW8QCndWsATF3yAHxS dACYXlMAUmXyAEhY8QB/RlEAz9P7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8CAgICAgIGAAAB NgAAAAYeBAQEBAQYKAAAARAFFhUmGw0NBykvBzUAAAEBCQEJODcMDBQjARQlAAAB FgALAQ4cExMRIAERMgAAARIACwEOMTAiCDMBCB0AAAUBBQoKKy49AS0nASQ7AAAV EgUQOQIHGiwfGTQhOgAAAAAAAAAGKgMDAwMDAxcAAAAAAAAAAA8CAgICAgI8AAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAA= ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=907307-diver.jpg Content-Type: image/jpeg; name=907307-diver.jpg Content-Location: http://resources3.news.com.au/images/2011/03/01/1226013/907307-diver.jpg Content-Transfer-Encoding: Base64 /9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQO DwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcH BwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoKCgoKCgoKCj/wAARCAFuAooDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEA AAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6 Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZ mqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx 8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREA AgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hp anN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPE xcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDw 6NdpRc4JbHHQ+9SxWzFFLY+ZjznqazxcOVCgc54NW4L2SOPadrR7tx3DlT6iuY6t idoX24kX5jyCfSoYl3K7KSCv8OOcVsafepcRlZH2Mg3JlcgH/CqbQiQtJE/T17// AFqXqCZl3B2EEvhfzpwk2NwSR1BFX0tYzLIjxg7RkDPX2qnJb7JwrjBPABPHtSZS HyHbGHTKsevvQkwdQVwpPHPSl4QmOXG5Txio5IgZlJxgjgY4ob0NIa7jpS7IVAO4 d/eqMzHcRyegJJ71ZurkW7iMozlhlgOtRxorOGgUydN0ZO1h+dJF2V7Icv7pSWxj 0ApBNK25Y7cBd2csaklJUqGTaWOeu7Ap6tgEkde9K6KsydJJFjBZRk+lPEpKZcFe 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 ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=335713-newsletter-signup.gif Content-Type: image/gif; name=335713-newsletter-signup.gif Content-Location: http://resources1.news.com.au/images/2011/04/07/1226035/335713-newsletter-signup.gif Content-Transfer-Encoding: Base64 R0lGODlhtABwAOYAAPNGO////w4ODFhZVURFQfhzXfVURtiQijIzML29u5oyKpWW ky4vLOfQzfLy8jAxLmRlYq1iWykpJsrKyQICAqFBORwdGh8fHeiWjyAhHjEyL9ra 2fmBaNmzrmAiHCEiHxESEBYWFCcoJXZ3dKippyUmIyssKSoqJ4ODgPh7Y4yNihka FwUFBdM/Ne+xrCMkIcVANu3t7eTk49puZenp6TM0Mfj4+PZiT/dqVgAAANFRR/Fw ZruEf/7+/uDAu/z8/PPl5AcIB+HHw+7j4ioJB/ROQDs8Oe97cu1FOvCJf/NmXDY3 M/NJPeB0a+JDOfeBd/nx8fNHO8ppYO/p6enc2s6gmwAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78i IGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxu czp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4w LWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8 cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjIt cmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4 bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1s bnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNv dXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4w LyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkYzMzdEOEMxQkI2 MEUwMTFCRDFEQjc0REFCQkE2NkJCIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlk Ojk5QUFBMzVDNjBDMzExRTA4MEMzRDI3OTA1OTc0RkFDIiB4bXBNTTpJbnN0YW5j ZUlEPSJ4bXAuaWlkOjk5QUFBMzVCNjBDMzExRTA4MEMzRDI3OTA1OTc0RkFDIiB4 bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzUgV2luZG93cyI+IDx4 bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkYzMzdE OEMxQkI2MEUwMTFCRDFEQjc0REFCQkE2NkJCIiBzdFJlZjpkb2N1bWVudElEPSJ4 bXAuZGlkOkYzMzdEOEMxQkI2MEUwMTFCRDFEQjc0REFCQkE2NkJCIi8+IDwvcmRm OkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQg ZW5kPSJyIj8+Af/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva 2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuq qainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6 eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtK SUhHRkVEQ0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsa GRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQAAIfkEAAAAAAAsAAAAALQAcAAAB/+A NYKDhIWGh4iJiouMjY6PkJGSiQiVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+w sbKztLW2t7i5uru8uhq/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zdyQ/g 4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/wADChz4joHBgwgRGlmQYMIE EigeJJyIkMCCBRAkUtzIsaPBAQ4jMriIwqPJkyhTqlw58QEKBwFixuyxYcBJDRBi qmDJk0HOACUZ9PgxoSfCBxAuEjDKtClHAjInJEgQI+YGEycHxAzq1KRWoBJjJuiq okeAjF3TMkWwICYEFnD/BUzo0WOESQ1fuardmCFHDhAGxXZFEdPm3sMrE8QMcdAE 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 n/RFHwgAOw== ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename="CKuUM8Z9MDg&feature=player_embedded.swf" Content-Type: application/x-shockwave-flash; name="CKuUM8Z9MDg&feature=player_embedded.swf" Content-Location: http://www.youtube.com/v/CKuUM8Z9MDg&feature=player_embedded Content-Transfer-Encoding: Base64 Q1dTCDwIAAB42n1WW3PaRhQ+CGHkaxJyoU5tB7dNOu0MyDg2wZk2jQOJh2nABDft xC+aBS1ibSEp0grML2ie/MhMH9rf0qf8LffsLjYkacLDavdcvz3fORJnMPcUIPMv wL0EVG8A/n5J2hrAuAzA4tAF6HEePDZNtlMYcdZ3Ch2/bw6YWfk1fl0vH+/Vq47Z e2vTLoldXjgJHFgfrwBQ9KT9NrVtaitJl54FAHtbW8VSESU3AQaMDq2OH3scYPvR bnkPxQiBDBwrJJx5DsBuYQuFDwA44y4F2Hc8GuXqzPWHpyRHvBzzeOjbcYcz30PL 2wAu9RzesyLa8T07Ani4LULcFQAIj0MMErhkRENrBt51zOpiTCUDEAB3AaJh9+r+ 0cz1R9xEVZt5ZieI8oOue1w9/mMwKAj79fH36HgKcPCq9KxW96vPXuzlX9V2iiXM /rrSeWsN35yVvYOTCppmLvOq+0YqswEQivqJfVaUyaa+xRDWTM1RVVc3cVnErT7W QNTni2A/shbAW9Gb8iGbABeUzVI+HA4LAQ15z/OHIlSBxKZHh5HpEVFu4po2GyDs vE08h4ZRfuijcd4eCVnXD82I++EoT0vd0Cnuxvni9nZpq7hTLm8XHz2EdahoFxcX 7+ehmcC2u7OCa9OymqRzShwaFTrOKD5qwsVKOoXq5rvfEw9gIrMc128TF4LQ5z4f BRT6hHng+sSuuCyAjlxC5Js+7wd8VPex1aTmavcSbWkIxLYryEAbkwL1SNulJxEJ GJa+65KoB/SM0xBvCs8nm5qHzy7pUGxTwlzhASR04j71eARdD2waYUeOIPYEHJkP 2ez7AzpFoRpQQrCBRc3Zo6DChChwGVc8yDV6DDOcgqAOmGfTs8MuSPYQLa9NBNiU EMVtxCFmyBKUmiZcdgHsHx1R3gz94IVLsOXGGhiwlsn8rcE/SXFIrEnRuSHeBslV XP5Eag7HOuhgaA08JLLqkDzHuU7A0iaokteSOEmGnhZ84kMTj5SMNtf6aZyGtIho pJ9iCC0rxEppnC+JMEkMgwV8D1PNfEOsC7WXAt0qSJ9FqVmSmmW5rjSE+nyCWNuE Qxni2to4BekkihrTo/bhMfHhEeQRgepT6NfXWk8U4DTomjSpKLkwFOH/B5LRyh5O r3FjguwHKMFVGXSlamU/kmQ+kdycBsOi30rBTOjbV6GXZ+p2q/FkxuaO4CyZHc+D kVXcXMrF+lULtbq8na4KgOeUZDhlrNYysvYLMBHcrWXUWbiuKkvpqU0856ThnPG1 MswlRNq1T9Oui7RpCWrjM1rjc5DvtS65O0CzedkWOdwtSCzpNL5WLhyR/T6MF1Gg z8/2ooqx2ZIOf2k468LLmHrlpJfxBa8ZXIqibyalvGoxNFuclOzbA9Tpi2I1vpP7 BbnfOFC0aDIIZkxKV10zdEH4NXVDTU+oJrv/cxa/zVXcvtvA4av/tn9User7tQbw HosuX43yRSjnVwxtdjLPaRXL0CTYZCsLu2JU4Uclh6NRxGkf1sYL+O2inThkfISD sDz5PFV9GRbd8M8C/Aenqdz0 ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=294631-pn-skyworks.jpg Content-Type: image/jpeg; name=294631-pn-skyworks.jpg Content-Location: http://resources3.news.com.au/images/2010/08/28/1225911/294631-pn-skyworks.jpg Content-Transfer-Encoding: Base64 /9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkS Ew8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJ CQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy MjIyMjIyMjIyMjIyMjL/wAARCABLAGQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEA AAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6 Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZ mqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx 8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREA AgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hp anN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPE xcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDq dR8PI+pTJa3FoxLBmtrv+MDgFWx8pyOD2rsNJ0K2i0ja0KqM7mj8oKVwc4AHr144 yT615vr3iiTTNwinDXqvsQuQ4QHndjpnn365qPS/ijqh0+FJpZLm4MoVx5OQ647E Dvn9PevKoTio3aPVlSnO0Ysk1bwhBPqRj8hLW1jYvDaoCSpJyWk9WP147dKkh8IR xDciruPOCO+cg+/U/nW3c63boVcI/wA2APPydvsCfc1e0/WorkBUhLs27B2dhgZ/ M/oa4avvz3PRS5IK0Th9f0JIoN7WTlYsKCyhQwAxgEjJ4/AVT0nw9Bdxy3MUrSxp ytvcIN5B9G5ziu51RkLOJZ/s79MwyhGxjqezfiKTTLRoYmuPPlEUgIYFFCk9mxj+ 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 ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=947468-mcilroy.jpg Content-Type: image/jpeg; name=947468-mcilroy.jpg Content-Location: http://resources0.news.com.au/images/2011/06/17/1226076/947468-mcilroy.jpg Content-Transfer-Encoding: Base64 /9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgG BgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMD AwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ EBAQEBAQEBAQEBAQEBD/wAARCABLAGQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEA AAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6 Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZ mqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx 8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREA AgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hp anN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPE xcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD5 JMIJ5XNMktUI6Cp/MwTnikfBHBrxbHItTOntMglRVQssQJkYKijLMxwAB3J7VryR nGOtfan7An7HHhj4j2CfHb4s6XHqeiw3skPh7RbhN1teSQPtkvLhCMSIsqskcZ+U mNmYN8oGlKm6kuVFo8t/Zm/Yc+KX7QNrB4tvph4P8FSsDFqt5bGS61FO5s7ckZT0 mchCfurIM19f/wDDsD4EW1kpbx18RPOijJlmW/szvIGS2z7KQPouPxr134jftKeD fC7X3hfwzq1lceJ7W/j0X7Ld29wFtruVkijPlKoe6CST2rvDCQ5glMiEgDPGn4Oe OPilpV9pHxg+J/iKQay9vDqek2EsYWG38tJxaSW8W61haG7A/fq0vnwMY5dwwy+z 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 oYc0loj/2Q== ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=848086-jk-rowling.jpg Content-Type: image/jpeg; name=848086-jk-rowling.jpg Content-Location: http://resources2.news.com.au/images/2011/02/17/1226007/848086-jk-rowling.jpg Content-Transfer-Encoding: Base64 /9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgG BgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMD AwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ EBAQEBAQEBAQEBAQEBD/wAARCABLAGQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEA AAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6 Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZ mqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx 8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREA AgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hp anN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPE xcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD5 X1bwN4cltornwzHcCKAot7cCFmjgyBxI4BWPPbcRmu58NeBPDWj2q397FHIUGc7e v/16+zfhd+0l8L/hF8B3+FMXgiW41KNL2JofKiNjqT3DuWluHLBsEOFdSjEhcLkY x4/8FPCfwZvfHmh+H/jFqVsnhhbKUFbi5a3t7m6CqsMU8isNkZBkblgrMqKThsH4 qpVTjSowqXlLe/T1P0SjQq0XXxFajaMNrdfNL+t/I8C1jX9HufFNrJoiRJOkMsEa Zyw4yXK+g9a07LwZqPimR9B0qKSa+vY999cnpbxE85c9GPtzzj0r0n9onwB8DPDP xkJ+AHkS2E1lbxz2lhObq0t75pG+S3bLFtyeWWRWKqy4HJZRteFdN/4RjSn0HTJR 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 ------------qTEELT6ZhdRRaE8xd7s3ZJ Content-Disposition: inline; filename=v53nse.js Content-Type: application/x-javascript; charset=UTF-8; name=v53nse.js Content-Location: http://www.perthnow.com.au/cs/js/v53nse.js Content-Transfer-Encoding: Base64 Ly8gTmllbHNlbiBPbmxpbmUgU2l0ZUNlbnN1cyB2NTNuc2UtYi5qcw0KLy8gQ09Q WVJJR0hUIDIwMDggYnkgTmllbHNlbiBPbmxpbmUNCi8vIE1vZGlmaWVkIGJ5IEhh cmxleSBIb2Noc3RldGxlciBmb3Igbm9uLXN0YW5kYXJkIGV2ZW50IHVzZSB0byBp bmNsdWRlIHJlZmVycmVyIGRhdGENCg0KZnVuY3Rpb24gcmFuZG9tKCkNCnsNCiAg ICByYW5kb20uc2VlZCA9IChyYW5kb20uc2VlZCpyYW5kb20uYSArIHJhbmRvbS5j KSAlIHJhbmRvbS5tOw0KICAgIHJldHVybiByYW5kb20uc2VlZCAvIHJhbmRvbS5t Ow0KfQ0KcmFuZG9tLm09NzE0MDI1Ow0KcmFuZG9tLmE9NDA5NjsNCnJhbmRvbS5j PTE1MDg4OTsNCnJhbmRvbS5zZWVkID0gKG5ldyBEYXRlKCkpLmdldFRpbWUoKSVy YW5kb20ubTsNCg0KZnVuY3Rpb24gX3JzRUgoKXt9DQp3aW5kb3cub25lcnJvcj1f cnNFSDsNCg0KdmFyIF9yc0xQPWxvY2F0aW9uLnByb3RvY29sLmluZGV4T2YoJ2h0 dHBzJyk+LTE/J2h0dHBzOic6J2h0dHA6JzsNCnZhciBfcnNORD1fcnNMUCtfcnNE TjsNCnZhciBfcnNSRD0obmV3IERhdGUoKSkuZ2V0VGltZSgpOw0KaWYgKHR5cGVv ZihfcnNDQyk9PSJ1bmRlZmluZWQiKSB7dmFyIF9yc0NDPTE7fQ0KaWYgKHR5cGVv ZihfcnNEVCk9PSJ1bmRlZmluZWQiKSB7dmFyIF9yc0RUPTA7fQ0KaWYgKHR5cGVv ZihfcnNTRSk9PSJ1bmRlZmluZWQiKSB7dmFyIF9yc1NFPTA7fQ0KaWYgKHR5cGVv ZihfcnNTVik9PSJ1bmRlZmluZWQiKSB7dmFyIF9yc1NWPSIiO30NCmlmICh0eXBl b2YoX3JzU00pPT0idW5kZWZpbmVkIikge3ZhciBfcnNTTT0wO30NCmlmICh0eXBl b2YoX3JzU1MpPT0idW5kZWZpbmVkIikge3ZhciBfcnNTUz0xO30NCmlmICh0eXBl b2YoX3JzVVQpPT0idW5kZWZpbmVkIikge3ZhciBfcnNVVD0wO30NCmlmICh0eXBl b2YoX3JzTVApPT0idW5kZWZpbmVkIikge3ZhciBfcnNNUD0xO30NCmlmICh0eXBl b2YoX3JzSVApPT0idW5kZWZpbmVkIikge3ZhciBfcnNJUD0wO30NCmlmICh0eXBl b2YoX3JzQ0cpPT0idW5kZWZpbmVkIikge3ZhciBfcnNDRz0wO30NCmlmICh0eXBl b2YoX3JzVEMpPT0idW5kZWZpbmVkIikge3ZhciBfcnNUQz01MDA7fQ0KaWYgKHR5 cGVvZihfcnNTSSk9PSJ1bmRlZmluZWQiKSB7dmFyIF9yc1NJPWVzY2FwZSh3aW5k b3cubG9jYXRpb24pO30NCmlmICh0eXBlb2YoX3JzQ0wpPT0idW5kZWZpbmVkIikg e3ZhciBfcnNDTD0wO30NCmlmICh0eXBlb2YoX3JzQ1UpPT0idW5kZWZpbmVkIikg e3ZhciBfcnNDVT13aW5kb3cubG9jYXRpb247fQ0KaWYgKHR5cGVvZihfcnNQTGZs KT09InVuZGVmaW5lZCIpIHt2YXIgX3JzUExmbD0xOyB9DQppZiAodHlwZW9mKF9y c1BMcXQpPT0idW5kZWZpbmVkIikge3ZhciBfcnNQTHF0PTA7IH0NCmlmICh0eXBl b2YoX3JzUExyZSk9PSJ1bmRlZmluZWQiKSB7dmFyIF9yc1BMcmU9MDsgfQ0KaWYg KHR5cGVvZihfcnNQTHdtKT09InVuZGVmaW5lZCIpIHt2YXIgX3JzUEx3bT0wOyB9 DQppZiAodHlwZW9mKF9yc1BMamopPT0idW5kZWZpbmVkIikge3ZhciBfcnNQTGpq PTA7IH0NCmlmICh0eXBlb2YoX3JzUExhYyk9PSJ1bmRlZmluZWQiKSB7dmFyIF9y c1BMYWM9MDsgfQ0KaWYgKHR5cGVvZihfcnNQRVApPT0idW5kZWZpbmVkIikge3Zh ciBfcnNQRVA9IiI7fSAvL2ZvciBFdmVudEZhY3RvcnkgZnVuY3Rpb24gLSB0aGUg UHJldmlvdXMgRXZlbnQgUGFnZQ0KaWYgKHR5cGVvZihfcnNUZWNoKT09InVuZGVm aW5lZCIpIHt2YXIgX3JzVGVjaD0iIjt9IC8vZm9yIEV2ZW50RmFjdG9yeSBmdW5j dGlvbiAtIGluZGljYXRlcyB0eXBlIG9mIHRlY2hub2xvZ3kgdXNlZCAoYWpheDtl dGMpIA0KaWYgKHR5cGVvZihfcnNUeXBlRSk9PSJ1bmRlZmluZWQiKSB7dmFyIF9y c1R5cGVFPSIiO30gLy9mb3IgRXZlbnRGYWN0b3J5IGZ1bmN0aW9uIC0gaW5kaWNh dGVzIHR5cGUgb2YgZXZlbnQgaGFwcGVuaW5nIChwYWdlLHBhcnQtcGFnZSxzbGlk ZSkNCmlmICh0eXBlb2YoX3JzUEZvcm0pPT0idW5kZWZpbmVkIikge3ZhciBfcnNQ Rm9ybT0iIjt9IC8vZm9yIEV2ZW50RmFjdG9yeSBmdW5jdGlvbiAtIGluZGljYXRl cyB0aGUgdHlwZSBvZiBwbGF0Zm9ybSB0aGUgY29udGVudCBpcyBkZWxpdmVyZWQg b24gKHdlYixtb2JpbGUpDQppZiAodHlwZW9mKF9yc0MwKT09InVuZGVmaW5lZCIp IHt2YXIgX3JzQzA7fQ0KaWYgKHR5cGVvZihfcnNDMSk9PSJ1bmRlZmluZWQiKSB7 dmFyIF9yc0MxO30NCmlmICh0eXBlb2YoX3JzQzIpPT0idW5kZWZpbmVkIikge3Zh ciBfcnNDMjt9DQppZiAodHlwZW9mKF9yc0MzKT09InVuZGVmaW5lZCIpIHt2YXIg X3JzQzM7fQ0KaWYgKHR5cGVvZihfcnNDNCk9PSJ1bmRlZmluZWQiKSB7dmFyIF9y c0M0O30NCmlmICh0eXBlb2YoX3JzQzUpPT0idW5kZWZpbmVkIikge3ZhciBfcnND NTt9DQppZiAodHlwZW9mKF9yc0M2KT09InVuZGVmaW5lZCIpIHt2YXIgX3JzQzY7 fQ0KaWYgKHR5cGVvZihfcnNDNyk9PSJ1bmRlZmluZWQiKSB7dmFyIF9yc0M3O30N CmlmICh0eXBlb2YoX3JzQzgpPT0idW5kZWZpbmVkIikge3ZhciBfcnNDODt9DQpp ZiAodHlwZW9mKF9yc0M5KT09InVuZGVmaW5lZCIpIHt2YXIgX3JzQzk7fQ0KDQpm dW5jdGlvbiBfcnNQYXVzZShfcnNNaWxsaXMpIHsNCgl2YXIgX3JzRGF0ZSA9IG5l dyBEYXRlKCk7DQoJdmFyIF9yc0N1cnJEYXRlOw0KCQ0KCWRvIHsgDQoJCV9yc0N1 cnJEYXRlID0gbmV3IERhdGUoKTsgDQoJfSB3aGlsZShfcnNDdXJyRGF0ZSAtIF9y c0RhdGUgPCBfcnNNaWxsaXMpOw0KfSANCg0KZnVuY3Rpb24gX3JzRXZlbnRGYWN0 b3J5KF9yc0NsaWNrQ29udGVudCwgX3JzTmV3Q0cpIHsNCgl2YXIgX3JzU3JjID0g X3JzTkQgKyAnY2dpLWJpbi9tP3JuZD0nICsgKG5ldyBEYXRlKCkpLmdldFRpbWUo KTsNCglfcnNTcmMgKz0gJyZjaT0nICsgX3JzQ0k7DQoJX3JzU3JjICs9ICcmY2c9 JyArIGVzY2FwZShfcnNOZXdDRyk7DQoJX3JzU3JjICs9ICcmY2M9MSc7DQoJaWYo KF9yc1R5cGVFPT0iZG93bmxvYWQiKXx8KF9yc1R5cGVFPT0iY2xpY2tfbGluayIp KSB7DQoJCV9yc1NyYyArPSAnJnNpPScgKyBfcnNUeXBlRSArICJfIiArIGVzY2Fw ZShfcnNDbGlja0NvbnRlbnQpOw0KCX0gZWxzZSB7DQoJCV9yc1NyYyArPSAnJnNp PScgKyBfcnNUeXBlRSArICJfIiArIGVzY2FwZShfcnNDbGlja0NvbnRlbnQpICsg Il8iICsgZXNjYXBlKHdpbmRvdy5sb2NhdGlvbik7DQoJfQ0KCWlmKF9yc1BFUD09 IiIpIHsNCgkJX3JzU3JjICs9ICcmcnA9JyArIGVzY2FwZSh3aW5kb3cubG9jYXRp b24pOw0KCX0gZWxzZSB7DQoJCV9yc1NyYyArPSAnJnJwPScgKyBfcnNQRVA7DQoJ fQ0KCV9yc1BFUCA9IF9yc1R5cGVFICsgIl8iICsgZXNjYXBlKF9yc0NsaWNrQ29u dGVudCkgKyAiXyIgKyBlc2NhcGUod2luZG93LmxvY2F0aW9uKTsgLy91cGRhdGVz IHRoZSBQcmV2b3VzIEV2ZW50IFBhZ2UgdmFyaWFibGUgdG8gdGhlIGN1cnJlbnQg Q2xpY2tVUkwNCglpZihfcnNTcmMubGVuZ3RoID4gMjA0OCkJew0KCQlfcnNTcmMg PSBfcnNTcmMuc3Vic3RyaW5nKDAsIDIwNDgpOw0KCX0NCglyZXR1cm4gX3JzU3Jj Ow0KDQp9DQoNCmZ1bmN0aW9uIF9yc1BhZ2VFdmVudChfcnNDbGlja0NvbnRlbnQp IHsgIC8vdGhlIF9yc0NsaWNrQ29udGVudCB2YXJpYWJsZSBpcyB0aGUgY29udGVu dCBkZXNjcmlwdGlvbg0KCV9yc1R5cGVFPSJwYWdlIjsNCglfcnNUZWNoPSJhamF4 IjsNCgl2YXIgX3JzRXZ0SW1nID0gbmV3IEltYWdlKDEsMSk7DQoJdmFyIF9yc05l d0NHID0gX3JzUGFnZUV2ZW50LmFyZ3VtZW50cy5sZW5ndGggPiAxID8gX3JzUGFn ZUV2ZW50LmFyZ3VtZW50c1sxXSA6IF9yc0NHOw0KCV9yc0V2dEltZy5vbkxvYWQg PSBmdW5jdGlvbigpe307DQoJX3JzRXZ0SW1nLnNyYyA9IF9yc0V2ZW50RmFjdG9y eShfcnNDbGlja0NvbnRlbnQsIF9yc05ld0NHKTsNCn0NCg0KZnVuY3Rpb24gX3Jz U2VjdGlvbkV2ZW50KF9yc0NsaWNrQ29udGVudCkgeyAgLy90aGUgX3JzQ2xpY2tD b250ZW50IHZhcmlhYmxlIGlzIHRoZSBjb250ZW50IGRlc2NyaXB0aW9uDQoJX3Jz VHlwZUUgPSAic2VjdGlvbiI7DQoJX3JzVGVjaCA9ICJhamF4IjsNCgl2YXIgX3Jz RXZ0SW1nID0gbmV3IEltYWdlKDEsMSk7DQoJdmFyIF9yc05ld0NHID0gX3JzU2Vj dGlvbkV2ZW50LmFyZ3VtZW50cy5sZW5ndGggPiAxID8gX3JzU2VjdGlvbkV2ZW50 LmFyZ3VtZW50c1sxXSA6IF9yc0NHOw0KCV9yc0V2dEltZy5vbkxvYWQgPSBmdW5j dGlvbigpe307DQoJX3JzRXZ0SW1nLnNyYyA9IF9yc0V2ZW50RmFjdG9yeShfcnND bGlja0NvbnRlbnQsIF9yc05ld0NHKTsNCn0NCg0KZnVuY3Rpb24gX3JzU2xpZGVT aG93RXZlbnQoX3JzQ2xpY2tDb250ZW50KSB7ICAvL3RoZSBfcnNDbGlja0NvbnRl bnQgdmFyaWFibGUgaXMgdGhlIHNsaWRlIGRlc2NyaXB0aW9uDQoJX3JzVHlwZUUg PSAic2xpZGUiOw0KCV9yc1RlY2ggPSAiYWpheCI7DQoJdmFyIF9yc0V2dEltZyA9 IG5ldyBJbWFnZSgxLDEpOw0KCXZhciBfcnNOZXdDRyA9IF9yc1NsaWRlU2hvd0V2 ZW50LmFyZ3VtZW50cy5sZW5ndGggPiAxID8gX3JzU2xpZGVTaG93RXZlbnQuYXJn dW1lbnRzWzFdIDogX3JzQ0c7DQoJX3JzRXZ0SW1nLm9uTG9hZCA9IGZ1bmN0aW9u KCl7fTsNCglfcnNFdnRJbWcuc3JjID0gX3JzRXZlbnRGYWN0b3J5KF9yc0NsaWNr Q29udGVudCwgX3JzTmV3Q0cpOw0KfQ0KDQpmdW5jdGlvbiBfcnNEb3dubG9hZEV2 ZW50KF9yc0NsaWNrQ29udGVudCkgeyAvL3RoZSBfcnNDbGlja0NvbnRlbnQgaXMg VVJMIG9mIHRoZSBmaWxlIHRvIGJlIGRvd25sb2FkZWQNCgkJX3JzVHlwZUUgPSAi ZG93bmxvYWQiOw0KICAgICAgICB2YXIgX3JzTmV3Q0cgPSBfcnNEb3dubG9hZEV2 ZW50LmFyZ3VtZW50cy5sZW5ndGggPiAxID8gX3JzRG93bmxvYWRFdmVudC5hcmd1 bWVudHNbMV0gOiBfcnNDRzsNCiAgICAgICAgdmFyIF9yc0NsaWNrSW1nID0gbmV3 IEltYWdlKDEsMSk7DQogICAgICAgIF9yc0NsaWNrSW1nLnNyYyA9IF9yc0V2ZW50 RmFjdG9yeShfcnNDbGlja0NvbnRlbnQsIF9yc05ld0NHKTsNCiAgICAgICAgX3Jz UGF1c2UoX3JzVEMpOw0KfQ0KDQoJCXZhciBfcnNDbGlja0RzdDsNCmZ1bmN0aW9u IF9yc0NsaWNrRXZlbnQoX3JzQ2xpY2tDb250ZW50KSB7IC8vdGhlIF9yc0NsaWNr Q29udGVudCBpcyB0aGUgZGVzdGluYXRpb24gbGluayBvciBVUkwNCgkJX3JzVHlw ZUUgPSAiY2xpY2tfbGluayI7DQogICAgICAgIHZhciBfcnNOZXdDRyA9IF9yc0Ns aWNrRXZlbnQuYXJndW1lbnRzLmxlbmd0aCA+IDEgPyBfcnNDbGlja0V2ZW50LmFy Z3VtZW50c1sxXSA6IF9yc0NHOw0KICAgICAgICB2YXIgX3JzQ2xpY2tJbWcgPSBu ZXcgSW1hZ2UoMSwxKTsNCiAgICAgICAgX3JzQ2xpY2tJbWcuc3JjID0gX3JzRXZl bnRGYWN0b3J5KF9yc0NsaWNrQ29udGVudCwgX3JzTmV3Q0cpOw0KICAgICAgICBf cnNDbGlja0RzdCA9IF9yc0NsaWNrQ29udGVudDsNCiAgICAgICAgc2V0VGltZW91 dCgid2luZG93LmxvY2F0aW9uID0gX3JzQ2xpY2tEc3QiLCBfcnNUQyk7DQp9DQoN CmZ1bmN0aW9uIF9yc1ZlckluZm8oc3RyLCBjdCkgew0KCXZhciBwID0gMDsNCglm b3IodmFyIGk9MDtpPGN0JiZwPj0wO2krKykgeyBwID0gc3RyLmluZGV4T2YoJy4n LCBwKzEpOyB9DQoJaWYocD4wKSB7DQoJCXZhciB2ID0gc3RyLmNoYXJBdChwLTEp Ow0KCQlyZXR1cm4gdi5tYXRjaCgvXGQrL2cpID8gdiA6IDA7DQoJfSBlbHNlIHsN CgkJcmV0dXJuIDA7DQoJfQ0KfQ0KDQpmdW5jdGlvbiBfcnNQbHVnaW5EZXRlY3Qo KSB7DQogICAgICAgIHZhciBfcnNQbHVnaW5zID0gW107DQoJdmFyIF9yc01UID0g bmF2aWdhdG9yLm1pbWVUeXBlczsgLy8gLTEgaW5kaWNhdGVzIHVua25vd24NCglp ZihfcnNNVCAmJiBfcnNNVC5sZW5ndGggPiAwKSB7DQoJCXZhciBrOw0KCQlpZihf cnNQTGZsPT0xKSB7DQoJCSAgICAgICAgX3JzUGx1Z2luc1snRkwnXT0tMTsNCgkJ CWsgPSAnYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2gnOw0KCQkJaWYoX3Jz TVRba10gJiYgX3JzTVRba10uZW5hYmxlZFBsdWdpbikgew0KCQkJCV9yc1BsdWdp bnNbJ0ZMJ10gPSBfcnNWZXJJbmZvKF9yc01UW2tdLmVuYWJsZWRQbHVnaW4uZGVz Y3JpcHRpb24sIDEpOw0KCQkJfQ0KCQl9DQoJCWlmKF9yc1BMcXQ9PTEpIHsNCgkJ CV9yc1BsdWdpbnNbJ1FUJ109LTE7DQoJCQlrID0gJ3ZpZGVvL3F1aWNrdGltZSc7 DQoJCQlpZihfcnNNVFtrXSAmJiBfcnNNVFtrXS5lbmFibGVkUGx1Z2luKSB7DQoJ CQkJX3JzUGx1Z2luc1snUVQnXSA9IF9yc1ZlckluZm8oX3JzTVRba10uZW5hYmxl ZFBsdWdpbi5uYW1lLCAxKTsNCgkJCX0NCgkJfQ0KCQlpZihfcnNQTHJlPT0xKSB7 DQoJCQlfcnNQbHVnaW5zWydSRSddPS0xOw0KCQkJayA9ICdhdWRpby94LXBuLXJl YWxhdWRpby1wbHVnaW4nOw0KCQkJaWYoX3JzTVRba10gJiYgX3JzTVRba10uZW5h YmxlZFBsdWdpbikgew0KCQkJCV9yc1BsdWdpbnNbJ1JFJ10gPSAwOw0KCQkJfQ0K CQl9DQoJCWlmKF9yc1BMd209PTEpIHsNCgkJCV9yc1BsdWdpbnNbJ1FUJ109LTE7 DQoJCQl2YXIgcnQgPSB0cnVlOw0KCQkJaWYod2luZG93LkdlY2tvQWN0aXZlWE9i amVjdCkgew0KCQkJCXRyeSB7DQoJCQkJCXZhciBwID0gbmV3IEdlY2tvQWN0aXZl WE9iamVjdCgiV01QbGF5ZXIuT0NYLjciKTsNCgkJCQkJX3JzUGx1Z2luc1snV00n XSA9IF9yc1ZlckluZm8ocC52ZXJzaW9uSW5mbywgMSk7DQoJCQkJCXJ0ID0gZmFs c2U7DQoJCQkJfSBjYXRjaChlKSB7fQ0KCQkJfSANCgkJCWlmKHJ0KSB7DQoJCQkJ ayA9ICdhcHBsaWNhdGlvbi94LW1wbGF5ZXIyJzsNCgkJCQlpZihfcnNNVFtrXSAm JiBfcnNNVFtrXS5lbmFibGVkUGx1Z2luKSB7DQoJCQkJCV9yc1BsdWdpbnNbJ1dN J10gPSAwOw0KCQkJCX0NCgkJCX0NCgkJCQ0KCQl9DQoJCWlmKF9yc1BMamo9PTEp IHsNCgkJCV9yc1BsdWdpbnNbJ0pKJ109LTE7DQoJCQlrID0gJ2FwcGxpY2F0aW9u L3gtamF2YS1hcHBsZXQnOw0KCQkJaWYoX3JzTVRba10gJiYgX3JzTVRba10uZW5h YmxlZFBsdWdpbikgew0KCQkJCXZhciB2ID0gX3JzVmVySW5mbyhfcnNNVFtrXS5l bmFibGVkUGx1Z2luLmRlc2NyaXB0aW9uLCAyKTsNCgkJCQlfcnNQbHVnaW5zWydK SiddID0gKHYgPT0gMCA/IHYgOiAnMS4nK3YpOw0KCQkJfQ0KCQl9DQoJCWlmKF9y c1BMYWM9PTEpIHsNCgkJCV9yc1BsdWdpbnNbJ0FDJ109LTE7DQoJCQlrID0gJ2Fw cGxpY2F0aW9uL3BkZic7DQoJCQlpZihfcnNNVFtrXSAmJiBfcnNNVFtrXS5lbmFi bGVkUGx1Z2luKSB7DQoJCQkJX3JzUGx1Z2luc1snQUMnXSA9IDA7DQoJCQl9DQoJ CX0NCgl9IGVsc2UgaWYod2luZG93LkFjdGl2ZVhPYmplY3QpIHsNCgkJdmFyIF9y c1A7DQoNCgkJaWYoX3JzUExmbD09MSkgew0KCQkJX3JzUGx1Z2luc1snRkwnXT0t MTsNCgkJCWZvcih2YXIgaT05O2k+MDtpLS0pIHsNCgkJCQl0cnkgew0KCQkJCQlf cnNQID0gbmV3IEFjdGl2ZVhPYmplY3QoJ1Nob2Nrd2F2ZUZsYXNoLlNob2Nrd2F2 ZUZsYXNoLicraSk7DQoJCQkJCWlmKF9yc1AgIT0gbnVsbCkgeyBfcnNQbHVnaW5z WydGTCddID0gaTsgYnJlYWs7IH0NCgkJCQl9IGNhdGNoKGUpIHt9DQoJCQl9DQoJ CX0NCgkJaWYoX3JzUExxdD09MSkgew0KCQkJX3JzUGx1Z2luc1snUVQnXT0tMTsN CgkJCXRyeSB7DQoJCQkJX3JzUCA9IG5ldyBBY3RpdmVYT2JqZWN0KCdRdWlja1Rp bWVDaGVja09iamVjdC5RdWlja1RpbWVDaGVjay4xJyk7DQoJCQkJaWYoX3JzUCAh PSBudWxsKSB7IF9yc1BsdWdpbnNbJ1FUJ10gPSBwYXJzZUludChfcnNQLlF1aWNr VGltZVZlcnNpb24udG9TdHJpbmcoMTYpLnN1YnN0cmluZygwLDEpKTsgfQ0KCQkJ fSBjYXRjaChlKSB7fQ0KCQl9DQoJCWlmKF9yc1BMcmU9PTEpIHsNCgkJCV9yc1Bs dWdpbnNbJ1JFJ109LTE7DQoJCQl0cnkgew0KCQkJCV9yc1AgPSBuZXcgQWN0aXZl WE9iamVjdCgncm1vY3guUmVhbFBsYXllciBHMiBDb250cm9sLjEnKTsNCgkJCQlp ZihfcnNQICE9IG51bGwpIHsgX3JzUGx1Z2luc1snUkUnXSA9IDA7IH0NCgkJCX0g Y2F0Y2goZSkge30NCgkJfQ0KCQlpZihfcnNQTHdtPT0xKSB7DQoJCQlfcnNQbHVn aW5zWydXTSddPS0xOw0KCQkJdHJ5IHsNCgkJCQlfcnNQID0gbmV3IEFjdGl2ZVhP YmplY3QoJ1dNUGxheWVyLk9DWC43Jyk7DQoJCQkJaWYoX3JzUCAhPSBudWxsKSB7 IF9yc1BsdWdpbnNbJ1dNJ10gPSBfcnNWZXJJbmZvKF9yc1AudmVyc2lvbkluZm8s IDEpOyB9DQoJCQl9IGNhdGNoKGUpIHt9DQoJCX0NCgkJaWYoX3JzUExqaj09MSkg ew0KCQkJX3JzUGx1Z2luc1snSkonXT0tMTsNCgkJCXRyeSB7DQoJCQkJX3JzUCA9 IG5ldyBBY3RpdmVYT2JqZWN0KCdKYXZhUGx1Z2luJyk7DQoJCQkJaWYoX3JzUCAh PSBudWxsKSB7IF9yc1BsdWdpbnNbJ0pKJ10gPSAwOyB9DQoJCQl9IGNhdGNoKGUp IHt9DQoJCX0NCgkJaWYoX3JzUExhYz09MSkgew0KCQkJX3JzUGx1Z2luc1snQUMn XT0tMTsNCgkJCXZhciBydCA9IHRydWU7DQoJCQl0cnkgew0KCQkJCV9yc1AgPSBu ZXcgQWN0aXZlWE9iamVjdCgnQWNyb1BERi5QREYuMScpOw0KCQkJCWlmKF9yc1Ag IT0gbnVsbCkgeyBfcnNQbHVnaW5zWydBQyddID0gX3JzVmVySW5mbyhfcnNQLkdl dFZlcnNpb25zKCksIDEpOyBydCA9IGZhbHNlOyB9DQoJCQl9IGNhdGNoKGUpIHt9 DQoJCQlpZihydCkgew0KCQkJCWZvcih2YXIgaT02O2k+MjtpLS0pIHsNCgkJCQkJ dHJ5IHsNCgkJCQkJCV9yc1AgPSBuZXcgQWN0aXZlWE9iamVjdCgnUERGLlBkZkN0 cmwuJytpKTsNCgkJCQkJCWlmKF9yc1AgIT0gbnVsbCkgeyBfcnNQbHVnaW5zWydB QyddID0gaTsgYnJlYWs7IH0NCgkJCQkJfSBjYXRjaChlKSB7fQ0KCQkJCX0NCgkJ CX0NCgkJfQ0KCX0NCglyZXR1cm4gX3JzUGx1Z2luczsNCn0NCg0KZnVuY3Rpb24g cnNDaSgpDQp7DQoJdmFyIF9yc1VBPW5hdmlnYXRvci5hcHBOYW1lKyIgIituYXZp Z2F0b3IuYXBwVmVyc2lvbjsNCgl2YXIgX3JzUlVBPW5hdmlnYXRvci51c2VyQWdl bnQ7DQoJdmFyIF9yc1dTPXdpbmRvdy5zY3JlZW47DQoJdmFyIF9yc0JWPW5hdmln YXRvci5hcHBWZXJzaW9uLnN1YnN0cmluZygwLCAxKTsNCgl2YXIgX3JzTk49KF9y c1VBLmluZGV4T2YoJ05ldHNjYXBlJykpOw0KCXZhciBfcnNNQz0oX3JzVUEuaW5k ZXhPZignTWFjJykpOw0KCXZhciBfcnNJRT0oX3JzVUEuaW5kZXhPZignTVNJRScp KTsNCgl2YXIgX3JzT1A9KF9yc1JVQS5pbmRleE9mKCdPcGVyYScpKTsNCgl2YXIg X3JzSUVWPShwYXJzZUludChfcnNVQS5zdWJzdHIoX3JzSUUrNSkpKTsNCgl2YXIg X3JzUlA9ZXNjYXBlKGRvY3VtZW50LnJlZmVycmVyKTsNCgl2YXIgX3JzU1I7DQoJ dmFyIF9yc0NEOw0KCXZhciBfcnNMRzsNCgl2YXIgX3JzSkU7DQoJdmFyIF9yc0NL Ow0KCXZhciBfcnNUWjsNCgl2YXIgX3JzQ1Q7DQoJdmFyIF9yc0hQOw0KCXZhciBf cnNUTDsNCgl2YXIgX3JzU1c7DQoJdmFyIF9yc1NIOw0KCXZhciBfcnNGTDsNCgl2 YXIgX3JzUVQ7DQoJdmFyIF9yc1JFOw0KCXZhciBfcnNXTTsNCgl2YXIgX3JzSko7 DQoJdmFyIF9yc0FDOw0KCWlmIChfcnNNUD09MCkge3JldHVybjt9DQogICAgICAg IF9yc0pFPShuYXZpZ2F0b3IuamF2YUVuYWJsZWQoKT09dHJ1ZSk/InkiOiJuIjsN CiAgICAgICAgaWYgKF9yc0RUPT0xKSB7DQoJCV9yc1RMPWVzY2FwZShkb2N1bWVu dC50aXRsZSk7DQoJfQ0KCWlmKChfcnNJRT4wKXx8KChfcnNOTiE9LTEpJiYoX3Jz QlYgPj01KSkpIHsNCgkJX3JzQ0s9KG5hdmlnYXRvci5jb29raWVFbmFibGVkPT10 cnVlKT8ieSI6Im4iOw0KCX0NCglpZigoX3JzSUU+PTApJiYoX3JzSUVWPj01KSYm KF9yc01DPT0tMSkmJihfcnNPUD09LTEpKSB7DQoJCWRvY3VtZW50LmJvZHkuYWRk QmVoYXZpb3IoIiNkZWZhdWx0I2NsaWVudENhcHMiKTsNCgkJX3JzQ1Q9ZG9jdW1l bnQuYm9keS5jb25uZWN0aW9uVHlwZTsNCgkJZG9jdW1lbnQuYm9keS5hZGRCZWhh dmlvcigiI2RlZmF1bHQjaG9tZVBhZ2UiKTsNCgkJX3JzSFA9KGRvY3VtZW50LmJv ZHkuaXNIb21lUGFnZShsb2NhdGlvbi5ocmVmKSk/InkiOiJuIjsNCgl9DQoJdmFy IF9yc0QgPSBuZXcgRGF0ZSgpOw0KCV9yc1RaID0gX3JzRC5nZXRUaW1lem9uZU9m ZnNldCgpLy02MDsNCglpZigodHlwZW9mKF9yc1dTKSE9InVuZGVmaW5lZCIpJiYo X3JzV1MhPW51bGwpKSB7DQoJCV9yc1NXPV9yc1dTLndpZHRoOw0KCQlfcnNTSD1f cnNXUy5oZWlnaHQ7DQoJCV9yc0NEPV9yc1dTLmNvbG9yRGVwdGg7DQoJCV9yc1NS PV9yc1NXKyd4JytfcnNTSDsNCgkJaWYoKF9yc05OIT0tMSkmJihfcnNCViA+PTQp KSB7DQoJCQlfcnNDRD1fcnNXUy5waXhlbERlcHRoOw0KCQl9DQoJfQ0KCWlmKChf cnNOTiE9LTEpJiYoX3JzQlYgPj00KXx8KF9yc09QPj0wKSkgew0KCQlfcnNMRz1u YXZpZ2F0b3IubGFuZ3VhZ2U7DQoJfQ0KCWlmKChfcnNJRSE9LTEpJiYoX3JzQlYg Pj00KSYmKF9yc09QPT0tMSkpIHsNCgkJX3JzTEc9bmF2aWdhdG9yLnVzZXJMYW5n dWFnZTsNCgl9DQoJdmFyIF9yc1BsdWdpbnMgPSBfcnNQbHVnaW5EZXRlY3QoKTsN Cgl2YXIgX3JzUFI9IiI7DQoJX3JzUFI9JzxpbWcgc3JjPSInOw0KCV9yc1BSPV9y c1BSK19yc05EKydjZ2ktYmluL20/cm5kPScrKG5ldyBEYXRlKCkpLmdldFRpbWUo KTsNCglfcnNQUj1fcnNQUisnJmNpPScrX3JzQ0k7DQoJX3JzUFI9X3JzUFIrJyZj Zz0nK2VzY2FwZShfcnNDRyk7DQoJX3JzUFI9X3JzUFIrJyZjYz0nK19yc0NDOw0K CWlmIChfcnNTUiE9bnVsbCkge19yc1BSPV9yc1BSKycmc3I9JytfcnNTUjt9DQoJ aWYgKF9yc0NEIT1udWxsKSB7X3JzUFI9X3JzUFIrJyZjZD0nK19yc0NEO30NCglp ZiAoX3JzTEchPW51bGwpIHtfcnNQUj1fcnNQUisnJmxnPScrX3JzTEc7fQ0KCWlm IChfcnNKRSE9bnVsbCkge19yc1BSPV9yc1BSKycmamU9JytfcnNKRTt9DQoJaWYg KF9yc0NLIT1udWxsKSB7X3JzUFI9X3JzUFIrJyZjaz0nK19yc0NLO30NCglpZiAo X3JzVFohPW51bGwpIHtfcnNQUj1fcnNQUisnJnR6PScrX3JzVFo7fQ0KCWlmIChf cnNDVCE9bnVsbCkge19yc1BSPV9yc1BSKycmY3Q9JytfcnNDVDt9DQoJaWYgKF9y c0hQIT1udWxsKSB7X3JzUFI9X3JzUFIrJyZocD0nK19yc0hQO30NCglpZiAoX3Jz VEwhPW51bGwpIHtfcnNQUj1fcnNQUisnJnRsPScrX3JzVEw7fQ0KCWlmIChfcnNV VD09MSkgew0KCSAgIGlmIChfcnNDMCE9bnVsbCkge19yc1BSPV9yc1BSKycmYzA9 Jytlc2NhcGUoX3JzQzApO30NCgkgICBpZiAoX3JzQzEhPW51bGwpIHtfcnNQUj1f cnNQUisnJmMxPScrZXNjYXBlKF9yc0MxKTt9DQoJICAgaWYgKF9yc0MyIT1udWxs KSB7X3JzUFI9X3JzUFIrJyZjMj0nK2VzY2FwZShfcnNDMik7fQ0KCSAgIGlmIChf cnNDMyE9bnVsbCkge19yc1BSPV9yc1BSKycmYzM9Jytlc2NhcGUoX3JzQzMpO30N CgkgICBpZiAoX3JzQzQhPW51bGwpIHtfcnNQUj1fcnNQUisnJmM0PScrZXNjYXBl KF9yc0M0KTt9DQoJICAgaWYgKF9yc0M1IT1udWxsKSB7X3JzUFI9X3JzUFIrJyZj NT0nK2VzY2FwZShfcnNDNSk7fQ0KCSAgIGlmIChfcnNDNiE9bnVsbCkge19yc1BS PV9yc1BSKycmYzY9Jytlc2NhcGUoX3JzQzYpO30NCgkgICBpZiAoX3JzQzchPW51 bGwpIHtfcnNQUj1fcnNQUisnJmM3PScrZXNjYXBlKF9yc0M3KTt9DQoJICAgaWYg KF9yc0M4IT1udWxsKSB7X3JzUFI9X3JzUFIrJyZjOD0nK2VzY2FwZShfcnNDOCk7 fQ0KCSAgIGlmIChfcnNDOSE9bnVsbCkge19yc1BSPV9yc1BSKycmYzk9Jytlc2Nh cGUoX3JzQzkpO30NCgl9DQoJaWYgKF9yc1BsdWdpbnNbJ0ZMJ10hPW51bGwpIHtf cnNQUj1fcnNQUisnJmZsPScrX3JzUGx1Z2luc1snRkwnXTt9DQoJaWYgKF9yc1Bs dWdpbnNbJ1FUJ10hPW51bGwpIHtfcnNQUj1fcnNQUisnJnF0PScrX3JzUGx1Z2lu c1snUVQnXTt9DQoJaWYgKF9yc1BsdWdpbnNbJ1JFJ10hPW51bGwpIHtfcnNQUj1f cnNQUisnJnJlPScrX3JzUGx1Z2luc1snUkUnXTt9DQoJaWYgKF9yc1BsdWdpbnNb J1dNJ10hPW51bGwpIHtfcnNQUj1fcnNQUisnJndtPScrX3JzUGx1Z2luc1snV00n XTt9DQoJaWYgKF9yc1BsdWdpbnNbJ0pKJ10hPW51bGwpIHtfcnNQUj1fcnNQUisn JmpqPScrX3JzUGx1Z2luc1snSkonXTt9DQoJaWYgKF9yc1BsdWdpbnNbJ0FDJ10h PW51bGwpIHtfcnNQUj1fcnNQUisnJmFjPScrX3JzUGx1Z2luc1snQUMnXTt9DQoJ X3JzUFI9X3JzUFIrJyZzaT0nK19yc1NJOw0KCV9yc1BSPV9yc1BSKycmcnA9Jytf cnNSUDsNCglpZiAoX3JzSVA9PTEpIHtfcnNQUj1fcnNQUisnIiBzdHlsZT0iZGlz cGxheTpub25lJzt9DQoJX3JzUFI9X3JzUFIrJyIgd2lkdGg9IjEiIGhlaWdodD0i MSIgYWx0PSIiLz4nOw0KCWRvY3VtZW50LndyaXRlKF9yc1BSKTsNCn0NCg0KZnVu Y3Rpb24gX3JzQ0xTZW5kSXQoX3JzU3JjLCBfcnNEZXN0LCBfcnNUYXJnZXRUeXBl LCBfcnNDbGlja05hbWUsIF9yc0NsaWNrVmFsdWUpIHsNCgl2YXIgX3JzQ0xEYXRh ID0gX3JzTkQrJ2NnaS1iaW4vbT9ybmQ9JysobmV3IERhdGUoKSkuZ2V0VGltZSgp Ow0KCV9yc0NMRGF0YSAgPSBfcnNDTERhdGErJyZjaT0nK19yc0NJOw0KCV9yc0NM RGF0YSAgPSBfcnNDTERhdGErJyZjZz0nK2VzY2FwZShfcnNDRyk7DQoJX3JzQ0xE YXRhICA9IF9yc0NMRGF0YSsnJmNjPTAnOw0KCV9yc0NMRGF0YSA9IF9yc0NMRGF0 YSsnJnNpPScrX3JzQ0krJy1jdHBvLScrZXNjYXBlKF9yc0Rlc3QpOw0KCV9yc0NM RGF0YSA9IF9yc0NMRGF0YSsnJnJwPScrZXNjYXBlKF9yc1NyYyk7DQoJX3JzQ0xE YXRhID0gX3JzQ0xEYXRhKycmdHQ9Jytlc2NhcGUoX3JzVGFyZ2V0VHlwZSk7DQoJ X3JzQ0xEYXRhID0gX3JzQ0xEYXRhKycmY249Jytlc2NhcGUoX3JzQ2xpY2tOYW1l KTsNCglfcnNDTERhdGEgPSBfcnNDTERhdGErJyZjdj0nK2VzY2FwZShfcnNDbGlj a1ZhbHVlKTsNCglpZihfcnNDTERhdGEubGVuZ3RoID4gMjA0OCkJew0KCQlfcnND TERhdGEgPSBfcnNDTERhdGEuc3Vic3RyaW5nKDAsIDIwNDgpOw0KCX0NCgl2YXIg X3JzUHggPSBuZXcgSW1hZ2UoMSwxKTsNCglfcnNQeC5zcmMgPSBfcnNDTERhdGE7 DQoJX3JzUGF1c2UoX3JzVEMpOw0KfQ0KZnVuY3Rpb24gX3JzQ0xTZW5kQUxpbmso X3JzQUxpbmspIHsNCgl2YXIgX3JzTmFtZSA9IF9yc0FMaW5rLmlubmVySFRNTC50 b0xvd2VyQ2FzZSgpLmluZGV4T2YoJ2ltZycpID4gLTEgPyAnaW1hZ2UnIDogJ3Rl eHQnOw0KCV9yc0NMU2VuZEl0KF9yc0NVLCBfcnNBTGluay5ocmVmLCBfcnNBTGlu ay50YWdOYW1lLnRvTG93ZXJDYXNlKCksIF9yc05hbWUsIF9yc0FMaW5rLmlubmVy SFRNTCk7DQp9DQpmdW5jdGlvbiBfcnNDTFNlbmRGb3JtKF9yc0lucHV0KSB7DQoJ aWYoX3JzSW5wdXQuZm9ybSA9PSB1bmRlZmluZWQgfHwgX3JzSW5wdXQuZm9ybS5h Y3Rpb24gPT0gdW5kZWZpbmVkKSB7DQoJCXJldHVybjsNCgl9DQoNCiAgICAgICAg aWYgKF9yc0lucHV0LnR5cGUgPT0gJ2ltYWdlJykgew0KICAgICAgICAgICAgICAg IHZhciBfcnNWYWx1ZSA9IF9yc0lucHV0LnNyYzsNCiAgICAgICAgfQ0KICAgICAg ICBlbHNlIGlmIChfcnNJbnB1dC50YWdOYW1lID09ICdCVVRUT04nKSB7DQogICAg ICAgICAgICAgICAgdmFyIF9yc1ZhbHVlID0gX3JzSW5wdXQuaW5uZXJIVE1MLnJl cGxhY2UoL15ccyt8XHMrJC9nLCAnJykucmVwbGFjZSgvXHMrL2csICcgJyk7DQog ICAgICAgICAgICAgICAgaWYgKF9yc1ZhbHVlID09ICIiKSBfcnNWYWx1ZSA9IF9y c0lucHV0LnZhbHVlOw0KICAgICAgICB9DQogICAgICAgIGVsc2Ugew0KICAgICAg ICAgICAgdmFyIF9yc1ZhbHVlID0gX3JzSW5wdXQudmFsdWU7DQogICAgICAgIH0N Cg0KCV9yc0NMU2VuZEl0KF9yc0NVLCBfcnNJbnB1dC5mb3JtLmFjdGlvbiwgX3Jz SW5wdXQuZm9ybS50YWdOYW1lLnRvTG93ZXJDYXNlKCksIF9yc0lucHV0LnR5cGUu dG9Mb3dlckNhc2UoKSwgX3JzVmFsdWUpOw0KfQ0KZnVuY3Rpb24gX3JzQ0xDYXRj aEl0KGUpIHsNCgl2YXIgX3JzQ3VyciA9IGUgPyBlLnRhcmdldCA6IHdpbmRvdy5l dmVudC5zcmNFbGVtZW50Ow0KCWlmICgoX3JzQ3Vyci50YWdOYW1lID09ICdJTlBV VCcgfHwgX3JzQ3Vyci50YWdOYW1lID09ICdCVVRUT04nKQ0KCQkmJiAoX3JzQ3Vy ci50eXBlID09ICdpbWFnZScgfHwgX3JzQ3Vyci50eXBlID09ICdzdWJtaXQnIHx8 IF9yc0N1cnIudHlwZSA9PSAnYnV0dG9uJykpIHsNCgkJX3JzQ0xTZW5kRm9ybShf cnNDdXJyKTsNCgl9DQoJZWxzZQ0KCXsNCgkJZG8gew0KCQkJaWYgKChfcnNDdXJy LnRhZ05hbWUgPT0gJ0EnKSAmJiAoX3JzQ3Vyci5ocmVmLmxlbmd0aCA+IDApKSB7 DQoJCQkJX3JzQ0xTZW5kQUxpbmsoX3JzQ3Vycik7DQoJCQkJYnJlYWs7DQoJCQl9 DQoJCQlfcnNDdXJyID0gX3JzQ3Vyci5wYXJlbnROb2RlOw0KCQl9IHdoaWxlIChf cnNDdXJyICE9IG51bGwgJiYgX3JzQ3Vyci50YWdOYW1lICE9ICdCT0RZJykNCgl9 DQp9DQoNCmZ1bmN0aW9uIF9yc0NMUmVnaXN0ZXJJdCgpIHsNCglpZighZG9jdW1l bnQuZ2V0RWxlbWVudEJ5SWQpIHsNCgkJcmV0dXJuOw0KCX0NCgl2YXIgX3JzT2xk ID0gZG9jdW1lbnQuYm9keS5vbmNsaWNrOw0KCWlmKF9yc09sZCkgew0KCQlkb2N1 bWVudC5ib2R5Lm9uY2xpY2sgPSBmdW5jdGlvbiAoKSB7DQoJCQlfcnNDTENhdGNo SXQoKTsNCgkJCV9yc09sZCgpOw0KCQl9DQoJfQ0KCWVsc2Ugew0KCQlkb2N1bWVu dC5ib2R5Lm9uY2xpY2sgPSBfcnNDTENhdGNoSXQ7DQoJfQ0KfQ0KDQovLyBtYWlu DQppZigoX3JzU0UpJiYocmFuZG9tKCkgPD0gX3JzU00pKSB7DQogICAgICAgIHZh ciBfcnNJTT0nPHNjcicrJ2lwdCBsYW5ndWFnZT0iSmF2YVNjcmlwdCIgdHlwZT0i dGV4dC9qYXZhc2NyaXB0IiBzcmM9IicrX3JzTkQrJ2NnaS1iaW4vaj9jaT0nK19y c0NJKycmc3M9JytfcnNTUysnJmNjPScrX3JzQ0MrJyZyZD0nK19yc1JEKycmc2U9 JytfcnNTRSsnJnN2PScrX3JzU1YrJyI+PFwvc2NyJysnaXB0Pic7DQogICAgZG9j dW1lbnQud3JpdGUoX3JzSU0pOw0KfQ0KZWxzZSB7DQogICAgcnNDaSgpOw0KfQ0K aWYoX3JzQ0w9PTEpIHsNCglfcnNDTFJlZ2lzdGVySXQoKTsNCn0NCg== ------------qTEELT6ZhdRRaE8xd7s3ZJ--