<!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>[207946] branches/safari-602-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/207946">207946</a></dd>
<dt>Author</dt> <dd>matthew_hanson@apple.com</dd>
<dt>Date</dt> <dd>2016-10-27 00:15:16 -0700 (Thu, 27 Oct 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Merge <a href="http://trac.webkit.org/projects/webkit/changeset/207523">r207523</a>. rdar://problem/28718748</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#branchessafari602branchLayoutTestsChangeLog">branches/safari-602-branch/LayoutTests/ChangeLog</a></li>
<li><a href="#branchessafari602branchLayoutTestsmediamediasourcecontenttestfragmentedmanifestjson">branches/safari-602-branch/LayoutTests/media/media-source/content/test-fragmented-manifest.json</a></li>
<li><a href="#branchessafari602branchLayoutTestsmediamediasourcecontenttestfragmentedmp4">branches/safari-602-branch/LayoutTests/media/media-source/content/test-fragmented.mp4</a></li>
<li><a href="#branchessafari602branchLayoutTestsplatformmacTestExpectations">branches/safari-602-branch/LayoutTests/platform/mac/TestExpectations</a></li>
<li><a href="#branchessafari602branchSourceWebCoreChangeLog">branches/safari-602-branch/Source/WebCore/ChangeLog</a></li>
<li><a href="#branchessafari602branchSourceWebCoreplatformgraphicsavfoundationobjcSourceBufferPrivateAVFObjCmm">branches/safari-602-branch/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm</a></li>
<li><a href="#branchessafari602branchSourceWebCoreplatformspimacAVFoundationSPIh">branches/safari-602-branch/Source/WebCore/platform/spi/mac/AVFoundationSPI.h</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#branchessafari602branchLayoutTestsmediamediasourcemediasourceinitsegmentdurationexpectedtxt">branches/safari-602-branch/LayoutTests/media/media-source/media-source-init-segment-duration-expected.txt</a></li>
<li><a href="#branchessafari602branchLayoutTestsmediamediasourcemediasourceinitsegmentdurationhtml">branches/safari-602-branch/LayoutTests/media/media-source/media-source-init-segment-duration.html</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="branchessafari602branchLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: branches/safari-602-branch/LayoutTests/ChangeLog (207945 => 207946)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-602-branch/LayoutTests/ChangeLog        2016-10-27 07:15:11 UTC (rev 207945)
+++ branches/safari-602-branch/LayoutTests/ChangeLog        2016-10-27 07:15:16 UTC (rev 207946)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2016-10-26  Matthew Hanson  &lt;matthew_hanson@apple.com&gt;
+
+        Merge r207523. rdar://problem/28718748
+
+    2016-10-19  Jer Noble  &lt;jer.noble@apple.com&gt;
+
+            [Mac][MSE] Movies with a 'mvex' box have a zero-duration
+            https://bugs.webkit.org/show_bug.cgi?id=163641
+
+            Reviewed by Darin Adler.
+
+            * media/media-source/content/test-fragmented-manifest.json:
+            * media/media-source/content/test-fragmented.mp4:
+            * platform/mac/TestExpectations:
+
</ins><span class="cx"> 2016-10-24  Matthew Hanson  &lt;matthew_hanson@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Merge r207229. rdar://problem/28718809
</span></span></pre></div>
<a id="branchessafari602branchLayoutTestsmediamediasourcecontenttestfragmentedmanifestjson"></a>
<div class="modfile"><h4>Modified: branches/safari-602-branch/LayoutTests/media/media-source/content/test-fragmented-manifest.json (207945 => 207946)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-602-branch/LayoutTests/media/media-source/content/test-fragmented-manifest.json        2016-10-27 07:15:11 UTC (rev 207945)
+++ branches/safari-602-branch/LayoutTests/media/media-source/content/test-fragmented-manifest.json        2016-10-27 07:15:16 UTC (rev 207946)
</span><span class="lines">@@ -1,18 +1,18 @@
</span><span class="cx"> {
</span><span class="cx">     &quot;url&quot;: &quot;content/test-fragmented.mp4&quot;,
</span><span class="cx">     &quot;type&quot;: &quot;video/mp4; codecs=\&quot;mp4a.40.2,avc1.4d281e\&quot;&quot;,
</span><del>-    &quot;init&quot;: { &quot;offset&quot;: 0, &quot;size&quot;: 1215 },
</del><ins>+    &quot;init&quot;: { &quot;offset&quot;: 0, &quot;size&quot;: 1231 },
</ins><span class="cx">     &quot;duration&quot;: 10.327753,
</span><span class="cx">     &quot;media&quot;: [
</span><del>-        { &quot;offset&quot;: 1215,   &quot;size&quot;: 67526, &quot;timecode&quot;: 0.000000, &quot;duration&quot;: 1.041668 },
-        { &quot;offset&quot;: 68741,  &quot;size&quot;: 72683, &quot;timecode&quot;: 1.016916, &quot;duration&quot;: 1.024752 },
-        { &quot;offset&quot;: 141424, &quot;size&quot;: 78499, &quot;timecode&quot;: 2.015374, &quot;duration&quot;: 1.026294 },
-        { &quot;offset&quot;: 219923, &quot;size&quot;: 77358, &quot;timecode&quot;: 3.013832, &quot;duration&quot;: 1.027835 },
-        { &quot;offset&quot;: 297281, &quot;size&quot;: 80748, &quot;timecode&quot;: 4.012290, &quot;duration&quot;: 1.029377 },
-        { &quot;offset&quot;: 378029, &quot;size&quot;: 78038, &quot;timecode&quot;: 5.010748, &quot;duration&quot;: 1.030919 },
-        { &quot;offset&quot;: 456067, &quot;size&quot;: 82223, &quot;timecode&quot;: 6.009206, &quot;duration&quot;: 1.032461 },
-        { &quot;offset&quot;: 538290, &quot;size&quot;: 78331, &quot;timecode&quot;: 7.007664, &quot;duration&quot;: 1.034003 },
-        { &quot;offset&quot;: 616621, &quot;size&quot;: 80736, &quot;timecode&quot;: 8.006122, &quot;duration&quot;: 1.035545 },
-        { &quot;offset&quot;: 697357, &quot;size&quot;: 77752, &quot;timecode&quot;: 9.004580, &quot;duration&quot;: 1.044899 }
</del><ins>+        { &quot;offset&quot;: 1231,   &quot;size&quot;: 67526, &quot;timecode&quot;: 0.000000, &quot;duration&quot;: 1.041668 },
+        { &quot;offset&quot;: 68757,  &quot;size&quot;: 72683, &quot;timecode&quot;: 1.016916, &quot;duration&quot;: 1.024752 },
+        { &quot;offset&quot;: 141440, &quot;size&quot;: 78499, &quot;timecode&quot;: 2.015374, &quot;duration&quot;: 1.026294 },
+        { &quot;offset&quot;: 219939, &quot;size&quot;: 77358, &quot;timecode&quot;: 3.013832, &quot;duration&quot;: 1.027835 },
+        { &quot;offset&quot;: 297297, &quot;size&quot;: 80748, &quot;timecode&quot;: 4.012290, &quot;duration&quot;: 1.029377 },
+        { &quot;offset&quot;: 378045, &quot;size&quot;: 78038, &quot;timecode&quot;: 5.010748, &quot;duration&quot;: 1.030919 },
+        { &quot;offset&quot;: 456083, &quot;size&quot;: 82223, &quot;timecode&quot;: 6.009206, &quot;duration&quot;: 1.032461 },
+        { &quot;offset&quot;: 538306, &quot;size&quot;: 78331, &quot;timecode&quot;: 7.007664, &quot;duration&quot;: 1.034003 },
+        { &quot;offset&quot;: 616637, &quot;size&quot;: 80736, &quot;timecode&quot;: 8.006122, &quot;duration&quot;: 1.035545 },
+        { &quot;offset&quot;: 697373, &quot;size&quot;: 77752, &quot;timecode&quot;: 9.004580, &quot;duration&quot;: 1.044899 }
</ins><span class="cx">     ]
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchessafari602branchLayoutTestsmediamediasourcecontenttestfragmentedmp4"></a>
<div class="modfile"><h4>Modified: branches/safari-602-branch/LayoutTests/media/media-source/content/test-fragmented.mp4 (207945 => 207946)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-602-branch/LayoutTests/media/media-source/content/test-fragmented.mp4        2016-10-27 07:15:11 UTC (rev 207945)
+++ branches/safari-602-branch/LayoutTests/media/media-source/content/test-fragmented.mp4        2016-10-27 07:15:16 UTC (rev 207946)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><del>-$ftypisomisomiso2avc1iso6mp41\x9Bmoovlmvhd\xE8@\xD5trak\tkhd@\x80\xE0qmdia mdhdK\xC7-hdlrvideVideoHandlerminfvmhd$dinfdref url \xDCstbl\x90stsd\x80avc1\x80\xE0HH\xFF\xFF*avcCM@\xFF'M@\xA9\xB6\xD4µ\xEF|(\xDE        \xC8sttsstscstszstco\xA8trak\tkhd@Dmdia mdhd\xACD\xC7-hdlrsounSoundHandler\xEFminfsmhd$dinfdref url \xB3stblgstsdWmp4a
 \xACD3esds\x80\x80\x80&quot;\x80\x80\x80@\xE8S\x80\x80\x80\x80\x80\x80sttsstscstszstcoHmvex trex trexbudtaZmeta!hdlrmdirappl-ilst%\xA9toodataLavf56.15.102\xD8moofmfhdtraf$tfhd9\xBF b tfdt\xD8trun
-\xE0b  }@D@a\xA2@,\xCF@#@&gt;\x90@\xC1@\x8D\xEF@2@\xD2\xAD@{&quot;@\xB0\x8C \xA8traf$tfhd9\xBF .tfdthtrun*\xD2\xCD .\xD3\xFC0@\x89Z4Du^H;vK+$ftypisomisomiso2avc1iso6mp41\xABmoovlmvhd\xE8@\xD5trak\tkhd@\x80\xE0qmdia mdhdK\xC7-hdlrvideVideoHandlerminfvmhd$dinfdref url \xDCstbl\x90stsd\x80avc1
 \x80\xE0HH\xFF\xFF*avcCM@\xFF'M@\xA9\xB6\xD4µ\xEF|(\xDE        \xC8sttsstscstszstco\xA8trak\tkhd@Dmdia mdhd\xACD\xC7-hdlrsounSoundHandler\xEFminfsmhd$dinfdref url \xB3stblgstsdWmp4a\xACD3esds\x80\x80\x80&quot;\x80\x80\x80@\xE8S\x80\x80\x80\x80\x80\x80sttsstscstszstcoXmvexmehd' trex trexbudtaZmeta!hdlrmdirappl-ilst%\xA9toodataLavf56.15.102\xD8moofmfhdtraf$tfhd9\xAF b tfdt\xD8trun
</del><ins>+b  }@D@a\xA2@,\xCF@#@&gt;\x90@\xC1@\x8D\xEF@2@\xD2\xAD@{&quot;@\xB0\x8C \xA8traf$tfhd9\xAF .tfdthtrun*\xCF\xED .\xD3\xFC0@\x89Z4Du^H;vK 9,4kPunkH\xD5\xCFnk{\x9FndT\xF5\xF6(\xEEmdat \x8D\xBB\xA0@\x80\x87\xF4N\xCD
</ins><span class="cx"> Kܡ\x94:\xC3ԛ\x80%\xB8 !\xFF\xFF\xFE&amp;(\xC0p,\x80’\xC08@aD\xCE\xCF8\x80J[g\x80\x80\x80`L\xB1\xF8x
</span><span class="cx"> Id\x96I o[\xC0/\xE0p.\xA0\xD9\xFF\x80 \x85$\x92I$\x907\xAD\x80\xE0\A\xB2\xFE\xE0
</span><span class="lines">@@ -599,8 +599,8 @@
</span><span class="cx"> \x89f_==\x98O\xDA \x95Ԅ\xF2~\xFEf\xAA\xA0\xAB\xB0\x97\xACc\xDFY\xDFfhW\xE2\x8D\xE9E~*\xDD\xC0! \xDD=\x98!̀w(\xB6l\x9Aqd\xA1?\xF6\x9A7\xB0\xCDo)|\xB8\xF4\xBB\xD5&amp;\x84\xF9\xEBr\xEA\xE4\xCF Z\x91\x8E΃\x96g
</span><span class="cx"> \xA2\xC5\xC1\xBA\xE4\xD6\xD7\xDB\xFFm\xC0+T        ]ғ\xD2uOf\xF3m\xD5\xC0jJ\xA6\xEC\xDB\xF9\xF6\xFFy\xA7:\xB4\xD3\xEBep\xF0\xC6mۄ\x8A*\xFC\x86Lrǯ\xBF\xC5Bey\xD6F=\xBA(\x93\x9Aq2
</span><span class="cx"> i\x88\x90EߜH4\xE7h{\xB6P\xD9׃\xB0‘\xE9\x877\xE9_uE.m\xD6\xCD\xDB9\xB2\xFCN\xB0\xC32x@O3dlG -\xC4 \x86ᛰ\x9D\xE3\xE2p#\xFF\x94\xEA;`\xC1&gt;\L\xEFL\xF5`\x80\xE8i\xBAO\x87\xD6\x87\xFD\xAFZ\xDA \x96\xF9+v\xC4S֖\xC05\xFEy\xEF݆\xD4pG\xAEE-ښ\x94\xF0TF\xE5\xF7\xFD\xEC\xEE\xFCݷ\xCC$r\xE9b1k\xC5P }\xB4\xA1\xB6\xA1\x91\x8C\x80eC\x8B\xE6F2\x81\xC04moofmfhdtraf$tfhd9 \x85 e5tfdtK\xD8trun
</span><del>-&lt;e5 a@\xA5\xDD@\xFA@h\x96@ER@Hi@\x99@\xD6\xE1@E@\xF1\xC0@\xBB~@D\x85 traf$tfhd9 \x85jtfdt\xAF.\xC4trun+\xDC\xF1jpJV\xB6\x83tj\x83\x8C\x91\x9BpKUn\x8Bp\xAB\xA1\x8F\fr\x99z\x80|f\xB8?8\x82GHP_`J`\xB7mdat\x87\xF4N\xCD
</del><ins>+\xC4 \x86ᛰ\x9D\xE3\xE2p#\xFF\x94\xEA;`\xC1&gt;\L\xEFL\xF5`\x80\xE8i\xBAO\x87\xD6\x87\xFD\xAFZ\xDA \x96\xF9+v\xC4S֖\xC05\xFEy\xEF݆\xD4pG\xAEE-ښ\x94\xF0TF\xE5\xF7\xFD\xEC\xEE\xFCݷ\xCC$r\xE9b1k\xC5P }\xB4\xA1\xB6\xA1\x91\x8C\x80eC\x8B\xE6F2\x81\xC04moofmfhdtraf$tfhd9\xD1 e5tfdtK\xD8trun
+e5 a@\xA5\xDD@\xFA@h\x96@ER@Hi@\x99@\xD6\xE1@E@\xF1\xC0@\xBB~@D\x85 traf$tfhd9\xD1jtfdt\xAF.\xC4trun+ڵjpJV\xB6\x83tj\x83\x8C\x91\x9BpKUn\x8Bp\xAB\xA1\x8F\fr\x99z\x80|f\xB8?8\x82GHP_`J`\xB7mdat\x87\xF4N\xCD
</ins><span class="cx"> Kܡ\x94:\xC3ԛ\x80\xD3%\xB8  \xDF\xFF\xFF\x89\x8A        \xF0\x81)`\x81$\xCE\xCF8\x80@\x94\xB7&lt;\xF0\x81$\xCC}\x87\x80\xD0kn\xB6\xD97\xAD\x8808\xCB\xF8\xC0\xE0/\xFF\xE3\xF0\xD0k\xAE\xBA\xEB\xA0o[\xC0@ \xF2\xFE08\xCB\xFF\xF8\xFCt뮺\xE8\xD6\xC0p\x80|\xBF\x81\xC0@ \xF2\xFF\xFE?@F\xBA뮺\xF5\xB0\xC0\xE0/\xE0p\x80|\xBF\xFF\x8F\xC0@Q\xAE\xBA뮁\xBDl08\xCB\xF8\xC0\xE0/\xFF\xE3\xF0\xD0k\xAE\xBA\xEB\xA0o[\xC0@ \xF2\xFE08\xCB\xFF\xF8\xFCt뮺\xE8\xD6\xC0p\x80|\xBF\x81\xC0@ \xF2\xFF\xFE?@F\xBA뮺\xF5\xB0\xC0\xE0/\xE0p\x80|\xBF\xFF\x8F\xC0@Q\xAE\xBA뮁\xBDl08\xCB\xF8\xC0\xE0/\xFF\xE3\xF0\xD0k\xAE\xBA\xEB\xA0o[\xC0@ \xF2\xFE08\xCB\xFF\xF8\xFCt뮺\xE8\xD6\xC0p\x80|\xBF\x81\xC0@ \xF2\xFF\xFE?@F\xBA뮺\xF5\xB0\xC0\xE0/\xE0p\x80|\xBF\xFF\x8F\xC0@Q\xAE\xBA
 \xBDl08\xCB\xF8\xC0\xE0/\xFF\xE3\xF0\xD0k\xAE\xBA\xEB\xA0o[\xC0@ \xF2\xFE08\xCB\xFF\xF8\xFCt뮺\xE8\xD6\xC0p\x80|\xBF\x81\xC0@ \xF2\xFF\xFE?@F\xBA뮺\xF5\xB0\xC0\xE0/\xE0p\x80|\xBF\xFF\x8F\xC0@Q\xAE\xBA뮁\xBDl08\xCB\xF8\xC0\xE0/\xFF\xE3\xF0\xD0k\xAE\xBA\xEB\xA0o[\xC0@ \xF2\xFE08\xCB\xFF\xF8\xFCt뮺\xE8\xD6\xC0p\x80|\xBF\x81\xC0@ \xF2\xFF\xFE?@F\xBA뮺\xF5\xB0\xC0\xE0/\xE0p\x80|\xBF\xFF\x8F\xC0@Q\xAE\xBA뮁\xBDl08\xCB\xF8\xC0\xE0/\xFF\xE3\xF0\xD0k\xAE\xBA\xEB\xA0o[\xC0@ \xF2\xFE08\xCB\xFF\xF8\xFCt뮺\xE8\xD6\xC0p\x80|\xBF\x81\xC0@ \xF2\xFF\xFE?@F\xBA뮺\xF5\xB0\xC0\xE0/\xE0p\x80|\xBF\xFF\x8F\xC0@Q\xAE\xBA뮁\xBDl08\xCB\xF8\xC0\xE0/\xFF\xE3\xF0\xD0k\xAE\xBA\xEB\xA0o[\xC0@ \xF2\xFE08\xCB\xFF\xF8\xFCt뮺\xE8\xD6\xC0p\x80|\xBF\x81\xC0@ \xF2\xFF\xFE?@F\
 xBA뮺\xF5\xB0\xC0\xE0/\xE0p\x80|\xBF\xFF\x8F\xC0@Q\xAE\xBA뮁\xBDl08\xCB\xF8\xC0\xE0/\xFF\xE3\xF0\xD0k\xAE\xBA\xEB\xA0o[\xC0@ \xF2\xFE08\xCB\xFF\xF8\xFCt뮺\xE8\xD6\xC0p\x80|\xBF\x81\xC0@ \xF2\xFF\xFE?@F\xBA뮺\xF5\xB0\xC0\xE0/\xE0p\x80|\xBF\xFF\x8F\xC0@Q\xAE\xBA뮁\xBDl08\xCB\xF8\xC0\xE0/\xFF\xE3\xF0\xD0k\xAE\xBA\xEB\xA0o[\xC0@ \xF2\xFE08\xCB\xFF\xF8\xFCt뮺\xE8\xD6\xC0p\x80|\xBF\x81\xC0@ \xF2\xFF\xFE?@F\xBA뮺\xF5\xB0\xC0\xE0/\xE0p\x80|\xBF\xFF\x8F\xC0@Q\xAE\xBA뮁\xBDl08\xCB\xF8\xC0\xE0/\xFF\xE3\xF0\xD0k\xAE\xBA\xEB\xA0o[\xC0@ \xF2\xFE08\xCB\xFF\xF8\xFA\xF0CM\x93n$\xA4uY\x81\xC0\xF8p        \x97\xF082\xC0        \x86\xC49g\x9E\x97~#\x87\xF08 78\xEB\xA0(\xD7[m\xB2 y\xBC \xC0\xE0s\xFE08\xDC\xFF\xA8\x9A뮺뮺뮺뮺뮺뮺뮺뮺뮺\xE3\xA2@A\xAE:\xE3\xAE\xE6\xF3\xE0p&amp;\xE7\xF8\
 xC0\x80        \xB9\xC7`\xA0(\xD7]u\xD7@\xF3x08\xDC\xFF\x81\xC0@ \xF7?\xEA&amp;\xBF\xBE{\x86v\xC0LI\x9AA\xBA\xA06cV\xB3\xB0\x957\xFF\xDE\xD8\x88\xF6\xF8\xACw\xFF1NwĎ\xD8?\x95\xF8/\x88\xF47D        ~\xFE\xC1\x9B\xF0t\xA5\x81\x8A\xAC\xAF\xF9\xA6c/\xAB)92w\xE0U\xCE^0\xC9V\xF3˥\xBE\xF0o\x86dU\xFBlN6j&lt;x߸\xCB]\xAC\xE23\xBF\xFB\xC2%8Z\xC0\xDE#.\xFE&gt;\xF4hS\xE0\xC01Lބ\x8A\xA8@`\xAA\xB1\xB1\xF19\xED$do\xF5\xED&amp;f\xC1)\xC1\xCBP_`*\x88&amp;6 \xFF\x83\xF5 \x84@VbŔ9Dž\xC8x\xE5\x8DL L1:[IOi\xC3d\xA7\xB9\xD7\x99\xC5J\xB0\x80k1f\xB7\xED\xC6\xC2ю4\x92 \xDA10\xB9d&lt;\x86\xBE\xFB        \xB6*\xECVe\xDA\x88\x98֡\xAE\xC4p\xA6\xE4=\x8Cl\x84 \xF0̀a\xA8ܪ\xA1f[\xE7@@ -1200,9 +1200,9 @@
</span><span class="cx"> \xE7\xE4Z\xEB\x8C\xE0\xE2\x97\xFFP\x8A\xE5\xBBN        (\x85\xC8&lt;\xF2 ̳u\xEB\xF6\xCA\xAA\xF46r\xFAx\xD5U]\xB0\xAE\xCE\xDE\xF8z?\x9E\xD7\xEB\x95\xDCl\xC7O\\+W\x9Eoϼ%\xC69\xF6\xEFQ\xD3H\xE1\x98Mf\xE2\xBA\xE5.\xE0m]\xDB.S¯\xB1A$*\xF6\x8C\xAEَ\xAD\xC9u\xEAA?t\xFF\xE1A\xF3e;\xB1X9\x98&quot;\xF4\xF8\xCA\xF7\Rnw*+\xD0Ƨ3\xF6\x8A\xE9tQ\xFA\xCF7:]\xAD\x80c\x82\xF8F\xBB\x8BS\x8F \x80i\xDF\xFF\xFA3
</span><span class="cx"> \xF1$胣\x8F$\x95
</span><span class="cx"> i\xB0\x85\xA8\x91\x88\x91\xC5[T,P\x91\xE0$\I&gt;\xDB\xC5b\x90\x88}v*\xBC\xB4\xEC.\x86\xF9p\x8C9ˏ&lt;\xC9\xD9TYD\x89f&quot;\xCCtȪ\xB1\xE1bU-\xB0\x92\xEF&lt;\x84\x892b\x90\xAD\xA4e2\x93\xF1 p4moofmfhdtraf$tfhd9(p v\x99tfdt\x96\xD8trun
</span><del>-&lt;v\x99 
-@\x84\xFD@\xF6d@d\xEA@@\xA8@z\x92@\xAFA@mw@\x93@\xF5\xB8@  traf$tfhd9(patfdt[.\xC4trun+\xF5 a]s\xA0XNp|qk\x8C\x99\xD6rXESRi8D\x98LVd\x85R_\x92\x84e\x85\xE8\xBEP\x87m\x89\x9B\x9C0omdat\x87\xF4N\xCD
</del><ins>+\xB0\x92\xEF&lt;\x84\x892b\x90\xAD\xA4e2\x93\xF1 p4moofmfhdtraf$tfhd9*\xBC v\x99tfdt\x96\xD8trun
+v\x99 
+@\x84\xFD@\xF6d@d\xEA@@\xA8@z\x92@\xAFA@mw@\x93@\xF5\xB8@  traf$tfhd9*\xBCatfdt[.\xC4trun+\xF2\xE4a]s\xA0XNp|qk\x8C\x99\xD6rXESRi8D\x98LVd\x85R_\x92\x84e\x85\xE8\xBEP\x87m\x89\x9B\x9C0omdat\x87\xF4N\xCD
</ins><span class="cx"> Kܡ\x94:\xC3ԛ\x80h%\xB8  G\xFF\xFF\xE2b\x80\x83L\x80 zX\x80 y3\xCF\xF8 @\xF4\xB7&lt;\xF0@\x81\xE4\xCC~\xC0q\xEE\xBE\xEB\xA4\xC0޶ @@ \x99\x80\x80H\x80/\xFF\xE3\xF0\xF0{\xEF\xBE\xFB\xE0o[\xC0@$\xC0        \x97\xF08\x80\x802\xFF\xFE?@Ǿ\xFB\xEF\xBE\xF5\xB0@@ \x99\x80\x80H\x80/\xFF\xE3\xF0\xF0{\xEF\xBE\xFB\xE0o[\xC0@$\xC0        \x97\xF08\x80\x802\xFF\xFE?@Ǿ\xFB\xEF\xBE\xF5\xB0@@ \x99\x80\x80H\x80/\xFF\xE3\xF0\xF0{\xEF\xBE\xFB\xE0o[\xC0@$\xC0        \x97\xF08\x80\x802\xFF\xFE?@Ǿ\xFB\xEF\xBE\xF5\xB0@@ \x99\x80\x80H\x80/\xFF\xE3\xF0\xF0{\xEF\xBE\xFB\xE0o[\xC0@$\xC0        \x97\xF08\x80\x802\xFF\xFE?@Ǿ\xFB\xEF\xBE\xF5\xB0@@ \x99\x80\x80H\x80/\xFF\xE3\xF0\xF0{\xEF\xBE\xFB\xE0o[\xC0@$\xC0        \x97\xF08\x80\x802\xFF\xFE?@Ǿ\xFB\xEF\xBE\xF5\xB0@@ \x99\x80\x80H\x80/\xFF
 \xE3\xF0\xF0{\xEF\xBE\xFB\xE0o[\xC0@$\xC0        \x97\xF08\x80\x802\xFF\xFE?@Ǿ\xFB\xEF\xBE\xF5\xB0@@ \x99\x80\x80H\x80/\xFF\xE3\xF0\xF0{\xEF\xBE\xFB\xE0o[\xC0@$\xC0        \x97\xF08\x80\x802\xFF\xFE?@Ǿ\xFB\xEF\xBE\xF5\xB0@@ \x99\x80\x80H\x80/\xFF\xE3\xF0\xF0{\xEF\xBE\xFB\xE0o[\xC0@$\xC0        \x97\xF08\x80\x802\xFF\xFE?@Ǿ\xFB\xEF\xBE\xF5\xB0@@ \x99\x80\x80H\x80/\xFF\xE3\xF0\xF0{\xEF\xBE\xFB\xE0o[\xC0@$\xC0        \x97\xF08\x80\x802\xFF\xFE?@Ǿ\xFB\xEF\xBE\xF5\xB0@@ \x99\x80\x80H\x80/\xFF\xE3\xF0\xF0{\xEF\xBE\xFB\xE0o[\xC0@$\xC0        \x97\xF08\x80\x802\xFF\xFE?@Ǿ\xFB\xEF\xBE\xF5\xB0@@ \x99\x80\x80H\x80/\xFF\xE3\xF0\xF0{\xEF\xBE\xFB\xE0o[\xC0@$\xC0        \x97\xF08\x80\x802\xFF\xFE?@Ǿ\xFB\xEF\xBE\xF5\xB0@@ \x99\x80\x80H\x80/\xFF\xE3\xF0\xF0{\xEF\xBE\xFB\xE0o[\xC0@$\xC0        \x97\xF08\x80\x802\xFF\xFE?@
 Ǿ\xFB\xEF\xBE\xF5\xB0@@ \x99\x80\x80H\x80/\xFF\xE3\xF0\xF0{\xEF\xBE\xFB\xE0o[\xC0@$\xC0        \x97\xF08\x80\x802\xFF\xFE?@Ǿ\xFB\xEF\xBE\xF5\xB0@@ \x99\x80\x80H\x80/\xFF\xE3\xF0\xF0{\xEF\xBE\xFB\xE0o[\xC0@$\xC0        \x97\xF08\x80\x802\xFF\xFE?@Ǿ\xFB\xEF\xBE\xF5\xB0@@ \x99\x80\x80H\x80/\xFF\xE3\xF0\xF0{\xEF\xBE\xFB\xE0o[\xC0@$\xC0        \x97\xF08\x80\x802\xFF\xFE?@Ǿ\xFB\xEF\xBE\xF5\xB0@@ \x99\x80\x80H\x80/\xFF\xE3\xF0\xF0{\xEF\xBE\xFB\xE0o[\xC0@$\xC0        \x97\xF08\x80\x802\xFF\xFE?@Ǿ\xFB\xEF\xBE\xF5\xB0@@ \x99\x80\x80H\x80/\xFF\xE3\xF0\xF0{\xEF\xBE\xFB\xE0o[\xC0@$\xC0        \x97\xF08\x80\x802\xFF\xFE?@Ǿ\xFB\xEF\xBE\xF5\xB0@@ \x99\x80\x80H\x80/\xFF\xE3\xF0\xF0{\xEF\xBE\xFB\xE0o[\xC0@$\xC0        \x97\xF08\x80\x802\xFF\xFE?@Ǿ\xFB\xEF\xBE\xF5\xB0@@ \x99\x80\x80H\x80/\xFF\xE3\xF0\xF0{\xEF\xBE\xF
 B\xE0o[\xC0@$\xC0        \x97\xF08\x80\x802\xFF\xFE?\xB00\xB6\xE6\xDC\xE51\xBE\xA2F\x8F\xB8\xC0\xE0 `\xCB\xF8@@ \x99`\xA0\xC8aԒ\x8By\x8F\xA6;\x87\xF08\x80\x8078\xEC&lt;\x80\xE3\xDFu\xD7I\x81\xE6\xF0\x80        0n\xC0\xE0 `\xDC\xFF\xA8\x9A뮺뮺뮺뮺뮺뮺뮺뮺뮺\xE3\xA2\xC0a\xEF&gt;\xF3\xEF\xE6\xF3\xE0p         n\x81\xC0@$\x80        \xB9\xC7`\xE08\xF7\xDF}\xF7\xC0\xF3x\x90&amp;\xE7\xFC  M\xCF\xFA\x89\xAF\xEF\x9E\xC5gT\xB1\x98\xE0&lt;\xC0Ϭ\xBB\xAB{\xFA\x80&gt;S\x94\x97r@\xD93\xF7\xC0@\xEA\x82 \x9D놱\xE0\xFF\x98[\x85N:\x92\xAC\xD6?\xF0E\xA8S\xB2Zo\xDF\xD8\xA8.\x84\xEFi        ~\x81\xF9\xC3\xE9׾\xE3[3?\xF7\xA9B\xB7LR\xFB\xAFL\x8B}\xE0b\xD1,[ H\xF8r\xDE6 \xFC\xE0\x8F~\x93! [(q\xC2\xD6ta        NI\xAF\xA7\xEBr\xE0S\xE0\xC0\x9E\x88\x98֡\x98\xAE\xCC\xC0eiMŀ \xD7܅~$o\xFF\xEF1&quot;\x95\xF8\xCCļ-\xBF\xE8\x84\xDA0\x8Cw0#\xFF\x83\xF2!0G1\x9C\x80\xB5\x954P@\xD0a\x83\x82\xE4`
</span><span class="lines">@@ -1857,8 +1857,8 @@
</span><span class="cx"> \xF5\xD2\xD1F\xD2R\xF1\xFF\xDD2\xF7○\xBD1D\x91\xC5\xC1H\xB9&amp;`Y&quot;\xA7\xC4\xDDQ\xB2\xE5U\xB9\xFAn5]9HqYqE\xE7`\x96`\xF1\xE8Wb\x8A'(QH\xA4!\x9Dتà\x84\x86*\xCC\xE0j7\xB3\x93\x92\xF5\xF8}\xC4-c\x98-\xF2'U\xA7M\xCF\xB7I\x8D\x9E\xB6@\xB7\xDAL\xE3Q\x91\xCB \xA9\xE0\xDC\xD8v\xDF\xD6f\xB15\xD5,\xB2MG݌_e\x85vTœ1\xDDu\xFF()B\xADړ\xC5D\xAA\xF6&amp;x\x86\x9E\xA9i\xEBW}Z\xF7b\xB8!\x9F\x9A\xF1-\xFCk\x9D\xE7,\x97\xD9x\xAE\xB4\xA5\xEDގ\xB2\xA5ܢ2\xE8C#        $\x81e\xAEй#N\xDFqE\xE30\xE9\xD1\xACi        \xE43\xFB\xA3\xDE |\xD0\xDD\xC3\xCC\xBC*\xFE\xBFO \xCF\xEE\xD6\xFC\xF3%f        \x9E\xEE\xCEw\xF5\xAB9s\x86\x91\xDDΛ\xDA0*\x97\&amp;\xE2\xFEnu~y\xBA\x85&amp;G\x95d4koܘ\xBDY
</span><span class="cx"> \xFF\xE39\xE38\xB0\xADMxR\xDDx\xE2\x93b\xC0\xE3Κq \xF6h\xADT\xDEX\xD4\xD2T\xC9&lt;\xF8\x8A\xA9a\xD9\xDEW4\xBAl\xF9-I\x83\xE1u#t]\xBC\x9E\x85\xE9l^\xBAxT\x8B\xB04moofmfhdtraf$tfhd9[ n\xB5tfdt\xE1\xD8trun
</span><del>-&lt;n\xB5 @n\xFE@WZ@\x9E\xD7@1\xE5@;@\xC3g@a@\x8A\xEF@\x98@5T@\x8F\xDB traf$tfhd9[otfdt.\xC4trun+\xEC\xA7ob\xFF\x81nu\x83\x8C\x87\xAE\x87\x9Ekk\xB1\x87\xB0\xB7\xB1\x81ks\xB3\x99\x8D\x93\xCD\x84Z50\x8F|k_\x81\x88lz+\xFAmdat\x87\xF4N\xCD
</del><ins>+I\x83\xE1u#t]\xBC\x9E\x85\xE9l^\xBAxT\x8B\xB04moofmfhdtraf$tfhd9]_ n\xB5tfdt\xE1\xD8trun
+n\xB5 @n\xFE@WZ@\x9E\xD7@1\xE5@;@\xC3g@a@\x8A\xEF@\x98@5T@\x8F\xDB traf$tfhd9]_otfdt.\xC4trun+\xEAkob\xFF\x81nu\x83\x8C\x87\xAE\x87\x9Ekk\xB1\x87\xB0\xB7\xB1\x81ks\xB3\x99\x8D\x93\xCD\x84Z50\x8F|k_\x81\x88lz+\xFAmdat\x87\xF4N\xCD
</ins><span class="cx"> Kܡ\x94:\xC3ԛ\x80%\xB8  E\xFF\xE2b\x80\x83L\x80 zX\x80 y3\xCF\xF8 @\xF4\xB7&lt;\xF0@\x81\xE4\xCC}\x87\x80\x80(\x86\x93*L\x99\x907\xAD\x88\xF0/\xE0p\xF0\xB2\xFF\xFE?@\x80(iR\xA5J\x95z\xD8\xE0 6_\xC0\xE0 \xE0e\xFF\xFC~\x80PҥJ\x95*\xF5\xB0\xC0@&lt;l\xBF\x81\xC0@&lt;\xC0\xCB\xFF\xF8\xFC 
</span><span class="cx"> \xA1\xA5J\x95*T \xEB`8\x80\x80x\xD9\x80\x80x\x80@@ -2607,8 +2607,8 @@
</span><span class="cx"> \xE9U\x81\x8E҆өEZ7k\xE2母E\xDDoU\xE87r7;\xF4\xB6\xABl{\x8C.\x86$C\xC2k\xAA\x9F\xE7-\xB6b\x81U\xEC\xEDK9\x96cC\x9F\xA5\xD5\xE3\xCCP8`\xC6\xF7ۅ0\xE7\x8BA\x84\xA5+ Dl\xE3t\xA0M0]\x8D\xAC%H\xAFSb\xD54\xA9\xF7\x9E\x8A\xE6\xDAzܮe嗷\x97)Z~\xBCM\xE9\xCD\xDB4v\xF1vL\xE2%4.3\x9C\xF7xX\xAF˒\x91\xB0\xAE}v\xAAQ['\xF7\x92*\xDA\xD8V\x95\xA3b\x91ۈ\x9F\xC0{\xEC?l; \xFC\xEBU\xA1;9\xFA\xAF\xDD+\x91Cb\xE4\xE3\x99\xDB\x8B\xB9*%\x8E\xDAu\xDF\xE3\xC9~Y\xC3;\xAC\xE3R\x9C\xDB1\x81x\xC8hd\x93\xB9W52\xE8\xE9녯\x9A\xC9j$$Qf\x86U\xA4\xC2u\x83[t\xE9\xD7 \xAD\xC1yb\xBD        \xADG
</span><span class="cx"> \xB2õ\xD2]_\xE0\xF1\xDF*\xE2m9c\x9D\xAF\xB4\x82\xB6.4 p\x93F Z\xC3!#\x94\xB0@\x91\x94\xC07VecU\xF9Z:\xB4C\xD2j\xAC\xA5i\xBE̪hnts\xE0\xFD\x9D\x9D\xC7\xAE\x81Щ=\x95 \xB4\xFE7\xC1\xA2\xD4=\x98\xBA\xBBK\x91\xA3\xD6Nx\x81\xC5        k4&gt;U}ˇ\xBF-\xF5L\xF5gp4moofmfhdtraf$tfhd9\x89A {%tfdt,\xD8trun
</span><del>-&lt;{% @YK@M\x87@\xEA@\xAC@\x9C\xD1@(@\x99\xAB@4\xB0@I-@\xAC@&quot;\xFD traf$tfhd9\x89A\x92tfdt\xB3.\xC4trun+\xFD\x92\x91\x89\xBDpzr\xA5\x8F|\x91\xB2\xE0\xAD~t{[\x9F\x8D9DbYBo\xC0d}\xC9\xE7ppn\x82\x9A\x9098mdat\x87\xF4N\xCD
</del><ins>+\xF5L\xF5gp4moofmfhdtraf$tfhd9\x8B\x8D {%tfdt,\xD8trun
+{% @YK@M\x87@\xEA@\xAC@\x9C\xD1@(@\x99\xAB@4\xB0@I-@\xAC@&quot;\xFD traf$tfhd9\x8B\x8D\x92tfdt\xB3.\xC4trun+\xFA\xD3\x92\x91\x89\xBDpzr\xA5\x8F|\x91\xB2\xE0\xAD~t{[\x9F\x8D9DbYBo\xC0d}\xC9\xE7ppn\x82\x9A\x9098mdat\x87\xF4N\xCD
</ins><span class="cx"> Kܡ\x94:\xC3ԛ\x80\x9E%\xB8  M\xFF\xE2b\x80\x84 \xC0 \x96\xC0@0&lt;\xF0+\x80\xE0 \x80\xDC\xF0+\xC0p \xC0\x81\x84\xCC~\xA0
</span><span class="cx"> L\xA92d\xC0޶ @@4l\xB6\xE1\xC0@4@\xCBa\xAF\xFE?` 
</span><span class="cx"> \xA1\xA5J\x95*T@@ -3441,8 +3441,8 @@
</span><span class="cx"> \x84\x81\xBF+\xC0I        %\x92\x97\xF3\xE9f\x96\x91\xA4\xC4\xC6ߣ\xE3&lt;\xF0\x8C\xE9\xDBǚ,\xB18Ք\xE9iyQ{\xD9\xEC1\xE3SΧrtϜ\\xE9y\x9C*\xAC\x86\xFE\x8E\xD8\xFEWz\xAD\xE8*ak\xBC\xA0\xA9\x88h`\x88P\xCCR %Oڊ\xC7\xD4
</span><span class="cx"> jg]w\xE5n\x9EZ\xB2&quot;P\xAB\xD87Hi \xFET\xEAM|\x8B\xF9A\xFE){\xBD\xE8\xF9\xF3\x92\xBC\xDA\x9F\xE8\xC5߄\xB0'\xB5\xA6s6^\xA0\xBC`\x98\x87\xAF`\xFCѶ\xFCx&gt;\xE3\xBCg_\x89&gt;EC\xDD$\x8B\xB5JL\xE4(T\xE7[/Q\xD8\xF2\x94\xE0\xF2\x88\xC1\xD5t\xDE5w\xDD\x94X\xFCv\xF8\xEE\xC9\xDD&quot;\x9DH0T\xE6@\xA0\xF1P=-\xAD\xD0\xE8*\xD0q\xF9\xFD=\xAC5\xDEǙ\xF3\xF0! \xA5\x9E\x94⁲\x84$ \x84\xF5\xDDk\xA9\xE1^z\xD2\xE2]\xB8j\xF4^\x99\x9B\x9F\x97\x9AT&quot;\xE8:\xC9\xCD{w\xFFf\xD5[\x8E\xC5 v\xEF%Wu\xCEzi'&lt;\x95\xADk\x8D!Di\x85\xAEY\xF1VJM\xCF\xDEB2\xA0k4\xECȽ\x9F*e\xFA\x88{j\xCC\xFE\xA4e)\x9E\xBB\xC3u\xC9xuM+\xE1\xAF\xC4b\xB9pv &amp;\x89&amp;\x98\xD8\xDA\x9E\c\xDE\xE1]GC\xD9\xE0\xBEhf\x95\x97\xA9-ۡ.ۭ\x84
</span><span class="cx"> \xCFZR\xD2PdJ\x89B\x89\x89\xD6\xCE\xFAr\xD6\xE4\xE0\x92Kg\xC3P\xB2\x80\xC6q\x8E\xDDP        dmn\xF8\xAD*\xDF*v\x98\xA4Y0dW\xE6}        dEy\xDF\xF7h\x9A        \xB9/=\xFD\xD1na\xCAj\xD0ub\x87\xA18Z\xBD\xBD\x85`\xA6q\xCFÊ$I\xE5\xAA L\x81a!\x84 \x80\xF1\xD0&amp;\xAFn4CJ\xD3S\xAE44̀\xE0\xEF_\xDAv\x9D\xCCM}N\xEE\xADJ\x85\xFF䮑7\x8E\xFC&gt;?\xE6\xDE\xF9\x8E\x9E'ߑ,\xEB\xA7*߭\x84\xCCՄ`*7\xB5\xA1\xFBJ\xADx\xA6\C!޵\xA6\xCEԲ(Tu\xDFY\xBD\xE5*;\xBDIiv\xB6(\xE6\xE2\xC0\xE1W'\x824\x9CK\xCE\xCCx,b\xA7\x85e9\xA6\xE2:\xB8
</span><del>-w\x9A*wf\xB8U\xC6Y\xA26\xBA蠪x\x9C\x98\xE3l\xAF\x874moofmfhdtraf$tfhd9ĭ n*tfdtw\xD8trun
-&lt;n* @=@\x8E\xED@\xAF\xA7@\x82\xE7@\x84d@O|@\xD3@\xA5\x8D@s        n@\xF9\xFF@\\xD0 traf$tfhd9ĭvtfdt_.\xC4trun+\xEE\xB8vjc\xC1\x82\x81~\x84\x87\x98\xA9\x89\xDE\xC5ke\xB0\x9E\x92\xBE\xC7\x80sp\xB3\x9D\x8C\x9Amv\x8DNL5tm_w\x8Ey\x86.\xA2mdat\x87\xF4N\xCD
</del><ins>+w\x9A*wf\xB8U\xC6Y\xA26\xBA蠪x\x9C\x98\xE3l\xAF\x874moofmfhdtraf$tfhd9\xC6\xF9 n*tfdtw\xD8trun
+n* @=@\x8E\xED@\xAF\xA7@\x82\xE7@\x84d@O|@\xD3@\xA5\x8D@s        n@\xF9\xFF@\\xD0 traf$tfhd9\xC6\xF9vtfdt_.\xC4trun+\xEC|vjc\xC1\x82\x81~\x84\x87\x98\xA9\x89\xDE\xC5ke\xB0\x9E\x92\xBE\xC7\x80sp\xB3\x9D\x8C\x9Amv\x8DNL5tm_w\x8Ey\x86.\xA2mdat\x87\xF4N\xCD
</ins><span class="cx"> Kܡ\x94:\xC3ԛ\x80%\xB8  E\xFF\xE2b\x80\x83L\x80 zX\x80 y3\xCF\xF8 @\xF4\xB7&lt;\xF0@\x81\xE4\xCC}\x87\x80\x80(\x86\x93*L\x99\x907\xAD\x88\xF0/\xE0p\xF0\xB2\xFF\xFE?@\x80(iR\xA5J\x95z\xD8\xE0 6_\xC0\xE0 \xE0e\xFF\xFC~\x80PҥJ\x95*\xF5\xB0\xC0@&lt;l\xBF\x81\xC0@&lt;\xC0\xCB\xFF\xF8\xFC 
</span><span class="cx"> \xA1\xA5J\x95*T \xEB`8\x80\x80x\xD9\x80\x80x\x80@@ -4135,8 +4135,8 @@
</span><span class="cx"> \xE0\xB8\xF6#x\x90;\xFB+\xE1+\xA5F# \x85\xD5
</span><span class="cx"> \xC55Mf\xDBϏ*\xAE(\xAC\xCEoTa-;\xB2\xDB\xFA\xCA\xBA\xFB\x8AE\x9B\xB5Ux\xB3
</span><span class="cx"> \xB7o\x85~\xE3O\xA8@\x8CYq\x99Lf\xC0\xF5\xEC\xEA;F\xB0:Ӎp\xE8\xD1@s7\xE2\xF4\xA3}\xB5kho8\x97\xFD\xBE9\xD9c\xC9\xEE\xBCح\xD2n\xCBi#b\xA7yy-qSD FC\x93,\xBD\xD2i']Մ\xBB\xAA \xC7g&gt;\x97\\xE9^+\xCA`\xB9R\xFAi\^ \x9AGT#\xB6\xCAև׺\x9B\x96\xF0 ;\xEF#\xBF\xB2(\xF9\x90მ\xA5&gt;+),\x91NWј*\x82\x9E骥\xE1I\xFC&quot;\l\x8E4moofmfhdtraf$tfhd9\xF5\x83 }tfdt\xC2\xD8trun
</span><del>-&lt;} M@\x9C '@w\xE4@\xBFH@\xC3\xF8@\xE6%@\xDC\x9D@\xAF\xB1@\x84S@\xC90@\x91@&gt;\x9A traf$tfhd9\xF5\x83\x8Etfdt .\xC4trun+\x9F\x8E\x84N4\wa\x9C\x81t\x8F\xBC\xC7\xC8|\\x81_g'1C7\x9CGOksG:\xA0\x8Ay\xE1\xD9lpnx\x8F\x98&gt;\xFBmdat\x87\xF4N\xCD
</del><ins>+qSD FC\x93,\xBD\xD2i']Մ\xBB\xAA \xC7g&gt;\x97\\xE9^+\xCA`\xB9R\xFAi\^ \x9AGT#\xB6\xCAև׺\x9B\x96\xF0 ;\xEF#\xBF\xB2(\xF9\x90მ\xA5&gt;+),\x91NWј*\x82\x9E骥\xE1I\xFC&quot;\l\x8E4moofmfhdtraf$tfhd9\xF7\xCF }tfdt\xC2\xD8trun
+} M@\x9C '@w\xE4@\xBFH@\xC3\xF8@\xE6%@\xDC\x9D@\xAF\xB1@\x84S@\xC90@\x91@&gt;\x9A traf$tfhd9\xF7\xCF\x8Etfdt .\xC4trun+c\x8E\x84N4\wa\x9C\x81t\x8F\xBC\xC7\xC8|\\x81_g'1C7\x9CGOksG:\xA0\x8Ay\xE1\xD9lpnx\x8F\x98&gt;\xFBmdat\x87\xF4N\xCD
</ins><span class="cx"> Kܡ\x94:\xC3ԛ\x80\xBA%\xB8  U\xFF\xE2b\x80\x84\x8C K\xE0  \x80\x81\xE4\xCEO (Ks\xC0@\xC7\xC0@@\xCC~ \x972\\xB9p7\xAD\x88 \x97\xF08\x80\x80\xA8l\xBF\xFF\x8F\xC0 \x992dɐ7\xAD\x80\xE0 &quot;\xA0\xB2\xFE \x97\xFF\xF1\xF8@$\xA0\x93&amp;L\x992\xF5\xB0@@T6_\xC0\xE0 &quot;\xA0\xB2\xFF\xFE?@\x80dɓ&amp;@޶\x80\x80\x88
</span><span class="lines">@@ -4890,10 +4890,10 @@
</span><span class="cx"> ]\xAC{a\xB0\xE6\x8A\xEE2,\xB5\xE7\xD7¹\xC0\x8D'\xB5e\xB36\xAE\x9E\x9Aд\xABN~9\xFDN\x85\xB49:y\x9E\x9F\x92\xAA \xF5g,&quot;\x89\xBCKeE\xFE\xF5!\xAC\xF0j\xE6h\xB2\xBDӱ\xE6\xA1\xE59\xD8GG\xF3\xE6;ts@W\xA1\xA83|.4|\xD7\xEF\xA6۝\xEC\x8F\x9A&quot;\xF7vp\xE27\xE6(p! \x{DC90}\xC8P\xB0\x94(\x81z\xF4\xE0\xEF\xD8!\xA2\xA5\xDDȜu-do\x90*LZ\xA7J\xFFS&gt;H׼s\xC4\xE4\xBA\x95\xAE\x80Gߓs+\x84\xAC\xB4;\xD3\xCD\xE3\x9C!DSk@\x91\x8D\=\xE7K{\xE1\xAB=&quot;\xE2 9\x89\xB1\xA0D\xF5\xFC\x849\xB4\xA6J\xABw[\xEC
</span><span class="cx"> :\xB5m\x8E}CS\xAF\x9FrQ^\xAF\xB1\xC1\x9C5\xCAq䱩\xEBe!        h\xF2x\xE8 \xAA\x9A8Gʄ\xAC\xDE\xE4\xFE\xF0vv\xD90\xEB\xA5M\xA7\x81v%U\x83x~lԱ_\xB5ܙ\x9D\xC1p\x91\xAE\xF9!\x89\xBB\xB2\xF7\xE3A9jh\x9A\xEF\xBF\xFE\xB2\xACY̖:ĵS&lt;C\xEB\xB6        \xC7\xDC:\x85\xD8vc\xD0\xEE\xE4j\xE5\xFA-lZ\xB5\xBDI\x9B3ljx\xDAۢ\xF6\xA1U \x{DEC3}ABZ        X\xA8&quot;!\x8E\x96
</span><del>-{e\xAE\xDB\xEBR\xF8\xEAh3~\x8D\xDD}˳8\xABvN\xB7G\xDE\xF3g/^\xED\xA9q\xB4\xE4M\xA0V\xA4\xA8\xE31\xC2vLP'\\xAF\xFF\xD3\xC3\xE9\xCB        \xF8nN\xA4l\xBE\xBDS!\x90Ƞ        \xC4kg\xF6\x8C\x95\xF0\x9C\x9D\xEB\x91쾃\xA6\xEF$\x89]@,Lĺ#\xBB\xB4p\xA9\x8A\xB7b&amp;\xA6\x877EƂ#Wp\xBB-g\x92ZEG\x99\xDF8\xB3\x86\x92~~&amp;:܆\x95ȴ\xA6\xC0\xE04moofmfhdtraf$tfhd96\xB2 q\xE2tfdt+{e\xAE\xDB\xEBR\xF8\xEAh3~\x8D\xDD}˳8\xABvN\xB7G\xDE\xF3g/^\xED\xA9q\xB4\xE4M\xA0V\xA4\xA8\xE31\xC2vLP'\\xAF\xFF\xD3\xC3\xE9\xCB        \xF8nN\xA4l\xBE\xBDS!\x90Ƞ        \xC4kg\xF6\x8C\x95\xF0\x9C\x9D\xEB\x91쾃\xA6\xEF$\x89]@,Lĺ#\xBB\xB4p\xA9\x8A\xB7b&amp;\xA6\x877EƂ#Wp\xBB-g\x92ZEG\x99\xDF8\xB3\x86\x92~~&amp;:܆\x95ȴ\xA6\xC0\xE04moofmfhdtraf$tfhd98\xFE q\xE2tfdt \xD8trun
-&lt;q\xE2 -@~z@Oh@\xD5\xBE@U)@\x8F\xC1@aO@\xCFQ@\xB9\x85@l\xDB@D@\x9F traf$tfhd96\xB2dtfdt\xB7.\xC4trun+\xF1\x8Cdfx\x98{uqxcv\x8Cj\xD5\x8ETM}\x85{\xEA\xA4\WJ\x87|~uk\x80\x8CF-4M\x88EEZfM_/\xC7mdat\x87\xF4N\xCD
</del><ins>+q\xE2 +@~z@Oh@\xD5\xBE@U)@\x8F\xC1@aO@\xCFQ@\xB9\x85@l\xDB@D@\x9F traf$tfhd98\xFEdtfdt\xB7.\xC4trun+\xEFPdfx\x98{uqxcv\x8Cj\xD5\x8ETM}\x85{\xEA\xA4\WJ\x87|~uk\x80\x8CF-4M\x88EEZfM_/\xC7mdat\x87\xF4N\xCD
</ins><span class="cx"> Kܡ\x94:\xC3ԛ\x80\xC2%\xB8  M\xFF\xE2b\x80\x84 \xC0 \x96\xC0@0&lt;\xF0+\x80\xE0 \x80\xDC\xF0+\xC0p \xC0\x81\x84\xCC}\x87\x80\x80HA%̗.\ \xEBb@D\xC0e\xB0\xD7  &amp;-\x86\xBF\xF8\xFC\x80\x80HA&amp;L\x992d \xEB`\xE0 &amp;\xA0r\xFE0 \x97\xFF\xF1\xF8@$\xA0\x93&amp;L\x992\xF5\xB0\xC0@T._\xC0\xE0 &amp;\xA0r\xFF\xFE?@\x80dɓ&amp;@޶\x80\x80\x98
</span><span class="lines">@@ -5571,8 +5571,8 @@
</span><span class="cx"> \xC4\xD6\xD6u8\xBDq%\xDA\xEDWԗ\x88\xFE\x9D'^\xBF\xF2;\xCC|$\x8EG\x8E\xC1i\xFDRt\xD8\xC0*\xA1\x8E\x89\xBD,S 1\xAC\x90\xE5\xD0͹\xE8V\x85r\xC4\xDC\xD8\xE2{\xE8N\xFB`\x8Ea\xF3\x82\xEC#\x90\xD7(F\x82\xCB\xA0;S\x8B\xFF\x9B\xA9nY#$\x98\x881])\xACkmIwB\x82 \xE0! ͶJĒ U% \xF9q\x94\xC9\xD0 \xC9}5\xAB\xE2I\xA1A \x81I@\xEEHZO\xDBf\xBDE\%\x98M$ִ\xE0Q\xE4R\x85\x91\x83%        \xD9U\xF4XTףu\x87{\xE9\x9C\xFB\xBB/$|\xB1\xF51\x94\xC1\xF6}\x8C\xA0\xBA\x85e\x81\xB0l\xEE|W\xCA8G;gƴ\xDA\xCB\xC3S\xAE7\xCA\xDB%|[\xEF8^\x9D\x95P$\xAF\xB8fKq&lt;\xFD?        \x8C\xF4o\xB3\xB2\xBE\xEE\x82xîy\xE0vJ\xF9I=W\xB9\xEA\xF5\xA1\x89\xEE\x80a[\xE8\x9328I\xD8\xF2\x94BdT        R\xF0T\xAD=\xDB&gt;̜ݤMiR93v+\xB6\xC8*x\xAA\xA3*(\xCE\xD7U\xD8&amp;i.5&quot;\xA0ea\x9DBo\xC0]\xE2ʄ\xD4Ի\xD7j\xC5A\xA3\xB6L\xA9۠\xFElˏ9.J\xEC๥\xE6p\xAC\xB8Uz\xBE\x8A\xF3M9$Ҍ\xA04Y49üh\x85[        \xA3\xCC\xCFX\xEE|\xAB\x92\xAE\xA2E\x98\xFD\xC1$]ʾv\x9C[HI\x95!\x96*\xD4\xD0
</span><span class="cx"> \xB18\xF0! \x95\xC6 &amp;V\x81\xDFf\x9D\xF1\xBF\xA0ķr\xE7S\x89}Z\xE4\xDD\xE6Y\x86\xBAY}\x8Bz\xF3ח\xAFX~\xE5E\xA6ཉ\x87\x8A\xA0`\xA9\xD3ś$\xB7w\xEAu\xB5Q\x94\xD8D,\\xFF\xA8Q\x8A\xC3\xE0м6л
</span><del>-\x81$8 \xE5\xA4q\xAF&amp;\xFB\xE7L\xDA\xF0\xB1\xAC\x86\x947\xF3z4zTK\x9D\x8E\xD2o\x84\xD51\xF3\x955\xA9*L\xAA'\x95)\x95\xC6)\xBCF!\xC2\xC1|\ˎ\xA3\xAB\xAF\x9Es\xBCޛ\xED\xAFJQMr\xE76\xBE\xDC]M\xFA9\xAF\xBF\xCF'\xA7\xAB z\xE70\xA7\x8E\xDAKEj\xF7\xDA\xCA\xE7\x9DTV\xA1\xBBAҥz\xAA\xBE\xE4\xE5\xD539\x93Z\x8Akj\xB4\x95\x8E\xC8;\xFCd\xED\x8DQ\xAC-w.\xBAԎ\x99L9\xC5 \xB2\x82pgP\x9A@\xE6\xEC\xEC{$lM\xA7\xAEh0\xBCN\x95\x97\xB2ܥ\xFBj\xE1\x9FS\x99pn֒\x90\x91\x96\x94\x8B P\xC8tP^\xA6\xD3$XH\x90\x90\x8A\xBD\xB54\xCB\xFB҇w&gt;)K\xAAoʻ\x8E:\xB1\xF0\x8E\x84\xBF\xADҟu\x9FP\xF9\xC1u\xA2\xE65\xE5W\xAEA9\xDA        \xD5M\xDB^K&lt;Bz\xAC\xEE4moofmfhd        traf$tfhd9        h\xAD }\xF8tfdtX\xD8trun
-&lt;}\xF8 @\xBD u@\xA0@\xB7\x8B@\xA5$@FH@\xEA=@\x8B6@\x93\xBB@1+@\x9DM@)\xD5 traf$tfhd9        h\xADdtfdtc.\xC4trun+\xB1daJ\x9D&gt;e\x85QZR@\xA6b\xF17BBmh\xFF:!-'&gt;&lt;;6,DZO-xdy?#(\xDF@9,mdat\x87\xF4N\xCD
</del><ins>+\x81$8 \xE5\xA4q\xAF&amp;\xFB\xE7L\xDA\xF0\xB1\xAC\x86\x947\xF3z4zTK\x9D\x8E\xD2o\x84\xD51\xF3\x955\xA9*L\xAA'\x95)\x95\xC6)\xBCF!\xC2\xC1|\ˎ\xA3\xAB\xAF\x9Es\xBCޛ\xED\xAFJQMr\xE76\xBE\xDC]M\xFA9\xAF\xBF\xCF'\xA7\xAB z\xE70\xA7\x8E\xDAKEj\xF7\xDA\xCA\xE7\x9DTV\xA1\xBBAҥz\xAA\xBE\xE4\xE5\xD539\x93Z\x8Akj\xB4\x95\x8E\xC8;\xFCd\xED\x8DQ\xAC-w.\xBAԎ\x99L9\xC5 \xB2\x82pgP\x9A@\xE6\xEC\xEC{$lM\xA7\xAEh0\xBCN\x95\x97\xB2ܥ\xFBj\xE1\x9FS\x99pn֒\x90\x91\x96\x94\x8B P\xC8tP^\xA6\xD3$XH\x90\x90\x8A\xBD\xB54\xCB\xFB҇w&gt;)K\xAAoʻ\x8E:\xB1\xF0\x8E\x84\xBF\xADҟu\x9FP\xF9\xC1u\xA2\xE65\xE5W\xAEA9\xDA        \xD5M\xDB^K&lt;Bz\xAC\xEE4moofmfhd        traf$tfhd9        j\xF9 }\xF8tfdtX\xD8trun
+}\xF8 @\xBD u@\xA0@\xB7\x8B@\xA5$@FH@\xEA=@\x8B6@\x93\xBB@1+@\x9DM@)\xD5 traf$tfhd9        j\xF9dtfdtc.\xC4trun+udaJ\x9D&gt;e\x85QZR@\xA6b\xF17BBmh\xFF:!-'&gt;&lt;;6,DZO-xdy?#(\xDF@9,mdat\x87\xF4N\xCD
</ins><span class="cx"> Kܡ\x94:\xC3ԛ\x80\xCC%\xB8  U\xFF\xE2b\x80\x84\x8C K\xE0  \x80\x81\xE4\xCEO (Ks\xC0@\xC7\xC0@@\xCC~ \x972\\xB9p7\xAD\x88 \x97\xF08\x80\x80\xA8l\xBF\xFF\x8F\xC0 \x992dɐ7\xAD\x80\xE0 &quot;\xA0\xB2\xFE \x97\xFF\xF1\xF8@$\xA0\x93&amp;L\x992\xF5\xB0@@T6_\xC0\xE0 &quot;\xA0\xB2\xFF\xFE?@\x80dɓ&amp;@޶\x80\x80\x88
</span><span class="lines">@@ -6312,11 +6312,9 @@
</span><span class="cx"> \x81\xC4        K\xC2+\xA5.\x8C!\xB4\x8D\x91…h\xD3e\xCF\x8B3\x8A
</span><span class="cx"> S&lt;\x9D\xAC\xF0\xB5Y\xBBՉ)\x95\xB0&amp;\x87\xF6R\xA9\x8B.&quot;\xD9K\xBA\xED\xE3\xEB\xED\xD9ٚ\x93r\xC0\xB7)\xA4)fm3U\xBE\x98\xF8&amp;^X\xECk\xB0\x9DՌ\xA4\xF2\xE2Nԣ\xE7\xAC6\xC7;Q@\xDCޖJ\x818˂\x98*\xA0\xA8\xF5l\x86]ϓK\xCDK\xCB:\x9F\xBF\x9A\xAC\x98F\x9F \xC9\xB6$h\xFA\x8BA\xEC\xB4;\x95+        \x89\x85        M$g\xE58Ʃ\xB5Z\xBAZ\xC0\xCCE\xDD\xDFl\xD2\xF7\xB91!\x8F\x9E\xFE{\xC64+\xF8:ֻ\xBD\xFD\x91\x866-=\x84^{\xA3&lt;@O[\xE9\xC5Tp\x87\xFC\x85?H\xB1]b\xEDl\xB1&quot;\xE6M[\x91\x98+(\xECX&lt;moofmfhd
</span><span class="cx"> traf$tfhd9
</span><del>-\xA4- rtfdt\xA3\xD8trun
-Dr Q@\x86\xCD@\x85\x8B@^l@u\xA8@H@\xCD/@=\x94@R@\x9C@6\xFC@\x85  traf$tfhd9
-\xA4-(tfdt.\xCCtrun-\xF5\xFC(:1&lt;YY6Wbi{US\xA50-agE\xB1eA-ELE4[?[c        \xE7\(6(D&gt;-|mdat\x87\xF4N\xCD
</del><ins>+\xA6a rtfdt\xA3\xD8trun
+r Q@\x86\xCD@\x85\x8B@^l@u\xA8@H@\xCD/@=\x94@R@\x9C@6\xFC@\x85  traf$tfhd9
+\xA6a(tfdt.\xCCtrun-\xF3\xB8(:1&lt;YY6Wbi{US\xA50-agE\xB1eA-ELE4[?[c        \xE7\(6(D&gt;-|mdat\x87\xF4N\xCD
</ins><span class="cx"> Kܡ\x94:\xC3ԛ\x80(%\xB8  M\xFF\xE2b\x80\x84 \xC0 \x96\xC0@0&lt;\xF0+\x80\xE0 \x80\xDC\xF0+\xC0p \xC0\x81\x84\xCC}\x87\x80\x80HA%̗.\ \xEBb@D\xC0e\xB0\xD7  &amp;-\x86\xBF\xF8\xFC\x80\x80HA&amp;L\x992d \xEB`\xE0 &amp;\xA0r\xFE0 \x97\xFF\xF1\xF8@$\xA0\x93&amp;L\x992\xF5\xB0\xC0@T._\xC0\xE0 &amp;\xA0r\xFF\xFE?@\x80dɓ&amp;@޶\x80\x80\x98
</span><span class="lines">@@ -7038,9 +7036,7 @@
</span><span class="cx"> \xE7\x8A\xCBC41\xF6\xF8ֆ\xBE\xEC\x8Ep\xDD\xCA\xD8X\xF6;m5\xB9I
</span><span class="cx"> L\xC6\xF0 \xB8H\xA9@\xF5$\xEE\xF3\x9A&amp;\xA7\xE6D\x90\xE4\xFB\x97i\xC2}x\xB2\xB8X\xA0\xA1L&lt;\xD6; \xA6a\xC6 \x91i\xE5lD\xA0\x98U\xC0\xC4mfra\xD6tfra
</span><del>- \xBFN  \x85\x99 (p\xE4 [/ \x89Az ĭ\xC5 \xF5\x83 6\xB2[         h\xAD\xA6 
-\xA4-\xD6tfra
-\xBF\xAF. \x85[.(p.[\xB3.\x89A_.ĭ .\xF5\x83\xB7.6\xB2c.        h\xAD.
-\xA4-mfro\xC4
</del><span class="cx">\ No newline at end of file
</span><ins>+ \xCFN  \x95\x99 (\x80\xE4 [#/ \x89Qz Ľ\xC5 \xF5\x93 6\xC2[         h\xBD\xA6 
+\xA4\xD6tfra
+\xCF\xAF. \x95[.(\x80.[#\xB3.\x89Q_.Ľ .\xF5\x93\xB7.6\xC2c.        h\xBD.
+\xA4mfro\xC4
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="branchessafari602branchLayoutTestsmediamediasourcemediasourceinitsegmentdurationexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/safari-602-branch/LayoutTests/media/media-source/media-source-init-segment-duration-expected.txt (0 => 207946)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-602-branch/LayoutTests/media/media-source/media-source-init-segment-duration-expected.txt                                (rev 0)
+++ branches/safari-602-branch/LayoutTests/media/media-source/media-source-init-segment-duration-expected.txt        2016-10-27 07:15:16 UTC (rev 207946)
</span><span class="lines">@@ -0,0 +1,10 @@
</span><ins>+This tests the ability of the SourceBuffer to detect the movie fragment duration from a 'mvex' header.
+
+RUN(video.src = URL.createObjectURL(source))
+EVENT(sourceopen)
+RUN(sourceBuffer = source.addSourceBuffer(loader.type()))
+RUN(sourceBuffer.appendBuffer(loader.initSegment()))
+EVENT(update)
+EXPECTED (video.duration == '10') OK
+END OF TEST
+
</ins></span></pre></div>
<a id="branchessafari602branchLayoutTestsmediamediasourcemediasourceinitsegmentdurationhtml"></a>
<div class="addfile"><h4>Added: branches/safari-602-branch/LayoutTests/media/media-source/media-source-init-segment-duration.html (0 => 207946)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-602-branch/LayoutTests/media/media-source/media-source-init-segment-duration.html                                (rev 0)
+++ branches/safari-602-branch/LayoutTests/media/media-source/media-source-init-segment-duration.html        2016-10-27 07:15:16 UTC (rev 207946)
</span><span class="lines">@@ -0,0 +1,49 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;media-source-init-segment-duration&lt;/title&gt;
+    &lt;script src=&quot;media-source-loader.js&quot;&gt;&lt;/script&gt;
+    &lt;script src=&quot;../video-test.js&quot;&gt;&lt;/script&gt;
+    &lt;script&gt;
+    var loader;
+    var source;
+    var sourceBuffer;
+
+    function runTest() {
+        findMediaElement();
+
+        loader = new MediaSourceLoader('content/test-fragmented-manifest.json');
+        loader.onload = mediaDataLoaded;
+        loader.onerror = mediaDataLoadingFailed;
+    }
+
+    function mediaDataLoadingFailed() {
+        failTest('Media data loading failed');
+    }
+
+    function mediaDataLoaded() {
+        source = new MediaSource();
+        waitForEvent('sourceopen', sourceOpen, false, false, source);
+        waitForEventAndFail('error');
+        run('video.src = URL.createObjectURL(source)');
+    }
+
+    function sourceOpen() {
+        run('sourceBuffer = source.addSourceBuffer(loader.type())');
+        waitForEventOn(sourceBuffer, 'update', sourceInitialized, false, true);
+        run('sourceBuffer.appendBuffer(loader.initSegment())');
+    }
+
+    function sourceInitialized() {
+        testExpected('video.duration', 10);
+        endTest();
+    }
+    &lt;/script&gt;
+&lt;/head&gt;
+&lt;body onload=&quot;runTest()&quot;&gt;
+    &lt;div&gt;
+        This tests the ability of the SourceBuffer to detect the movie fragment duration from a 'mvex' header.
+    &lt;/div&gt;
+    &lt;video controls&gt;&lt;/video&gt;
+&lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="branchessafari602branchLayoutTestsplatformmacTestExpectations"></a>
<div class="modfile"><h4>Modified: branches/safari-602-branch/LayoutTests/platform/mac/TestExpectations (207945 => 207946)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-602-branch/LayoutTests/platform/mac/TestExpectations        2016-10-27 07:15:11 UTC (rev 207945)
+++ branches/safari-602-branch/LayoutTests/platform/mac/TestExpectations        2016-10-27 07:15:16 UTC (rev 207946)
</span><span class="lines">@@ -1083,6 +1083,9 @@
</span><span class="cx"> # This test times out.
</span><span class="cx"> [ Yosemite+ ] media/media-source/media-source-seek-complete.html [ Timeout ]
</span><span class="cx"> 
</span><ins>+# &lt;rdar://problem/18858636&gt;
+media/media-source/media-source-init-segment-duration.html
+
</ins><span class="cx"> # These tests used to only fail with WK2, but on Yosemite, they also fail with WK1.
</span><span class="cx"> webkit.org/b/132766 [ Yosemite ] fast/hidpi/filters-blur.html [ Pass ImageOnlyFailure ]
</span><span class="cx"> webkit.org/b/132766 [ Yosemite ] fast/hidpi/filters-hue-rotate.html [ Pass ImageOnlyFailure ]
</span></span></pre></div>
<a id="branchessafari602branchSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: branches/safari-602-branch/Source/WebCore/ChangeLog (207945 => 207946)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-602-branch/Source/WebCore/ChangeLog        2016-10-27 07:15:11 UTC (rev 207945)
+++ branches/safari-602-branch/Source/WebCore/ChangeLog        2016-10-27 07:15:16 UTC (rev 207946)
</span><span class="lines">@@ -1,5 +1,26 @@
</span><span class="cx"> 2016-10-26  Matthew Hanson  &lt;matthew_hanson@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Merge r207523. rdar://problem/28718748
+
+    2016-10-19  Jer Noble  &lt;jer.noble@apple.com&gt;
+
+            [Mac][MSE] Movies with a 'mehd' box have a zero-duration
+            https://bugs.webkit.org/show_bug.cgi?id=163641
+
+            Reviewed by Darin Adler.
+
+            Test: media/media-source/media-source-init-segment-duration.html
+
+            The canonical (ISO/IEC 14496-12:2012) way to signal the duration of a fragmented media file is to add a
+            'mehd' box to the 'mvex' container box specifying the duration of the fragment. Support this through the
+            AVAsset -overallDurationHint property.
+
+            * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
+            (WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset):
+            * platform/spi/mac/AVFoundationSPI.h:
+
+2016-10-26  Matthew Hanson  &lt;matthew_hanson@apple.com&gt;
+
</ins><span class="cx">         Merge r207547. rdar://problem/28810755
</span><span class="cx"> 
</span><span class="cx">     2016-10-19  Zalan Bujtas  &lt;zalan@apple.com&gt;
</span></span></pre></div>
<a id="branchessafari602branchSourceWebCoreplatformgraphicsavfoundationobjcSourceBufferPrivateAVFObjCmm"></a>
<div class="modfile"><h4>Modified: branches/safari-602-branch/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm (207945 => 207946)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-602-branch/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm        2016-10-27 07:15:11 UTC (rev 207945)
+++ branches/safari-602-branch/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm        2016-10-27 07:15:16 UTC (rev 207946)
</span><span class="lines">@@ -611,8 +611,13 @@
</span><span class="cx">     m_audioTracks.clear();
</span><span class="cx"> 
</span><span class="cx">     SourceBufferPrivateClient::InitializationSegment segment;
</span><del>-    segment.duration = toMediaTime([m_asset duration]);
</del><span class="cx"> 
</span><ins>+    if ([m_asset respondsToSelector:@selector(overallDurationHint)])
+        segment.duration = toMediaTime([m_asset overallDurationHint]);
+
+    if (segment.duration.isInvalid() || segment.duration == MediaTime::zeroTime())
+        segment.duration = toMediaTime([m_asset duration]);
+
</ins><span class="cx">     for (AVAssetTrack* track in [m_asset tracks]) {
</span><span class="cx">         if ([track hasMediaCharacteristic:AVMediaCharacteristicLegible]) {
</span><span class="cx">             // FIXME(125161): Handle in-band text tracks.
</span></span></pre></div>
<a id="branchessafari602branchSourceWebCoreplatformspimacAVFoundationSPIh"></a>
<div class="modfile"><h4>Modified: branches/safari-602-branch/Source/WebCore/platform/spi/mac/AVFoundationSPI.h (207945 => 207946)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-602-branch/Source/WebCore/platform/spi/mac/AVFoundationSPI.h        2016-10-27 07:15:11 UTC (rev 207945)
+++ branches/safari-602-branch/Source/WebCore/platform/spi/mac/AVFoundationSPI.h        2016-10-27 07:15:16 UTC (rev 207946)
</span><span class="lines">@@ -23,6 +23,8 @@
</span><span class="cx">  * THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><ins>+#pragma once
+
</ins><span class="cx"> #import &quot;SoftLinking.h&quot;
</span><span class="cx"> #import &lt;objc/runtime.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -144,6 +146,7 @@
</span><span class="cx"> #endif // !PLATFORM(IOS)
</span><span class="cx"> 
</span><span class="cx"> // FIXME: Wrap in a #if USE(APPLE_INTERNAL_SDK) once these SPI land
</span><ins>+#import &lt;AVFoundation/AVAsset.h&gt;
</ins><span class="cx"> #import &lt;AVFoundation/AVAssetResourceLoader.h&gt;
</span><span class="cx"> 
</span><span class="cx"> NS_ASSUME_NONNULL_BEGIN
</span><span class="lines">@@ -154,4 +157,8 @@
</span><span class="cx"> @property (nonatomic, nullable, retain) NSURLSession *URLSession;
</span><span class="cx"> @end
</span><span class="cx"> 
</span><ins>+@interface AVAsset (AVAssetFragmentsPrivate)
+@property (nonatomic, readonly) CMTime overallDurationHint;
+@end
+
</ins><span class="cx"> NS_ASSUME_NONNULL_END
</span></span></pre>
</div>
</div>

</body>
</html>