<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[187056] branches/safari-601.1-branch</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/187056">187056</a></dd>
<dt>Author</dt> <dd>matthew_hanson@apple.com</dd>
<dt>Date</dt> <dd>2015-07-20 21:36:34 -0700 (Mon, 20 Jul 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Merge <a href="http://trac.webkit.org/projects/webkit/changeset/186858">r186858</a>. rdar://problem/21643094</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#branchessafari6011branchLayoutTestsChangeLog">branches/safari-601.1-branch/LayoutTests/ChangeLog</a></li>
<li><a href="#branchessafari6011branchSourceWebCoreCMakeListstxt">branches/safari-601.1-branch/Source/WebCore/CMakeLists.txt</a></li>
<li><a href="#branchessafari6011branchSourceWebCoreChangeLog">branches/safari-601.1-branch/Source/WebCore/ChangeLog</a></li>
<li><a href="#branchessafari6011branchSourceWebCoreWebCorexcodeprojprojectpbxproj">branches/safari-601.1-branch/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#branchessafari6011branchSourceWebCorebindingsjsJSDOMBindingh">branches/safari-601.1-branch/Source/WebCore/bindings/js/JSDOMBinding.h</a></li>
<li><a href="#branchessafari6011branchSourceWebCorebindingsscriptsCodeGeneratorJSpm">branches/safari-601.1-branch/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm</a></li>
<li><a href="#branchessafari6011branchSourceWebCorehtmlcanvasDOMPathh">branches/safari-601.1-branch/Source/WebCore/html/canvas/DOMPath.h</a></li>
<li><a href="#branchessafari6011branchSourceWebCoreplatformgraphicsPathh">branches/safari-601.1-branch/Source/WebCore/platform/graphics/Path.h</a></li>
<li><a href="#branchessafari6011branchSourceWebCorerenderingRenderThemeMacmm">branches/safari-601.1-branch/Source/WebCore/rendering/RenderThemeMac.mm</a></li>
<li><a href="#branchessafari6011branchSourceWebCoretestingInternalscpp">branches/safari-601.1-branch/Source/WebCore/testing/Internals.cpp</a></li>
<li><a href="#branchessafari6011branchSourceWebCoretestingInternalsh">branches/safari-601.1-branch/Source/WebCore/testing/Internals.h</a></li>
<li><a href="#branchessafari6011branchSourceWebCoretestingInternalsidl">branches/safari-601.1-branch/Source/WebCore/testing/Internals.idl</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li>branches/safari-601.1-branch/LayoutTests/fast/shrink-wrap/</li>
<li><a href="#branchessafari6011branchLayoutTestsfastshrinkwraprectshrinkwrapexpectedpng">branches/safari-601.1-branch/LayoutTests/fast/shrink-wrap/rect-shrink-wrap-expected.png</a></li>
<li><a href="#branchessafari6011branchLayoutTestsfastshrinkwraprectshrinkwrapexpectedtxt">branches/safari-601.1-branch/LayoutTests/fast/shrink-wrap/rect-shrink-wrap-expected.txt</a></li>
<li><a href="#branchessafari6011branchLayoutTestsfastshrinkwraprectshrinkwraphtml">branches/safari-601.1-branch/LayoutTests/fast/shrink-wrap/rect-shrink-wrap.html</a></li>
<li><a href="#branchessafari6011branchSourceWebCorehtmlcanvasDOMPathcpp">branches/safari-601.1-branch/Source/WebCore/html/canvas/DOMPath.cpp</a></li>
<li><a href="#branchessafari6011branchSourceWebCoreplatformgraphicsPathUtilitiescpp">branches/safari-601.1-branch/Source/WebCore/platform/graphics/PathUtilities.cpp</a></li>
<li><a href="#branchessafari6011branchSourceWebCoreplatformgraphicsPathUtilitiesh">branches/safari-601.1-branch/Source/WebCore/platform/graphics/PathUtilities.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="branchessafari6011branchLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: branches/safari-601.1-branch/LayoutTests/ChangeLog (187055 => 187056)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601.1-branch/LayoutTests/ChangeLog        2015-07-21 04:36:27 UTC (rev 187055)
+++ branches/safari-601.1-branch/LayoutTests/ChangeLog        2015-07-21 04:36:34 UTC (rev 187056)
</span><span class="lines">@@ -1,3 +1,21 @@
</span><ins>+2015-07-20  Matthew Hanson  &lt;matthew_hanson@apple.com&gt;
+
+        Merge r186858. rdar://problem/21643094
+
+    2015-07-15  Tim Horton  &lt;timothy_horton@apple.com&gt;
+
+            Factor rect shrink-wrapping code out of RenderThemeMac for future reuse
+            https://bugs.webkit.org/show_bug.cgi?id=146973
+            &lt;rdar://problem/21643094&gt;
+
+            Reviewed by Anders Carlsson.
+
+            * fast/shrink-wrap/rect-shrink-wrap-expected.png: Added.
+            * fast/shrink-wrap/rect-shrink-wrap-expected.txt: Added.
+            * fast/shrink-wrap/rect-shrink-wrap.html: Added.
+            Add a test of both working and broken (indicated by comments in the test)
+            shrink-wrapping cases.
+
</ins><span class="cx"> 2015-07-16  Matthew Hanson  &lt;matthew_hanson@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Merge r186911. rdar://problem/21822541
</span></span></pre></div>
<a id="branchessafari6011branchLayoutTestsfastshrinkwraprectshrinkwrapexpectedpng"></a>
<div class="addfile"><h4>Added: branches/safari-601.1-branch/LayoutTests/fast/shrink-wrap/rect-shrink-wrap-expected.png (0 => 187056)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601.1-branch/LayoutTests/fast/shrink-wrap/rect-shrink-wrap-expected.png                                (rev 0)
+++ branches/safari-601.1-branch/LayoutTests/fast/shrink-wrap/rect-shrink-wrap-expected.png        2015-07-21 04:36:34 UTC (rev 187056)
</span><span class="lines">@@ -0,0 +1,175 @@
</span><ins>+\x89PNG
+
++IHDR X\x9Av\x82p)tEXtchecksum8aac8bc4e644c4b03150fd4dbe75645eɝ\xC3EsRGB\xAE\xCE\xE9@IDATx\xEC\xBD pW\x9A\xE7\xFBI\xA6!         D\xA9\xA4f\x8B\xAD\x96\xC1v\\xD0 R\xCFv\xB7:\xE89\xEErמ`a\xA2\xB3A\xC4\xC6\xF6\xDA+\x8C\xBBw\x83e\xEC\xF0n\xB1+\xC6q\xC1Ĵw\xE9\x9A! \x8E\xA6\xB7\x88i\xE0., 3 3\xE8\xC1\xCB\xE8\xC1C42\xDC\xF3e93OIU\xA5\xAC\xAA|\x9C\xCC\xFC\x9F\x88Ref\x9D\xC7\xFF\xFB}'S\xF9U\xE59'\xE7\x89H\x84     .\xC8u\xA1+4      \xE8     \xAE@\xE2j4     \x80}@@@@@\xC05@\C\x8D\x86@@@@@\x80\xA0\x80\x80\x80\x80\x80\xB8F\x88k\xA8\xD1\x80\x80\x80\x80\x80\xF4\xD7 q+5@\x82&gt;     \xE0 \xAE\xA1FC     @\xD0@@@@@\#\x80\xC45\xD4h@@@@@\xFA\x80\x80\x80\x80\x80\x80k\x80\xB8\x86+\x81\x80\x80\x80\x80 Ap\x8D\xD7P\xA3!
 \x811N#x\xFC\x98\xE8\xCA\xA2\x8B\x89\xDAڈ\xFA\xFA\x9Cn\xD1Z\xFDS\xA7UV͞M4s&amp;Q\xAEM\xA1X\xD8\xEC\xB5F\xDB\xFE\\xAAr\xB6\xDFRojt\xEA\xFCp\xC3\xBB\xFA\xB8\xE1-\xB6\xE1\xE7\xBE\xE1O\xE2\xF6\xAA\xB6\xEBaU\xFA\x8BUR\xC8&amp;\xB6 \x9D\x9D\x9D\xD4\xD1\xD1a\xF0kj*\xA2]\xBB\xCA\xE9\xEA\xD5|㘊\xA5\xA5\xB4fM;\xD5\xD6\xF6\xF2\xA2\xD1(\x95\x95\x95\xFB\x896\xC2fo&quot;n\xF3+g7ظ\xD1F\xA6\xE7\x87\xDA\xDC\xEA`\xE0\x867\xFDن\xCA}ßD\xEDU\xED\xD65ªj\xF4\xAB\xA4\x90/\xE8\x9E\xFA\xB1Hv\xD9\xD2\xD2B\x87\xA2\xF2i\xEB\xD6\xE7\xE9\xE7?\x9FE\xFD\xFD_\xB3\xABz\xC7\xEAa\x8D\xBF\xFDm\x9D&gt;\x9DK%%\x9FRssM\x9B6\x8D8I\x95\xC2fo*N~\xE6W\xCEN2q\xB3\xEEL\xCF74\xBA\xD57\xC0\xC0+o\xFA\xB3+\x95\xFB\x86?\x89ګڭk\x84U\xD5\xE8/VI!_\xD0        \xD8\xFA ÊD\xAA\xE8\xDDw\x97\xD3\xE5\xCB\xE3 vyyOh֬\x9A3\xE7ǽ\xDC\xE8\xEDͣ \xC6ӥK\xF948\x98\xA3Iim\x8DPc\xE3rڰA&lt;7f1\x85\xCD^\x8BXl\xCF\xE6ζ\xEEQ\x85v\x9Dn\xC8w\xAAo\x80\x81\xDE\xF3g~\xEA\xFE$l\xAFj\xA7\xAE
 VU\xA2\xBFX%\x85|a&quot;`{\xB2wo\xAD|\xF0\xB8\x8A%Kzhݺ\xEB4q␒\\xFB\xFB\xC7\xD0\xF6\xED\xD3\xE9\xE0\xC1&quot;\xE2\xE7B9pb\xB6m벤7l\xF6Z\x82\xE2@&amp;\xBFqv\x81'Uf{~\xB8!\xDA\xE9\xBEnxџm\xF8\xA1o\x{4ECF6A}\x9D\xBEFXU\x8B\xFEb\x95򅁀\xAD\x8F`\xFD\xECg\xF7\xE9\xFC1\xB2[\xA4\xF1\xA3\xC2\xFD\xAF\xED\xF4\xEF\xFE\xDD4v\xAC\xF5_܆\xCE\xDA-\xBA+\xC6{&lt;\xA2\xDF\xFCf\x8A\xD6\xFC\x8DS\xE8\xEB_\xBF/Ƅ\xA7\x946{S\xC2p\xF0C?rv\x87\xABUgs~\xB8!ԍ\xBEnxҟm\xA8\xDE7\xFCI\xD5^\xD5n\#\xAC*F\xB1J
+\xF9\xC2@\xC0\xA6\xB9\x9Fb\xA8\xF6\xEC\x89̖-\xEB\xA1\xFA\xFA[ƾ\xEA\xAC\x955\xEBI\xB6E?6\xFC]\xCE{\x87\xDB\xEF־\x9F9\xBB\xC5\xC8\xE9v29?\x9C\xD6\xC4\xF5\xBB\xD97\xC0\xC0+\x8F\xFA\xB3+U\xFB\x86?iګ\xDA\xCDk\x84U\xE5\xE8/VI!_\x90        \xD8\x80\x88\xF1\xE7\xE2\xF1\xA5        \xAB\xFC\xFCǴv\xED5\xDFqcͬ\x9D\xDB\xC26%Ka\xB37\xA7\x8F\x81\xB3ӌܪ?\x9D\xF3\xC3+M^\xF4+0pó\xFElC\xB5\xBE\xE1O\x8A\xF6\xAA\xF6\xE2a\xD5\xF4\xAB\xA4\x90/\xA8l @N\x9C0\xD5\xD4\xDCc&gt;\xBE4\xF8d\x8B5\xB3v=\xC96\xE9\xC7\xF4w\xF9\xB30ث\xDB\xED\xF6{8\xBB\xCD̩\xF6\xD29?\x9C\xD2 \xD7\xEBE\xDF\xD9ؖ        \xA8\xD67dma\xDD\xF6\xE2a\x955\xFA\x8BUR\xC8T\xB6 \xDD\xDD&amp;&quot;O\xE1\xD7$k\x97mn\x8F\xFC\x99\fx&gt;\xD5\xF7e\xED\xB2M\xAA\xE8\x965\xC9ZU\xD16\xB2d\xDFx\xC1An_\xD6\xE5\xB4\xB9-Y\x83\xD3\xED&amp;\xAA_n_֕(/\x8E9O@\xF6\x81\xEC\xE7[F \x89\xC8&gt;\x90}\x93(\xAF\xC7dM\xB2V/\xB4\xA0Mp\x9B\x80mȓ'\xA6\xF41c\xD4tn\xAAL\xBC%k\x97m\x9E[\xFEL.3&lt;\x9F\xEA\xFB\xB2v\xD9&amp;Ut˚d\xAD\xAA\xE
 8 \x9B\xD9\xB2o\xBC\xE0 \xB7/\xEBrZ\x8Bܖ\xAC\xC1\xE9v\xD5/\xB7/\xEBJ\x94ǜ' \xFB@\xF6\x8D\xF3-\xA3\x85DdȾI\x94׋c\xB2&amp;Y\xABZ\xD0&amp;\xB8M\xC0\xB6\xC4m\xE1h@@@@@\xC0\x80\xF8\xCFgP     \xBE%\x80ķ\xAE\x83p\xF0 \xC3|64d&quot;\xE1\xC5\x93%\xF93\xB9L\xB2\xFC8     @d\xDEm\x83\x86F\xA0\xB3s\xACA\xA28\xC5B\xE8\xF2gr\xA306@@@@@F@&quot;!\xE9\xEF\x8A\x8E\x9FdY\xB8\xD0\xD8\xB1!\xC6e\xB8,\x80\x80\x80\x80\x80@j@$&gt;;v̠\x81\x81\x92\x8A\x8A\xFBT]-}8l\x93?\xE3&lt;\x9C\xB8 \x97EHM\xC8W|\x8E)\xA0\xFD\xFB\x8B Z\xABVu\xDB\xC96\xE4&lt;\\x96\xEB@HN \xF4H\xFFں5B\x9B7\x97\x93\xBE\xD0\xFC\xF9\xED\xB4hQorj_}\xC2y8/'.\xCBup]\'\x80\x80\x80\x80\x80\xC0H\xA1\xBAS~,h\xBFy3\x8F:;\xC7ѺuHs\xE7&gt;\xA0K\x97\xF2ipМ\xE2!\xAD\\xD9$HEG\xD2Jp\x84\xF3޹SB\x97/\x8F#\xAE\xFF\xC0\x81&quot;:|\xB8\x90f\xCD\xA0\xF3\xE7\xC7\xD3\xF6\xED\x9FSY\xD9C\x9A6m\x90rC\xEE%\x88
 C    \xA1&quot;\xE0Hr\xEE\xDC9ڷ\xEFW\x9E\x83\x9C:u*\xF1\x8Bә3\xE5&quot;8x\x89\xBA\xBB\xCDA\xE6 ȩ\xAA\xAA\x8BV\xAF&gt;J]]\xADb\xFCGT\xFE(\xE96\xE7]\xBF&gt;\x97vﮣ\xD6ֈ\x96\x8F\xBDnt8ߥ\xA5KO\xBF\x98\xF4\xF5\xF5\xBF\xBCN\xE7\xCE}GH\x98\xEE\xB5 \xB4    \x8E *\xB0\xBBr\xE5
+͜9\x93\x9Ey\xE6Y\xF1X\xD4l:y2\x88$\xD2VZ:@kִSmm\x8F\xF88B\xF3\xE6E(\x8D&amp;\xCAw\x8C\xF3444h\xC7۩\xA9\xE9\xED\xDAUNW\xAF\xE6\xC7\xE5\xE3|v\xEE\xFC6-X\xD0G7^כ\xE9\x93O&gt;\xD14\x8EȌ     P\x8E \xCF=\xF7\xADX\x91\xFC\x86\xDF+\x96gΜ\xA13\xE6\xD2~P#~\x8D0[+\x96\xF9\xA8\xAA&quot;jn&amp;\xFA\xE5/\x89f\xCF&amp;\xE4\x8Bǣ暙,n\x95\x95\x95\x89ǫʌ\xDCuuD\x9B6\x89؇.^$\xFA\xEEw\x89^|\x91\xC4/#D\x8FŲq \xF4\xC65\xF4\xCE;O(??_\xFC&quot;2\xDF(\xEF\xC5F\x89\x98z؋\x96\xD1&amp;\x80\x80\x80\x80@        zT\xC2\xDBoW\xC1\x8F\xBF\xF8˿$\xBA~\x9D\xE8ԩؠ\xF1\xFAz\x84X\x8D\xD1F
+\\xD7\xC9u\xF3\xC0tn\x8B\xDB\xE4\xB6\xF5v8 bmH     66\xDEz\xAB\x85\xEE\xEC٨x$*6\xADn\x8Ec\xFE\xE1\x87$\x81&quot;*\xF0`\xA6\n\x93\xDBf+\xAC\x85kc\x8DH     &amp;\x81+@&gt;\xFA\xE8Ïkגx$\xCC\xD8\xF5l\x835\xB0=\xC9\xF5cx\x81 d\xD2֖O׮\xC5~\xEA\x980\x81h\xCBu\\xC8ZX'\xD6\xC8Z\x91@@@@@ ,\x80\xB4\xB6&gt;m\xF8o\xF1b\xA2)S\x8C]\xCF7X kғ\xACU?\x86w*\x81@ \xB7n\x99\x93{U*8\xD6[\xD6$k+j'\x83]     \xA0d³O\xE9)/O\xDFR\xE7]\xD6$kUG!\x94\x80\x80\x80\x80\x80\x803\x808\x83
+\xB5\x82\x80\x80\x80\x80dKH\xB6Q@@@@@\xC02 \x96Q!#\x80\x80\x80\x80\x80@\xB6\x80 +\x99f\xE9 \xFFe \xCA\xCE\xF2\xB2&amp;Y\xAB\x9Dm\xA5.\xB0R˓r\x95}\xE3\x85\xCA\xC1A\xB3U7\xB5\xC8m\xC9L5\xEEm\xC9Zd߸\xA7-\xC9dȾ\x91\xF3`\xDB=\xB2d߸\xA7 uK\xB2&gt;\xAF\xAF%\xA9\x95\xE2S\xB0\x9F\x80y\xA7nݞ\xD5\xD8\xD99\xD6h\xBB\xB8\xD8\xD8TfC\xD6$kUF\xA0BB\xC0J!g)r\x95}\xE3\x85ʶ6\xB3Ղ\x82!s\xC7\xE1-\xB9-Y\x83\xC3\xCD&amp;\xAC^\xF6\x81웄\x99q\xD0q\xB2d\xDF8\xDE0HH@\xF6\x81웄\x99=8\xA8ҵ\xC4\xF3\xD1d\xC8        .\xE9\xEF\x8A\x8E\x9Fd\xB8u\xE1BcS\x99+Yke\xCDH\x89        \x80Ub.^U\xE9ܺ}\x9B\xE8\xE3\x8FM
+UU\xF7\xCC\x87\xB7\xE4\xB6Xk\xF1*\xE1\xFC\xF0\x8A\xFC\xC8vU:?F\xAA \xE7\xD5\xCF\x95\xAE%\xE1\xEC!\xB0\xDAK\x81 @v\xEC\x98A1\xB3**\xEESu\xB5\x97x\xB7͚X'\xD6ʚ\x91\xAB\xC4\\xBC8\xAAҹ\xB5y3\xD1\xFD\xD8)D3fܢ\xCA\xCAאp[\xDC&amp;'\xD6\xC0Z\xBCJ8?\xBC&quot;?\xB2]\x95Ώ\x91\xEA\xC2yD\xF5\xF3C\xA5kI8{\xAC\xF6\x92@\xA0\x90#G
+h\xFF\xFE&quot;\x83\xE7\xAAUƶj\xB26\xD6\xCCڑ\xAB\xC4\\xDC&lt;\xAAҹ\xB5o\x89\xA0ݴ\xFE\xE5\x97O\x9B;.m\xC9m\xB2\xD6\xE4U\xC2\xF9\xE1y\xB3]\x95\xCES\xB6\x98\x80\xEA\xE7\x87J\xD7\xF4p\x93@ \x90\xFE\xFE1\xB4ukD|YN\xFA\xC2~\xF3\xE7\xB7ӢE\xBDn\xB2L\xAB-\xD6\xC69\xB1f\xD6\xCE6\xB0-H\xF1\xC0*\x9E\x87\x9B{*\x9D[\xB7ď\xAF\xBDF\xF4\xCA+\xB1s\x869\xD4\xD6\xF6мyn&quot;\xD1\xDA\xE26\xB9mN|\xFE\xB2&amp;\xD6\xC6\xDDN8?\xDC&amp;n\xB6\xA7\xD2\xF9a\xAA–L@\xF5\xF3C\xA5k\x89\xCC+\xDB \xE04\xDF\xDD\xED&gt;~Lt\xF3f\x9E ;\x8E֭\xFBC\x9A;\xF7]\xBA\x94O\x83\x839\xAB\x8A\x8A\x87\xB4re\x93؏\xC7T\xDC`\x8Dw\xEE\x94\xD0\xE5\xCB\xE3\x88\xED:p\xA0\x88.\xA4Y\xB3\xE8\xFC\xF9\xF1\xB4}\xFB\xE7TV\xF6\x90\xA6M\xA4\xDC@\x84\x8A\x99{!\xAB9sPa\xA14%\x92hf\xF2\xE4/)y~I\x90\xCB\xE7QW\xD78\xD1\xE3\xC7!\xF5\xF6\xE6х \xE3=;\xB7Xߕ+D/}\xF7\xBBD/\xBEH\xD4\xDAJ\xF4\xE8\x91i\xD0ܹD\xAF\xBF\xDEF׮\x99\xC7\xDC\xDC\xE2\xB6{{\x8BĹJ\xDA\xF9\xFB\xDE{D|@TUE\xD4\xDCL\xF4\xCB_͞M4s&amp
 ;9~\xFE\xA6{~d\xC3\xC9/\xE7\xD6h}&lt;^\x9F\xD9hc\xD9t\xCF\xB7\xFBx\xAAk\xC9\xFC\xF9Dӧ\xBBﵩSI&lt;\xDA\xEA\xDE5\xCC} Ѣ\xD7        @Ν;'I\xF8\x95-\xB6Mg\xBF8\x9D9S.n\xD2_\xA2\xEE\xEEIF\xDD|\xA3.\xA7\xAA\xAA.Z\xBD\xFA(uu\xB5\x8A\xF1Q\xF9#\xE5\xB6Y\xE3\xFA\xF5\xB9\xB4{w\x9D\xB8\xB9\x8Ah\xFA8\x90\xD2m\xE2\x8BSq\xF1]Z\xBA\xF4\x94\xF1\x8BI__\xF1ˎt\xEE\xDCwD5\\xDD\xD2\x9F\x8A\x95\xCE+Y\x95N\xF2K֦j\xC7G;\x8F\xAC\xE8u\xEA\xDC\xEA\xEC줎\x8ECBSS\xED\xDAUNW\xAF\xE6\xC7\xF8\x86^N \xF4\xD1ƍE\x80tZL:q\x9C\xDA\\x9E\x8Eꊈ\x8Ejj護r\xC4/\x97\xB3\xE9\xE4\xC9\xD85\x8A$]+N\x9CJKh͚v\xE3&gt;\x8DFEp\ƛ\xB6\xA4lΏl\xA8tn\xD9\xD1dza\xE1\xD4\xF9\x91\x8D&amp;\x94\x8D\xC8\xE6\xFCp\xBA\x8F\x8Fv-ѯ'^\xFAҍk\x98\x97\xF6\xA1mo&lt;\xF5c\x91\xECh\xFA\xE8Q\xA2\xDF\xFD.V\xD3̙\xFF$\xBE\xF5\xBB\x9Cu\xB5|bVTT\x88\xBA\x9E\xA7\x9F\xFCd&lt;\xF8\x9C\xF49.a\xBD|\x82\xFC\xC7\xFF\xF89\xAD]{\x8DJJ&amp;\x89ogk\xFF\xE4'O\x9E\x9C0\xBF\xD7s\xC4\xE0ӦMӴ~\xEF{w\x84\x9D\xE8\xF3ϟ\x8F`}m\x
 844\xB6\xB9\xB9\xB9\x82zz\xA2\xB4xq\xAE`\xD0C\x9F}\xF6M\x9Adb#
+Y&lt;p\xE5\xCA\xD7\xC57\xCD_\xD7r\xF3\x9BD\xFCR-\xA5\xC3*\x91v'\xF9%jO\xB5c\xE9\x9CG\x89\xB4;}n\xB5\xB4\xB4СC\x87\xE8\xC1\x83|q3\xFF&lt;\xFD\xFC\xE7\xB3\x9E\xAC\x8Do\xFE\xFC\xCF\xFF\x81\xBE\xF7\xBDt\xEF^\x8F\xC8\xD7O_\xFB\xDA\xC8s&amp;\x91v\xE3s\x8F\xDB}\xFC\xF8\x9Ex\xECŠ\xF4\xDB\xE2K\x8F\xA9        \xAFO|N\xFF\xF6\xB7Et\xFAt\xAE8\xDF?\xE7r\x93v\xEEsbG\xCA\xF6\xFC\xC8F\x83*\xE7V\xB6}&lt;N\x9F\xD9hCY\xA2l\xCF\xA7\xFBx:\xD7\xAF\xFC\xE9\xF45\xCC+\xBBЮ\xB7r\x9E\x88d\x87\x84\xFF\xFC\x9F\x89\xF4Pf͚\xEB\xE2\xBFYW{\xE6\xCC\xF1\x8F}.\xFD\xE0\xA4=\xE6\xA0W8v\xAC7\x8F9\xE8\xED;\xF5n\xF5\xB1\x93w\xDE\xF9\xBDx\xEC\xE4\xBC\xF8ED\xFC6\x9Beڵ\xABD|\xDB\xFB\x84\xFD\xF7\xA3eY\xA1K\xC5eV\xFC\xE5\xF7\xF0\x84\xAE_\xE7_\xCC?\xB6c'?\x97\xCCͪ\x99\xD1ΣD?\xF1\xBB\xF9\xF3\xFBQ\xF1\xEDEKK\xBD\xFB\xEE\xBF\xD1Gԍ\xCD\xCB{\xE2\xAB\xC7\xE5G~R=\xBAa\xC3ϵ_g\xEB\xEA\xEAtSm\xED\xFCȦAϭL\xFAx6 \xDC&lt;?\xB2щ\xB2\x89        \x8Cv~x\xDD\xC7\xE5kI\xA2Gd[e\xEF\xD1T\x8F\xBAq+\xB3\xD7
 Ԧ&quot;G\xC1\xB2\xD3з߮4\x82\xF1\xFD\xEF\x93\xF8\x96\x94\xA8 \x80\x93F\xB1}\xFCT\xBF\xF4\xB0\x90\xB5n\xDCH\xF4\xFE\xFB\xB1\xE7\xCC\xF9ysf\xF2\xEA\xABb#\xC4IfU_\x9F\xF8\xC5ب~\xED\xDD[k\xEC\xDB%Kz\xC4\xAF\xEB4q\xA2{ &amp;\xEFE\xD6&gt;a\xDD%%\x83ګ\xB9963R޾}\xBA\xF8\xF5\xB6H'\xC2\xE3\xBD\xD8\xD6mۺ\xACU\x9Aa.\xAB\xE7G\x86\xD5k\xC5T;\xB7T\xEF\xE3ٰFY{        X=?\xBC\xEA\xE3\xF2\xB5d\xC1\x82~{\x8DO\xB36\xAF\xAEai\xCADv\xFF2\xD5Mg\xCFF\x89\x9F\xE7$\x9EX\xA2?$ڹ3\x98\xC1G2/p\xA0\xC56\xB3\xED̀3a6H\xA3?\xD2\xFA\x8A\xCA\xE7ѱc\x85\xDA\xF8.\xF6&amp;\xF7\xF1-[\xDAE\xD0\xDD\xE5\xAB\xE0#YO\xE4\x8Ama\x9B\xF4\xF3\x97Dz\xB1\xCD~O*\x9D[\xF8_\xE1\xF7ޤ\xA6~\x95\xFA\xB8W\x84\x82|+\xF3\x8A)ڍP:\xF9\xE8\xA3 ?\xAD]K\xB4b\x85\xB1\xBA+\xB6\x9D\xE8If\xA3\xC3{ra\xE6'\xF7ϣ={\xA2\x86\xE3\x96-\xEB\xA1\xFAz\xF1\xB3_\xC0\xDBĶ\xE9I\xB6Y?\xE6\xD7w\xCE-\xD5\xFB\xB8_} \xDD1*\xF4q\xAF}\xE4k\x98\xD7l\xC3ھ\xB2H[[\xBE\xE7{\xCEj\xC2\xFEV4\xAC.2\xEDf̂\xB3aFH\xD6        \x84\
 x91\x9F\xEA\xE7\x91.\xBD\x8Au\xEA\xFC\xFC\xC7\xDA$\xD6=ꯜ&lt;A\xDBȉmfۃ\x92\xBC&lt;\xB7T\xEF\xE3A\xF1q\xD8\xED𲏫\xC2&gt;\xC8\xD70U\x87I\x87\xB2Hk\xEBӆ/&amp;\x9A2\xC5\xD8+\xED3`z\x92\xE9\xC7\xF0\x9E\x9C@\xF9\xC9}D\xC5\xF3\xE8\xC4        \xD3_55w\xC5cW_\x9A\xB6Ŷ\xB1\x8Dz\x92m׏\xF9\xF5\xDD\xCBsK\xF5&gt;\xEEW\x9FBw&lt;/\xFBx\xBC\xEF\xF6\x82|+\xF3\x8Ejx[V6\xB9u\xCBϋ\xE1 \xC5\xC8,dF\xE0c\x8D@\xD8\xF8\xC9}D\xB6\xDD-\xE7suw\x9Bm\x94\x95I\xAB \x9A\x87\xB5%\xDB(\xDB#\xE5\xFE%\xF7;\xA7m\x93ے58\xDD.\xEA\xB9\xC9\xFD.L$\x82|+ \x93U\xB0U\xD9D\x9F\x8A!\xE5婀J++2 \x99\x91\xEA\xD4W6~r\x91mW\xC5S\xB2\xBE1cb\x8F'\xA9\xA2\xCD        \xB2\x8D\xB2\xEDN\xB4\xE5v\x9Dr\xFFr\xD36\xB9-Y\x83\xDB\xF6\xA3\xBD\xE0\x90\xFB\x97\xDC\xEF\x82o\xB9ia\x90\xAFa\xA6\x95\xD8r\x83\x80\xB2\x88ƣ+w         q\x977Z\x81P@j\xF7\xC3xp\x97\x80m\x88\xBE\xC8\xCBʾZ\xB9\xB9nw\xF1\xA8ך\xCCBf\x94\xA9R\xB9\xB9\xEEL\xEBC9HE \xFBH\xE1
 \xABڋ\x8B\xCDf:;ǚ;n\xC9u\xC8ugX]`\x8A\xC9,dF\x99(\xD7!םi}(    \xA9\xD8\x80,\h6s\xFC\xF8$\xEA\xEF\xCA&lt;\x90\xE6\x97\xE5:\xF4$׭ \xEB\xBB\xCC\x9C\xC3\xDA `7\x80\x80\x80\xF8\x97\x80mHu5QE\xC5}\x8D\xC4\xC0@.\xED\xD81#c*\\x96\xEB\xE0\xC4ur\xDDH1\xE0\x8C\x9E    \xE0g\xB6  aժ\x83\xC5\xFE\xFDEt\xE4H\x81\xB1ou\x83\xCBpY=\xC9u\xEA\xC7\xC2\xFE.3\xE7\xB0\xF7\xD8   \xFE&quot;`k\xB2hQ/߮͟\xE0Ez6o.\xA7\xAD[#\xE2q,sU\xF3dx8\xE7\xE52\xFA?\׉O\x9C\xE3y`@@@@\xC0?F\x8F Ҵe\xE5\xCA&amp;\xBAs\xA7\x84._G\x8F\xC5\xC2\xC6\xD1\xE1Å4k\xD6͙\xF3\x80
+ \xE3j\xEC\xEDͣ \xC6ӥK\xF948\x98c|VQ\xF1\x90\xB8.\xA2\xA8q &amp;p6Y` @@@@\xC0?l@\xBA\xBAZi\xFD\xFA\ڽ\xBB\x8EZ[#        ,Ο\xAF\xBD\xAC\xA0\xA9\xAA\xEA\xA2ի\x8F\xD7U]\xB5R$ty\xC09t.\x87\xC1    \xB6 \xD1h\x9440\x8D\x8D\xED\xD4\xD4t\x8Fv\xED*\xA7\xABW\xF3-\xC1*-\xA05kک\xB6\xB6G\xE4\x8Fмy\xE2:\x91\xE2        \x80s&lt;\xEC\x81\x80\x80\x80\xF8\x87\x80\xADHYY\xF1KOuuD\x9B6]\xB9Bt\xF1&quot;Q[Q_\x9F\xFEi\xEC}\xEAT\xA2\xCAJ\xA2ٳ\x89f\xCȨ\xDCܹ\xF1\xB07\x828\x8F@\x82    &gt;!`k\x92\xC8\xE6\1̝c~\xD5\xD7'ʁcvg;(\xA2\xA7        \xD8: \x96\xD3bQ?\x80\x80\x80\x80\x80\x80\xBF         \xF1\xB7\xFF\xA0@@@@|E\x88\xAF\xDC\xB1     \xE0o@\xFC\xED?\xA8_@\xE2+wA,\x80\x80\x80\x80\xF8\x9B\x80\xE3\xB3`\xF1j\xE8֧\xE1%1+\xAF\xBF\x81z\xA5\x9C\xBD&quot;\x8FvA@@\xFCF\xF7M\xDEz\xCC\xD6\xA4\xB3\xB3\x93::: \x8B\x9A\x9A\x8A\xB2X\x880V+/\xBA'\xAF-bT\xE2+p\xB1\xF3a:\x80\x80\x80@Zp
 ߔ.W2\xDB\x80p\xF0q\xE8\xD0!*-\xAD\xA6ݻ먵5\x92\x96\xBCb\xFA\x9BoΥ\xAA\xAA.Z\xBD\xFA\xA8XA\xBDE[YH&lt;Fp\x8E\xE7\x81=HF\xF7M\xC9\xC8xw\xDC\xD6\x84͈D\xAA\xE8\xDDw\x97\xD3\xE5\xCB\xE3 \xAB\xF2\xF2\x9EЬY4g\xCE*,4\x8E\xF3Foo]\xB80\x9E.]ʧ\xC1\xC1\xED3\\x97ӆ+\xE2\xF9-\xA4\x84\xC09!\x81p\xDF4\x89\xA7l@\xF6\xEE\xAD5\x82ϱdI\xAD[w\x9D&amp;NJih\xFFھ}:&lt;XD\xFC\0\׶m])˅\xF5Cp\xCE\xCC\xF39\xB1W+&lt;4\xFCG\xB2\x8D\xB2\xED\x99ѳ\xBFԠ\xF4}\x84\x8A\xFA\xEC\xB6X\xB6Q\xB6\xDD\xEEv\xBC\xA8O\xB6G\xB6\xD3i-r[\xB2\xA7\xDBE\xFD\xE1# \xF75\xF9\xDA&amp;\xB2\xDD2?0\xC0}\x93Z^\xB2\xF5\xECرB:s\xA6\\xB3\x90;\xE6\x96-\xED\xB4qcר\xC1\xE0\x85\xF3r\xBDSs]\'R&lt;p\x8E\xE7\x91\xCE^q\xB1\x99\xBB\xB3s\xAC\xB9\xD0-\xD9F\xD9vU\xCCmk3\x95\xA4\xFE\x92\xC2\xCC\xE9\xDF-\xD9F\xD9v\xFFZd*\x97\xED\x91\xED4s8\xB3%\xB7%kp\xA65\xD4f\xF25T\xBE\xB6\x86\x89\x89l\xB7\xCCCu\xB8oR\xCFC\xB6 {\xF6D+ \x97-\xEB\xA1\xFA\xFA[ƾ\xD5+.\xC3e\xF5$ש \x
 FB\xBB\xCC\x9C\xD3\xEB+ \x9A\xF9\x8F\x9FD\xFD\xFDO\x99\xB6Ŷ\xB1\x8Dz\x92m׏y\xF9~\xFB6\xD1\xC7\x9B
+\xAA\xAA\xEE\x99;ݒmdۙA\x92\x97\xBE *\xD3 \xF4\x8B\xA0\xD9 _C\x83\xFE\xFF#\x91\xEFT\xFF\x9F\x92H\xB3~ \xF7M:        u\xDEm @ZZ\xF8\xB1\xA9        \x9Ae\xF9\xF9\x8Fi\xED\xDAk[\xC9e\xB9N\'׍#\xCE\xD9\xF5\x84\xEAj\xA2\x8A\x8A\xFBZ%\xB9\xB4cnj\xEC*T\xB84\xDB\xC66rb\x9B\xD9v\x95\xD2\xE6\xCDD\xF7c\xAE\xA03nQe\xE5\x80J\xF2\xD1\xC26\xB2\xAD\x9C\xD8vf\x84\xE4\xA5/\x83\xCA4\xFD&quot;h6\x84\xE9\xFFG&quot;ߩ\xFE?%\x91f&gt;\x86\xFB\xA6dd\xBC=n[r\xE2\x84iHM\xCD]\xF1H՗\xE6\x814\xB7\xB8,ס'\xB9n\xFDXX\xDFe\xE0\x9CY/X\xB5\xAA\xC3(\xB89R`\xECe\x83mb\xDB\xF4$۬\xF3\xF2}\xDF&gt;\xC1\x9F\xA9\xE0\xE5\x97O\x9B;ߒme\xCC\xC2\xCFI_\x8D\xA9\x9F\xFBCе\xCB\xD7Ҡ\xFE\xFFH\xE4C\xD5\xFF\xA7$Ҭ\xC3}\x93NB\xADw\xDB\x90\xEEnӰ\xB2\xB2G\xE6N\x86[rr\xDDV\x98b2 \x99Q\xA6\xCAu\xC8ugZ\x9F\xCA-Z\xD4K\xF3\xE7\xB7kR\x9F&lt;\xE1o\xA1\xCBi\xEBֈx\xCB\xF69\\xC7\xC16\xB0-l\xDBƉme\x9BUH\xB7ė\xFF\xAF\xBDF\xF4\xCA+d諭\xED\xA1y\xF3:T\x90\xE7\x8A\xB6\x95m\xE6\xC4&gt;b̄\xD9\xF8)\xA9\xE4ˠ0\xF5\x93
 \xFFê5\xC8\xFF?\xF9T\xF5\xFF)\x894?&amp;\xDF\xDB\xC8\xF7&lt;\xC3\xF3Yݗ\xEB\x90\xEB\xB6Z\xF9bl\xBB\xE3\xD2ov\xB8\xDA1c\xB2\x9F&gt;W\xAEC\xAE;쎓YȌ2\xE5&quot;\xD7!םi}~)\xB7reݹS\xA2ͶƳ\xAE8PD\x87j\xD3E\x9F??^\xCC\xC8\xF6\xB9X\xF3!M\x9B6H&lt;\x9B\x9B\x8A\x89u߼\x99G\x9D\x9D\xE3\xC4LsHs\xE7&gt;\x88\x9BΚ5WT&lt;$\xB6\x95(ʻ\x8E\xA5\xD1V\x94\xBD~\x9D\xC4$\xD6&quot;z$}?1w.\xD1믷ѵ̟\xD8t\xCC&amp;'+f\x9B{{\x8B\xE8\xFCy\xD2f\xFD{\xEF=\xA2&gt; \xB1\x8CDӧǷ&gt;u*\x89GԈf\xCF&amp;\x9A9\x93\\xBF\xFB]\xA2_Tϗ\xA9\x9867\xFD\xF2\x97\xDE\xF1\x8B\xF7&amp;\xF6\xFCN \xD5\xFF\x8FD\xCB+L\x9E\xFC\xA5X\xA2\xE0\xA1\xF2\xFFSd\xBF\xBC\xF8\xE2 \xF2n\xDC\xF6\xE4\xC9\xF7魷f\xD3H\xC4?\xF4\xAA\xF1\xFDV\x9CFyG\xBE\xB7\x91\xEFy\xE4&lt;\xE9l\xCBu\xC8u\xA7S\xF2\x8AX@ \x8C\xBA\xBAZi\xFD\xFAܸ3y&gt;8\xF1+=\xA7\xE2⻴t\xE9)\xE3\x93\xBE\xBE&gt;\xE2\x97i\xAA\xB8 \xE5'\x9E!\xEE\xC0\x81\x97\xA8\xBB{\x92!E׮\xD0\xF4d[\xAB\xAB\xA3\xFA\xE1\xAC߳]QV\xB0`A\x9F\x98\xF9\xEE\
 xA2\x9AN\x8B\xC1\xF2\xC7\xC5?2iJ,=S߯\\xB9&quot;1\xFF\xC0sįU\xB3\xE9\xE4ɘO90\xE3e~\xA5J\xA5\xA5\xB4fM\xBB\xF1+
+\xE7\x8DF\xA3\xE2\xE6\xA6,U1˟Y\xF1\xEFp\x8D^\xFBr4\xA6l&lt;N\x9C\x9C\xE6k\x83L \xD5\xFF\x8F\xE1\xD7\xE1\xE1T\xFA\x9F2\[\xFC~\xF2\xE47\xBFy.&gt;+\xF6@ @2\x80\x86&quot;\xFE&amp;\xC07k+++\x9A\x8D\x8D\xED\xD4\xD4t\x8Fv\xED*\xA7\xABW\xF3G\xC67\xF8;w~\x9B\xF4\xAC\x81\x81f\xFA\xE4\x93Oķ\xD0\xE2kh\xDF`q\x9B\xCF&lt;\xF3l\xDCMk&quot;        \xF17X\xF1xSD\xBBAM\x947\x93cٮ(+\xFF\xFE\xE2 \xA2\xB8\xCE3\xBB\xED*\xC3~d\x9B\xBF\xF8\xE23Z\xBD\xFA3z\xFE\xF9\x91\xC1d\xAA\xB6\xB8\x9F\xBE\xF9\xE6\\xF1kI\x97(T\xF4\xDB\xAD?\xDB\x80\xA4\xE3_U|\x99S\xA7\xF9\xA5\xF2&gt;\xF3?\x81t\xFE$\xB2V\x95\xFF)\x89\xB4\xE1\xB8I\x88\x9B\xB4і\xF8FM\xBEY\xAB\xAB#ڴ\x89H\xDC\xE3\xD3ŋ\xB1oJ\x87?b\xC2\xDFR\xBF\xF1F+\xBD\xF3\xCE1C[\xBE\xF8ED&lt;'\xE3b:#\x9E_\x9A1c.\xFD\xE05\xDAc;z\xD3c\xC7\xC6ۉ\xC4$_&lt;\xA2#\x9Emr0\xA5\xBB\xA2\xEC\xC8G\xA6u\xFCB⮴z\xF5%\xE3q\xBA\xAE\xAEq\xE2\xF1\xC0\xF8\xE9\xA1{{\xF3\xE8…\xF1q\x8Fص\xB6F\xA8\xB1q9mؐ\xFD#\xAFý\x90ʿ#QTϗÙ&amp;zD\xD1I~\xC3yb?
 8F\xFB\xFF\xC1?\xE4\xFF\x91&lt;\xD1#\xA8^\xFFO\xCD#\xEF\xBF?$\xFEO&gt;\xA2\xA7\x9F\xBEF%%\xE8\xBF\xA3\xB1\xC0\xE7\xCEP6\xC9 \xEA        \xAB\xDB\xEA$\x88d2#3\xB62!\xC0\xE3&lt;\xF8        ~\xE9\xCFt\xF2 ۍ\x89\xDE?\xF6\x9C&gt;?\xAF\xFF\xF6ە\xF4\xEA\xABbÃ\xC4m\xB3N\xAC\xF7\xFB\xDF'\xF1kQ\x81\x93xe\xBA\xA2lL=\xFE'\xC0\xFE,)\xD4^ \xF4\xFF\xD8\xD8\xE7\xA1۷O\xA7\x83\x8B\xB4\xB1#\x97/\x8F#\xF6Ŷm]F;6\x82\xE0_\x99issl\x965\xB7\xF8\xD9\xE1\xD4\xE1\xF2\xFF\x8F\xFA\xFA\xE4\xBAU\xFB\x9F\x92\)ѯݢ}\xCC_~\xFD\xECgK\x8C\xAC^\xFF\xEF1\x84\xA4\xB1a\xF7}\x93|\xEF%ם\x86$dĿ=5V\xB7M\xEC\xF91y\x99Q\xE2\xDC8\x9A+\xBE\xB1߹\x93\xE8\xC3\x89\xF4 NSS\x9D=ͦڌ\xCAr\x9B\xDC6'\xD6šX\x9B\xC1G6+\xCAfd&lt;
+&amp;NAqm\xD9\xD2n\xF4I\xC4&gt;\xB1+ٿn\xF0\xB3\xCB\xA8'xT\xFA\x9Fb\x95\xAEJ\xFF{\xACj\x9E\xCF\xEE\xFB&amp;\xF9\xDEK\xAE{x\xBB\xD8OM@\xD9\xABێt\x9C\x97\xAB+\x8FT\x9E#+V\x90XXӴ\x{1E33D2}\xCE3sٻ%\xB7\xC9ZX\x93WɎe\xBD\xD2\x94v\xEB\xEBoѲe\xB1\xA9|\xD9&amp;\xD9'\xD9\xDA(\xD7\xC5mp[AKN\xF2 +\xD8c?\xFE\xA7X\xB5J\xA5\xFF=V5\xCB\xF9\x9C\xB8o\xC2\xFD\xA9L8\xF3me\xACn;ҩ^\xAE6&lt;RM\xB8\x8El\xD9B4aB\xCC\xE6k\xD7
+ČM#\xAC;E\x84\xDB\xE269\xB1\xD6\xE2U\xB2sEY\xAFlJ\xBBk\xD7^\xE3\x91b\xE3?._\x9E\xA0\xAD\xF6\x9B\xADma\xF2\xAF\xFC\xB2\xE5\x8F\xF2\xE1!\xE0\xE5\xFF\xAB\x94U\xFA\xDFcU\xF3\xF0|N\xDC7\xE1\xFEt8\xE5\xCC\xF6\x95+@\xD8\xACnk:U\x85ՆM5\xE1ۚ&quot;\xC6\xD9.^l\xDA\xDD\xDA\xFA\xB4\xB9\xE3\xF0\x96\xDCk`-^%;W\x94\xF5ʆ\xA0\xB4;q\xE2\x97b:߻\x869\xB2o\x8C\x83in\xC8up\xDD\xDCFP\x93\xFC\x82\xCA
+v\xD9O\xC0\xCB\xFF)V\xADQ\xE9\x8FU\xCDr&gt;'\xEF\x9Bp*\x93\xCEl[\xE9\xAB\xDB\xC6VG\xFB\xCAљum\xFBK\xF1Bpz\xBAu˽\xF9\xE4\xB6d+\xBA7\xDF\xE5U_\xE5\xD5`\xDDԀ\xB6L\xB2dߘ9\xD2ے\xEB\x90\xEBN\xAF\xFF\xE4\x96m\x94m\xF7\x8FP\xEAg\xF2\xF5\\xBEΫb\x93\xACI֪\x8A\xBEd:x\xB0\xBF\xD3\xF7M\xB8?MF\xDF\xFAq\xA56\x83W\xB7\xE5Ւ9\xF1j\xBC\xBCb0\xAF\xFC\xD2K\xB1\xC1\xB8G\x8E\x90X        :\xF6Y,\x97\xFF\xB2}l \xDB\xC4\x8D\xD9F\xB6\x95m\xE6\xCF8\xE9+G\xC7\xF6\xF0\xD7Myyfk\xFALY\xE6\xE7\xB6\xE4\xB6d+ε\x98\xBCfY\x8B\xBCl\xF2\xF8\xC4I\xB2d\xDFdڦ\\x87\w\xA6\xF5\xA9^N\xB6Q\xB6]u\xDD\xD0 \xF2\xF5\\xC5\xFE'k\x92\xB5\xAAJ\x9F\xEF\x9B\xF8\xC5\xEB\xF5\xCA\xF7M\xAC\xB7\xA8h\x90&gt;\xF8\xA0NLy&gt;\x87\xBE\xF5\xADj[LHt\xCAm\xEB:li$\xC0\x958\xF25\xEE\xB9s\xE7h߾_e\x8D-ȫ۪\xB2\xDA\xF0\xB9s\xDF~Q\x80\x80\x80\x90\xC0\xF0uL\xF6\xF1\xF3YY$\xF9\xFE\xF4\xE5\x97k\xD6t\xF4\xE8Q\xEDx4\x8D[{,a\xE6t$\xB1\x8Bc\x90W\xB7\xF5\xE3j\xC3v\xF9\xF5\x80\x80\x80\x80\x80_        \xC8\xF7\
 xA7D\x89\x90\xB3g\xBB\xE8\xEA\xD5jhh@\x92\xC0ю \xCF=\xF7\x9C\x98&amp;T\xFCes
+\xDA\xEA\xB6*\xAC6\xDC\xDF_BǏ\xDB\xEC(T   .\xE0ǟx\xACʤI_\x88E\x9B{\xE97\xBFy.i\xEB+\\x98˾\xB1q9m\xD8\xF0\xD5\xF3\xF3I\x95\x84\xF7G'qiu\xDB \xAC6줯Q7\x80\x80\x80X!\xD0\xDB\xCBu\xF4\xE8E\xFA\xFF!b\xE1\xFB\xC6%Kzhݺ\xEBbf\xBF!\xE3\xB8]\xCDͧ\xB5\xAA\xFA\xFB\xC7\xD0\xF6\xED\xD3\xE9\xE0\xC1&quot;m\xDC\xEE\xE5\xCB\xE3\x88\xEF\xF3\xB6m벫\xA9@գ\xFC t+\xB4\xFD\xB8\xBAm\x90W\xB6\xE23\xE4\xBB        xu\xE5\xC7{Q\xBB٧S_ \xDD`?\xADn\x86Նu\xBF\xE0@@@\xDC \xE0\xF5\xFD\x95\x9F\xEEE\xDD\xF0G\xB26\x80\xB0\x91~X\xDD6L\xAB+'\xEBx8   vP\xE5\xFE\xCA\xF7\xA2vrϤ\xAE\xC0 ~X\xDD6L\xAB+g\xD2)Q@@@\xD2%\xA0\xCA\xFD\x95\xEEE\xD3ekw\xFE\xC0  H\xF5\xD5m\xE5we\xADv;\xF5\x81\x80\x80\x80@X\xA8t%\xDF\xDFɺ\xC2\xE2\x8B\xD1\xEC d\xA2\xFA\xEA\xB6\xF2ꢲ\xD6ќ\x85\xCFA@@@P\xE9\xFEJ\xBE\xBF\x93u%V\xBE\xA3\x81 @\xC2\xE7FX     \xFE \x80\xC4~\x82J \x81p#\x8Cd\x92\x93c\xC24\x
 B7Uْ5\xC9ZU\xD1    \xE07\xB8\xBF\xF2\x8F\xC7\x80 hk36\x95ِ5\xC9Z\x95!    \xE03\xB8\xBF\xF2\x8F\xC3\x80TU\xDD3&lt;\xF0\xF1\xC7D\xB7o\xBB\x9Eo\xB0֤'Y\xAB~ \xEF    \xD6        \xE0\xFE\xCA:+r2\xA9\xAC\xA03ni|\xEF\xDF'ڼY\xD41+\xAC\x855qb\x8D\xAC        @@@@ s\xB8\xBFʜ\x9D%\x800ȗ_&gt;m\xF0ܱ\x83h\xDF&gt;c׳+\xD6\xC0Z\xF4$kԏ\xE1@@@@\xC0:\xDC_Yg\xA5J\xCE\xC0 \xF3\xE6uPmm\x8Fƙ\x80y\xE5\xA2\xD7^#\xBA\xFBa\xC4U\xFE\xDC&amp;\xB7\xCD\xF4\xC5hXkDH\x9F\xEE\xAF\xD2g\xA6J\x89\xC0  \xF8\xF5\xD7\xDBh\xEE\xDC\xEAǏ\x89\xDE{\x8Fh\xFAt\xA2\x97^&quot;\xE2٧\x8E!\xEA\xEC$\xE2\xCF\xECJ\\xD7\xC9us\xDC\xB7\xC9m\xEB\xED\xB0&amp;ֆ    0:\xDC_\x8D\xCE\xC8O9\xC68!\xF6ܹs⑧_9Q\xB5\xE5:\xAF\\xB9B55\xF4\xD6[9\xB4u\xEBl:yr\xAAV\xF6\xD1#\xA2\xE6\xE6X5\xDF\xFDn콴t\x80֬i7~1\xE1\xA3\xD1h\x94\xCA\xCA\xCAb\x92\xFC\xED\x91FGG\x87\xF1iSS\xED\xDAUNW\xAF\xE6\xC7\xF4\xB6\xF4 \xF4\xD1ƍ\xE9ҥ\xD3t\xFC\xF8qj\x93\xA7l\x
 D03\xB9\xF8~\xEE\xDCwDk&quot;BB\xE0\xFEJ'8,\xC1\x91\xC4a͖\xAA\x9F9s&amp;=x\xF0\x80\xBE\xF8\xE23Z\xBD\xFA3z\xFE\xF9r:p\xE0%\xEA\xEE\x9E4\xA2&lt; o\xBE9\x97\xAA\xAA\xBADޣ&quot;\x80h\xA1\x86\x86\x86Q&gt;:D\xA5\xA5մ{w\xB5\xB6FFԭ(.\xBEKK\x97\x9E\xA2\xF9\xF3ۅ&amp;Ҵ\xB1F$\x93\xEE\xAFLA\xDDr$y\xEE\xB9\xE7hŊ\xD8/\xAA\x80\x9B?\x9FDpq\x89n\xDE\xCC\x8FH\x8D\xA3u\xEB\xFEP&lt;\x9E\xF5@\xFC\x91O\x83\x83\xE2Y)\x918\x80hl\N6X&amp;+\xA9\xA2w\xDF]N\x97/\x8F3L\xCD\xCB{B\xB3f+\xD0\xF9\xF3\xE3i\xFB\xF6\xCFE \xF3\x90\xA6M\xA4\xDC\xDC)&quot;\xBF\xD4I\xFD\xFD%\xE2\x97u\xF4@        \x80\x80\x80\xE0\xFE*\xD8}\xC0\x91DUd\xB9b\xC4KIɠ\xF6jn\x8E͒\xD5\xDF?F        \xD3\xE9\xE0\xC1&quot;m\x8C{\xF7\xD6Ҷm]\x96\xCC\xE0\xBCz\xF0\xC1\xF5/Y\xD2#\x82\x9B\xEB4q\xA2\xB9\xA2\xA5\x8A\x90Iy&lt;\xA6GOCC\xEE+\x9F\x92ے5\xE8Z\xDC|\x97ۗu\xB9\xA9m\x99dȾ1s\xA4\xB7%\xD7!ם^-\xFE\xC9-\xDB(\xDB\xEE \xA0\xD4\xCF\xE4&gt;'\xF7EUl\x925\xC9Z\xDD҇\xFB+\xB7H{\xD3N\xA8
 \x90D\x889Pظ\xB1\x8B^|\xF1m\xDAT\xAE\xCDRu\xE6L9;\xF6\x80\xEA\xEA\x950\x8F;VH\x9C\x97\x9F\x9C[\xB6\xB4S}\xBD\xD3l\x99\x92\xB0\xE5 \x81\xE2b\xB3\xF2\xCEα\xE6\x8E\xC3[r[\xB2\x87\x9BMX\xBDܾ\xAC+aft\x9C\x80\xEC\xD97\x996,\xD7!םi}\xAA\x97\x93m\x94mW]7\xF4\x83\x80\xDC\xE7侨\x8Au\xB2&amp;Y\xAB\xFAp\xE5eo\xDBp\xEFk\o\xED\xB5u\x96-\x8BM\xDB˙\xF7쉎ZF\xCE\xC3e|\x8C\x8A\xCC\xD7.4\xE5?&gt;\x89\xFA\xFB\x9F28\xB4\xC5mp[z\x925\xE8\xC7\xDC|\x97\xDBw\x8B\x81\x9B\xF6\xF9\xA9-'\xFAF\x98\xFC\xEB??\xF5h\xF5\x9E\x80\xCA\xE7\x9B\xD7\xE7\xEF\x9FN+@&quot;^\xBB\xF6\xE5\xE7\xC7\xC6\\xBE&lt;\x81ZZ\xA4\x87m\xF2g\x9C\x87\x97\xE1\xB2H\xC1&amp;P]MTQ[\xC6~` W,*9\xC3q\x83\xB9+n\x8B\xB7\xCD\xBCL^0\xF0\xD2^\x95\xDBv\xA2o\x84ɿN\xF0S\xB9\xBF@\x9BzT&gt;߼&lt;?p\xA5^_uB\x89\xEAĉ_\x8A\xA9{\xEFGN\x9C06Glȟq.\x8B|\xABVuF\xEE\xDF_$\xD6{)0\xF6\xED\xDEູ+=\xC9m\xEBǼx\x97u8\xCD\xC0 \xFB\xFCЦ\x93}# \xFEu\x92\x9F\xFA4\xAAC@\xC5\xF3\xCD\xEB\xF3\xF7W\xEA\xF4O'\x95
  F\xB7\xACL,\xF2U\xEA\xEEַF\xBE˟\xC9eF\xE6đ X\xB4\xA8W\x9BJ\x99m\xE2U\xED7o.\xEB\xCCD\xC4\xE3X\xF6+\xA7⺸N\xAE\x9B\xDB\xE0\xC4\xD37s\xDB*$7\xA8`\xA7\x8A\xDC\xE8A\xF6\xAF\xFCT\xEC7Ф.\x95\xCE7U\xCE\xDC_\xA9\xDB_\xEDTf\xDF]\x93\x9D\xAA&lt;\xACk\xCCs
+^\xFD\xE6/\x91\xF93\xB9L\xA2\xBC8,+W6ѝ;%\xDA\xECg\xBC2\xEB\x81Et\xF8p\xA16\xF5\xF2\x9C9\xA8\xB0p0#\x83{{\xF3\xE8…\xF1qSCsE\x89\xDB\xCBc\xF2\xAE\xC9)J\xA7\xA0\xB7\xFBF\xD0\xFC\xEB6?\xBB$)L\xC0\xEB\xF3M\xB5\xF3\xF7W
+wV\xA5!\xB1&amp;\xAA
+\x81\xAE\xAEVZ\xBF&gt;7n\xF1I^K\x86\xD7}ᗝI_\x93۬\xAE\x8E\xDAYuVu\xB9\xC9 +\xA1.\xECd\xDF\x83\x9D\xE4\xE0n\xD3 \xA0\xE2\xF9\x86\xF3\xC3G\xA3\xCA8@\xE2p`R\x88F\xA3\xD4\xD0Рejll\xA7\xA6\xA6{\xB4kW9]\xBD\x9A\x9F\xBA`\x9A\x9F\x96\x96К5\xEDT[\xCB3\xB3Eh޼q\xDB*$\xB7\xA8`\xAB\x8A\x9C\xEEA\xF7\xAF\xD3\xFCT\xEC3Ф.\xD5\xCE7\x9C\xEA\xF6\x95\xA0)C4\x8F\xC2G        \x94\x95\x95\x89\x95\xEDˌ6x\xAD\x98M\x9B\x88\xAE\!\xBAx\x91\xA8\xAD\x8D\xA8\xAF\xCF\xF88\xAD\x8D\xA9S\x89*+\x89f\xCF&amp;\x9A93\x9Frs\xE7\xA6Uޭ\xCCN2p\xCB\xBF\xB5\xE3f\xDF\xA2\xDD\xE4緾\xBD\xDEP\xE1|\xC3\xF9\xE1mk\xEB\xB6 9b!&gt;=ɫg\xEA\xC7\xFC\xF2.k\x97m\xAE_\xFEL.3&lt;\x9F\xEA\xFB\xB2v\xD9&amp;\xD5u\xAB\xA4/WL\xE5\xC01        \xBF\xEA\xEBUR\xE6\x9E0p\x8F\xB5-\xC1\xBF^PG\x9Ba%\xF6\xF3M\xBE\x91\xEFQ\xFC\xD6d\xED\xB2M~\xB3\xC3)\xBD\xB6͂%\xAF\x92)\xAF\x9E\xE9\x94p\xA7ꕵ\xCB6+oO\xFEL.3&lt;\x9F\xEA\xFB\xB2v\xD9&amp;\xD5uC\x80\x80\x80@\xF0\xC8\xF7&quot;\xF2=\x8A\xDF,\x95\xB5\xCB6\xF9\xCD
 \xA7\xF4\xDA\x80\xA8\xBC\xA2\xA7Ux\xE9\xAC\xFC6{\xAD2D&gt;Ȕ\xEE\xAF2%\xE7\xAFr\xB6 *\xAF\xE8i\xD5%\xE9\xAC\xFC6{\xAD2D&gt;Ȕ\xEE\xAF2%\xE7\xAFr\xB6 l\xB6\x8A+zZuG&amp;+\x86\xCD^\xAB,\x91@@@2%\x80\xFB\xABL\xC9\xF9\xA7\xDCS?\xC9.\xB9O\x9E\xFC#}\xFA\xE9\xBAqc\x8AV\xE5o;\x85zz\xBE&amp;\xD6/\xB8Ocǚ \xFC\xD9՞\xF5\xF0ʟ\xF37\xA5\xF4ӟΈ[uz͚e\xDAӰ\xD9ko\xD4   \xA9\xE0\xFE*\x9D`|f\xDB,X:\xAFW\xF4\xD4u\x8C\xF6n\xD7ʟa\xB3w4\xAE\xF8@@@\xB2%\x80\xFB\xABl        \xAA]\xDE\xF6D\xC5=\xAD\xBA \x93\x95?\xC3f\xAFU\x96\xC8   \x99\xC0\xFDU\xA6\xE4\xFCQ.\xE7\x89HvI\xED\xEC줎\x8E\xA3\xBA\xA6\xA6&quot;GV\x896\xB0i#~\xE5\xCFX\xA5\xFC\xF8\x95\xBC\xE0\\xA2\xA6\xC2fo&quot;8   v\xC0\xFD\x95\x9D4լ\xCB\xD6$\x91\x89\x8F\xC5\xD0;V\x89NTw6\xC7\xE2W\xFE$\xB1\xEAt6\xB5\x99e\xC3f\xAFi9\xB6@@@@\xC0\xB8\xBFr\x86\xABW\xB5:\x80xe\xDAP\x8F\x80M\xDF\xFB\xABg\x81\x80\x80\x80\x80\xA8G\x88z&gt
 ;\x81&quot;, \x81u- \xF5 Q\xCF'P    \x81%\x80$\xB0\xAE\x85a     \xA0 \xEA\xF9\x8A@@@@@ \xB0\x80ֵ0 @@@@\xD4#\x80D=\x9F@\x80\x80\x80\x80\x96\x90\xC0\xBA\x86\x81\x80\x80\x80\x80\x80z\x80\xA8\xE7(\x81\xC0@X\xD7\xC20P\x8F\xF5|E     X@\xEBZ    \xEA@\xA2\x9EO\xA0@@@@KH`] \xC3@@@@@@=@\xD4\xF3        \x81\x80\x80\x80\x80@`                 \xACka\x80\x80\x80\x80\xA8G\x88z&gt;\x81&quot;, \x81u- \xF5 Q\xCF'P    \x81%\x80$\xB0\xAE\x85a     \xA0 \xEA\xF9\x8A@@@@@ \xB0\x80ֵ0 @@@@\xD4#\x80D=\x9F@\x80\x80\x80\x80\x96\x90\xC0\xBA\x86\x81\x80\x80\x80\x80\x80z\x80\xA8\xE7(\x81\xC0@X\xD7\xC20P\x8F\xF5|E     X@\xEBZ    \xEA@\xA2\x9EO\xA0@@@@KH`]
 \xC3@@@@@@=@\xD4\xF3        \x81\x80\x80\x80\x80@`                 \xACka\x80\x80\x80\x80\xA8G\x88z&gt;\x81&quot;, \x81u- \xF5\x8CQO\x81\x80\x80\x80\x80\x80s?&amp;\xBAr\x85\xE8\xE2E\xA2\xB66\xA2\xBE\xBE\xF8\xB6\xA6N%\xAA\xAC$\x9A=\x9Bh\xE6L\xA2\|e(\xCB= YDqu        tvvRGG\x87!\xB0\xA9\xA9\x88v\xED*\xA7\xABW\xF3\x8Dc\xA96JKh͚v\xAA\xAD\xED1\xB2E\xA3Q*++3\xF6\xB1\x91\x81\x9C'&quot;\xA5W\xB9A@@@@\xC0\x8E=J\x87\xA2\xD2\xD2jڽ\xBB\x8EZ[#        \xAF\xAA\xEA\xA2ի\x8F\x8A\xC0\xA5\x85\xA8\xAE\xAE.\xA3zP\x88\xBF\x80\xA0\x80\x80\x80\x80\x9A@$REᄏ\x9C._gؙ\x97\xF7\x84f\xCD\xA09sPa\xE1\xA0q\x9C7z{\xF3\xE8…\xF1t\xE9R&gt;+\xE6h\x9Fq\xE0\xD2ظ\x9C6l\xCFo!eEHV\xF8P@@@@@u{\xF7\xD6\xC1\x8F\xE7X\xB2\xA4\x87֭\xBBN'\xA5\x94\xDE\xDF?\x86\xB6o\x9FN\x8F\xE1\x86\xEBڶ\xAD+e9|\x98\x9A\x86Ԥ\xE6\x83OA@@@|L\xE0رB:s\xA6\\xB3 G\xFC\x98\xB1eK;m\xDC\xD85j\xF0\xC18@\xE1\xBC\\x86\x
 CBr⺸N\xA4\xCC         ɜJ\x82\x80\x80\x80(N`Ϟ\xA8\xA1pٲ\xAA\xAF\xBFe\xEC[\xDD\xE02\VOr\x9D\xFA1\xBC['\x80\xC4:+\xE4\xF0\x81\x96~lj\x82\xA68?\xFF1\xAD]{-c\xF5\\x96\xEB\xE0\xC4ur\xDDH\x99@\x927\x94P\x9C\xC0\x89\xA6\xC0\x9A\x9A\xBB⑪/\xCDinqY\xAECOr\xDD\xFA1\xBC[#\x80\xC4'\xE4\xF0\x81\xEEnSpY\xD9#s'\xC3-\xB9\xB9\xEE \xAB m1\xC7g\xC1m\xA5I\xBB\xC9c\xE5\xCA\xD4D\xC3揰ٛ\xDA\xFB\xDEj\x97?\xFCr\x9E\xDBe\xAFU\xCF\xF9\x85\x8BU{\xAC\xE6g\xAB\xA4\x90\xC2G@^\xEDn̘\xEC\xA7ϕ\xEB\x90\xEB\xD9\xEC,\xB65\xC9v\xA5\xC9\xECLY:\xEC+W\x86\xCDa\xB3wd\x8FW\xEB\x88[\xFEP\xE5&lt;w\xCB^\xAB^V\x85\x8BU\xBDV\xF3\x81\xB3UR\xC8 \xEAx\xEA\xC7&quot;\xD9%\xAFE\x8C\xC6\xE1\x95&amp;&lt;ȧ\xAD[\x9F\xA7\x9F\xFF|\xF5\xF7ͮ\xEAӮ\x87\xDB\xFE\xEDo\x8B\xE8\xF4\xE9\*)\x{151A6DB}hڴi\x8DFӮˏ\xC2揰٫z\x9Ft\xCB\xAA\x9C\xE7n\xD9k\xD5\xEF\xAAp\xB1\xAA\xD7j&gt;p\xB6J
+\xF9@\x98\x80X\x9D~\xF7\xBB\x8B^\xF8gz\xE1\x85{\xB1\x9D \xFF\x9E&gt;\xFD\xE2\xBE\xF2\xB4\xD2\xDF\xFC&amp;\xBF\x90\xD2'`\xEB/ \xDC|\xBA+M\xA6/9u        \xAC\\xCF'l\xFE\x9B\xBD\xF1\xDEVo\xCF)\xA8z\x9E;e\xAFUϪ\xCAŪ~\xAB\xF9\xC0\xD9*)\xE45        \xD8\x80d\xBAҤ\xDDx\xB0re\x8Ch\xD8\xFC6{\xED&gt;o\xEC\xAE\xCFi\xA8v\x9E;m\xAFU\xFF\xA8\xC6Ūn\xAB\xF9\xC0\xD9*)\xE4\x81p\xD0
+d\xABy\x9BLJ+\x9A \xE4\xCFͣ\xE9m\xC9u\xC8u\xA7W r\xDB: V6+M\xDA\xED
+\xAC\I\xDA*\x9D\x99\xAE\xFC\xE9G\xA0\xFF\xD9\xED\xB5\xEC\xEAs\xC3*\x9D\xE7n\xD8k\xD5#*q\xB1\xAA\xD9j&gt;p\xB6J
+\xF9@ \xDC\x8A\x8Bc\x{1B7D59}
+
+\x86̝ \xB7\xE4:\xE4\xBA3\xAC.\xB4\xC5l+@\xE4U!3]i\xD2nO\x84y\xE5ʰ\xF9#l\xF6\xDA}\xAE\xD8]\x9F\x9B\xFEP\xE1&lt;w\xD3^\xAB\xBER\x81\x8BU\xADV\xF3\x81\xB3UR\xC8\xE1&quot;p\xFBv\xBC\xBD \xF1\xB1\x8F?6\x8FWUe7\xFE\x83k\x92\xEBງ\xB7k\xB6\x86\xADTl @\xEC\i2\x95\xE0L&gt; \xE3ʕa\xF3G\xD8\xEC\xCD\xE4&lt;p\xB3\x8C\xFE\xF0\xF2&lt;\xF7\xC2^\xAB\xFE\xF4\x92\x8BU\x8DV\xF3\x81\xB3UR\xC8\xE1#\xB0ys\xBC\xCD\xD5\xD5D|\xEC\xFE\xFD\xD8\xF13nQe\xE5@|\xA6 \xF6\xB8\xAE\x8B\xD7=\xBC\xDD \xAA e\xDBy5\xC8lW\x9A\xB4\xDBa\\xB92l\xFE\x9B\xBDv\x9F#v\xD7\xE7\x85?\xBC&lt;Ͻ\xB0תϼ\xE4bU\xA3\xD5|\xE0l\x95\xF2\x81@\xB8\xEC\xDBG\xB4cG\xBC\xCDÏ\xBD\xFC\xF2\xE9\xF8 Y\xEC\xC9uq\xBB\xDCRzl @\xE4\xD5 \xE5U&quot;ӓ\xE3\nY\x93\xACչ\xBD\xADY\xB6Q\xB6\xDD[Uf\xEB\xB2&amp;Y\xAB\x99#\xBD-\xB9\xB9\xEE\xF4jq.\xB7\xACI\xD6\xEA\\x8B\xDE\xD6,\xDB(\xDB\xEE\xB4*\xB9-Y\x83\xD3\xED\xCAm\xC9\x9Cn\xD7j\xFD\xB2&amp;Y\xAB\xD5\xF2\xAA䓵\xCB6\xA9\xA2\xEF׿\x9EbHY\xBB\xD6\xD8\xC4\x80\x80Cn\x89&quot;^{
 \x8D\xE8\x95W\x88\x86/
+x\xF1\xA2y\xAC\xB6\xB6\x87\xE6\xCD\xEB\xB0M\xD7\xC5ur\xE2v\xB9}\xD6\xC1z\x90\xAC\xB0-\x91/\xAFiM\x86\xF3\xB9dM\xB2V\xE7[\xF6\xA6\xD9F\xD9voԌlU\xD6$k\x99\xD3\xDA\xB9\xB9nk\xA5\x9D\xCF%k\x92\xB5:߲7-\xC86ʶ;\xADFnK\xD6\xE0t\xBBr[\xB2\xA7۵Z\xBF\xACI\xD6j\xB5\xBC*\xF9d\xED\xB2M\xAA\xE8\xFB\xE1\xBB )˖\x9B\xD8\xB0\x81\xCFh\xD5\xD9It\xE4Hl\x86\xAB\x97^&quot;\x9A&gt;\x9D\xE8\xBD\xF7b\xB3]\xA5j\xA2\xA8h\x90&gt;\xF8\xA0\x8EV\xAF\x9EC\xDF\xFA\x96x6ˆ\xF4\xFA\xEBm4wn\xAC&quot;\xD6\xC6:\xA6N\x8Di\x93gʲ\xA1\xA9@Va\xFB4\xBC\x81\xA4\xA3@@@`\x89\xA7N1\xA54&gt;\xD0        t\x8AH\xA3\xA3\xA3Cߥ\xA6\xA6&quot;ڵ\xAB\x9C\xAE^\xCD7\x8E57\x9B\xA3n\xFC\xE23\xE2\xF2\xBC\xF3\xCE;q\xFB\xE9\xEE\xF4\xF4\xF4г\xCF&gt;K\xAF\xBE\xFAmܸ&amp;a\xF1\x9F\xFC\xE4'\xDA\xF1_|\x91jjj\xE6        \xF3A a\xF6&gt;l\xB0\x8D\x80&gt;8\xF5ڵcp\xEA\xFF\xEF\xB6U\x8F\x8A@ 48\xF88t\xE8\x95\x96V\xD3\xEE\xDDu\xD4\xDAIj{q\xF1]Z\xBA\xF4\xED\xDC\xF9\xED\xA4y\x86p;˩\xABƌ#\x82\xA1\xABt\xE7\xCE
 Qu\xE2\xE4\xF7\xBF\xBF@\x97/\x9FҚF2\xDCD@F2\xC1ȈNݱ\xE3;ZY\x9C\xBAhъU\x85B j\x91H\xBD\xFB\xEErq?\xCE\xE0\x90\x97\xF7\x84f\xCD\xA0\xF3\xE7\xC7\xD3\xF6\xED\x9FSY\xD9C\x9A6m\x90rs\xA7\xD0\xFF\xFC\x9FCt\xF7\xAE\xB5\xDB\xDA?\xFF\xF3?7\xEA\xCCv\xE3o\xFF6q+\xBF\xFF\xFD_\x8B\xF3\xFF\xF5\xC4\xE2hx\xF9y&lt;\xAC\\x89\x9E \xFE# _LJ\x86l\xC2h+}p*?2\xC2cVxp\xEA\xEF~G\xB4u+QA\x81\xADM\xA124\x81\xBD{k\x8D\xE0#W\x9C\xEEK\x96\xF4кu׉ZM\x94~\xFD\xEB\xF1\x98V\x89x\x89\x81!R\xCA\xC9yB\xF2'\x97h\xF9\xF2\xB3\xF4\xF4Ӄ\xD2'\xF6l\xFE\xED\xDF\xFEL\xAB\xE8޽&lt;\xFA\xBB\xBF\x9BG\xBF\xFD\xED,q\xEE\xE7еk\x93\xE8\xF8񿠅 O\xD8\xD3P\xC0j\xB1*\xC0h\xAC\'\xC2\x81P\xD0W6f\x9D\x9Dc\x95e\xC1\x83S{{\x8Bķ\xB4\xB1\xC1\xB1&lt;8\xF5\x83x3\xA2\xF9\xF3cge\xF1&lt;p\xB5\xB2\x92h\xF6l\xA2\x993I|\x9B+\x8Am\x81c\xC7
+\xE9̙r\xCDp\xFE\xE2a˖v\xE2\x85U\xD3M\\xF6\xDF\xFF\xFB\xDFӂ\xE9M;?7\xABV\xFD\xF4\xAF\xFE\xD5M\xFA\xE9O\xFFX\xFB\xA2\xAB\xEB%\xFA\xF4\xD3\xEE\xB4\xEB
+C\x81\xD0 \x86\xEE A\x82L\x80W6\xD6\xD3\xF1㓨\xBF\xFF)\xF1m\xE8\x97\xFA\xA1\x8C\xDEoܸA\xFC\xB2+\xB5\xB5\xB5\xD1\xC0\xC0\xBD\xF5V\x8E\xF8\xD5c6\x9D&lt;)\xA2 \x91=&quot;\xE2A\xB3\xA3+\x9C--\xA05kڍ)&gt;\xB9l4\x8F\x9A\x94\xF1&amp;\x84\x82\xC0\x9E=Q\xC3\xCEe\xCBz\xD2&gt;D\xC4!\xA5o}\xAB͕\xE0CjRk\xEF\xE2\xC5b\xFA\xDF\xFF[|\xAB \xD2\xC7/\x90?\xC6\xF6WB\x80`p \xFA&lt;\x80\xF8\x9B\xAFl\Qq_&lt;\x961A\xDC\xE4犱3\xE8\xF5\xD7ͩo3\xB1\x8E\x83\x8F\xA6\xA6&amp;\xDBn\xF0o޼\xA9\xC9\xC8\xCF\xCFS~~F\xCF?_N\xBCD\xDDݓ,\xC9\xE3Y~\xDE|s\xAE\xF8\xB5\xA4K\x94?*\xBA\xB6PCC\x83m\xFA,\x89@&amp;\xF0\x90@K i\xE78K\xC8\xCFLk\xD7^\xB3\xAC\xA6\xAD͜%\x8B -[\xF6\x89\xE5\xB2vf\xE4v\x8F\xAB_&lt;\x8C\xA1\xEBק\xDB\xC4\xD7/$\x93@h6\x83M\xC7c @\xFCH`ժ\xFA\xAB\xBFzV\x93\xBE\x91X\\xEC^ߎ&amp;\xB6\x98]\x983gN\xE238\xCA\xF5\xCD\xE7g\xADD\xE2\xB7ի/\xD1͛yⱱq\xD4\xD55N̜\xF3T\\xAD\xBD\xBDyt\xE1\xC2x\xBAt)\x9Fc\xDF\xE0\xF2\xAC?\x8D\x8D\xCBi\xC3\xB1\xC0\x84\x88
 \xC0        i\xC8DM\xCDݴ~\xE5\xFC\xF4\xD3        q\xA4&amp;L\xB0\xCCG\Iv\xB8\xDD\xEA\xEA\xEB\xF4\xFEOl\xF6.\xB6        H&lt;\xACP \xEF|\xEC\x81\x80\x80\xDF,Z\xD4+n\xEA۵\xE7\xC3y\x90\xF7\xE6\xCD\xE5ⱦ\xA7SN\xF5\xDAF\xD3QR2\xA8\xBD,\xE8O*\xA7\xBF\x8C\x98\xD9g:&lt;XD\xBC\xB0\xCF\xFE\xC3q\xB7m\xCB\xEEW\x9E\xA4+\xE2P\x90@\xB74d\xA2\xACL&lt;\xBB\x98F\xBA}\xFBki\xE4v6\xEB3Ϙ\xE7\xBAl\x93\xB3\xAD\xFA\xA7\xF6P \xEC \xF4O\xE7\x84RHD`\xE5\xCA&amp;\xF1+B\x89v\x83\xCE7\xEA\xD1\xE1Å\xDA\xF4\x9Cs\xE6&lt;\xA0\xC2\xC2\xF8o='O\xFE\x92&quot;\x91\x87Ҕ\x9D\x89j\xF5\xFE\xCF\xEE\xB3qc\xBD\xF8\xE2=ڴ\xA9\\xC4\xCAq\x8F{@uu\xDE\xEB\x83p\x83\xB1\xA0\xA71c\xD2\xFB\xF0ԩ\xD3\xE2ˉ3\xE2\xD7\xC6N[\xD5\xD4\xF5\xA4\xF3.k\x97mJ\xA7\x8E \xE7U:\xC1\xE0\xC0 w=\xD8 \x99\xE8\xEAj\xA5\xF5\xEBs\xE3(\xE3G\x97xm~\xA5J\xFA\xA2e\xFC+
+'4\xAE\x8F\xDBHU\xCE\xEAg|\xE3\x93\xED\x80q\x9E\xED\xE7\xEC٧Ŕ\x9EEZ\xB3&lt; w\xF3f\xAB
+\x90@\xD4'\xA0|\x82\xC1\x81\xEAw&quot;(\xB7\xF0\x8CP&lt;(\x9BScc\xBB@~O\xCC\xFB_.k\xC7&gt;M\xA6\x87\x83\xF3\x8A\xC9 \xF4\x89_.j3Vq\xDEl\x83\xBD=\xAE\xA7\xA4\xA4D\xDF\xCD\xF8\x9D\xDE&gt;&lt;Ulσ\xEE1\x885c\x94( \xA0 \xA5\xE6\xC5s T\xB0\xE7@\x80x@\x80\xFF'\xC8\xC1?\x9A\xB4iѕ+D/\xF2/D}}\xF1®_'\xF1XQkkl:\\xFE\x94\xA7\xC7}\xE3\x8Dz\xE7\x9D'b\xA6\x9D|c\xD0x|I\xEF\xF6xza\x80\xFB\xEB_O\xD1D`\xABw\xBE@\xCB \xF6P&gt;\xB1\xDF\xE4\xF8180\x9E\xF6@@\xC0o\xF8:.\xE2\xEDU_\x9F\\xFD-\xB1\x8E\xD9ƍD\xEF\xBF[ \x90
+|\xFB\xEDJz\xF5U\xB1\xA1`҃\x96\xB6v-\xD1k\xAF)(\x92@\xC0f\xBCx\xA0\x9E\x86\x86\xC4\xC9\xED\xD3$k\x97m\xF2\xA99\xB6\xCB\xF6\xAFgmG\x91\xBAB}p \xAFƩw\xA4\xD8\xE0\xC0\xC2\xD4\xF1)\x80\x80\x80
+
+H&lt;~E\xF4\xE1\x87d\Ǜ\x9A\x8A\xC4x\x8B\xA8\xFA\x86\x8B\xF8\xE1\xCDٯ\x96-\xFE)\xF6A \x98\x8A\x8BM\xBB:;ǚ;&gt;\xDB\xFA⋉\x86b\xD9&amp;\xE3`\xC87\x80\xA4\xD9xp \xAFʩ'y\xB5N\xFD\xDEA@\xD4%\xB0bE\xEC]\xE1G\xBD\xA0o*\xF5^Uu\xCF\xD0\xF3\xF1\xC7D\xB7o\xBB\xD8\x81\xC0X\xB8\xD04\xED\xF8\xF1I\xD4\xDF\xBFn\x8E\xF9\xA9\xBA[\xF7\xEF\xE7\x89q[\xD3+\x81\xB2M\xC6\xC1\x90o ɠ\xF0\xE0@^\x9D\x93\x93&gt;80\x83jP@@\xC0#[\xB6M\xF8jͲk\xD7
+\xC4\xD8k\x83\xD8ݔ[Y9@3f\x88\xE7\xC6D\xBA\x9F\xD7&lt;q\xB3u\xB4\xDE\xE0\xFB**D\x87i` \x97v\xEC\x98ፐ,Zݿ\xFFymt\xAEb\xFA\xF4&gt;,B\x98\x80%\x90PF;\xA4\xD4\xF3ɫv\xEA\xC7\xF0  \xA0.\x81)bl\xF7\xE2Ŧ\xBE\xD6֧ͬI$@IDAT\x85\xB6^~\xF9\xB4\xA1f\xC7\xA2}\xFB\x8C]l\x80@`        \xACZ\xD5aض9&quot;\x9E\x9F\xF4I:y2*&amp;\x8F\xA84\xD4.^|\xD2\xD8ƆI\x88\xC9&quot;\xAD-yuN\xACp\x99:d%\xEC\xDFo\xCA\xF8뿎\x98;
+m͛\xD7A\xB5\xB5\xB1\xC7~y1\xB3W^\x89+F\xE7\xF5H T\x8B\xF5\x8A\x99\xE9bk\xF5p\xBF߼\xB9\x9C\xB6n\x8D\x88DZԝ;\xE9޽&lt;ڳ\xE7\xFF\xA2\x9F\xFE\xF4\x8F\xB4ED\xD97\x91\xC8)\xFA\xC67\xFE)\xA8n\xCA\xCA.u=\x99\x95Y\xCE\xC6
+\x97\xCE3F   \xE0$\xFEE\x81g\x97\xE2\xF4\xADo\xA9;\xC0\xE2\xF5\xD7ۨ\xB7\xB7H,\xB2\x9B\xBD\xEB\xBD\xF7\x88&gt;\xF8\x80\xA8\xAA\x8A\xC4M?⡙`\xFC\x99:\x95\xA8R|;{6\xD1̙D&lt;K\xF8\x8D\xC0ʕMt\xE7N\x89x\xD4}=O\xBD8P$\xD6\xC6)\xA4Y\xB3\xC4\xF2 \xA8\xB0p0\xA1I7ņ\xBBw\xBFN\xFF\xF8\x8F\xEELt\xFBv&gt;ut\x88\xA9\xC0'\xD3А9^eƌ\xBBb*\xED\xFFWh\x9C\x9BPg\xD8&quot;        {\x80\xFD  R\xF2\xC0P}\xB0+?b\x9BM\xBAq\xE3\xF1ˮ\xC4+\xB5 \xD0[o\xE5\x88o\x80gk\xEB\x97pݏ57\xC7^\xA9\xDA*-\xA05kڍ_Q8oT,\xE6(\xAF\xA5\x92\xAA&lt;&gt;\xAFtu\xB5\xD2\xFA\xF5\xB9\xB4{w\x9DX\xC3'\xF6 \xE5\xE0`\x8E\xC4\xC7k\xAF了E\xE4\xC93:\xF6Ɍ\x9F\xD0\xFD\xD1.\xBAt\xE94-\\x88$h \x89\xA8\xE0\x80\x80@\xE0        \xE8\x83]y2}\xB0\xEB\xEB\xAFwee7MMM\xB6\xDD\xE0߼yS\xD3Ë%\xAE^\xFD=\xFF|\xB9\xF8&amp;\xF8%\xE2ݭ$^!\xFE\xCD7\xE7\x8A_K\xBAD\xF9\xA3b\xC5\xF8m%y V\xE8!\x8FW8HnhhКoll\xE7\xD4=ڵ\xAB\\xF4\xDF|\xAF$Yj\xB7\xA8\xE8\x8E\xD0}\ :\xBF$\xF2\xCFA\xC8z\xF1\xC5-\x95+[&amp; a\xF3
 8\xEC0\xF0`׿\xFA\xABg\xB5}\xEC:o\xDE=\xE2\xE9ֳI|s?gΜl\xAA\x88+\xCB\xF5\xCD\xE7g\xADD\xE2\xB7ի/\xD1͛y\xD4\xD99\x8E\xBA\xBAƉ\xC7T\xCC\xC7&gt;8Ooo]\xB80^|\xFB\x9AO\xFC\x8D1'\xFE\xB9\xB1q9m\xD8\x9B\xC1Q;\x88? \xA0(\xEE\xF3r\x90\WG\xB4i\x89ǜ\x88.^$1kQ_\x9F\xE2\xE3y\x9C,y\xFC\x9E\xC2Wa[\xA2/\xCE\xC7\xF6ʫ?*n\xC6\xF2d{?\x86\x98q\xDD(~' \x9Fn^\xE4\xB6d+N\xF3\x94ے58ݮ\xD5\xFAe}\xB8^\xC5S\xD3\xBB\xF2²\xFA`\xD7\xE6\xE6\xA7iݺ\xEB\xC4 Ъ\x98xLGIɠ\xF6Z\xB0\xA0?\xA9D\xB0\xBB}\xFBt:x\xB0H{\x86\x9E\x9F\xA5߻\xB7\x96\xB6m\xCB\xEEW\x9E\xA4+\xE2p\x90\xF7{\x97h\xAF\xFAzBծ\xB0-\x91Wy\xF4\xF3ʕV\xA9\x98\xFF\x988G0        xu=\x90\xAF=\xB2S\x993[r[\xB2gZK\xBFV\\xAFR3Kw\xB0\xEB\xE4\xC9_\x8A\xD9m\x8A\xA1\x874mڠ\xB2\x83\xBC9\x80ڸ\xB1K&lt;rO|{ \xB08\xD0:v\xEC\xF17\xCAH  \xE0\xDB'\xF3y\xC5J\xBB\x89V\xA8\xE5y\xE5\x91@H \xBA3)\xD85\xB8׬1\xF1\xAF\x96\xCBm\xE9I֠s\xEA]n\xCB-{ӱ׫Դ2\xECJT\|\x97\x96.=eLʃ\xC6\xF5q\xA9[\xB5\xF6igggܣ(\
 xD6J\xC5\xE7\xE2G\xCAΞ}\x9A\xFE\xEE\xF6\xEC\x89bQ\xC3xD\xD8p\x99\x80\xF8A˞\xA4\xE6\xE3\xDA\xF4\xC1|\xF6Ԭf-X\xA1VM\xBF@\x95\xBC\xB8\xF0j\xB9|\xED\xE1ī\xE8\xB2\xB7\x92\xF6\xA6c\xAEW\xC9iE\xBF\xEC:o\x8F\x91h\xA7\xFF\xF2_\xCE\xCFe5\xF1`\xF0\x9D;\xBF-f\xEAYJ\xCF&lt;\xF3\xAC\x98\xF6v\xA6\xF8Ud\x9A4\xE8ϱg\xF3^[[+\xB5*\xB1*'i\xBE\xB5k\xAFQ~~l\xFC\xBAoiI\x9A\x80\x80\x80\xE3l\xFB\x84\x95:1\x98\xCFqY4\xC0+\xD4\xEE\xD8\xF1\xAD\x9EO~\xD1&quot;\xA2+\xB2\xA8EA @ܼ\xF0*\xB9&lt;\x80XO\xB1Utc\x8B\xF5cN\xBF\xBBio&amp;\xB6\xE0z\x95\x98\x9A\xE8\x9FZ\xECz\xFD:љ3&lt;\xB0;6.\x97=yr*\xBD\xF1F+\xBD\xF3\xCEq\xA3\x9Fo \xD7\xEB\xF5\xFA\x9D\xA7\xAE\xA9\xB9+Vh\x8E\xFDT\xE2\xB9\xA4{m?\xDAP\x8B\x80m\xBF\x80\xB0Y\xFA`&gt;\xDE\xD6\xF3\xA9\xBEr%k\xCD4a\x85\xDALɡ\\xB8q=\xE0A\xB6|\x8D\xE1Ur\xF9\x9AÉW\xCF\xE5\xB6\xDDNn؛\x8DM\xB8^Y\xA7\xA7v偮\xEB\xD6\xFD\xE8G\xF1/^\xF0\xD4)&quot;D\xFE\xF2/ͅ\xFEx\xA1\xC0\xB7߮\xB4ސ\xCB9\xCB\xCA-vw\x9B\xD8\
 xD7        \xD8\xFA \xAB\xEA`\xBEd\x9E\xC1
+\xB5\xC9\xC8\xE08\xA4=\xB0\xCA,\xD14\xA3\\xB6\xA2\xE2\xA1v+K\xADY\xAD\xCA\xD6|\xAA_\xFFҽ^\xD9
+ǁ\xCA⧿4\x9AJXeA\x89ǯ\x88\xBE\xF9M\xA2\xFBoc_\xBC55ѳ\xCFF\xB5\xE9r\xF2\xF0\xE0\x981\xE6\xBCz\xC0\xEE\xA14+ b\xB6 *\xE6;/\xBE\x9Ez\xC4\xCB\xC7ڔ\xFC\xB2B\xED\xB9s\xE7h߾_\xD9d\xB5=՜;Ǐ\xAEM\xB7\xA72Ԣ,\x81l\xAE\xE9\xA5/\xB4\xC6mVWG\xD3-nK\xFEl\xEC&gt;\x98\xB9OLr\xCF/\xBB\xD21\x81~MM\xE6+jۥéz\xBC\\xF1\x9B\xBD=v\x8C\xE8\xA7?\x8DY\xF7\xD1G/\xD0_\xFCE\xBBS\xA6\xA2^\xF0=[}0S\xC9d\xE5J}0߂}b\xEA\xC0\x8Bb@il \xA0\xBCM6\xC49\xF8\xF8\xA7\xFA';vl6\xD5e\xF5\x99N\xB0B\xAD\x81 `\xC8\xF6z`T4\xCAF\xFC\x8DgD,$!n\xDB픭\xBD#\xAF\xCD\xF4\xC9'\x9Fh\x83\x9A\x{DC05}G?x\xF0\x80\xBE\xF8ⳌVԶC\x83\x93ux\xBD\xE2\xF7\x96-$\xD6\xD8 \xBA\x9F\xE8ڵ\xB1P\xDAă\xFF\x91@@F\xB05\xF1\xC3`&gt;&gt;¶B\xEDs\xCF='\xC7O\xE9}\x8F\xF4\xF7\x97\x88)S=\x80\xA6'\x90\xC9\xF5\xC0\xAA\xA8\xF8Go\xF2\xC5: s\xADu,_&amp;\xF6z9\x98\xD9ʊڎ\xC1\xB2\xA9\xE2D\x8F\xE2y\xB5\xE27Oþx1\x89\xC9bƵ\xB6&gt;\x8D\xC4&amp;?\xA3\x81\xE0\xB05I\x84G\xCCǫW\xA6Z\xB9\xF2\xD6
 -\xBFz\xBD\xFF&gt;i+\xB6\xEA\x83\xF9^}U\x8C\xEA\xF3Qb{\xB1B\xAD\x8F\xA9\xAE\xB0z=pU\x94\x83\x8DY\xB5׫\xEB\x9F\xD5땃\x88l\xA9Z\x95\xBF\xF5\xE0\x83\x8D\xFA뿎П\xFDY\x8F-\xF6\xD9U\xC9А9\xEFLN\x8E]\xB5\xA2\xBF\xE0\xF3^$o\xAB`\x8B\xEA\xFAT`+\xE6\xD5\xC8ck\xF4\xC1|~H\xA4_y0\xDFٳQ\x8F\x959Ӽ\xBEB\xED\x96-톽\xB1j \x9Di\xB5\x82(K l\xD7?\xBB\xA1\xCA\xF5\x94\xA7c\xD7ӷ\xBEu[\xDFT潳\xD3|\xFC\xB8\xB8XY\xE22\xD5}\xAF\xBA&gt;\x97\xDD\xD8\xE6\x94        @t\xC2&lt;\x98o\xEDZ}\x8F\x88\xF39\xF1
+\xB5˖\x99ߒ\xF1
+\xB5H \xE1$\xB6\xEB\x9F\xDD^\xF6\xFAz\xBAp\xA1i\xD1\xF1㓨\xBF\xFF)\xF3\x80\xC7[\xAC\x855\xE9I֪\xC3{8 \xF7\xFDm\xC5be\xD5\x{1458D7}8o\xA5r\x9B̃\xF9&amp;L\x88̗\xEF&lt;        [\xC0
+\xB5\xC2G\xD3 \xA0\x81\xB0]\xFF\xEC\xC6\xEF\xE5\x{174E9A}\xA7\x82\xA3\xD0E\xC8 \xD5ΰۼ\x8C\xEBc-\xAC\x89kd\xADH\xE1$0\xDC\xF7\x9B7\xAB\xC5Au}j\xD1\xF2\xAF%}0\x9F\x8E\x95\xF39\xE9+\xD4\xEA6\xF2
+\xB5H \xE1$\xB6\xEB\x9F\xDD^\xF6\xFAz\xBAjU\x87a\xD2\xFE\xFDEt\xE4\x88X,\xC4\xE3\xC4X\x8B\x9Ed\x8D\xFA1\xBC\x87\x87\x80\xFE\x98\xBBn1?:\xB8o\x9F\xBE\xE7\xFD\xBB\xEA\xFA\xBC' J \x8C\xB6RZL\xF6\xD6-\xC7\xC7\xCA{\xEEM\xACP\xEB\xB9  \x94!\xB6\xEB\x9F\xDDོ\x9E.Z\xD4+!\x8C\xADƒ{7o.\xA7\xAD[#\xE2q,\xF7\xFF\x8Fq\x9B\xDC6k\xD0\xB36ֈ:\xEE\xAF\xBCB\xF4\xDAkD&lt;!\x86jIu}\xAA\xF1\xF2\x8B\xF7\xAF\x88\xC9\xE4\xE5\x99\xF5 \xA7y$x[X\xA16x&gt;\x85E \x90)\x81\xB0]\xFF2唬\x9C\xD7\xD7ӕ+\x9B\xE8Ν\xBA|y\x9C6\xAB\xE3\x81Et\xF8p!͚5 \xA6\x81@\x85\x85\x83ɤ\xDBr&lt;\xD1\xF4\xC4\qE\xC5CbmDQ\xDEEr\x99\xC0c\xB1\xBDX\x94.^$\xB1N \x89\x85F\x9D?]9\x89\xE9ʓ\xB7\xC7\xDA\xDE{\x8F\xE8\x83\x88\xAA\xAAH\xD1b\xA9`\x87\xD7
+\x92\xBE\xE4d\xF1I2\xCA \xC9\xE38\x80\x80\xA8L\xA0\xAB\xAB\x95֯ϥݻ\xEB\x88\xD7%\xE148\x98C\xE7Ϗ\xD7^^h\xAF\xAA\xEA P%\xD6V]\xF5BB\xA8\xDA\xEC\xEC줎\x8E\xC3f\x9E\xD5s׮r\xE23\xBDH\xF2\x82\xADb]\x84\xAF\x82\xD0?\xFD\xD3kt\xE3\xC68:y2\xB6V\x98X\xAF\x99\x9A\x9Bc/7u\xFAI\x9F\xCE%\x8D\x92] e\xEBu\x86\xE9H\x98\xBC+[A@%\xC07%+++Z\x8D\x8D\xED\xD4\xD4tO\x99O\xA2͛!ֈ\xE4,&gt;:D\xA5\xA5\xD5q\x81\xA8\xB3\xAD&amp;\xAF\x9D\x9F7ߜ+~\xDD\xE8\xBF\xC0\xFD\xB3\x91qh\xE8 \x98\x9E\xA1\xE7\x9F/\xA7^\xA2\xEEns\xA64#\x93 ~\xD2ǁ\xFCի-\xDAy\x8E$\xF3΁$sv(          q\xF8\x86D\xBE)\xA9\xAB#ڴ\xC9\xCBGo\xF2ţ7s\xE34b\xC7\x91H\xBD\xFB\xEEr\xEDQ&lt;\xBDż\xBC'\x9E&gt;\x8A\xA7\xFF&quot;\xA7\xEB)))\x8F[\xCD\xD7\xB9Z\xBD\xFAݼ\x99G\x9D\x9D\xE3\xC4/e\xE3\xC4c\x84\xCEN#\x9D\xE8QA?\xE8kl\N6\x88g֐\xB2&quot;\xA0l\x92\x93c\xDA%\xAF\xDEj\xC5\x98T\xEF/r\x96\xB5\x9A` @ \xA8\xF8\xD9{\x97h\xAF\xFA\xFA\xA0Z        \xBB\x86ػ\xB7\xD6&gt;\xB8,Y\xD2C\xEB\xD6]'^
 8\xD3\xCDēl\xDF&gt;\x9D,\xD2\xC6$%k\x9B5\x96\x94 j\xAF \xFA\x93e\xB3\xFD\xB8\xDF\xF4\xF1\xD8.\xF6\xED\xB6m]\xB6\xB3S\x85\xA2\xBB\xA9\x99\xE4\x950\xE5\xD5[\xD5T U^P\xBD\xBF\xC8}X\xD6\xEA57\xB4  `?\x81c\xC7
+\xE9̙r\xADb\xFE\xD2i˖vڸ\xB1\xCB\xF5\xE0\x83p\xC0\xC3m\xB3\xBF\xF3\xA3&gt;\xF6-\xFB)s\xCA \xF2J\x98\xAA\xAD(\x9B9n\x94t\x8A\x80\xCA\xFD+;\xE5u\xD4  jس'j[\xB6\xAC\x87\xEA뽟ߖ5\xB0\x96\xF8$=n\xFF\x81\xEB{~\xD3'\xFB\xD8uXhP\xD9D\xE5e\xE0\xF7\xC0\x99\xA0r\xC1
+ā\xEBn0@\x92hi!\xF1\xE8\xD5\xED\xF3\xFC\xFCǴv\x{DD64}y\xDD\xFE`\xB8\x96\xB66of\xE5Jf\xB7\xF4\xB1O9\xB1\x8F\xD9\xD7H\x99P6as\xE4\xD5ZUYQ63\xCC(\xE5\xFB V v\xC3\xF3h@\xD4!p℩\xA5\xA6\xE6\xAEx\xEAK\xF3\x80\xC7[õ|\xFAi,P\xF2X\x96Ѽ\xF4\xB1O\xF5$\xFBZ?\x86wk\x94@TZQ\xD6N\xE4\xF2\x92\x80J\xFD+{\xD9\xD06\x80xG\xA0\xBB\xDBl\xBB\xACL,\xAC\xA1p\xBA}\xFBk
+\xAB#RQ\x9F\xECS\xD9\xD7J\x83TP\x9C\xB2\xB3`\xE9\xAC\xD2]Qv\xF2\xE4/)y(fyHӦ+\xA6\\xF9So\xEF\xC1!\x90n\xB1\xDB\xF2D\xD3
+rX\x81\xD8nҨ@\xD4$\xF0䉩k\xCC\xF5\xA6kmn&gt;M\xFB\xF6\xED\xD3D\xAEX\xB1\xC2\xABȖ\xEA\xFAd\x9FʾV\x9Fod(\x80d\xB3\xA2lq\xF1]Z\xBA\xF4\x94\x98ߺ]sH[[\x9B\x98\xE3\xFA\xA6m\xCE\xE1\x95N\xE5\xF9\xDEm\xABeL \x9B\xFE\x92q\xA3\xA3\xC4
+ģ\xC2\xC7   \xA1&quot;\xA0t\x8Df\xB7\xA2,\xAF\xE8\xB9s\xE7\xB7i\xC1\x82&gt;1\xDDEМkW\xD0\xC0\xF5\xF0&quot;&gt;Hjȶ\xBF\xD8mEi\xE9\xADY\xD3N\xB5\xB5&lt;\xEBV \xB6\x9B/\xEA\xF0'\xA5\xBE\xC1\x97\x83++\xCA^\xBFNb\xEEm\xA2\xD6V\xA2G_=zy\xF2\xE4Tz\xE3\x8Dz\xE7\x9D'\x94\x9F\x9F\xAF\xAD\xFA\xE9OwAu*\x99\xF4\x97T\xF5e\xF2\xD9ԩD\x95\x95D\xB3g͜\x89\x883a\x882   \xC1&amp;\xA0t\x92\xBD\xD5eo\x89)\xB77n$z\xFF}\xD2V\xFE&lt;\x9E\xE8\xED\xB7+\xE9\xD5W\xC5RhX\xED/\xA1CA@@@\xC0cJς\x95+\x9B\x82\x8F_}\xF8!+65\xD1ٳ\xD1l\xAAEY\x81,6љ\xF0k\xD7\xEA{D}􂹃-W        &gt;a\x9A[\xB6M\xF8j\xAD\x9Dk\xD7
+H\xB5\x95?]\xF58        \x84&quot;\x992\x85h\xF1b\x93rk\xEB\xD3\xE6\xB6@@@@@\#\x8A\x84i\xF2\xCCDz\xBAu\xCBwc\xEFu\xE9x_M\x92\x97g\xFA        +W\x9A,\xB0    nM\xE2&amp;T\xB4     \x90\x98\x90\xC4\p@@@@@\xC0@\x80\x8A*A@@@@M\x92\x93cR\xCFlY\x93\xAC\xD5T\x8D-\x81\xB0\x90\xAF\xF2\xB5!,\xF6gk\xA7\xCCLf\x99m\xBD(  `\xF5\xEE\xC4\xED\xB1kD-\xC5\xC5\xE6\xA1\xCEα\xE6\x8E&quot;[\xB2&amp;Y\xAB&quot;\xF2 @\xC0E\xF25@\xBE6\xB8(\xC1\xD7M\xC9\xCCd\x96\xBE6
+\xE2A@ @B\x80,\hz\xED\xF8\xF1I\xD4\xDF\xFF\x94y\xC0\xE3-\xD6š\xF4$kՏ\xE1@ &lt;\xE4k\x80j\xD7+ս\x80\xEB\xA9\xEA\x82&gt; 
+MR]MTQq_\xF3\xF9\xC0@.\xED\xD81C\xFF\xB3\xD6ĉ5\xB2V$\x81\xF0P\xF9z\xA5\xBAWp=U\xDDC\xD0 !
+@\xD8٫Vu&gt;߿\xBF\x88\x8E)0\xF6\xBD\xDA`+\xACEO\xB2F\xFD\xDEA\xC2G@\xBE\xA8r\xBDR\xDD \xB8\x9E\xAA\xEE!\xE8\x81\x81\xD0\xFC\xC2\xE6.Z\xD4K\xF3\xE7\xB7k\x96\xF3b\x84\x9B7\x97\xD3֭\xF18\x96\xFB+\xA3s\x9B\xDC6k\xD0Fdm\xAC        @T\xBA^\xA9\xEE+\OU\xF7\xF4\x81\x80@&lt;\xF7\xEF\xBC\xE3\xDBw}o\xE5\xCA&amp;\xBAs\xA7\x84._G\x8F8PD\x87ҬY4g\xCE*,tTSoo]\xB80\x9E.]ʧ\xC1Asj\xAE\x8A\x8A\x87\xC4ڈ\xA2\x8E\xB6\xB6\xCA\xD9\xC7W\xAE]\xBCH\xD4\xD6F\xD4\xD7\xE7,\x81\xA9S\x89*+\x89f\xCF&amp;\x9A9S\xFC\xC4\xAAt\xB6n\xFBctE\xB1\xAA\xFA-\xDD\xEB\xD5\xE4\xC9_R$\xF2\x90\xCA\xCAҴi\x83\xBE\xEF\xDC_n\xDẸ\xCE\xCEq\xD4\xD55N\\xBB\xE3\xC7\xEE\xE1zj\xB5\x87#\x80\xA8E tHWW+\xAD_\x9FK\xBBw\xD7QkkD\xF3\xE7Ϗ\xD7^^\xB8\xA7\xAA\xAA\x8BV\xAF&gt;*\xFE\xC1\xB6\x8A\xF1Q\xDB%\x9C;w\x8E\xF6\xED\xFB\x95\xED\xF5fS\xE1\xB9s\xDFŧgSň\xB2\x9D\x9D\x9D\xD4\xD1\xD1aoj*\xA2]\xBB\xCA\xE9\xEA\xD5|㘛\xA5\xA5\xB4fM;\xD5\xD6\xF6\xCDF\xA3QqsXf\xECyC5Xe\xAD\x92߲\xB9^ߥ\
 xA5KO\xBF\xFA\xF6\x89\xE8\x9B_*\xA7\xA9&quot;\xE4\xA73g\xCA\xC5D/Qw\xB79A\x87\xEDN_O\xADh@\x81\xD4B\x80\xF0\xCD_CC\x83F\xA4\xB1\xB1\x9D\x9A\x9A\xEE)t\x83\xA1y\xF3&quot;\xC4\x912#\xC0\xC1ǡC\x87\xA8\xB4\xB4:.\xC0̬\xB6\xECKq\xE0\xF3\xE6\x9BsI\xBF!\xBAz\xB5E\xEBa        @T\xF3\x87U\x8F\xAA\xE2\xB7l\xAFW|\xE3\xBEs\xE7\xB7i\xC1\x82&gt;ڸ\xF1\xA2\x98袙&gt;\xF9\xE4\xF1˜\xF8iN\xC1tE\xFCT\xC9ڞy\xE6Y\xF1x\xEAl:y2\x88X\x958\xE2zj\x95\xF2\x81\x80\x80B\x80\xF0\x8D\x9F|\xF3WWG\xB4i\x93\x97\x8F\xE8\xE4\x8BG$\xE6:\xEE\xF7\xE7\x9E{\x8EV\xACHӢ\xFA\xFBK\xC4\xD4\xC3\xF6\xB7\x89Tѻ\xEF.\xD7\xB1\xD3k\xCF\xCB{\xE2\xE9#v\xFCK[c\xE3rڰA&lt;O\xB2\xE4\xB5?\xAC\xE2N\xF4(\x8F\xD7~\xCB\xE4zu\xFD:\xFFr@\xE2\xD7]\xA2G\x8Fb\xD6\xF3\x8D\xFCo\xD4\xD0;\xEF&lt;\xA1\xFC\xFC|\xF1\x8B\xC8|\xABX\\xCDwF\x9F1c.\xFD\xE05\xE2\xD7h\xB3\xE9\xB1b٦\xAA*\xBA\xC5o\xA6\xC3~4\x8DtΝ멩 [  \x99U\x92?\xA3\xCFO\xC4\xF0\xAB\xBE&gt;Q\xF3\x81\xBD{k\x8D\xE0\x83}\xBBdI\xAD[w\x9D&amp;Nr
 \xD5 \xBB}\xFBt:x\xB0Hk\xC4c\x8EX۶m]\xAE\xEA\xF0\xBA1U\xFCa\x95\x83\xEA~\xB3z\xBD\xBAu\x8BįD\xEF\xBFOZ\xFF\xE3\xFA\xB7߮\xA4W_\x95\xEE\xEC\xADBq1kԃ\xB6\xF5\xFB\xDF'\xF1kQ\x81\xF7\xBAHM\xF9\x9D@N\x8Ei\xC1А\xE8Ȋ\xA5\x97^zAL~\xF3\x82\xA6\xEA\xBF\xFD7\xA2\xE6\xE6\xD3J)T]\x9F\xECS\xD9\xD7JA\xF4\x81\xF5\xCE @\x83D5        ;V\xA8=7\xCE\xEA\xF8\xA2\xB0eK\xBB\xB8        \xEBr=\xF8\xE0\xF69\xE0\xE1\xB6Y\x83~\x81\xE2g\xDAYcX\x92J\xFE\xB0\xCA&lt;(~\xE3\xF6\x9D;\x89&gt;\xFC0v.\xB0\xFD&lt;&amp;\xEA\xEC٨U\xAE\xE7cm\xAC\x91\x9F3\xAC\x9Dm@\xF0\xE1\xBA+\xD0`\x96\x8A\x8B\xCD
+:;\xC5Ox\x8A\xA5)S\xFEE1E\xF1rT\xD7'\xFBT\xF6u\xBC\xD8\x8D\x90\xD1\xE1s\xDFس'jh]\xB6\xACG\xFC\xA2%\xBE\xF68\xB1֢'Y\xA3~,\xA8ﲭ\xAA\xF8\xC3*\xEB\xA0\xF8m\xC5
+\xA2\xB5kM\xAB?\xFA(\xF6\xAD\xA7yD\x9D-Ykf\xEDH \xE0G \x9A\xAA\x8F\x9F$\xA6\xFA\x8F\x9F\xBD\xCD\xFCԛ\xADo|#\xB6(\xB3\xDE:\xF4\xE9$FgV\xECS=ɾ֏\xE1\xDD \xD68!\x97\xE2ZZH&lt;z5AS\x99\x9F\xFFX\xDCt]SF1kaM\x9CX#k+zR\xD9V\xD9\xC5o[\xB6M\x88\x9Dt\xEDZ\x81\x98\x8EڛY\xE1RqgM\xAC\x8Dke\xCDH \xE0W\xD5\xD5D\xB1\x9B\xFC\x81\x81\ڱc\x86R\xA6TV\xC4遾8)w\x98\xFB\x94\xFB\x98}\x8D\x94 \x99qC)\xC5\x9C8a
+\xAA\xA9\xB9+\x81\xFA\xD2&lt;\xE0\xF1kaMz\x92\xB5\xEAǂ\xF6.ۨ\x9A?\xAC\xB2\x8AߦL!Z\xBCش\xBA\xB5\xF5isG\x91-Yke\xCDH \xE0g\xABVu\xF2\xF7\xEF/\xA2#GT\xC8\xF4\xC4\xD0\xC6\xD0\x87#\xE9\xFB\x90Y\xE9I\xF6\xB1~ \xEF\xD6         \xB1\xCE
+9&amp;\xD0\xDDm\x8A++\xFBj\xFA\xF3\x90\xE7[\xB2&amp;Y\xAB\xE7\xC2 \xDB(\xDB\xEEPs\x8EU+k\x97mr\xACA\x87*\xE6\xC51\xF5t\xEB\x96zs\x8FȚd\xAD\xBAf\xBC\x83\x80\xDF,Z\xD4k\xAC\xC1\xF3D\xDC\xEFo\xDE\.&amp;T\x88\x88DZ\xD4;\xFF\xA0/u\xEFb\x9F\xB1\xEF؇̊\xD3\xFC\xF9\xED\xC4&gt;Fʜ\x80zgB涠d\x88        \xE8F0f\x8Cz\xD3\xDDʚd\xADAu\x99l\xA3l\xBB\xDF앵\xCB6\xF9͎\xBC&lt;S\xB1\x8AvȚd\xAD\xA6jl\x81\x80\xFF\xAC\\xD9Dw\xEE\x94h33&gt;\xFF\x96(\xA2Ç ]\x9B~\xF2\xE4/)y(f\xF9|HӦ+\x8Ai\xFF\x933\x84\xBE\x91lM\xCFι**\xFB\x96(ʻH@\x92!8\x81d\xBA\xBAZi\xFD\xFAܸ\x85qs\xC4T\xD3\xE3\xB5W\xB2rN/.\xBEKK\x97\x9EҾ\xB9\xBFqc\xBEh&quot;\xB6\xA8Ο\xFC\xC9g\xD4\xDB\xFBb\x{D808}\xD6,\x{1259AF}/,̾\xAD\xAE\x8E\xA6ΌOS@\x92&gt;\x81\xF4D\xA3Qjhh\xD0
+56\xB6\x8B)\xA6\xEFѮ]\xE5t\xF5\xAA7\x93@twO\xD3Z\x9B,裒\x92\x87\x861ee\xE8G?\x82&gt;H\x92\x8D\xD2\xD2Z\xB3\xA6\x9DjkyV\xCB͛!\xF61R\xE6\x80d\xCE%A@@@`\x812\xB1\xBA1\xBF\xF4TWG\xB4iѕ+D/\x92\x98\x8D\x8E\xA8\xAFO\xFFԙ\xF7\xEB\xD7I\xAC\x8DE\xE2\xD7+\xA2G_+\x8D&lt;yrj\c|]W\xC7/\xE8\x8B#v\xA6
+T&lt;&amp;m\xF6l\xA2\x993\xF3\xC5#ls\x87g\xC1~\x80dEA@@@\xC0
+\x83\xC11        \xBF\xEA뭔\xB0'\xCF-\xB1$\xD6ƍD\xEF\xBFO\xC4c=\x92%\xE8KF&amp;\xFE8s\x92ǭ\xC9\xDB\xF19\xB1\x97\x8A@\x8A!I\xA9\x8A\xE13\xD5        \x88\x80w\xEE$\xFA\xF0C\xA2\x9C\xF5Ԫ\xAEo81\xAC~&gt;\x9CHf\xFB@2\xE3\x86R    \xE0+V\x90X\xA47^\xAEJ\xDFޫ\xAEO'7|\xF5\xF3۷\xF5O\xF0\x9E \xE9\xD0B^\xF0)\x81-[ⅷ\xB4\xC4\xEF{\xBD\xA7\xBA&gt;\xE63|\xF5\xF3͛\xBD\xA6\xE6\xCF\xF6\x80\xF8\xD3oP+   i\x982%&gt;\xFB\x89\xF1\xFB^﩮\x8F\xF9 \x8Cm\xC7\xA2}\xFB\xBC&amp;\xE7\xBF\xF6\x80\xF8\xCFgP    Y\xE8\xEEκ
+G+P]Ϗ\xB1\xBD\xF2
+\xD1k\xAF\xF1\x80$k0 \x965N\xC8   \xE0\xA8RM\xC3?\xED+\xA5\\xB9&lt;c\xA2\xA0J\xE3&gt;\xD9\xE1\x96&gt;;\xFD\xC1u\xBD\xF7\xD1UU\x91X\xF0Q,\xF5[\xEB1\x91\x89\xB6s\xAB\xBF\xD8&quot;6A%@@\xC1!Ȕ@gg'uttś\x9A\x8A\xD2Z\x880~\xE1\xBBX5\xBCf\x87\xBC\xB6\x88Q96F%`\xA7?::\xC4&lt;\xCA\xD5\xDA\\xB7\x8E\xA8\xBD\x9D\xE8\xFD\xAF\x98^o\xA5\xB99\xF6\x8Aq\xE7\xAF\xFB w\xFAZ        &gt;:D\xA5\xA5մ{w\x9DX 0\x92\x96\xE5\xBCb\xFA\x9Bo\xCEߦw\xD1\xEA\xD5G\xC5
+\xEA-\xDA\xCA\xEA@\xD2\xC2hd\xB6\xD3\x85\x85\xFFl\xD4[XH\xD4\xD8H\xF4\x8B_\xFD\xF0\x87D\x9Fn|\xE4\xEA\x86\xFB W\xBB\x81H\xA4\x8A\xDE}w9]\xBE&lt;\xCE07/\xEF        ͚5@s\xE6&lt;\xA0\xC2\xC2A\xE38o\xF4\xF6\xE6х \xE3\xE9ҥ|\x8C-\xD8\xC1\x81Kc\xE3rڰ!\xC5
+\x82q\xB5`'\xBB\xFC\x91\xA8\xFE?\xFB3\xA2?\xFD\xD3ԏ\xD8%*\xA7\xE3\xA9\xAF\xAF\x8FJJJ\xF4C\xA3\xBE\xFB\xBD\xBF \xD5\xC5\xC8   \xE9ػ\xB7\xD6&gt;x\xF5\xEC%Kzhݺ\xEB4q\xE2Pʊ\xFA\xFB\xC7\xD0\xF6\xED\xD3\xE9\xE0\xC1&quot;m\xE5r`\xB8\xAEmۺR\x96Ç\xA9        \xD8\xE5\x8Fd\xADd\xB3\x92\xFCѣ\x9D\xD4\xD6\xD6&amp;Ǝ\x88\xC1#i&amp;\xBF\xF6̂\x95\xA6\xA3\x91@@@R8v\xAC\x90Μ)ײ\xF0\xB4\xAD[\xB6\xB4\xD3ƍ]\xA3\\x80\xCE\xCBe\xF4)_\xB9.\xAE)3v\xFB#3Δ\xF2kA\xE2L@\xAD   !%\xB0gO԰|ٲ\xAA\xAFO~V.\xC3e\xF5$שû52;\xBB\xFC\xC1-\xBB5c\x97+\xFD\xD6_\x80X\xF1*\xF2\x80\x80\x80\x80\x80\xBC\xBA\xF8\xE5\xCB\xB4\x9C\xF9\xF9\x8Fi\xED\xDAkJ%\xCE\xC2e\xB9N\\xA7j+\x97'V\xAD\xD6Q\xBB\xFD![\xA7\x9A?\xFC\xD4_\x80\xC8=        \xDB    \x90yu񚚻⑪/3\xAE\x8D\xCBrz\x92\xEB֏\xE1=5\x99\x99\xFE\x90[\x93떏{\xB5\xED\xA7\xFE\x82ī^\x82vA@@G@^\xBD\xBB\xACL, \x91e\x92\xEB\x90\xEBβ\xDA\xD0\x97\x99\xC9,\xED \xD7mG}v\xD4!ۨ\xA2&gt;\xDDF̂\xA5\x93\xC0
 ;\x80\x80\x80dI@0fL\xF6\xD3\xE7\xCAu\xC8ug)34\xC5ef2\xCBL47\x9F \x9C\xA1\xCA\xCAJ\xAA\xAB\xAB˴\xC7\xCA\xC96ʶ;\xD6`\x86\xE3\x90 \xC1\xA1\x80\x80\x80\x80\x80@\xFA\x80\xA4\xCF %@@@@@2$\x80$Cp(     \x90&gt;\x8CI\x9F\x99/J\xE8\x8B\xB1ء!\xF5\xE2LY\x93\xAC5S\xB8rrݙ\xD6gw9Y\x93\xAC\xD5\xEEvT\xA9O\xB6Q\xB6]}Vu\xC8\xDAe\x9B\xAC\x96W%\x9F\xAC]\xB6I}\xB2&amp;Y\xAB*\xFA\xA0\xBC$ \x9F\x83\x83^*A\xDBN\x88\xF9\x97ǒ\xD4i O\x9E:uډf\x94\xABS\xBD;S\xE5\xF9SPq\xB1\xA9\xBB\xB3s\xAC\xB9\xA3Ȗ\xACI֚\xA9&lt;\xB9\xB9\xEEL볻\x9C\xACI\xD6jw;\xAA\xD4'\xDB(ۮ\x8A&gt;\xAB:d\xED\xB2MV˫\x92O\xD6.ۤ\x8A&gt;Y\x93\xACU}\xD0^((2\x9Aok36\xB1@S\xA6\xFCK\xADJl\x90\xC4\|t\xE1Bӄ\xE3\xC7'Q\xFFS\xE6\x8F\xB7X kғ\xACU?\x96\xEE\xBB\G\xECM\x97\x8F\xDB\xF9U\xF6\x87UN\xF4S\xABm۝Oe\x89\xB3\xDD~C} \xC0\xAA\xAA\xEE &gt;\xFE\x98\xE8\xF6mc&gt;'0ܗ\xDF\xF8\xC6}\x9F[d]&gt;\xEB\xAC|\x95\xB3\xBA\x9A\xA8\xA2&quot;֑riǎ\xCA\xE8g-\xAC\x89
 kd\xAD٦\xB0ٛ-/\xA7˫\xEC\xAB\xB6;\xD1O\xAD\xB6mw&gt;\x95\xFD$\xCEv\xFB+\xF5\x81\xA8\xAC\xA03ni0\xEE\x8B\xEB\x9B7\x83KP \xF7%\xFB:,        H\x80=\xBDjU\x87a\xDD\xFE\xFDEt\xE4H\x81\xB1\xEF\xD5k`-z\x925\xEA\xC72}\x97\xEB
+\x83\xBD\x99rr\xAB\x9C\x8A\xFE\xB0j\xBB\x93\xFDԪ\xBB\xF3\xA9\xE8\x8F r\xB6\xDBo\xA8\x98\xC0\xCB/\x9B\xE3v\xEC ڷ\\xFCN\x80}Ⱦ\x8COO\xE2w\xBC\x87$\xC0\xCE]\xB4\xA8\x97\xE6\xCFo\xD7,\xE4\xC5h6o.\xA7\xAD[#\xE2q,\xF7\xE7\xE06\xB9m֠/\x8C\xC3\xDAX\xA3])l\xF6\xDA\xC5ͩzT\xF2\x87U\xDD\xE8\xA7V\xB5؝O%\x99\xB3\xDD~C} \xC0\xE6\xCD\xEB\xA0\xDA\xDA+\xFF}\xE5\xA2\xD7^#\xBA\xFBa\x90|D\x80}ƾc\xEA\xF7C&gt;\x92o\x9BT\xF7\xEFDm\x93\x8E\x8A\xACX\xB9\xB2\x89\xEE\xDC)\xA1˗\xC7\xD1c\xB1 \xEB\x81Et\xF8p!͚5@s\xE6&lt;\xA0\xC2Bg\xA7\xD4\xE8\xEDͣ \xC6ӥK\xF948\x98cH\xAE\xA8xH\xAC\x8D(j\xB3c#l\xF6\xDA\xC1\xCC\xC9:\xBC\xF6\x87U\xDB\xDC\xEE\xA7Vuٝ\xCFk\x84\x85\xB3\xDD~C} \xC0^\xBD\x8Dz{\x8B\xE8\xFCy\xD2\xFE\x9F\xBF\xF7\xD1\xF0_6M\x9F\xCFi\xEAT~|\x8Bh\xF6l\xA2\x993\x89r\xF1\x95s&lt; \x9B\xF7\xF8\xEB\xCA\xA2\x8B\x89x\xB2\x80\xBE\xBE\xF8\xAE_'\xB1\x82:Qk+ѣG\xF1\x9F\x85qH\xC0\xBD\xDE\xD5\xD5J\xEB\xD7\xE7\xD2\xEE\xDDu\xA2\xD3G4k98~\xBC\xF6\xF2\xC2\xFC\xAA\xAA
 .Z\xBD\xFA(\xB1\xB6\xEAꨭ\xC2f\xAF\xAD\xF0\xA8LEX5\xD3\xC9~jU\x83\xDD\xF9T\xF4G9\xDB\xED7\xD4}\xE2nv`\xE04\xBD\xF5V\x8Ex\x9A`6\x9D&lt;)\xA2 \x91\xF8F\xB6\xB99\xF6JE\xA9\xB4t\x80֬i7~E\xE1\xBC\xD1h\x94\xCA\xCA\xCAR\xC3gI\xB0?ZZZ\x8CO\x9B\x9A\x8Ah׮r\xBAz5\xDF8fec\xC1\x82&gt;*)yH\xFF\xF7\xEA\x8Cӵ\xA2ێ&lt;@젨h|qihh\xD0\xD456\xB6SSӽ\x8CN\xBB̋\xBFF\xC4O\xCA\xEDhW\xFDa\xB3\xD7.nNգ\x9A?\xAC\xDA\xE9t?\xB5\xAA\xC3\xEE|\xAA\xF9#\xA8\x9C\xED\xF6\xEA&amp;\xC07\xBC\x9F|\xF2        \xE5\xE7\xE7\x8B/\xF0&gt;\xA3\xE7\x9F/O4\xBCD\xDD\xDD挒\xA9H\xF1\x8D\xF1\x9Bo\xCE\xBF\x96ľ\xBCz\xB5E\xBB?@\x92\x8AZ\xF2\xCFt&lt;~&lt;%\xEE \xDE\xE4%\xE2?).\xBEKK\x97\x9E\xD2\x93?tH\xFC|E@\xE2        a\xCF\xD7\xF8\xC2&quot;_\\xEA\xEA\x886mJ\xFD\xA1\xDD\xC7\xFF\x9C/~\x9EkwF}a\xB3\xD70\\xD1+\xFCa\x8D\x9B\xFDԪ&amp;\xBB\xF3\xA9\xE0\x8F0p\xB6\xDBo\xA8t3\xC5sT\xF3\xF9Y+\x91\xF8m\xF5\xEAKt\xF3fuv\x8EO\x8C\x8F[\xC7O\xB7\x9F\xE8\x91G~\xA2\xB1q9m\xD8 \x9EBʊ@q\xF1j,\xF9w=\xE5\xE5=I
 \xFA\x88\xFB\xE4\xC9_R$\xF2Pܗ=\xA4i\xD3\xC5\xFD\xD0Ql\x8A\xF8\xABD/\xAAw\xFC*wǞ\xE5_\\xF9U_|\xE3\xF9\x99\xD70٫\xBAG\xE1\xB5&lt;\xA8\xE5\xA8\x81t\xF0\xF9[R2\xA8\xBD,\xE8OZ\x94'}ؾ}:&lt;X\xA4\x8D\xE1\xE6\xBD{ki۶\xAE\xA4e\xF0\xC1\xE8~\xF9\xCB\xFF[_\xCB9\xD9K\x96\xF4кu\xD7i\xE2Ds\xE1\xC8\xD1k        o\x81         @@@@ \x88\xF8\x86x\xE3\xC6.ڲ\xA5\x9Dr\xBE\x9A \xE6̙r:v\xAC0\x88\xE6\xBAb\xD3\xE7\x9F?'\x9A\x8B\xD1\xFF&quot;1Sfˌ|XǏ\xC4:+\xE4_\xA8\xAF\xBFE˖Ŧ\xF2e\xF6\xEC\x89\xFA\xD2D\xFF\xFE\xF7\xE6#$̔\xD9&quot;\xA5GHz\xBC\x90@@@|I`\xED\xDAkb {l\xFC\xC7\xE5\xCB\xC4LN\xBE4\xC3S\xD1mm\xF9b:\xE4ظ+f\xC9L\x91\xD2'\x80$}f(   \xBE#0q\xE2\x97TSs\xD7\xD0}ℱ\x89+\x8BZ[\x9F6r2Kf\x8A\x94&gt; \xE93C        \xF0%\x81\xB22s\xBC\xEEn_\x9A\xE0\xA9\xE8[\xB7\xCC\xF9\x9Bd\x96\x9E\x8A\xF2a\xE3@|\xE84H\x81L\x8CcN\xC1\xFB\xE4I&amp;5\x84\xBB\x8C\xCCLfn*\xE9[\x8F$}f(     \x90! \x82C1\x81\xF4        
  I\x9FJ\x80\x80\x80\x80\x80dH\xC0I\x93a(    #\xA0/\xF6\xC7{CC\xD9\xCF\xFB\xE2\x8B/\x88\x9A\xF8E\xF47Ct\xEA\xD4im\xAC\xB0\xDB\xD6Z\xF5.\x97\xDC\xE7d۽S\x94\xB8\xE5\xECό\xC4\xF5\xE2(\x80\x80\x80\x84\x8E@q\xB1irg\xE7Xsdž\xAD)S\xFEņZ\xC2U\x85\x93\xFEP\x91\xA4\xDC\xE7d\xDBUӊD5\x8F@\x80\x80\x80\x80o        ,\hJ?~|\xF5\xF7?eHskx\xD9o|\xE3~\x9A5 \xBB\x9D\xFEP\x9D&amp;\xF7\xEEsz\x92m׏\xA9\xF2\x8EDO@\x80\x80\x80\x80\xEF        TWUT\xC4\x85\x81\x81\ڱcF\xC66+/[Y9\x90q]a-h\xA7?Tg\xC8\xFD\x85\xFB'\xEE\x83l\xBB\xAA        \x88\xAA\x9E\x81._X\xB5\xAA\xC3н9R`\xEC[\xDD\xE02\6&gt;a\xE1\x8Ex\xD6\xF6\xEC\xF0\x87\xB5\x96\xBC\xCB5\xBC\xBF\xC86{\xA7*y\xCB@\x92\xB3\xC1'    \x906\x81E\x8Bzi\xFE\xFCv\xAD/\\xB7ys9m\xDD\x8Fc\x8D&gt;\xF7\xE7\xE1\xBC\F^\xF4.m(`\xC8\xC6F%\x8An$\xEA/\xDC\xF7\xD8f\x95\xD3\xE8g\x82\xCA\xEAm\xD0\xF6X,z\xE5
+\xD1ŋDmmD}}6T\x9A\xA2\x8A\xA9S\x89*+\x89f\xCF&amp;\x9A9\x93(!`
+Z\xF8@@\xFCI`\xE5\xCA&amp;\xBAs\xA7\x84._G|\xAFq\xE0@\x91\xF6\xF2\xA75\xFEW\x9D\xC8\x87ҬY4g\xCE*,\xB4d\xE4\xAE]Ӎ|\xF2\xB6q0\xC9\xC6\xE4\xC9_R$\xF2\x90\xCA\xCAҴi\x83\xA3\xDE\xFFq\x9F\xB9y3\x8F:;\xC7QW\xD78ї\xE2\xC7\xF5\xF6\xE6х \xE3\xE9ҥ|\xCC1Z\xAD\xA8xHl+Q\xD48\xA6\xE2F\xA8\x90\xCE\xCEN\xEA\xE8\xE80\xFC\xD0\xD4TD\xBBv\x95\xD3ի\xF9\xC6177JKh͚v\xAA\xAD\xED1\x9A\x8DF\xA3\xA2s\x96\xFB\xD8\xF0\x81\x9B7o\x8A\xC1\xC0\xD3\xE2ŗ\xE9\xE3\x8F\xFF\x84\xCC\xC9Ȁ\x8A\x8A 4iR\x9D=\xFBG\x95G!\x93@WW+\xAD_\x9FK\xBBw\xD7QkkD\xFB\x80o\xDCϟ\xAF\xBD̜\xE9m\xA5\x84\xE85G&quot;\x8Fhݺk\xF4\xAF\xFF\xF5m\xFD\x90\xF6~\xE3\xC6+:s\xE6\x8Cx\x95\x8B`\xF5%\xEA\xEE6\x94\xC7eL\xB2SU\xD5E\xABWK\xAB\xFFM\x92K\x8Dá
+@8\xF88t\xE8\x95\x96V\xC7u@\xAF\\xC1\x81ϛo\xCE%\xBD\xC3\\xBD\xDAB+++@\xBCr\xDA\xDB        `܆\xEDHӬ\x90\xBF\xDC\xE5\xFB+N\x8D\x8D\xED\xD4\xD4t\xCF\xD3/\xA0\xBB\xBA\xC6\xD2\xFAO\xF4\xC7|\x97\xA6OdX3f\xCC3\xE2\xFEt)\x9D&lt;)\x97I#\xC5\xA1\xA1y\xF3&quot;\xC46\xAB\x9CB\x80\xB0#&quot;\x91*z\xF7\xDD\xE5\xDAO\xA2\xBAc\xF2\xF2\x9E\xA4\xFD\x9C^6\xDD\xF7D?\x99q$\xDEظ\x9C6l\xBF\xB7!\x81\x80\x80\xF8\x9A\xC0\xB4iӨ\xA6f\xB1\xB8\xDF\xF87q\xF7\xE9\x95\xE9/'\xE9\xB6\xF4\xFC\xFCd\x89\xFCtI]ѦM\x99=\x82\xFF\xE3\xC7\xD3Z\xB3\xE6z\xFC\x81${\x89\xEE\xFF\xFE\xE1\xE2\xE1\xF8\xFB\xBF\x8F\x9F1m\xACXF\xA6\xAA\x8A\xC4x&quot;\x81J|\xC5\xF1\x8F\xF4\xE7\x8BG\xBA\xE6\xC6gP|/t\xC8޽\xB5\xC6ŀ\xC7_,Y\xD2#~\xBBN'\xB9\xEA*4\xB4}\xFBt:x\xB0H{6\x94\x9Fem۶u\xB9\xAA\x8D\x81\x80\x80\xD8O \xD3\xFB\x8D\xE1\xF7\xF6+C\x8DL\x80\xEF\xF9\x89w~\xD5ק\xC7DB8\xF8X\xB3\xE6FZ\x85\xAD\xF8\x97\xB5}\xFF\xFB$&amp;# *H\xB5\xB4\xF4x\x95Y\x98\x9Et\xECX\xA1\xF6\[\x9C\x93C\xB4eK;m
 \xDC\xD8\xE5z\xF0\xC1\xEDs\xC0\xC3m\xB3\xD6‰\x9F\xF9c\x8DH   \xFE%\x90\xCD\xFDF\xA2\xFB\xFF\x92\x80\xF2\xE1F\xF3/\xDF~\xF8!\xD1Ν\xC1+&gt;\x98I\xA8\x90={\xA2F?X\xB6\xACGD\xBC\xB7\x8C}\xAF6\xFE\xFF\xF6\xEE.Īr\xFF\xF8/\xF3?:u\xE8ŷ2uf\x9C*\xC9\xF3?\x90\x82vtq&quot;\xA2B\xA2\x90$\xD4e\xE5\xA5]\xC69 tQtt!r\xA8 \xF0. \xCE\xC9\xE8 \x88\x9Et\xA6\x8E\xAF\x99\xCF\xD8`\xF6_k\xE6?{m;ό3\xE3~t\xBF| \xF3\xEC\xDF^뷟\xF5Y\xD6^\xDF\xD9{\xAF]Ρ\x9C\xCB\xE4R?\xC7ɚ\xDF @\x80@\xEB\xD4?\x97\xCF\xF5|\xE3\xD7\xE7{\xFF\xFF\xB1l
+3\x9DB }|#v\xEF\x8Eضm\x8A\x8Dڨ\xDC1䫯\xA2x\xEBս㇮\xBB\xFBzq\x80\xBFk\x9A\xC3XΥ\x9CS\xB9\x94s,\xE7j!@\x80ZO\xA0\x91\xE7\xBF&gt;W\xBA3W\xEDl\xBD\xA3\xD03\xFE\xF5\xF1-g\xBDwok\xCC\xFDVg\xD91\xE4\xB3\xCF*\xAA͛,\xDE\xF5sU\xB8ãr.\xE5\x9C&amp;\x97\xFA\xB9N\xD6\xFC&amp;@\x80\x9A_\xA0\xFE9\xFCV\xCF7~}\xAE\xF2\x8FL\xFC!\xB5\xF9\xCCp&amp;\xBF&gt;\xBE\xE56&gt;8\x93-[\x9D\x8E         g\xCFV\xAB\xB7\xB7\xBA\xE4YU\xBD\xB3\xA3\xFA9\xD5\xCF\xF5\xCE\xCEʣ @\x80\xB3\xA8\xAFn\x9FM\x8F\xA9\xD6\xFD\xE1\x87\xFF\x99\xEA.u-%\xD01W\xC1\xFA\xA5\xEE2\xDC\xF3\xE77\xDF\xE5n\xEB\xE7T?ז\xFA\xD7d\xB2 @\xA0\xC3\xEA\x9F\xC3\xEB\x9F\xDB\xE7\xCA\xF2\xF7\xBF\xEF\xBF\xFF\xFE\xF8\xE6\xDB:\xE1\xC3s\x85j\xD1\xED\xCA+iM~\x99\xE1\xE4յZtWf5\xED\x8EydV*V&amp;@\x80 @ \x8B\x80\x92\x85US @\x80RHJE\x8D @\x80\x81,@\xC6\xC6*\xBF\xC9/\xFE\xAB*F @\x80\x81\xF6\xB8v\xAD:\xF5s&gt;4\xFB\xE3]oVo9\xFBN[\xD4\xF7\xA8\xEF=\xD7~\xAD\xB2]\xF5\xAF\xB0Uf&lt;\xC7y+U
 .Zt\xAD\xBAaD\x80\xE8\x81\xE1\xE1\xB5=]\xB6\xAC64\x98\xA1@\xBDY\xBD\xE5 7\xFF\xAF\xD5\xEA{\xD4\xF7\xFE\xAF۬\xD0\xE4\x87&quot;&gt;\xFE\xB8:r\xFF\xAEn @\x80:@\xE0\xF2\xE5\xBB\xE3ȑ\xFBk{\xBAiSmh0C\x81z\xB3Ҳ4\x9D\xEB\xD2\xC9ǣ#Ȟ=W\xAEL\xFC\xF3X\xB1\xE2b\xACY3:\xD7+\xB6#@\x80\xB4\xA4\xC0\xFE\xFD+btt\xE2ԯ\xBF\xFFJl\xD8В\xBBqG']\x9A\x95v\xE5RZ\x96\xA6s]:\xF9x\xB4})/\x9D\xBD\xF5O\xE3駿\xA8n @\x80:@\xE0СEq\xE0\xC0\xD2ڞ\xEE\xD8q\xBA66\x98\x9D@\xBD]iZ\xDA\xCEv\xE9\xF4\xE3Ѷ\xE4\xE2ň_\x8Cx\xFE\xF9\x88\xC9/ں\xF5\&lt;\xF6\xD8\xE9\xD9\xFE\xB1&gt; @\xA0%._\x9E\xFB\xF6\xF5Ğ=\xABk\xE7C7\x9E\x8A-[η\xE4\xFE4äK\xBBҰ\\xCAs\xCCҶ4.\xADo\xB68B7\x97\xBA\x99\xE4m\xBE\xFFz\xF1%\xE6\xDF|q\xE2DD\xF9\xC1\xF2 n\x9C\xC0\xF7\xDFG=18\xF1\xD3O\xD5}\xEB\xD7G\xBC\xFA\xEAP|\xF7]U3&quot;@\x80\xB4\xA2@y&gt;t\xE6LW /\x8C\x91\x91\x85q\xE9ҍ\x9FE8\xBE+\x8E\xBF'N\x9E쎱\xB1\xBBj\xBB\xD8\xDF5\xB6o?\\xDC\xEE\xAB\xD5 f/P^\xBA\xB4&lt;\xBE\xF
 Eza\x94\xC7\xE2\xE0\xC1\xA5\xF1\xD1GK\xE2\xD1GGcݺ\xFFĒ%u\x97_-\xDA;77u\x8EӧO\xD7f|\xF8\xF0\xD2\xE2\xEB\xEAWǷ\xDFv\xD7j3&lt;\xFE\xF8\x85x\xED\xB5\xC5\x84_\xE1\xA5H/+\\x96/_叅 \x90K\xA0&lt;9Z\xFE\x85\xB5X\x8E]]\x9C\xF0\xFE!Ξ\xAD&gt;P&gt;\x93\xC7\x89\x9D;?)\xCB`\xF1\xF9\x8F\xBE\x99lb\x9D)J×_\x9Eo\xBF\xFDD\xF1G\xEF\x9E\xF1\xB5ʠw\xEC\xD8=\xE3?SlvC\xB9\x93\x8FGS\x902||\xF8ᇱr\xE5\x86\xF0+Go\x9A˖\xFD\xCF&gt;\xFB\xB7\xF1\x97\xC9\xFE\xF5\xAF\xF2\x95\x93o\x8A\xBF\x9C\x89 \xAAK\xD0M\xB3\xF9M\xEF*\xD2֭[\x90\x9BJY\x81\x98\xAB\xC0\xE2ŋcժU\xF1\xF0ÿ+\xDE\xEA\xB36&gt;\xFF|\xF1\xACZ\xAD\9\xBBv\x9D*\xCEY\xCE\xDB\xF5oG\xBE\xBEY\xF5\xB0r%P\xDA\xFD\xF1\x8F/\xFC\xF9ϧ\xE2\xF0\xE1\xCF\xEA\xE4\x8EGDS\x90\xF2\xC8\xF6\xF4 ěo\xFEi\xFC%\xAE\xC9C\xDF\xD5\xF5˔/q=\xF0\xC0\xCF\xC56W\xA3\xB7\xF7j&lt;\xF4\xD0X̛\xF7`\xB1Y\xF93\xB1\x94\xE1cݺu\x937\xFD&amp;@\x804\xB5@@V\xACX\xAF\xBC\xB2\xB9\xF8\xEBz5\xD5\xF2\xEF\xA9Q\xFC\xA15\xE2\x91
 G\xAAz9*6)\xAE\xFA\xB1vm᥻8*ދni\x88@oooq\x9E\xD9[\xEB\xF5\xC4\xAF\xBF&gt;\xFDG\x8F\xD7\xF8\xA0\xE9Ȼ\xEFn\xAD\x85\x8Fy\xC5G\xE6\x9Fy\xE6\\xBC\xF4\xD2\xF7q\xDF}\xBEL\xF0\xC6C\xE9 Юo\xBC\xB1\xA6&gt;\xCA\xF3\xA1^\x88\xE2Ր\x88E\xB3\xBFS\xBB\xDD\xD1\xFD*\x8FI\x99Iʟ'\x9F\xBC\xA3Si\x89o\xEA\xF2\xE9\xA7K\xC6\xDF\xE7XJ\x96_O\xBFw\xEF\xA9\xE2\xA0\x97\xB7\xB2 @\x80:D\xE0\xCB/\xFB\x8A\xB7\xF9L\B\xB7&lt;zhm\xDB:d\xE7\xEDf[
+y\xADy\x97w\xDE\xE9\xABM\xEE\xB9\xE7\xCE        5+ @\xA0S&gt;\xF8\xE0\xF7\xB5]ݽ[\xF8\xA8a\xB4\xAC@\xD3\x90\xAF\xBE\x8A\xE2\xADW\xF7\x8E\xC3vw_\x8Fݻ]?\xB7e\xFF\x95\x998 0'\x81\xA1\xA1\xEE\xE2+&amp;\xDEguoqZ\xB4w\xEF\x9C\xDA؈@S        4m\xF9\xEC\xB3\xCAi\xF3\xE6\x8B\xCF|\xFC\\x8C @\x80 08\xF8\x9B\xDA^&gt;\xF5TqY\x9D\xEA\xBA:\xB5\xBA\x81Vh\xDAr\xF6lE\xD9\xDB[\xF7\x8D\x82Uو \xD0\xD6/V\xD7-\xAFje!\xD0M@ʯ\xB6\x9F\\xE6\xCF/\xBEb\xD2B\x80\xE80\x81\xFA󡮮\xDBy\xBB۶M@\xDAV܎ @\x80\xE8`\xA4\x83\xBE]'@\x80 p\xBB\x90\xDB-\xEE\xF1 @\x80t\xB0@\xD3\x90\xB1\xB1ꨔ_\xBA\xD3\xEE˵kա\xE8\x84\xFDm\xF7\xE3i\xFF @\xA03\xEA\x9F\xC3\xEB\x9F\xDB\xE7\xAAQߣ\xBE\xF7\\xFBَ@3Tg\xBD\xCD0\x9B\xBA9 +U7-\xBAV\xDDh\xD3\xD1\xF0\xF0\x82ڞ-[V @\x80-$P\xFF^\xFF\xDC&gt;\xD7]\xA8\xEFQ\xDF{\xAE\xFDlG\xA0\x9A2\x80\xFC\xF0C\xC4\xC7W&lt;\xFF\xAEn\xB4\xE1\xE8\xF2\xE5\xBB\xE3ȑ\xFBk{\xB6iSmh@\x80\xB4\x90@\xFDsx\xF9\xDC^&gt;\xC7\
 xCFuq~0W9\xDB5\xBB@S\x90={&quot;\xAE\\x99\xA0[\xB1\xE2b\xACY3\xDA쎷4\xBF\xFD\xFBW\xC4\xE8\xE8ġ\xE8\xEF\xBF6\xDCR; @\x80wH\xA0|/\x9F\xCB˥|n/\x9F\xE3\xE7\xBA8?\x98\xAB\x9C\xED\x9A]\xA0\xE9\xC8\xFB\xEFG\xF1k\xC5\xF6\xF4\xD3_T7\xDApt\xE8Т8p`im\xCFv\xEC8] @\x80\xAD'P\xFF\^&gt;Ǘ\xCF\xF5\xB3]\x9C\xCCV\xCC\xFA\xAD$\xD04\xE4\xE2ň_\x8Cx\xFE\xF9\x88\xC9/\xDDٺ\xF5\&lt;\xF6\xD8\xE9V\xF2\x9C\xF1\/_\x9E\xFB\xF6\xF5Ğ=\xABk\xFB\xBBq\xE3\xA9ز\xE5\xFC\x8C{X\x91h&gt;\x81\xF2\xB9\xBC|N/\x97\xF2\x9C\xA6|\xAE/\x9F\xF3\xCB\xE7\xFE\x9B-\xCEn&amp;\xE4\xFEv\xB8\xF9        \xB7\xB8\x97׋/1\xFF曈'&quot;\xCA\x96_\xB8pc\xC3ᅬ8z4bp0⧟\xAA\xFB֯\x8Fx\xF5ա\xF8\xD6
+\xA3rϜ\xE9\x8A\xE1\xE1\x8512\xB20.]\xBA\xF1\xBD\x9F\xE7\xCFw\xC5\xF1\xE3\xF7\xC4ɓ\xDD16V]ޫ\xBF\xFFjl\xDF~\xB8\xD8žV\xD8Ms$@\x80\xA6(\x9F\xD3/]Z_\xBD0\xCAs\x83\x83\x97\xC6G-\x89G\x8Du\xEB\xFEK\x96\xD4]\xEE\xB3\xE8\xE3\xFC`Lw\xB5\x9D@C\xC8\xF0\xF0p\x9C&gt;}\xBA\x86t\xF8\xF0\xD2x\xEB\xAD\xD5\xF1\xED\xB7ݵ\xDAL\x8F?~!^{\xEDDq\x92\xFEE^\x8A\xF4Ҡe\xA8H@\xFF\xFC\xE7?\xD4-\x8A\x801R\x84\xA6*5=\xBA\xBA\xF8\xCC\xE2\xEC\xD9\xEA\xE53y\xB0\x81\x81\x91ع\xF3\x93\xA2\xDF`\xF1\xF9\x8F\xBE\x99lb @\xA0\x89\xCA\xE7\xF4\x97_\x9Eo\xBF\xFDD\xF1G֞\xF1\x99\x96x&lt;v\xEC\x9E\xF1\x9F\x99L\xDD\xF9\xC1L\x94\xACӊw\xFDR,\x8D\x9A\xF8'\x9F|~\xF8a\xAC\\xB9\xE1\x86\xFF\xE0f\xDAٲ\xE3\xD9g\xFFV{ٲ gΜ\x89\x9E\x9E\x89\xFFpg\xDAg\xAA\xF5\x8E;\xBF\xFD\xEDo\x8B\xB5\xAF\x99j\x95Y\xD5\xCB\xF9\xADZ\xB5*V\xAF\xFE\xDF\xE2\xA5յ\xF1\xF9\xE7\x8Bg\xB5\xFDʕ\xA3\xB1kש(\xDFj6\xB9\xF4\xF5\xF5Eoo\xEF\xE4M\xBF         @\x80\x81\xB8\xD5?\xC8:?h\xB1n\xBA\xB3h\xE8+ \xE5\xA3\xF7\xF4
 o\xFEi\xFC%\xC7\xC9\xD9tu\xFD2\xE5K\x8E&lt;\xF0s\xB1\xCD\xD5\xE2\xA4\xFBj&lt;\xF4\xD0X̛\xF7`\xB1Y\xF93\xB1,X\xB0\xA0x\xA9r\xDD\xE4\xCD[\xFE]\x9E\xDCoܸ\xF1\x96\xFBL6X\xB1b}\xBC\xF2\xCA\xE6\xE2\xAF\x93\x95\x88b\xCA10\xC5\xE3D&lt;\xF2HU/G\x8B\x8B\x8CR柵k\xA3/\xDD\xC5\xFE\xEF5\xB3 @\x80m#P\x9Ek\xD4\xFF1\xF1\x89'&quot;^}\xFA\xB7\xA4;?h\x9B\xC3oGf \xD0\xF0\xF2\xEE\xBB[k\xE1c^\xF1\xF7g\x9E9/\xBD\xF4}\xDCw_{~\x99\xE0o\xAC\xA9\x85\x8Fr_x!\x8AWC&quot;\xCD\xFE\x8238\V!@\x80ZQ\xA0&lt;G(\xDF\xE0P\xFE&lt;\xF9d+\xEE\x819h\x9C@Cȧ\x9F.)&gt;P\xBEz|vw\x9F\xAF޻\xF7T\xF1Yqy\xAB6]\xBE\xFC\xB2/\xCAϹ\x94K\xB9\xBF\xEF\xBD\xB1m[\x9B\xEE\xAC\xDD&quot;@\x80 \xD0\x81&quot;\x8F7ny睾Z\xB3\xE7\x9E;\xD7\xD6\xE1\xA3\xDC\xD1&gt;\xF8}mw\xEF&gt;j @\x80\xA6hX\xF9\xEA\xAB(\xDEzu\xEF\xF8\xC3tw_\x8Fݻ[\xEC\xFA\xB9SMU\xEA..&lt;\xF1&gt;\xAB{\x8B\xDD޻w\xAA5\xD5         @\x80\x98hX\xF9\xEC\xB3ɖ\x9B7\xFFX|\xE6\xE3\xE7\xAAІ\xA3\xC1\xC1\xDF\xD4\xF6ꩧ\x8A\x8
 F\xCDW\x9F\x9B\xAF\xD5+ @\x80\xB8Q\xA0a\xE4\xEC٪qoo\xF5\xDDU\xB5\xBDF/V\x9Fi\xD0U}\xDB \xC8\xDE @\x80H4,\x80\xD4\x9B\xC8\xFC\xF9\xC5W~\xB6\xF9R\xBF\xBF]]m\xBE\xB3v\x8F @\x80@\x83@4m @\x80hc\xA4\x8D\xAE]#@\x80 \xD0lH\xB3\xF3!@\x80 \xD0\xC6\xC8\xEE\xB5k]\xF9%\x84 @\x80n.P\x9DE\xDF|]k\xD4         /\xA8\xDDZ\xB6\xAC64 @\x80 @`d\x9C\xA9\xEE\xBA|\xF9\xEE8r\xE4\xFE\xDAݛ6Ն @\x80L# \x80L\x833\xD5]\xFB\xF7\xAF\x88\xD1\xD1        \xBA\xFE\xFE+\xB1a\xC3Tk\xAA @\x80 P/ \x80\xD4k\xCC`|\xE8Т8p`im\xCD;N\xD7\xC6 @\x80L/P}\x9D\xF7\xF4\xEBu\xFC\xBD\x97/Ϗ\xBF\xFC\xE5\x91\xF8\xEB_\x97\xC6\xE4\x97n\xDCx*\xB6l9\xDF\xF16 @\x80\xCCT\xA0\xE3\xC8\xF5\xE2K\xDBϜ\xE9\x8A\xE1\xE1\x8512\xB20.]\xBA\xFB\xBB\xF3\xE7\xBB\xE2\xF8\xF1{\xE2\xE4\xC9\xEE\xAB.w\xD5\xDF5\xB6o?\\xAC\xDBw\xC3\xFAn @\x80 0\xB5@\xD3\x90\xE1\xE1\xE1\xA9g?\xCB{FFF⧟~\xAAmu\xF4\xE8\xEA8x\xF0q\xF6l\xF5\x81\xF2ڝ\xD3
 Fb\xE7\xCEO\x8A\xC02X|\xFE\xA3o\x9A5\xDDE\x80 @\x80@\xBD@S\x90\xE5˗\xC7֭[\xEB\xE7{K\xE32|\xACZ\xB5*~\xF8w\xB1o\xDF\xDA\xF8\xFC\xF3ų\xEA\xB7r\xE5h\xEC\xDAu\xAA\x98ӹb\xBB\x9Ex챞\xE8\xEB\xEB\x9BU+ @\x80\xE8d\x81\xA6 ei\xE4\xB2b\xC5\xFAx\xE5\x95\xCDq\xECX\xD5uA\xF1\x957F&lt;\xF2HU/G\x8B\x8B\x8C\xB2fM\xC4ڵQ\x84\x97\xEE\x987o\xFD\x8D+\xB8E\x80 @\x80\xC0\x8C\x9A:\x80\xCCx/f\xB1\xE2o\xAC\xA9\x85\x8Fy\xC55\xC0^x!\x8AWC&quot;-\x9AE\xAB @\x80 0'\x81\x8E
+ _~\xD9\x87O\B\xF7\xAE\xE2\xF3\xE4\xEF\xBD\xB1mۜ\xDClD\x80 @\x80\xC0:\xEA{@&gt;\xF8\xE0\xF75\xA2ݻ\x85\x8F\x86 @\x80\x81\xDB$\xD01dh\xA8;\xBE\xFBn\xE2}V\xF7\xDE\xB1w\xEFm\xF60 @\x80\xD4:&amp;\x80 \xFE\xA6\xB6\xD3O=\xF1\xE0\x83\xB5\x9B @\x80\xDC&amp;\x81\x8E         /Vw)\xAFje!@\x80 @\xE0\xF6 tL\xF9\xE5\x97
+\xB7\xAB\xAB @\x80 p\xFB:&amp;\x80\xDC&gt;R\x8FD\x80 @\x80\xC0T\xC8T2\xEA @\x804\@i8\xA9\x86 @\x80L%аR~\xB1\xDF\xE4r\xEDZ\xC3\xDAN\xB6\xBC\xE5\xDF\xF5s\xAA\x9F\xEB-7ր @\x80\x81 4,),[V=\xE6\xF0\xF0\x82\xEAF\x93\x8C\xEA\xE7T?\xD7&amp;\x99\x9Ei @\x80\xE8\x81\x86\x90M\x9B*\xAF#G\xEE\x8F˗\xEF\xAE
+wxTΥ\x9C\xD3\xE4R?\xD7ɚ\xDF @\x80\xE4hXٰ!\xA2\xBF\xFF\xCA\xF8\x8CGG\xE7\xC5\xFE\xFD+\xF2\xCF~\x86\x8FPΥ\x9CS\xB9\x94s,\xE7j!@\x80 @\xE0\xF6 4,\x80\x94S߱\xE3tmX\x87-\xAAݾS\x83r\xE5\&amp;\x97\xFA9N\xD6\xFC&amp;@\x80 @\xE0\xF644\x80l\xD9r&gt;6n&lt;5&gt;\xF3\xF2\x8B\xFF\xF6\xECY\xFB\xF6\xF5oǪ\xBE\x85\xFC\xF6\xECV\x8C?f\xF9\xD8\xE5&amp;\xBF\x84\xB0\x9C[9G  @\x80wF\xA0\xE1\xC9`\xFB\xF6\xC3q\xE9\xD2\xF2\xF8\xFA\xEB\x85q\xFDz\xC4\xC1\x83K㣏\x96ģ\x8F\x8Eƺu\xFF\x89%KƲ\xEE\xE9\xF9\xF3]q\xFC\xF8=q\xF2dw\x8C\x8DU\x97\xE6\xEA\xEF\xBF\xE5\xDC&quot;\xFA\xB2&gt;\xBE\xE6 @\x80L-\xD0\xF0222/\xBF&lt;/\xDE~\xFB\x89\xEC\xE42;v\xCF\xF8\xCF\xD4S\xC9w\xCF\xC0\xC0H\xEC\xDC\xF9I\x94s۰\xA1/\xDF\xE9L\x80 @\x80\xC0\xB4w\xFDR,Ӯ1\x8B;\x87\x87\x87\xE3\xF4\xE9ӵ-^o\xBD\xB5:\xBE\xFD\xB6\xBBV\xBB\x9D\x83\x95+Gc׮S\xB1u\xEB\xB9\xDA\xC3\xF6\xF5\xF5Eooo\xED\xB6 @\x80\xB7O\xA0\xA1$5\xED\xF2mX\xDF|q\xE2D\xC4\xD0Pą \xA9\xB5
 W[\xBC8b͚\x88\xB5k#V\xAD\x8A\x98\xD7\xD0O\xB94n\x9E: @\x80\xE8D\x81\xEC\xA4Q\xED3 @\x80i\xAF\xA4]T         @\x80\xC8  \x80d@Ւ @\x80\x81\xB4\x80\x92vQ%@\x80 @ \x83\x80\x92UK @\x80\xD2H\xDAE\x95 @\x80\x81 HT-         @\x80H  iU @\x802 P\xB5$@\x80 @ - \x80\xA4]T         @\x80\xC8  \x80d@Ւ @\x80\x81\xB4\x80\x92vQ%@\x80 @ \x83\x80\x92UK @\x80\xD2H\xDAE\x95 @\x80\x81 HT-         @\x80H  iU @\x802 P\xB5$@\x80 @ - \x80\xA4]T         @\x80\xC8  \x80d@Ւ @\x80\x81\xB4\x80\x92vQ%@\x80 @ \x83\x80\x92UK @\x80\xD2H\xDAE\x95 @\x80\x81 HT-         @\x80H  iU @\x802 P\xB5$@\x80 @ - \x80\xA4]T         @\x80\xC8  \x80d@Ւ @\x80\x81\xB4\x80\x92vQ%@\x80 @ \x83\x80\x92UK @\x80\xD2H\xDAE\x95 @\x80\x81 HT-         @\x80H  iU @\x802 P\xB5$@\x80 @ - \x80\xA4]T         
 @\x80\xC8  \x80d@Ւ @\x80\x81\xB4\x80\x92vQ%@\x80 @ \x83\x80\x92UK @\x80\xD2H\xDAE\x95 @\x80\x81 HT-         @\x80H  iU @\x802 P\xB5$@\x80 @ - \x80\xA4]T         @\x80\xC8  \x80d@Ւ @\x80\x81\xB4\x80\x92vQ%@\x80 @ \x83\x80\x92UK @\x80\xD2H\xDAE\x95 @\x80\x81 HT-         @\x80H  iU @\x802 P\xB5$@\x80 @ - \x80\xA4]T         @\x80\xC8  \x80d@Ւ @\x80\x81\xB4\x80\x92vQ%@\x80 @ \x83\x80\x92UK @\x80\xD2H\xDAE\x95 @\x80\x81 HT-         @\x80H  iU @\x802 P\xB5$@\x80 @ - \x80\xA4]T         @\x80\xC8  \x80d@Ւ @\x80\x81\xB4\x80\x92vQ%@\x80 @ \x83\x80\x92UK @\x80\xD2H\xDAE\x95 @\x80\x81 HT-         @\x80\xF9._E,IDATH  iU @\x802 P\xB5$@\x80 @ - \x80\xA4]T         @\x80\xC8  \x80d@Ւ @\x80\x81\xB4\x80\x92vQ%@\x80 @ \x83\x80\x92UK @\x80\xD2
 H\xDAE\x95 @\x80\x81 HT-         @\x80H  iU @\x802 P\xB5$@\x80 @ - \x80\xA4]T         @\x80\xC8  \x80d@Ւ @\x80\x81\xB4\x80\x92vQ%@\x80 @ \x83\x80\x92UK @\x80\xD2H\xDAE\x95 @\x80\x81 HT-         @\x80H  iU @\x802 P\xB5$@\x80 @ - \x80\xA4]T         @\x80\xC8  \x80d@Ւ @\x80\x81\xB4\x80\x92vQ%@\x80 @ \x83\x80\x92UK @\x80\xD2H\xDAE\x95 @\x80\x81 HT-         @\x80H  iU @\x802 P\xB5$@\x80 @ - \x80\xA4]T         @\x80\xC8  \x80d@Ւ @\x80\x81\xB4\x80\x92vQ%@\x80 @ \x83\x80\x92UK @\x80\xD2H\xDAE\x95 @\x80\x81 HT-         @\x80H  iU @\x802 P\xB5$@\x80 @ - \x80\xA4]T         @\x80\xC8  \x80d@Ւ @\x80\x81\xB4\x80\x92vQ%@\x80 @ \x83\x80\x92UK @\x80\xD2H\xDAE\x95 @\x80\x81 HT-         @\x80H  iU @\x802 P\xB5$@\x80 @ - \x80\xA4]T         @\x80
 \xC8  \x80d@Ւ @\x80\x81\xB4\x80\x92vQ%@\x80 @ \x83\x80\x92UK @\x80\xD2H\xDAE\x95 @\x80\x81 HT-         @\x80H  iU @\x802 P\xB5$@\x80 @ - \x80\xA4]T         @\x80\xC8  \x80d@Ւ @\x80\x81\xB4\x80\x92vQ%@\x80 @ \x83\x80\x92UK @\x80\xD2H\xDAE\x95 @\x80\x81 HT-         @\x80H  iU @\x802 P\xB5$@\x80 @ - \x80\xA4]T         @\x80\xC8  \x80d@Ւ @\x80\x81\xB4\x80\x92vQ%@\x80 @ \x83\x80\x92UK @\x80\xD2H\xDAE\x95 @\x80\x81 HT-         @\x80H  iU @\x802 P\xB5$@\x80 @ - \x80\xA4]T         @\x80\xC8  \x80d@Ւ @\x80\x81\xB4\x80\x92vQ%@\x80 @ \x83\x80\x92UK @\x80\xD2H\xDAE\x95 @\x80\x81 HT-         @\x80H  iU @\x802 P\xB5$@\x80 @ - \x80\xA4]T         @\x80\xC8  \x80d@Ւ @\x80\x81\xB4\x80\x92vQ%@\x80 @ \x83\x80\x92UK @\x80\xD2H\xDAE\x95 @\x80
 \x81 HT-         @\x80H  iU @\x802 P\xB5$@\x80 @ - \x80\xA4]T         @\x80\xC8  \x80d@Ւ @\x80\x81\xB4\x80\x92vQ%@\x80 @ \x83\x80\x92UK @\x80\xD2H\xDAE\x95 @\x80\x81 HT-         @\x80H  iU @\x802 P\xB5$@\x80 @ - \x80\xA4]T         @\x80\xC8  \x80d@Ւ @\x80\x81\xB4\x80\x92vQ%@\x80 @ \x83\x80\x92UK @\x80\xD2H\xDAE\x95 @\x80\x81 HT-         @\x80H  iU @\x802 P\xB5$@\x80 @ - \x80\xA4]T         @\x80\xC8  \x80d@Ւ @\x80\x81\xB4\x80\x92vQ%@\x80 @ \x83\x80\x92UK @\x80\xD2H\xDAE\x95 @\x80\x81 HT-         @\x80H  iU @\x802 P\xB5$@\x80 @ - \x80\xA4]T         @\x80\xC8  \x80d@Ւ @\x80\x81\xB4\x80\x92vQ%@\x80 @ \x83\x80\x92UK @\x80\xD2H\xDAE\x95 @\x80\x81 HT-         @\x80H  iU @\x802 P\xB5$@\x80 @ - \x80\xA4]T         @\x80\xC8 \xF0\xBA?e\xD7Tp\
 xA8IEND\xAEB`\x82
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="branchessafari6011branchLayoutTestsfastshrinkwraprectshrinkwrapexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/safari-601.1-branch/LayoutTests/fast/shrink-wrap/rect-shrink-wrap-expected.txt (0 => 187056)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601.1-branch/LayoutTests/fast/shrink-wrap/rect-shrink-wrap-expected.txt                                (rev 0)
+++ branches/safari-601.1-branch/LayoutTests/fast/shrink-wrap/rect-shrink-wrap-expected.txt        2015-07-21 04:36:34 UTC (rev 187056)
</span><span class="lines">@@ -0,0 +1,8 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (0,0) size 800x600
+      RenderText {#text} at (0,0) size 0x0
+layer at (0,0) size 800x600
+  RenderHTMLCanvas {CANVAS} at (0,0) size 800x600
</ins></span></pre></div>
<a id="branchessafari6011branchLayoutTestsfastshrinkwraprectshrinkwraphtml"></a>
<div class="addfile"><h4>Added: branches/safari-601.1-branch/LayoutTests/fast/shrink-wrap/rect-shrink-wrap.html (0 => 187056)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601.1-branch/LayoutTests/fast/shrink-wrap/rect-shrink-wrap.html                                (rev 0)
+++ branches/safari-601.1-branch/LayoutTests/fast/shrink-wrap/rect-shrink-wrap.html        2015-07-21 04:36:34 UTC (rev 187056)
</span><span class="lines">@@ -0,0 +1,154 @@
</span><ins>+&lt;script&gt;
+
+function testRects(rects) {
+    if (!window.internals)
+        document.write(&quot;This test must be run in a test runner.&quot;)
+
+    var concatRects = [];
+    for (var i in rects)
+        Array.prototype.push.apply(concatRects, rects[i]);
+
+    var path = undefined;
+    if (window.internals)
+        path = window.internals.pathWithShrinkWrappedRects(concatRects);
+
+    var canvas = document.getElementById(&quot;shrink&quot;);
+    var ctx = canvas.getContext(&quot;2d&quot;);
+
+    ctx.fillStyle = &quot;rgba(0,0,0,0.2)&quot;;
+
+    for (var i in rects)
+        ctx.fillRect.apply(ctx, rects[i]);
+
+    ctx.strokeStyle = &quot;rgba(0,0,0,0.5)&quot;;
+    ctx.lineWidth = 1;
+    for (var i in rects)
+        ctx.strokeRect.apply(ctx, rects[i]);
+
+    ctx.strokeStyle = &quot;blue&quot;;
+    ctx.lineWidth = 3;
+    if (path)
+        ctx.stroke(path);
+}
+
+window.onload = function () {
+    // Right and left aligned, touching:
+
+    testRects([
+        [20, 20, 50, 20],
+        [20, 40, 35, 20],
+        [20, 60, 20, 20]]);
+
+    testRects([
+        [20, 90, 20, 20],
+        [20, 110, 35, 20],
+        [20, 130, 50, 20]]);
+
+    testRects([
+        [80, 20, 50, 20],
+        [95, 40, 35, 20],
+        [110, 60, 20, 20]]);
+
+    testRects([
+        [110, 90, 20, 20],
+        [95, 110, 35, 20],
+        [80, 130, 50, 20]]);
+
+    // Center aligned, touching:
+
+    testRects([
+        [170, 20, 100, 40],
+        [190, 60, 60, 40],
+        [205, 100, 30, 40]]);
+
+    testRects([
+        [305, 20, 30, 40],
+        [290, 60, 60, 40],
+        [270, 100, 100, 40]]);
+
+    testRects([
+        [370, 20, 100, 40],
+        [405, 60, 30, 40],
+        [390, 100, 60, 40]]);
+
+    // Other:
+
+    testRects([
+        [20, 200, 40, 40],
+        [40, 220, 40, 40],
+        [60, 240, 40, 40]]);
+
+    testRects([
+        [120, 200, 40, 40],
+        [120, 240, 40, 40],
+        [120, 280, 40, 40]]);
+
+    // Non-touching:
+
+    testRects([
+        [180, 200, 40, 60],
+        [180, 280, 40, 40]]);
+
+    // Combination of touching and non-touching:
+
+    testRects([
+        [280, 200, 30, 40],
+        [280, 280, 50, 40],
+        [340, 200, 40, 40],
+        [360, 240, 80, 40],
+        [380, 280, 40, 40],
+        [430, 200, 40, 20],
+        [450, 215, 40, 20],
+        [470, 230, 40, 20]]);
+
+    // Incorrectly sorted:
+
+    testRects([
+        [20, 380, 40, 40],
+        [40, 360, 40, 40],
+        [60, 340, 40, 40]]);
+
+    // Broken:
+
+    testRects([
+        [600+100, 90, 20, 20],
+        [600+95, 110, 35, 20],
+        [600+80, 130, 50, 20]]);
+
+    testRects([
+        [230+340, 20, 40, 40],
+        [230+360, 60, 65, 40],
+        [230+380, 100, 40, 40]]);
+
+    // These should fallback to a rounded bounding rect:
+
+    testRects([
+        [600+100, 190, 20, 20],
+        [600+95, 210, 35, 20],
+        [600+80, 210, 50, 20]]);
+
+    testRects([
+        [600+0, 250, 40, 40],
+        [600+40, 250, 40, 40],
+        [600+80, 250, 40, 40]]);
+
+    testRects([
+        [600, 300, 20, 40],
+        [600+20, 320, 20, 40],
+        [600, 340, 20, 40]]);
+
+    testRects([
+        [700, 300, 20, 40],
+        [700+20, 320, 20, 40],
+        [700+40, 300, 20, 40]]);
+}
+
+&lt;/script&gt;
+
+&lt;style&gt;
+body {
+    margin: 0;
+}
+&lt;/style&gt;
+
+&lt;canvas id=&quot;shrink&quot; width=&quot;800&quot; height=&quot;600&quot;&gt;&lt;/canvas&gt;
</ins></span></pre></div>
<a id="branchessafari6011branchSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: branches/safari-601.1-branch/Source/WebCore/CMakeLists.txt (187055 => 187056)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601.1-branch/Source/WebCore/CMakeLists.txt        2015-07-21 04:36:27 UTC (rev 187055)
+++ branches/safari-601.1-branch/Source/WebCore/CMakeLists.txt        2015-07-21 04:36:34 UTC (rev 187056)
</span><span class="lines">@@ -1737,6 +1737,7 @@
</span><span class="cx">     html/canvas/CanvasRenderingContext.cpp
</span><span class="cx">     html/canvas/CanvasRenderingContext2D.cpp
</span><span class="cx">     html/canvas/CanvasStyle.cpp
</span><ins>+    html/canvas/DOMPath.cpp
</ins><span class="cx">     html/canvas/EXTBlendMinMax.cpp
</span><span class="cx">     html/canvas/EXTFragDepth.cpp
</span><span class="cx">     html/canvas/EXTShaderTextureLOD.cpp
</span><span class="lines">@@ -2166,6 +2167,7 @@
</span><span class="cx">     platform/graphics/NamedImageGeneratedImage.cpp
</span><span class="cx">     platform/graphics/Path.cpp
</span><span class="cx">     platform/graphics/PathTraversalState.cpp
</span><ins>+    platform/graphics/PathUtilities.cpp
</ins><span class="cx">     platform/graphics/Pattern.cpp
</span><span class="cx">     platform/graphics/PlatformTimeRanges.cpp
</span><span class="cx">     platform/graphics/Region.cpp
</span></span></pre></div>
<a id="branchessafari6011branchSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: branches/safari-601.1-branch/Source/WebCore/ChangeLog (187055 => 187056)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601.1-branch/Source/WebCore/ChangeLog        2015-07-21 04:36:27 UTC (rev 187055)
+++ branches/safari-601.1-branch/Source/WebCore/ChangeLog        2015-07-21 04:36:34 UTC (rev 187056)
</span><span class="lines">@@ -1,5 +1,85 @@
</span><span class="cx"> 2015-07-20  Matthew Hanson  &lt;matthew_hanson@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Merge r186858. rdar://problem/21643094
+
+    2015-07-15  Tim Horton  &lt;timothy_horton@apple.com&gt;
+
+            Factor rect shrink-wrapping code out of RenderThemeMac for future reuse
+            https://bugs.webkit.org/show_bug.cgi?id=146973
+            &lt;rdar://problem/21643094&gt;
+
+            Reviewed by Anders Carlsson.
+
+            Test: fast/shrink-wrap/rect-shrink-wrap.html
+
+            * WebCore.xcodeproj/project.pbxproj:
+            Add DOMPath.cpp and PathUtilities.{h, cpp}.
+
+            * bindings/js/JSDOMBinding.h:
+            (WebCore::NativeValueTraits&lt;double&gt;::nativeValue):
+            Make it possible to use sequence&lt;double&gt; in IDL files.
+
+            * bindings/scripts/CodeGeneratorJS.pm:
+            Export JSDOMPath for use in Internals.
+
+            * html/canvas/DOMPath.cpp: Added.
+            (WebCore::DOMPath::~DOMPath):
+            * html/canvas/DOMPath.h:
+            Out-of-line the DOMPath destructor so as not to anger the bindings
+            integrity checker (otherwise, the address of the DOMPath destructor
+            is different in WebCoreTestSupport and WebCore, causing us to fail
+            the vtable equality test).
+
+            * platform/graphics/Path.h:
+            Forward declare FloatRect instead of including it unnecessarily.
+            Export ensurePlatformPath().
+
+            * platform/graphics/PathUtilities.cpp: Added.
+            (WebCore::addShrinkWrapRightCorner):
+            (WebCore::addShrinkWrapLeftCorner):
+            (WebCore::addShrinkWrappedPathForRects):
+            These parts are extracted from RenderThemeMac, with two changes:
+                + support for arbitrarily-aligned rects
+                  (the other version assumed they were horizontally center-aligned)
+                + support for overlapping rects
+                  (the other version assumed they touched but did not overlap)
+
+            There are still things missing:
+                + support for a fallback when the shape is too hard to shrink-wrap
+
+            And things broken:
+                + if the distance between two edges is smaller than the corner radius,
+                  we'll end up with a sharp edge in the path
+
+            Both of these cases are covered in the layout test and can be improved.
+
+            (WebCore::rectsIntersectOrTouch):
+            Rect intersection with &lt;= instead of &lt;.
+
+            (WebCore::contiguousRectGroupsFromRects):
+            Given a set of rects, find all of the contiguous regions. We'll
+            shrink-wrap each region independently.
+
+            (WebCore::PathUtilities::pathWithShrinkWrappedRects):
+            * platform/graphics/PathUtilities.h: Added.
+            Add PathUtilities, where the shrink-wrapping code lives.
+
+            * rendering/RenderThemeMac.mm:
+            (WebCore::paintAttachmentTitleBackground):
+            (WebCore::addAttachmentTitleBackgroundRightCorner): Deleted.
+            (WebCore::addAttachmentTitleBackgroundLeftCorner): Deleted.
+            Remove shrink-wrapping implementation and make use of the one in PathUtilities.
+
+            * testing/Internals.cpp:
+            (WebCore::Internals::pathWithShrinkWrappedRects):
+            * testing/Internals.h:
+            * testing/Internals.idl:
+            Expose pathWithShrinkWrappedRects to tests via Internals.
+            It takes a sequence&lt;double&gt; where every four values are the x, y, w, h
+            of a rect, and returns a DOMPath which can be used with Canvas.
+
+2015-07-20  Matthew Hanson  &lt;matthew_hanson@apple.com&gt;
+
</ins><span class="cx">         Merge r186854. rdar://problem/21840147
</span><span class="cx"> 
</span><span class="cx">     2015-07-15  Eric Carlson  &lt;eric.carlson@apple.com&gt;
</span></span></pre></div>
<a id="branchessafari6011branchSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: branches/safari-601.1-branch/Source/WebCore/WebCore.xcodeproj/project.pbxproj (187055 => 187056)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601.1-branch/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2015-07-21 04:36:27 UTC (rev 187055)
+++ branches/safari-601.1-branch/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2015-07-21 04:36:34 UTC (rev 187056)
</span><span class="lines">@@ -1124,6 +1124,9 @@
</span><span class="cx">                 2D4F96F61A1ECC240098BF88 /* TextIndicator.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D4F96F21A1ECC240098BF88 /* TextIndicator.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 2D4F96F71A1ECC240098BF88 /* TextIndicatorWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D4F96F31A1ECC240098BF88 /* TextIndicatorWindow.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 2D4F96F81A1ECC240098BF88 /* TextIndicatorWindow.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2D4F96F41A1ECC240098BF88 /* TextIndicatorWindow.mm */; };
</span><ins>+                2D5002F81B56D7810020AAF7 /* DOMPath.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2D5002F71B56D7810020AAF7 /* DOMPath.cpp */; };
+                2D5002FB1B56D7990020AAF7 /* PathUtilities.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2D5002F91B56D7990020AAF7 /* PathUtilities.cpp */; };
+                2D5002FC1B56D7990020AAF7 /* PathUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D5002FA1B56D7990020AAF7 /* PathUtilities.h */; };
</ins><span class="cx">                 2D58D8551A15F65F00A5F726 /* DataDetection.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D58D8531A15F65F00A5F726 /* DataDetection.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 2D58D8561A15F65F00A5F726 /* DataDetection.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2D58D8541A15F65F00A5F726 /* DataDetection.mm */; };
</span><span class="cx">                 2D59F1BF1A0044C6001F3D29 /* DataDetectorsSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D59F1BE1A0044C6001F3D29 /* DataDetectorsSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -8294,6 +8297,9 @@
</span><span class="cx">                 2D4F96F21A1ECC240098BF88 /* TextIndicator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextIndicator.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 2D4F96F31A1ECC240098BF88 /* TextIndicatorWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextIndicatorWindow.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 2D4F96F41A1ECC240098BF88 /* TextIndicatorWindow.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = TextIndicatorWindow.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                2D5002F71B56D7810020AAF7 /* DOMPath.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DOMPath.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                2D5002F91B56D7990020AAF7 /* PathUtilities.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PathUtilities.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                2D5002FA1B56D7990020AAF7 /* PathUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PathUtilities.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 2D58D8531A15F65F00A5F726 /* DataDetection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DataDetection.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 2D58D8541A15F65F00A5F726 /* DataDetection.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DataDetection.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 2D59F1BE1A0044C6001F3D29 /* DataDetectorsSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DataDetectorsSPI.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -16164,6 +16170,7 @@
</span><span class="cx">                                 49484FBE102CF23C00187DD3 /* CanvasRenderingContext2D.idl */,
</span><span class="cx">                                 49484FBF102CF23C00187DD3 /* CanvasStyle.cpp */,
</span><span class="cx">                                 49484FC0102CF23C00187DD3 /* CanvasStyle.h */,
</span><ins>+                                2D5002F71B56D7810020AAF7 /* DOMPath.cpp */,
</ins><span class="cx">                                 FB91392016AE4B0B001FE682 /* DOMPath.h */,
</span><span class="cx">                                 FB91392116AE4B0B001FE682 /* DOMPath.idl */,
</span><span class="cx">                                 724ED3291A3A7E5400F5F13C /* EXTBlendMinMax.cpp */,
</span><span class="lines">@@ -21015,6 +21022,8 @@
</span><span class="cx">                                 B27535530B053814002CE64F /* Path.h */,
</span><span class="cx">                                 A88DD4880B4629B000C02990 /* PathTraversalState.cpp */,
</span><span class="cx">                                 A88DD4860B4629A300C02990 /* PathTraversalState.h */,
</span><ins>+                                2D5002F91B56D7990020AAF7 /* PathUtilities.cpp */,
+                                2D5002FA1B56D7990020AAF7 /* PathUtilities.h */,
</ins><span class="cx">                                 A8FA6E5C0E4CFDED00D5CF49 /* Pattern.cpp */,
</span><span class="cx">                                 A8FA6E5B0E4CFDED00D5CF49 /* Pattern.h */,
</span><span class="cx">                                 0562F9601573F88F0031CA16 /* PlatformLayer.h */,
</span><span class="lines">@@ -24124,6 +24133,7 @@
</span><span class="cx">                                 065AD4F70B0C2EDA005A2B1D /* ContextMenuController.h in Headers */,
</span><span class="cx">                                 06027CAD0B1CBFC000884B2D /* ContextMenuItem.h in Headers */,
</span><span class="cx">                                 7ADE722610CBBB9B006B3B3A /* ContextMenuProvider.h in Headers */,
</span><ins>+                                2D5002FC1B56D7990020AAF7 /* PathUtilities.h in Headers */,
</ins><span class="cx">                                 759CB837192DA9190012BC64 /* ControlStates.h in Headers */,
</span><span class="cx">                                 FD31602912B0267600C1A359 /* ConvolverNode.h in Headers */,
</span><span class="cx">                                 D8B6152F1032495100C8554A /* Cookie.h in Headers */,
</span><span class="lines">@@ -29711,6 +29721,7 @@
</span><span class="cx">                                 297BE3DA16C043D8003316BD /* PlatformSpeechSynthesizer.cpp in Sources */,
</span><span class="cx">                                 AA12DF491743DF83004DAFDF /* PlatformSpeechSynthesizerIOS.mm in Sources */,
</span><span class="cx">                                 297BE3D816C03CCE003316BD /* PlatformSpeechSynthesizerMac.mm in Sources */,
</span><ins>+                                2D5002FB1B56D7990020AAF7 /* PathUtilities.cpp in Sources */,
</ins><span class="cx">                                 1AD8F81C11CAB9E900E93E54 /* PlatformStrategies.cpp in Sources */,
</span><span class="cx">                                 074E82BA18A69F0E007EF54C /* PlatformTimeRanges.cpp in Sources */,
</span><span class="cx">                                 A9C6E4F30D745E48006442E9 /* PluginData.cpp in Sources */,
</span><span class="lines">@@ -30484,6 +30495,7 @@
</span><span class="cx">                                 7AF9B20518CFB2DF00C64BEF /* VTTRegionList.cpp in Sources */,
</span><span class="cx">                                 7A93868518DCC14500B8263D /* VTTScanner.cpp in Sources */,
</span><span class="cx">                                 A14832B1187F61E100DA63A6 /* WAKAppKitStubs.m in Sources */,
</span><ins>+                                2D5002F81B56D7810020AAF7 /* DOMPath.cpp in Sources */,
</ins><span class="cx">                                 A14832B3187F629100DA63A6 /* WAKClipView.m in Sources */,
</span><span class="cx">                                 A14832B5187F62FC00DA63A6 /* WAKResponder.m in Sources */,
</span><span class="cx">                                 A14832B7187F636C00DA63A6 /* WAKScrollView.mm in Sources */,
</span></span></pre></div>
<a id="branchessafari6011branchSourceWebCorebindingsjsJSDOMBindingh"></a>
<div class="modfile"><h4>Modified: branches/safari-601.1-branch/Source/WebCore/bindings/js/JSDOMBinding.h (187055 => 187056)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601.1-branch/Source/WebCore/bindings/js/JSDOMBinding.h        2015-07-21 04:36:27 UTC (rev 187055)
+++ branches/safari-601.1-branch/Source/WebCore/bindings/js/JSDOMBinding.h        2015-07-21 04:36:34 UTC (rev 187056)
</span><span class="lines">@@ -507,6 +507,14 @@
</span><span class="cx">     }
</span><span class="cx"> };
</span><span class="cx"> 
</span><ins>+template&lt;&gt; struct NativeValueTraits&lt;double&gt; {
+    static inline bool nativeValue(JSC::ExecState* exec, JSC::JSValue jsValue, double&amp; indexedValue)
+    {
+        indexedValue = jsValue.toNumber(exec);
+        return !exec-&gt;hadException();
+    }
+};
+
</ins><span class="cx"> template&lt;typename T, typename JST&gt; Vector&lt;RefPtr&lt;T&gt;&gt; toRefPtrNativeArray(JSC::ExecState* exec, JSC::JSValue value, T* (*toT)(JSC::JSValue value))
</span><span class="cx"> {
</span><span class="cx">     if (!isJSArray(value))
</span></span></pre></div>
<a id="branchessafari6011branchSourceWebCorebindingsscriptsCodeGeneratorJSpm"></a>
<div class="modfile"><h4>Modified: branches/safari-601.1-branch/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (187055 => 187056)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601.1-branch/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2015-07-21 04:36:27 UTC (rev 187055)
+++ branches/safari-601.1-branch/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2015-07-21 04:36:34 UTC (rev 187056)
</span><span class="lines">@@ -240,6 +240,7 @@
</span><span class="cx">     &quot;JSClientRectList&quot; =&gt; 1,
</span><span class="cx">     &quot;JSCSSStyleDeclaration&quot; =&gt; 1,
</span><span class="cx">     &quot;JSDocument&quot; =&gt; 1,
</span><ins>+    &quot;JSDOMPath&quot; =&gt; 1,
</ins><span class="cx">     &quot;JSDOMWindow&quot; =&gt; 1,
</span><span class="cx">     &quot;JSElement&quot; =&gt; 1,
</span><span class="cx">     &quot;JSFile&quot; =&gt; 1,
</span></span></pre></div>
<a id="branchessafari6011branchSourceWebCorehtmlcanvasDOMPathcppfromrev187055branchessafari6011branchSourceWebCorehtmlcanvasDOMPathh"></a>
<div class="copfile"><h4>Copied: branches/safari-601.1-branch/Source/WebCore/html/canvas/DOMPath.cpp (from rev 187055, branches/safari-601.1-branch/Source/WebCore/html/canvas/DOMPath.h) (0 => 187056)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601.1-branch/Source/WebCore/html/canvas/DOMPath.cpp                                (rev 0)
+++ branches/safari-601.1-branch/Source/WebCore/html/canvas/DOMPath.cpp        2015-07-21 04:36:34 UTC (rev 187056)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1.  Redistributions of source code must retain the above copyright
+ *     notice, this list of conditions and the following disclaimer.
+ * 2.  Redistributions in binary form must reproduce the above copyright
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER &quot;AS IS&quot; AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+ * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
+ * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
+ * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include &quot;config.h&quot;
+#include &quot;DOMPath.h&quot;
+
+namespace WebCore {
+
+DOMPath::~DOMPath()
+{
+}
+
+}
</ins></span></pre></div>
<a id="branchessafari6011branchSourceWebCorehtmlcanvasDOMPathh"></a>
<div class="modfile"><h4>Modified: branches/safari-601.1-branch/Source/WebCore/html/canvas/DOMPath.h (187055 => 187056)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601.1-branch/Source/WebCore/html/canvas/DOMPath.h        2015-07-21 04:36:27 UTC (rev 187055)
+++ branches/safari-601.1-branch/Source/WebCore/html/canvas/DOMPath.h        2015-07-21 04:36:34 UTC (rev 187056)
</span><span class="lines">@@ -35,9 +35,11 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class DOMPath final : public RefCounted&lt;DOMPath&gt;, public CanvasPathMethods {
</del><ins>+class WEBCORE_EXPORT DOMPath final : public RefCounted&lt;DOMPath&gt;, public CanvasPathMethods {
</ins><span class="cx">     WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><ins>+    WEBCORE_EXPORT virtual ~DOMPath();
+
</ins><span class="cx">     static Ref&lt;DOMPath&gt; create() { return adoptRef(*new DOMPath); }
</span><span class="cx">     static Ref&lt;DOMPath&gt; create(const Path&amp; path) { return adoptRef(*new DOMPath(path)); }
</span><span class="cx">     static Ref&lt;DOMPath&gt; create(const DOMPath* path) { return create(path-&gt;path()); }
</span></span></pre></div>
<a id="branchessafari6011branchSourceWebCoreplatformgraphicsPathh"></a>
<div class="modfile"><h4>Modified: branches/safari-601.1-branch/Source/WebCore/platform/graphics/Path.h (187055 => 187056)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601.1-branch/Source/WebCore/platform/graphics/Path.h        2015-07-21 04:36:27 UTC (rev 187055)
+++ branches/safari-601.1-branch/Source/WebCore/platform/graphics/Path.h        2015-07-21 04:36:34 UTC (rev 187056)
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx"> #ifndef Path_h
</span><span class="cx"> #define Path_h
</span><span class="cx"> 
</span><ins>+#include &quot;FloatRect.h&quot;
</ins><span class="cx"> #include &quot;WindRule.h&quot;
</span><span class="cx"> #include &lt;wtf/FastMalloc.h&gt;
</span><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><span class="lines">@@ -56,7 +57,6 @@
</span><span class="cx"> 
</span><span class="cx">     class AffineTransform;
</span><span class="cx">     class FloatPoint;
</span><del>-    class FloatRect;
</del><span class="cx">     class FloatRoundedRect;
</span><span class="cx">     class FloatSize;
</span><span class="cx">     class GraphicsContext;
</span><span class="lines">@@ -144,7 +144,7 @@
</span><span class="cx">         // meaning Path::platformPath() can return null.
</span><span class="cx">         PlatformPathPtr platformPath() const { return m_path; }
</span><span class="cx">         // ensurePlatformPath() will allocate a PlatformPath if it has not yet been and will never return null.
</span><del>-        PlatformPathPtr ensurePlatformPath();
</del><ins>+        WEBCORE_EXPORT PlatformPathPtr ensurePlatformPath();
</ins><span class="cx"> 
</span><span class="cx">         WEBCORE_EXPORT void apply(void* info, PathApplierFunction) const;
</span><span class="cx">         void transform(const AffineTransform&amp;);
</span></span></pre></div>
<a id="branchessafari6011branchSourceWebCoreplatformgraphicsPathUtilitiescpp"></a>
<div class="addfile"><h4>Added: branches/safari-601.1-branch/Source/WebCore/platform/graphics/PathUtilities.cpp (0 => 187056)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601.1-branch/Source/WebCore/platform/graphics/PathUtilities.cpp                                (rev 0)
+++ branches/safari-601.1-branch/Source/WebCore/platform/graphics/PathUtilities.cpp        2015-07-21 04:36:34 UTC (rev 187056)
</span><span class="lines">@@ -0,0 +1,263 @@
</span><ins>+/*
+ * Copyright (C) 2014-2015 Apple Inc.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+
+#include &quot;config.h&quot;
+#include &quot;PathUtilities.h&quot;
+
+#include &quot;FloatPoint.h&quot;
+#include &quot;FloatRect.h&quot;
+#include &lt;math.h&gt;
+
+namespace WebCore {
+
+static void addShrinkWrapRightCorner(Path&amp; path, const FloatRect* fromRect, const FloatRect* toRect, float radius)
+{
+    FloatSize horizontalRadius(radius, 0);
+    FloatSize verticalRadius(0, radius);
+
+    if (!fromRect) {
+        // For the first (top) rect:
+
+        path.moveTo(toRect-&gt;minXMinYCorner() + horizontalRadius);
+
+        // Across the top, towards the right.
+        path.addLineTo(toRect-&gt;maxXMinYCorner() - horizontalRadius);
+
+        // Arc the top corner.
+        path.addArcTo(toRect-&gt;maxXMinYCorner(), toRect-&gt;maxXMinYCorner() + verticalRadius, radius);
+    } else if (!toRect) {
+        // For the last rect:
+
+        // Down the right.
+        path.addLineTo(fromRect-&gt;maxXMaxYCorner() - verticalRadius);
+
+        // Arc the bottom corner.
+        path.addArcTo(fromRect-&gt;maxXMaxYCorner(), fromRect-&gt;maxXMaxYCorner() - horizontalRadius, radius);
+    } else {
+        // For middle rects:
+
+        float rightEdgeDifference = toRect-&gt;maxX() - fromRect-&gt;maxX();
+
+        // Skip over rects with equal edges, because we can't make
+        // sensible curves between them.
+        if (fabsf(rightEdgeDifference) &lt; std::numeric_limits&lt;float&gt;::epsilon())
+            return;
+
+        if (rightEdgeDifference &lt; 0) {
+            float effectiveY = std::max(toRect-&gt;y(), fromRect-&gt;maxY());
+            FloatPoint toRectMaxXMinYCorner = FloatPoint(toRect-&gt;maxX(), effectiveY);
+
+            // Down the right.
+            path.addLineTo(FloatPoint(fromRect-&gt;maxX(), effectiveY) - verticalRadius);
+
+            // Arc the outer corner.
+            path.addArcTo(FloatPoint(fromRect-&gt;maxX(), effectiveY), FloatPoint(fromRect-&gt;maxX(), effectiveY) - horizontalRadius, radius);
+
+            // Across the bottom, towards the left.
+            path.addLineTo(toRectMaxXMinYCorner + horizontalRadius);
+
+            // Arc the inner corner.
+            path.addArcTo(toRectMaxXMinYCorner, toRectMaxXMinYCorner + verticalRadius, radius);
+        } else {
+            float effectiveY = std::min(toRect-&gt;y(), fromRect-&gt;maxY());
+            FloatPoint toRectMaxXMinYCorner = FloatPoint(toRect-&gt;maxX(), effectiveY);
+
+            // Down the right.
+            path.addLineTo(FloatPoint(fromRect-&gt;maxX(), effectiveY) - verticalRadius);
+
+            // Arc the inner corner.
+            path.addArcTo(FloatPoint(fromRect-&gt;maxX(), effectiveY), FloatPoint(fromRect-&gt;maxX(), effectiveY) + horizontalRadius, radius);
+
+            // Across the bottom, towards the right.
+            path.addLineTo(toRectMaxXMinYCorner - horizontalRadius);
+
+            // Arc the outer corner.
+            path.addArcTo(toRectMaxXMinYCorner, toRectMaxXMinYCorner + verticalRadius, radius);
+        }
+    }
+}
+
+static void addShrinkWrapLeftCorner(Path&amp; path, const FloatRect* fromRect, const FloatRect* toRect, float radius)
+{
+    FloatSize horizontalRadius(radius, 0);
+    FloatSize verticalRadius(0, radius);
+
+    if (!fromRect) {
+        // For the first (bottom) rect:
+
+        // Across the bottom, towards the left.
+        path.addLineTo(toRect-&gt;minXMaxYCorner() + horizontalRadius);
+
+        // Arc the bottom corner.
+        path.addArcTo(toRect-&gt;minXMaxYCorner(), toRect-&gt;minXMaxYCorner() - verticalRadius, radius);
+
+    } else if (!toRect) {
+        // For the last (top) rect:
+
+        // Up the left.
+        path.addLineTo(fromRect-&gt;minXMinYCorner() + verticalRadius);
+
+        // Arc the top corner.
+        path.addArcTo(fromRect-&gt;minXMinYCorner(), fromRect-&gt;minXMinYCorner() + horizontalRadius, radius);
+    } else {
+        // For middle rects:
+        float leftEdgeDifference = fromRect-&gt;x() - toRect-&gt;x();
+
+        // Skip over rects with equal edges, because we can't make
+        // sensible curves between them.
+        if (fabsf(leftEdgeDifference) &lt; std::numeric_limits&lt;float&gt;::epsilon())
+            return;
+
+        if (leftEdgeDifference &lt; 0) {
+            float effectiveY = std::min(toRect-&gt;maxY(), fromRect-&gt;y());
+            FloatPoint toRectMinXMaxYCorner = FloatPoint(toRect-&gt;x(), effectiveY);
+
+            // Up the right.
+            path.addLineTo(FloatPoint(fromRect-&gt;x(), effectiveY) + verticalRadius);
+
+            // Arc the inner corner.
+            path.addArcTo(FloatPoint(fromRect-&gt;x(), effectiveY), FloatPoint(fromRect-&gt;x(), effectiveY) + horizontalRadius, radius);
+
+            // Across the bottom, towards the right.
+            path.addLineTo(toRectMinXMaxYCorner - horizontalRadius);
+
+            // Arc the outer corner.
+            path.addArcTo(toRectMinXMaxYCorner, toRectMinXMaxYCorner - verticalRadius, radius);
+        } else {
+            float effectiveY = std::max(toRect-&gt;maxY(), fromRect-&gt;y());
+            FloatPoint toRectMinXMaxYCorner = FloatPoint(toRect-&gt;x(), effectiveY);
+
+            // Up the right.
+            path.addLineTo(FloatPoint(fromRect-&gt;x(), effectiveY) + verticalRadius);
+
+            // Arc the outer corner.
+            path.addArcTo(FloatPoint(fromRect-&gt;x(), effectiveY), FloatPoint(fromRect-&gt;x(), effectiveY) - horizontalRadius, radius);
+
+            // Across the bottom, towards the left.
+            path.addLineTo(toRectMinXMaxYCorner + horizontalRadius);
+
+            // Arc the inner corner.
+            path.addArcTo(toRectMinXMaxYCorner, toRectMinXMaxYCorner - verticalRadius, radius);
+        }
+    }
+}
+
+static void addShrinkWrappedPathForRects(Path&amp; path, Vector&lt;FloatRect&gt;&amp; rects, float radius)
+{
+    size_t rectCount = rects.size();
+
+    std::sort(rects.begin(), rects.end(), [](FloatRect a, FloatRect b) { return b.y() &gt; a.y(); });
+
+    for (size_t i = 0; i &lt;= rectCount; ++i)
+        addShrinkWrapRightCorner(path, i ? &amp;rects[i - 1] : nullptr, i &lt; rectCount ? &amp;rects[i] : nullptr, radius);
+
+    for (size_t i = 0; i &lt;= rectCount; ++i) {
+        size_t reverseIndex = rectCount - i;
+        addShrinkWrapLeftCorner(path, reverseIndex &lt; rectCount ? &amp;rects[reverseIndex] : nullptr, reverseIndex ? &amp;rects[reverseIndex - 1] : nullptr, radius);
+    }
+
+    path.closeSubpath();
+}
+
+static bool rectsIntersectOrTouch(const FloatRect&amp; a, const FloatRect&amp; b)
+{
+    return !a.isEmpty() &amp;&amp; !b.isEmpty()
+        &amp;&amp; a.x() &lt;= b.maxX() &amp;&amp; b.x() &lt;= a.maxX()
+        &amp;&amp; a.y() &lt;= b.maxY() &amp;&amp; b.y() &lt;= a.maxY();
+}
+
+static Vector&lt;FloatRect&gt;* findSetContainingRect(Vector&lt;Vector&lt;FloatRect&gt;&gt;&amp; sets, FloatRect rect)
+{
+    for (auto&amp; set : sets) {
+        if (set.contains(rect))
+            return &amp;set;
+    }
+
+    return nullptr;
+}
+
+static Vector&lt;Vector&lt;FloatRect&gt;&gt; contiguousRectGroupsFromRects(const Vector&lt;FloatRect&gt;&amp; rects)
+{
+    Vector&lt;std::pair&lt;FloatRect, FloatRect&gt;&gt; intersections;
+    Vector&lt;FloatRect&gt; soloRects = rects;
+
+    for (auto&amp; rectA : rects) {
+        for (auto&amp; rectB : rects) {
+            if (rectA == rectB)
+                continue;
+
+            if (rectsIntersectOrTouch(rectA, rectB)) {
+                intersections.append(std::make_pair(rectA, rectB));
+                soloRects.removeAllMatching([rectA, rectB](FloatRect q) { return q == rectA || q == rectB; });
+            }
+        }
+    }
+
+    Vector&lt;Vector&lt;FloatRect&gt;&gt; rectSets;
+
+    for (auto&amp; intersectingPair : intersections) {
+        if (Vector&lt;FloatRect&gt;* rectContainingFirst = findSetContainingRect(rectSets, intersectingPair.first)) {
+            if (!rectContainingFirst-&gt;contains(intersectingPair.second))
+                rectContainingFirst-&gt;append(intersectingPair.second);
+            continue;
+        }
+
+        if (Vector&lt;FloatRect&gt;* rectContainingSecond = findSetContainingRect(rectSets, intersectingPair.second)) {
+            if (!rectContainingSecond-&gt;contains(intersectingPair.first))
+                rectContainingSecond-&gt;append(intersectingPair.first);
+            continue;
+        }
+
+        // We didn't find a set including either of our rects, so start a new one.
+        rectSets.append(Vector&lt;FloatRect&gt;({intersectingPair.first, intersectingPair.second}));
+
+        continue;
+    }
+
+    for (auto&amp; rect : soloRects) {
+        ASSERT(!findSetContainingRect(rectSets, rect));
+        rectSets.append(Vector&lt;FloatRect&gt;({rect}));
+    }
+
+    return rectSets;
+}
+
+Path PathUtilities::pathWithShrinkWrappedRects(const Vector&lt;FloatRect&gt;&amp; rects, float radius)
+{
+    Path path;
+
+    if (rects.isEmpty())
+        return path;
+
+    Vector&lt;Vector&lt;FloatRect&gt;&gt; rectSets = contiguousRectGroupsFromRects(rects);
+
+    for (auto&amp; set : rectSets)
+        addShrinkWrappedPathForRects(path, set, radius);
+    
+    return path;
+}
+
+}
</ins></span></pre></div>
<a id="branchessafari6011branchSourceWebCoreplatformgraphicsPathUtilitiesh"></a>
<div class="addfile"><h4>Added: branches/safari-601.1-branch/Source/WebCore/platform/graphics/PathUtilities.h (0 => 187056)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601.1-branch/Source/WebCore/platform/graphics/PathUtilities.h                                (rev 0)
+++ branches/safari-601.1-branch/Source/WebCore/platform/graphics/PathUtilities.h        2015-07-21 04:36:34 UTC (rev 187056)
</span><span class="lines">@@ -0,0 +1,41 @@
</span><ins>+/*
+ * Copyright (C) 2014-2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#ifndef PathUtilities_h
+#define PathUtilities_h
+
+#include &quot;Path.h&quot;
+#include &lt;wtf/Vector.h&gt;
+
+namespace WebCore {
+
+class PathUtilities {
+public:
+    WEBCORE_EXPORT static Path pathWithShrinkWrappedRects(const Vector&lt;FloatRect&gt;&amp; rects, float radius);
+};
+
+}
+
+#endif
</ins></span></pre></div>
<a id="branchessafari6011branchSourceWebCorerenderingRenderThemeMacmm"></a>
<div class="modfile"><h4>Modified: branches/safari-601.1-branch/Source/WebCore/rendering/RenderThemeMac.mm (187055 => 187056)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601.1-branch/Source/WebCore/rendering/RenderThemeMac.mm        2015-07-21 04:36:27 UTC (rev 187055)
+++ branches/safari-601.1-branch/Source/WebCore/rendering/RenderThemeMac.mm        2015-07-21 04:36:34 UTC (rev 187056)
</span><span class="lines">@@ -52,6 +52,7 @@
</span><span class="cx"> #import &quot;NSSharingServicePickerSPI.h&quot;
</span><span class="cx"> #import &quot;Page.h&quot;
</span><span class="cx"> #import &quot;PaintInfo.h&quot;
</span><ins>+#import &quot;PathUtilities.h&quot;
</ins><span class="cx"> #import &quot;RenderAttachment.h&quot;
</span><span class="cx"> #import &quot;RenderLayer.h&quot;
</span><span class="cx"> #import &quot;RenderMedia.h&quot;
</span><span class="lines">@@ -2379,136 +2380,16 @@
</span><span class="cx">     icon-&gt;paint(context, layout.iconRect);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static void addAttachmentTitleBackgroundRightCorner(Path&amp; path, const FloatRect* fromRect, const FloatRect* toRect)
-{
-    FloatSize horizontalRadius(attachmentTitleBackgroundRadius, 0);
-    FloatSize verticalRadius(0, attachmentTitleBackgroundRadius);
-
-    if (!fromRect) {
-        // For the first (top) rect:
-
-        path.moveTo(toRect-&gt;minXMinYCorner() + horizontalRadius);
-
-        // Across the top, towards the right.
-        path.addLineTo(toRect-&gt;maxXMinYCorner() - horizontalRadius);
-
-        // Arc the top corner.
-        path.addArcTo(toRect-&gt;maxXMinYCorner(), toRect-&gt;maxXMinYCorner() + verticalRadius, attachmentTitleBackgroundRadius);
-
-        // Down the right.
-        path.addLineTo(toRect-&gt;maxXMaxYCorner() - verticalRadius);
-    } else if (!toRect) {
-        // For the last rect:
-
-        // Arc the bottom corner.
-        path.addArcTo(fromRect-&gt;maxXMaxYCorner(), fromRect-&gt;maxXMaxYCorner() - horizontalRadius, attachmentTitleBackgroundRadius);
-    } else {
-        // For middle rects:
-
-        float widthDifference = toRect-&gt;width() - fromRect-&gt;width();
-
-        // Skip over very similar-width rects, because we can't make
-        // sensible curves between them.
-        if (fabs(widthDifference) &lt; std::numeric_limits&lt;float&gt;::epsilon())
-            return;
-
-        if (widthDifference &lt; 0) {
-            // Arc the outer corner.
-            path.addArcTo(FloatPoint(fromRect-&gt;maxX(), toRect-&gt;y()), FloatPoint(fromRect-&gt;maxX(), toRect-&gt;y()) - horizontalRadius, attachmentTitleBackgroundRadius);
-
-            // Across the bottom, towards the left.
-            path.addLineTo(toRect-&gt;maxXMinYCorner() + horizontalRadius);
-
-            // Arc the inner corner.
-            path.addArcTo(toRect-&gt;maxXMinYCorner(), toRect-&gt;maxXMinYCorner() + verticalRadius, attachmentTitleBackgroundRadius);
-        } else {
-            // Arc the inner corner.
-            path.addArcTo(FloatPoint(fromRect-&gt;maxX(), toRect-&gt;y()), FloatPoint(fromRect-&gt;maxX(), toRect-&gt;y()) + horizontalRadius, attachmentTitleBackgroundRadius);
-
-            // Across the bottom, towards the right.
-            path.addLineTo(toRect-&gt;maxXMinYCorner() - horizontalRadius);
-
-            // Arc the outer corner.
-            path.addArcTo(toRect-&gt;maxXMinYCorner(), toRect-&gt;maxXMinYCorner() + verticalRadius, attachmentTitleBackgroundRadius);
-        }
-
-        // Down the right.
-        path.addLineTo(toRect-&gt;maxXMaxYCorner() - verticalRadius);
-    }
-}
-
-static void addAttachmentTitleBackgroundLeftCorner(Path&amp; path, const FloatRect* fromRect, const FloatRect* toRect)
-{
-    FloatSize horizontalRadius(attachmentTitleBackgroundRadius, 0);
-    FloatSize verticalRadius(0, attachmentTitleBackgroundRadius);
-
-    if (!fromRect) {
-        // For the first (bottom) rect:
-
-        // Across the bottom, towards the left.
-        path.addLineTo(toRect-&gt;minXMaxYCorner() + horizontalRadius);
-
-        // Arc the bottom corner.
-        path.addArcTo(toRect-&gt;minXMaxYCorner(), toRect-&gt;minXMaxYCorner() - verticalRadius, attachmentTitleBackgroundRadius);
-
-        // Up the left.
-        path.addLineTo(toRect-&gt;minXMinYCorner() + verticalRadius);
-    } else if (!toRect) {
-        // For the last (top) rect:
-
-        // Arc the top corner.
-        path.addArcTo(fromRect-&gt;minXMinYCorner(), fromRect-&gt;minXMinYCorner() + horizontalRadius, attachmentTitleBackgroundRadius);
-    } else {
-        // For middle rects:
-        float widthDifference = toRect-&gt;width() - fromRect-&gt;width();
-
-        // Skip over very similar-width rects, because we can't make
-        // sensible curves between them.
-        if (fabs(widthDifference) &lt; std::numeric_limits&lt;float&gt;::epsilon())
-            return;
-
-        if (widthDifference &lt; 0) {
-            // Arc the inner corner.
-            path.addArcTo(FloatPoint(fromRect-&gt;x(), toRect-&gt;maxY()), FloatPoint(fromRect-&gt;x(), toRect-&gt;maxY()) + horizontalRadius, attachmentTitleBackgroundRadius);
-
-            // Across the bottom, towards the right.
-            path.addLineTo(toRect-&gt;minXMaxYCorner() - horizontalRadius);
-
-            // Arc the outer corner.
-            path.addArcTo(toRect-&gt;minXMaxYCorner(), toRect-&gt;minXMaxYCorner() - verticalRadius, attachmentTitleBackgroundRadius);
-        } else {
-            // Arc the outer corner.
-            path.addArcTo(FloatPoint(fromRect-&gt;x(), toRect-&gt;maxY()), FloatPoint(fromRect-&gt;x(), toRect-&gt;maxY()) - horizontalRadius, attachmentTitleBackgroundRadius);
-
-            // Across the bottom, towards the left.
-            path.addLineTo(toRect-&gt;minXMaxYCorner() + horizontalRadius);
-
-            // Arc the inner corner.
-            path.addArcTo(toRect-&gt;minXMaxYCorner(), toRect-&gt;minXMaxYCorner() - verticalRadius, attachmentTitleBackgroundRadius);
-        }
-        
-        // Up the right.
-        path.addLineTo(toRect-&gt;minXMinYCorner() + verticalRadius);
-    }
-}
-
</del><span class="cx"> static void paintAttachmentTitleBackground(const RenderAttachment&amp; attachment, GraphicsContext&amp; context, AttachmentLayout&amp; layout)
</span><span class="cx"> {
</span><span class="cx">     if (layout.lines.isEmpty())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    Path backgroundPath;
</del><ins>+    Vector&lt;FloatRect&gt; backgroundRects;
</ins><span class="cx"> 
</span><del>-    for (size_t i = 0; i &lt;= layout.lines.size(); ++i)
-        addAttachmentTitleBackgroundRightCorner(backgroundPath, i ? &amp;layout.lines[i - 1].backgroundRect : nullptr, i &lt; layout.lines.size() ? &amp;layout.lines[i].backgroundRect : nullptr);
</del><ins>+    for (size_t i = 0; i &lt; layout.lines.size(); ++i)
+        backgroundRects.append(layout.lines[i].backgroundRect);
</ins><span class="cx"> 
</span><del>-    for (size_t i = 0; i &lt;= layout.lines.size(); ++i) {
-        size_t reverseIndex = layout.lines.size() - i;
-        addAttachmentTitleBackgroundLeftCorner(backgroundPath, reverseIndex &lt; layout.lines.size() ? &amp;layout.lines[reverseIndex].backgroundRect : nullptr, reverseIndex ? &amp;layout.lines[reverseIndex - 1].backgroundRect : nullptr);
-    }
-
-    backgroundPath.closeSubpath();
-
</del><span class="cx">     Color backgroundColor;
</span><span class="cx">     if (attachment.frame().selection().isFocusedAndActive())
</span><span class="cx">         backgroundColor = convertNSColorToColor([NSColor alternateSelectedControlColor]);
</span><span class="lines">@@ -2516,6 +2397,8 @@
</span><span class="cx">         backgroundColor = attachmentTitleInactiveBackgroundColor();
</span><span class="cx"> 
</span><span class="cx">     context.setFillColor(backgroundColor, ColorSpaceDeviceRGB);
</span><ins>+
+    Path backgroundPath = PathUtilities::pathWithShrinkWrappedRects(backgroundRects, attachmentTitleBackgroundRadius);
</ins><span class="cx">     context.fillPath(backgroundPath);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari6011branchSourceWebCoretestingInternalscpp"></a>
<div class="modfile"><h4>Modified: branches/safari-601.1-branch/Source/WebCore/testing/Internals.cpp (187055 => 187056)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601.1-branch/Source/WebCore/testing/Internals.cpp        2015-07-21 04:36:27 UTC (rev 187055)
+++ branches/safari-601.1-branch/Source/WebCore/testing/Internals.cpp        2015-07-21 04:36:34 UTC (rev 187056)
</span><span class="lines">@@ -39,6 +39,7 @@
</span><span class="cx"> #include &quot;ClientRectList.h&quot;
</span><span class="cx"> #include &quot;ContentDistributor.h&quot;
</span><span class="cx"> #include &quot;Cursor.h&quot;
</span><ins>+#include &quot;DOMPath.h&quot;
</ins><span class="cx"> #include &quot;DOMStringList.h&quot;
</span><span class="cx"> #include &quot;DOMWindow.h&quot;
</span><span class="cx"> #include &quot;Document.h&quot;
</span><span class="lines">@@ -87,6 +88,7 @@
</span><span class="cx"> #include &quot;Page.h&quot;
</span><span class="cx"> #include &quot;PageCache.h&quot;
</span><span class="cx"> #include &quot;PageOverlay.h&quot;
</span><ins>+#include &quot;PathUtilities.h&quot;
</ins><span class="cx"> #include &quot;PlatformMediaSessionManager.h&quot;
</span><span class="cx"> #include &quot;PrintContext.h&quot;
</span><span class="cx"> #include &quot;PseudoElement.h&quot;
</span><span class="lines">@@ -2930,4 +2932,28 @@
</span><span class="cx">     return testPreloadScannerViewportSupport(contextDocument());
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+PassRefPtr&lt;DOMPath&gt; Internals::pathWithShrinkWrappedRects(Vector&lt;double&gt; rectComponents, ExceptionCode&amp; ec)
+{
+    if (rectComponents.size() % 4) {
+        ec = INVALID_ACCESS_ERR;
+        return nullptr;
+    }
+
+    Vector&lt;FloatRect&gt; rects;
+    while (!rectComponents.isEmpty()) {
+        double height = rectComponents.takeLast();
+        double width = rectComponents.takeLast();
+        double y = rectComponents.takeLast();
+        double x = rectComponents.takeLast();
+
+        rects.append(FloatRect(x, y, width, height));
+    }
+
+    rects.reverse();
+
+    // FIXME: radius should be a parameter instead of fixed as 8.
+    Path path = PathUtilities::pathWithShrinkWrappedRects(rects, 8);
+    return DOMPath::create(path);
</ins><span class="cx"> }
</span><ins>+
+}
</ins></span></pre></div>
<a id="branchessafari6011branchSourceWebCoretestingInternalsh"></a>
<div class="modfile"><h4>Modified: branches/safari-601.1-branch/Source/WebCore/testing/Internals.h (187055 => 187056)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601.1-branch/Source/WebCore/testing/Internals.h        2015-07-21 04:36:27 UTC (rev 187055)
+++ branches/safari-601.1-branch/Source/WebCore/testing/Internals.h        2015-07-21 04:36:34 UTC (rev 187056)
</span><span class="lines">@@ -44,6 +44,7 @@
</span><span class="cx"> class AudioContext;
</span><span class="cx"> class ClientRect;
</span><span class="cx"> class ClientRectList;
</span><ins>+class DOMPath;
</ins><span class="cx"> class DOMStringList;
</span><span class="cx"> class DOMWindow;
</span><span class="cx"> class Document;
</span><span class="lines">@@ -414,6 +415,8 @@
</span><span class="cx">     String scrollSnapOffsets(Element*, ExceptionCode&amp;);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+    PassRefPtr&lt;DOMPath&gt; pathWithShrinkWrappedRects(Vector&lt;double&gt;, ExceptionCode&amp;);
+
</ins><span class="cx"> private:
</span><span class="cx">     explicit Internals(Document*);
</span><span class="cx">     Document* contextDocument() const;
</span></span></pre></div>
<a id="branchessafari6011branchSourceWebCoretestingInternalsidl"></a>
<div class="modfile"><h4>Modified: branches/safari-601.1-branch/Source/WebCore/testing/Internals.idl (187055 => 187056)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601.1-branch/Source/WebCore/testing/Internals.idl        2015-07-21 04:36:27 UTC (rev 187055)
+++ branches/safari-601.1-branch/Source/WebCore/testing/Internals.idl        2015-07-21 04:36:34 UTC (rev 187056)
</span><span class="lines">@@ -375,4 +375,6 @@
</span><span class="cx"> #if defined(ENABLE_CSS_SCROLL_SNAP) &amp;&amp; ENABLE_CSS_SCROLL_SNAP
</span><span class="cx">     [RaisesException] DOMString scrollSnapOffsets(Element element);
</span><span class="cx"> #endif
</span><ins>+
+    [RaisesException] DOMPath pathWithShrinkWrappedRects(sequence&lt;double&gt; rectComponents);
</ins><span class="cx"> };
</span></span></pre>
</div>
</div>

</body>
</html>