<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>90865</bug_id>
          
          <creation_ts>2012-07-10 02:10:35 -0700</creation_ts>
          <short_desc>[CSSRegions]Crash when moving anonymous block children inside a named flow</short_desc>
          <delta_ts>2012-08-23 11:45:28 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mihnea Ovidenie">mihnea</reporter>
          <assigned_to name="Mihnea Ovidenie">mihnea</assigned_to>
          <cc>andreionea3000</cc>
    
    <cc>eric</cc>
    
    <cc>inferno</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>665584</commentid>
    <comment_count>0</comment_count>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2012-07-10 02:10:35 -0700</bug_when>
    <thetext>When the children of an anonymous block inside a flow thread are moved, the anonymous block is first detached and then its children are moved to an upper block inside the flow thread (RenderBlock::collapseAnonymousBoxChild). In this case, the enclosing flow thread is null and it crashes in RenderObjectChildList::removeChildNode because we do not test if the enclosingRenderFlowThread is null (when moving the children with moverAllChildren).

Here is a repro case:
&lt;style&gt;
.container { -webkit-column-count: 1; -webkit-flow-into: flow; }
.columnSpan { -webkit-column-span: all; }
&lt;/style&gt;
&lt;div class=&quot;container&quot;&gt;
    &lt;div id=&quot;test&quot;&gt;
        &lt;div class=&quot;columnSpan&quot;&gt;&lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;script&gt;
var test = document.getElementById(&quot;test&quot;);
test.innerHTML = &quot;PASS&quot;;
&lt;/script&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671262</commentid>
    <comment_count>1</comment_count>
      <attachid>152759</attachid>
    <who name="Andrei Onea">andreionea3000</who>
    <bug_when>2012-07-17 07:23:41 -0700</bug_when>
    <thetext>Created attachment 152759
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686671</commentid>
    <comment_count>2</comment_count>
      <attachid>156361</attachid>
    <who name="Andrei Onea">andreionea3000</who>
    <bug_when>2012-08-03 07:01:47 -0700</bug_when>
    <thetext>Created attachment 156361
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702745</commentid>
    <comment_count>3</comment_count>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2012-08-23 00:00:15 -0700</bug_when>
    <thetext>Hi Abhishek,

Would you please Take a look and review it? With this one, we are closing 90202.

Thanks,
Mihnea(vacation until 31 August)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702774</commentid>
    <comment_count>4</comment_count>
      <attachid>156361</attachid>
    <who name="Abhishek Arya">inferno</who>
    <bug_when>2012-08-23 00:36:20 -0700</bug_when>
    <thetext>Comment on attachment 156361
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=156361&amp;action=review

&gt; Source/WebCore/rendering/RenderBlock.cpp:1140
&gt; +    anonBlock-&gt;moveAllChildrenTo(parent, nextSibling, child-&gt;hasLayer(), childFlowThread);

Why are we adding so much complexity to moveAllChild functions, just for regions. We can probably get way with an easier fix here. How about CurrentRenderFlowThreadMaintainer local to keep the enclosingRenderFlowThread for the duration of this function. This is quite an unusual case in this function that we remove the anonymous block first and then move its children, but probably it is done to keep anonymous block alive (otherwise last anonymous block will be auto-deleted).

&gt; LayoutTests/fast/regions/move-anonymous-block-inside-named-flow-crash.html:1
&gt; +&lt;html&gt;

Please add &lt;!DOCTYPE html&gt;

&gt; LayoutTests/fast/regions/move-anonymous-block-inside-named-flow-crash.html:6
&gt; +.flow {-webkit-flow-from: flow; width: 100px; height: 100px;}

nit: spaces around { }

&gt; LayoutTests/fast/regions/move-anonymous-block-inside-named-flow-crash.html:15
&gt; +    if (window.layoutTestController)

Please use window.testRunner

&gt; LayoutTests/fast/regions/move-anonymous-block-inside-named-flow-crash.html:18
&gt; +    test.innerHTML = &quot;Bug 90865:[CSSRegions]Crash when moving anonymous block children inside a named flow. Test passes if it does not CRASH or ASSERT.&quot;;

Split the message across lines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702915</commentid>
    <comment_count>5</comment_count>
      <attachid>160141</attachid>
    <who name="Andrei Onea">andreionea3000</who>
    <bug_when>2012-08-23 05:58:19 -0700</bug_when>
    <thetext>Created attachment 160141
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702981</commentid>
    <comment_count>6</comment_count>
      <attachid>160141</attachid>
    <who name="Abhishek Arya">inferno</who>
    <bug_when>2012-08-23 07:49:42 -0700</bug_when>
    <thetext>Comment on attachment 160141
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=160141&amp;action=review

&gt; Source/WebCore/rendering/RenderObject.cpp:2440
&gt;              enclosingRenderFlowThread()-&gt;removeRenderBoxRegionInfo(toRenderBox(this));

I remember there was a helper function for these 2 lines. The assert can be moved in the helper.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703035</commentid>
    <comment_count>7</comment_count>
    <who name="Andrei Onea">andreionea3000</who>
    <bug_when>2012-08-23 08:47:06 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 160141 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=160141&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderObject.cpp:2440
&gt; &gt;              enclosingRenderFlowThread()-&gt;removeRenderBoxRegionInfo(toRenderBox(this));
&gt; 
&gt; I remember there was a helper function for these 2 lines. The assert can be moved in the helper.
There is RenderBox::clearRenderBoxRegionInfo, but that doesn&apos;t take care of custom region styling for the object that was cached in RenderRegion. There is also RenderFlowThread::removeFlowChildInfo, which does both removeRenderBoxRegionInfo, and clearRenderObjectCustomStyle - but, obviously, I can&apos;t move the assert there. Were you thinking of the latter one?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703043</commentid>
    <comment_count>8</comment_count>
    <who name="Abhishek Arya">inferno</who>
    <bug_when>2012-08-23 08:55:22 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; (From update of attachment 160141 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=160141&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/rendering/RenderObject.cpp:2440
&gt; &gt; &gt;              enclosingRenderFlowThread()-&gt;removeRenderBoxRegionInfo(toRenderBox(this));
&gt; &gt; 
&gt; &gt; I remember there was a helper function for these 2 lines. The assert can be moved in the helper.
&gt; There is RenderBox::clearRenderBoxRegionInfo, but that doesn&apos;t take care of custom region styling for the object that was cached in RenderRegion. There is also RenderFlowThread::removeFlowChildInfo, which does both removeRenderBoxRegionInfo, and clearRenderObjectCustomStyle - but, obviously, I can&apos;t move the assert there. Were you thinking of the latter one?

Yeah i was thinking of RenderFlowThread::removeFlowChildInfo. gotcha, you can&apos;t move the assert there, but atleast use the helper to avoid code duplication</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703061</commentid>
    <comment_count>9</comment_count>
      <attachid>160182</attachid>
    <who name="Andrei Onea">andreionea3000</who>
    <bug_when>2012-08-23 09:17:10 -0700</bug_when>
    <thetext>Created attachment 160182
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703201</commentid>
    <comment_count>10</comment_count>
      <attachid>160182</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-23 11:45:25 -0700</bug_when>
    <thetext>Comment on attachment 160182
Patch for landing

Clearing flags on attachment: 160182

Committed r126459: &lt;http://trac.webkit.org/changeset/126459&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703202</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-23 11:45:28 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152759</attachid>
            <date>2012-07-17 07:23:41 -0700</date>
            <delta_ts>2012-08-03 07:01:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90865-20120717172339.patch</filename>
            <type>text/plain</type>
            <size>15259</size>
            <attacher name="Andrei Onea">andreionea3000</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyODQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzljMzVkMTA5ZmYyMjI1
NDM3Njk2MTc2MTIxN2UxMGM5YmM3ZWJmYS4uNmNjOTViYmM2Yjc0YzFhZjUzNGE3MDUxYzk5ZjVk
YWFiNGJjZjMyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA3LTE3ICBBbmRy
ZWkgT25lYSAgPG9uZWFAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1NSZWdpb25zXUNyYXNoIHdo
ZW4gbW92aW5nIGFub255bW91cyBibG9jayBjaGlsZHJlbiBpbnNpZGUgYSBuYW1lZCBmbG93Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDg2NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNpbmNlIHRoZSBy
ZWZlcmVuY2UgdG8gdGhlIGVuY2xvc2luZyBSZW5kZXJGbG93VGhyZWFkIGZvciB0aGUgYW5vbnlt
b3VzIGJsb2NrJ3MgY2hpbGRyZW4gaXMgbG9zdCB3aXRoaW4gCisgICAgICAgIFJlbmRlckJsb2Nr
Ojpjb2xsYXBzZUFub255bW91c0JveENoaWxkIGFmdGVyIHRoZSBhbm9ueW1vdXMgYmxvY2sgaXMg
ZGV0YWNoZWQsIHRoZSBwcmV2aW91cyByZWZlcmVuY2UgaXMgc2VudAorICAgICAgICBmcm9tIG1l
dGhvZCB0byBtZXRob2QgdW50aWwgUmVuZGVyT2JqZWN0Q2hpbGRMaXN0OjpyZW1vdmVDaGlsZE5v
ZGUsIHRvIGVuc3VyZSB0aGF0IHRoZSBpbmZvcm1hdGlvbiBpcyBhY3R1YWxseQorICAgICAgICBj
bGVhcmVkLgorCisgICAgICAgIFRlc3Q6IGZhc3QvcmVnaW9ucy9tb3ZlLWFub255bW91cy1ibG9j
ay1pbnNpZGUtbmFtZWQtZmxvdy1jcmFzaC5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmNvbGxhcHNlQW5v
bnltb3VzQm94Q2hpbGQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVj
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6bW92ZUNoaWxk
VG8pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6Om1vdmVDaGlsZHJl
blRvKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuaDoKKyAgICAg
ICAgKFJlbmRlckJveE1vZGVsT2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveE1v
ZGVsT2JqZWN0Ojptb3ZlQ2hpbGRUbyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3hNb2Rl
bE9iamVjdDo6bW92ZUFsbENoaWxkcmVuVG8pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94
TW9kZWxPYmplY3Q6Om1vdmVDaGlsZHJlblRvKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
T2JqZWN0Q2hpbGRMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdENoaWxk
TGlzdDo6cmVtb3ZlQ2hpbGROb2RlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0
Q2hpbGRMaXN0Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFJlbmRlck9iamVjdENo
aWxkTGlzdCk6CisKIDIwMTItMDctMTcgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgW1FUXSBSRUdSRVNTSU9OIChyMTIyNzIwKTogc3ZnL2ZpbHRlcnMvZmVT
cGVjdWxhckxpZ2h0LXByZW11bHRpcGxpZWQuc3ZnCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrLmNwcAppbmRleCA5NGNkNzQ5YzE5NjVjZTQwYWFlNWM3NWE4YTE0YzViNDIwMTVk
ZTBjLi5kMjRmOTlkYWE0M2E0NDUzMjg5YzUyMmY1MzFiN2I2NDdkY2JhMzcwIDEwMDc1NQotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTExMzcsNyArMTEzNyw3IEBAIHZv
aWQgUmVuZGVyQmxvY2s6OmNvbGxhcHNlQW5vbnltb3VzQm94Q2hpbGQoUmVuZGVyQmxvY2sqIHBh
cmVudCwgUmVuZGVyT2JqZWN0KiBjCiAKICAgICBSZW5kZXJGbG93VGhyZWFkKiBjaGlsZEZsb3dU
aHJlYWQgPSBjaGlsZC0+ZW5jbG9zaW5nUmVuZGVyRmxvd1RocmVhZCgpOwogICAgIFJlbmRlckJs
b2NrKiBhbm9uQmxvY2sgPSB0b1JlbmRlckJsb2NrKHBhcmVudC0+Y2hpbGRyZW4oKS0+cmVtb3Zl
Q2hpbGROb2RlKHBhcmVudCwgY2hpbGQsIGNoaWxkLT5oYXNMYXllcigpKSk7Ci0gICAgYW5vbkJs
b2NrLT5tb3ZlQWxsQ2hpbGRyZW5UbyhwYXJlbnQsIG5leHRTaWJsaW5nLCBjaGlsZC0+aGFzTGF5
ZXIoKSk7CisgICAgYW5vbkJsb2NrLT5tb3ZlQWxsQ2hpbGRyZW5UbyhwYXJlbnQsIG5leHRTaWJs
aW5nLCBjaGlsZC0+aGFzTGF5ZXIoKSwgY2hpbGRGbG93VGhyZWFkKTsKICAgICAvLyBEZWxldGUg
dGhlIG5vdy1lbXB0eSBibG9jaydzIGxpbmVzIGFuZCBudWtlIGl0LgogICAgIGlmICghcGFyZW50
LT5kb2N1bWVudEJlaW5nRGVzdHJveWVkKCkpCiAgICAgICAgIGFub25CbG9jay0+ZGVsZXRlTGlu
ZUJveFRyZWUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3hNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9k
ZWxPYmplY3QuY3BwCmluZGV4IDhmOWI5YTYyMjQwYmE3YTFhOGM3NTUyYTNhNWEyNTRkN2ZjMzc1
OTguLjc2YmZkYzI3MzMwZTBiYzk5NWYxNGJiYTVhYzE5NWE3NDM5NTJkYTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcApAQCAtMzQs
NiArMzQsNyBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYXRoLmgiCiAjaW5jbHVk
ZSAiUmVuZGVyQmxvY2suaCIKKyNpbmNsdWRlICJSZW5kZXJGbG93VGhyZWFkLmgiCiAjaW5jbHVk
ZSAiUmVuZGVySW5saW5lLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRlICJS
ZW5kZXJWaWV3LmgiCkBAIC0yNzQ4LDcgKzI3NDksNyBAQCB2b2lkIFJlbmRlckJveE1vZGVsT2Jq
ZWN0OjptYXBBYnNvbHV0ZVRvTG9jYWxQb2ludChib29sIGZpeGVkLCBib29sIHVzZVRyYW5zZm9y
bQogICAgICAgICB0cmFuc2Zvcm1TdGF0ZS5tb3ZlKGNvbnRhaW5lck9mZnNldC53aWR0aCgpLCBj
b250YWluZXJPZmZzZXQuaGVpZ2h0KCksIHByZXNlcnZlM0QgPyBUcmFuc2Zvcm1TdGF0ZTo6QWNj
dW11bGF0ZVRyYW5zZm9ybSA6IFRyYW5zZm9ybVN0YXRlOjpGbGF0dGVuVHJhbnNmb3JtKTsKIH0K
IAotdm9pZCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6bW92ZUNoaWxkVG8oUmVuZGVyQm94TW9kZWxP
YmplY3QqIHRvQm94TW9kZWxPYmplY3QsIFJlbmRlck9iamVjdCogY2hpbGQsIFJlbmRlck9iamVj
dCogYmVmb3JlQ2hpbGQsIGJvb2wgZnVsbFJlbW92ZUluc2VydCkKK3ZvaWQgUmVuZGVyQm94TW9k
ZWxPYmplY3Q6Om1vdmVDaGlsZFRvKFJlbmRlckJveE1vZGVsT2JqZWN0KiB0b0JveE1vZGVsT2Jq
ZWN0LCBSZW5kZXJPYmplY3QqIGNoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkLCBib29s
IGZ1bGxSZW1vdmVJbnNlcnQsIFJlbmRlckZsb3dUaHJlYWQqIG9sZFBhcmVudFJlbmRlckZsb3dU
aHJlYWQpCiB7CiAgICAgLy8gRklYTUU6IFdlIG5lZWQgYSBwZXJmb3JtYW50IHdheSB0byBoYW5k
bGUgY2xlYXJpbmcgcG9zaXRpb25lZCBvYmplY3RzIGZyb20gb3VyIGxpc3QgdGhhdCBhcmUKICAg
ICAvLyBpbiB8Y2hpbGR8J3Mgc3VidHJlZSBzbyB3ZSBjb3VsZCBqdXN0IGNsZWFyIHRoZW0gaGVy
ZS4gQmVjYXVzZSBvZiB0aGlzLCB3ZSBhc3N1bWUgdGhhdCBjYWxsZXJzCkBAIC0yNzYwLDEyICsy
NzYxLDEyIEBAIHZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6Om1vdmVDaGlsZFRvKFJlbmRlckJv
eE1vZGVsT2JqZWN0KiB0b0JveE1vZGVsT2JqZWN0LCBSCiAgICAgaWYgKGZ1bGxSZW1vdmVJbnNl
cnQgJiYgKHRvQm94TW9kZWxPYmplY3QtPmlzUmVuZGVyQmxvY2soKSB8fCB0b0JveE1vZGVsT2Jq
ZWN0LT5pc1JlbmRlcklubGluZSgpKSkgewogICAgICAgICAvLyBUYWtlcyBjYXJlIG9mIGFkZGlu
ZyB0aGUgbmV3IGNoaWxkIGNvcnJlY3RseSBpZiB0b0Jsb2NrIGFuZCBmcm9tQmxvY2sKICAgICAg
ICAgLy8gaGF2ZSBkaWZmZXJlbnQga2luZCBvZiBjaGlsZHJlbiAoYmxvY2sgdnMgaW5saW5lKS4K
LSAgICAgICAgdG9Cb3hNb2RlbE9iamVjdC0+YWRkQ2hpbGQodmlydHVhbENoaWxkcmVuKCktPnJl
bW92ZUNoaWxkTm9kZSh0aGlzLCBjaGlsZCksIGJlZm9yZUNoaWxkKTsKKyAgICAgICAgdG9Cb3hN
b2RlbE9iamVjdC0+YWRkQ2hpbGQodmlydHVhbENoaWxkcmVuKCktPnJlbW92ZUNoaWxkTm9kZSh0
aGlzLCBjaGlsZCwgZnVsbFJlbW92ZUluc2VydCwgb2xkUGFyZW50UmVuZGVyRmxvd1RocmVhZCks
IGJlZm9yZUNoaWxkKTsKICAgICB9IGVsc2UKLSAgICAgICAgdG9Cb3hNb2RlbE9iamVjdC0+dmly
dHVhbENoaWxkcmVuKCktPmluc2VydENoaWxkTm9kZSh0b0JveE1vZGVsT2JqZWN0LCB2aXJ0dWFs
Q2hpbGRyZW4oKS0+cmVtb3ZlQ2hpbGROb2RlKHRoaXMsIGNoaWxkLCBmdWxsUmVtb3ZlSW5zZXJ0
KSwgYmVmb3JlQ2hpbGQsIGZ1bGxSZW1vdmVJbnNlcnQpOworICAgICAgICB0b0JveE1vZGVsT2Jq
ZWN0LT52aXJ0dWFsQ2hpbGRyZW4oKS0+aW5zZXJ0Q2hpbGROb2RlKHRvQm94TW9kZWxPYmplY3Qs
IHZpcnR1YWxDaGlsZHJlbigpLT5yZW1vdmVDaGlsZE5vZGUodGhpcywgY2hpbGQsIGZ1bGxSZW1v
dmVJbnNlcnQsIG9sZFBhcmVudFJlbmRlckZsb3dUaHJlYWQpLCBiZWZvcmVDaGlsZCwgZnVsbFJl
bW92ZUluc2VydCk7CiB9CiAKLXZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6Om1vdmVDaGlsZHJl
blRvKFJlbmRlckJveE1vZGVsT2JqZWN0KiB0b0JveE1vZGVsT2JqZWN0LCBSZW5kZXJPYmplY3Qq
IHN0YXJ0Q2hpbGQsIFJlbmRlck9iamVjdCogZW5kQ2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3Jl
Q2hpbGQsIGJvb2wgZnVsbFJlbW92ZUluc2VydCkKK3ZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6
Om1vdmVDaGlsZHJlblRvKFJlbmRlckJveE1vZGVsT2JqZWN0KiB0b0JveE1vZGVsT2JqZWN0LCBS
ZW5kZXJPYmplY3QqIHN0YXJ0Q2hpbGQsIFJlbmRlck9iamVjdCogZW5kQ2hpbGQsIFJlbmRlck9i
amVjdCogYmVmb3JlQ2hpbGQsIGJvb2wgZnVsbFJlbW92ZUluc2VydCwgUmVuZGVyRmxvd1RocmVh
ZCogb2xkUGFyZW50UmVuZGVyRmxvd1RocmVhZCkKIHsKICAgICAvLyBUaGlzIGNvbmRpdGlvbiBp
cyByYXJlbHkgaGl0IHNpbmNlIHRoaXMgZnVuY3Rpb24gaXMgdXN1YWxseSBjYWxsZWQgb24KICAg
ICAvLyBhbm9ueW1vdXMgYmxvY2tzIHdoaWNoIGNhbiBubyBsb25nZXIgY2FycnkgcG9zaXRpb25l
ZCBvYmplY3RzIChzZWUgcjEyMDc2MSkKQEAgLTI3ODAsNyArMjc4MSw3IEBAIHZvaWQgUmVuZGVy
Qm94TW9kZWxPYmplY3Q6Om1vdmVDaGlsZHJlblRvKFJlbmRlckJveE1vZGVsT2JqZWN0KiB0b0Jv
eE1vZGVsT2JqZWN0CiAgICAgZm9yIChSZW5kZXJPYmplY3QqIGNoaWxkID0gc3RhcnRDaGlsZDsg
Y2hpbGQgJiYgY2hpbGQgIT0gZW5kQ2hpbGQ7ICkgewogICAgICAgICAvLyBTYXZlIG91ciBuZXh0
IHNpYmxpbmcgYXMgbW92ZUNoaWxkVG8gd2lsbCBjbGVhciBpdC4KICAgICAgICAgUmVuZGVyT2Jq
ZWN0KiBuZXh0U2libGluZyA9IGNoaWxkLT5uZXh0U2libGluZygpOwotICAgICAgICBtb3ZlQ2hp
bGRUbyh0b0JveE1vZGVsT2JqZWN0LCBjaGlsZCwgYmVmb3JlQ2hpbGQsIGZ1bGxSZW1vdmVJbnNl
cnQpOworICAgICAgICBtb3ZlQ2hpbGRUbyh0b0JveE1vZGVsT2JqZWN0LCBjaGlsZCwgYmVmb3Jl
Q2hpbGQsIGZ1bGxSZW1vdmVJbnNlcnQsIG9sZFBhcmVudFJlbmRlckZsb3dUaHJlYWQpOwogICAg
ICAgICBjaGlsZCA9IG5leHRTaWJsaW5nOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmgKaW5kZXggMDY3ZjYwNDZkMDkwOGE5NGM5
N2U4YTQyMmU2MDJjYmNjYWZjMWQ5My4uNzkyMzllNWI0NDQ0NjliMmQwMGRiNTZhOWY0ZTYyNDI2
MmU2MTc2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1v
ZGVsT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVs
T2JqZWN0LmgKQEAgLTI1MCwyNiArMjUwLDI2IEBAIHB1YmxpYzoKICAgICAvLyBUaGVzZSBmdW5j
dGlvbnMgYXJlIG9ubHkgdXNlZCBpbnRlcm5hbGx5IHRvIG1hbmlwdWxhdGUgdGhlIHJlbmRlciB0
cmVlIHN0cnVjdHVyZSB2aWEgcmVtb3ZlL2luc2VydC9hcHBlbmRDaGlsZE5vZGUuCiAgICAgLy8g
U2luY2UgdGhleSBhcmUgdHlwaWNhbGx5IGNhbGxlZCBvbmx5IHRvIG1vdmUgb2JqZWN0cyBhcm91
bmQgd2l0aGluIGFub255bW91cyBibG9ja3MgKHdoaWNoIG9ubHkgaGF2ZSBsYXllcnMgaW4KICAg
ICAvLyB0aGUgY2FzZSBvZiBjb2x1bW4gc3BhbnMpLCB0aGUgZGVmYXVsdCBmb3IgZnVsbFJlbW92
ZUluc2VydCBpcyBmYWxzZSByYXRoZXIgdGhhbiB0cnVlLgotICAgIHZvaWQgbW92ZUNoaWxkVG8o
UmVuZGVyQm94TW9kZWxPYmplY3QqIHRvQm94TW9kZWxPYmplY3QsIFJlbmRlck9iamVjdCogY2hp
bGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQsIGJvb2wgZnVsbFJlbW92ZUluc2VydCA9IGZh
bHNlKTsKLSAgICB2b2lkIG1vdmVDaGlsZFRvKFJlbmRlckJveE1vZGVsT2JqZWN0KiB0b0JveE1v
ZGVsT2JqZWN0LCBSZW5kZXJPYmplY3QqIGNoaWxkLCBib29sIGZ1bGxSZW1vdmVJbnNlcnQgPSBm
YWxzZSkKKyAgICB2b2lkIG1vdmVDaGlsZFRvKFJlbmRlckJveE1vZGVsT2JqZWN0KiB0b0JveE1v
ZGVsT2JqZWN0LCBSZW5kZXJPYmplY3QqIGNoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxk
LCBib29sIGZ1bGxSZW1vdmVJbnNlcnQgPSBmYWxzZSwgUmVuZGVyRmxvd1RocmVhZCogb2xkUGFy
ZW50UmVuZGVyRmxvd1RocmVhZCA9IDApOworICAgIHZvaWQgbW92ZUNoaWxkVG8oUmVuZGVyQm94
TW9kZWxPYmplY3QqIHRvQm94TW9kZWxPYmplY3QsIFJlbmRlck9iamVjdCogY2hpbGQsIGJvb2wg
ZnVsbFJlbW92ZUluc2VydCA9IGZhbHNlLCBSZW5kZXJGbG93VGhyZWFkKiBvbGRQYXJlbnRSZW5k
ZXJGbG93VGhyZWFkID0gMCkKICAgICB7Ci0gICAgICAgIG1vdmVDaGlsZFRvKHRvQm94TW9kZWxP
YmplY3QsIGNoaWxkLCAwLCBmdWxsUmVtb3ZlSW5zZXJ0KTsKKyAgICAgICAgbW92ZUNoaWxkVG8o
dG9Cb3hNb2RlbE9iamVjdCwgY2hpbGQsIDAsIGZ1bGxSZW1vdmVJbnNlcnQsIG9sZFBhcmVudFJl
bmRlckZsb3dUaHJlYWQpOwogICAgIH0KLSAgICB2b2lkIG1vdmVBbGxDaGlsZHJlblRvKFJlbmRl
ckJveE1vZGVsT2JqZWN0KiB0b0JveE1vZGVsT2JqZWN0LCBib29sIGZ1bGxSZW1vdmVJbnNlcnQg
PSBmYWxzZSkKKyAgICB2b2lkIG1vdmVBbGxDaGlsZHJlblRvKFJlbmRlckJveE1vZGVsT2JqZWN0
KiB0b0JveE1vZGVsT2JqZWN0LCBib29sIGZ1bGxSZW1vdmVJbnNlcnQgPSBmYWxzZSwgUmVuZGVy
Rmxvd1RocmVhZCogb2xkUGFyZW50UmVuZGVyRmxvd1RocmVhZCA9IDApCiAgICAgewotICAgICAg
ICBtb3ZlQWxsQ2hpbGRyZW5Ubyh0b0JveE1vZGVsT2JqZWN0LCAwLCBmdWxsUmVtb3ZlSW5zZXJ0
KTsKKyAgICAgICAgbW92ZUFsbENoaWxkcmVuVG8odG9Cb3hNb2RlbE9iamVjdCwgMCwgZnVsbFJl
bW92ZUluc2VydCwgb2xkUGFyZW50UmVuZGVyRmxvd1RocmVhZCk7CiAgICAgfQotICAgIHZvaWQg
bW92ZUFsbENoaWxkcmVuVG8oUmVuZGVyQm94TW9kZWxPYmplY3QqIHRvQm94TW9kZWxPYmplY3Qs
IFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQsIGJvb2wgZnVsbFJlbW92ZUluc2VydCA9IGZhbHNl
KQorICAgIHZvaWQgbW92ZUFsbENoaWxkcmVuVG8oUmVuZGVyQm94TW9kZWxPYmplY3QqIHRvQm94
TW9kZWxPYmplY3QsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQsIGJvb2wgZnVsbFJlbW92ZUlu
c2VydCA9IGZhbHNlLCBSZW5kZXJGbG93VGhyZWFkKiBvbGRQYXJlbnRSZW5kZXJGbG93VGhyZWFk
ID0gMCkKICAgICB7Ci0gICAgICAgIG1vdmVDaGlsZHJlblRvKHRvQm94TW9kZWxPYmplY3QsIGZp
cnN0Q2hpbGQoKSwgMCwgYmVmb3JlQ2hpbGQsIGZ1bGxSZW1vdmVJbnNlcnQpOworICAgICAgICBt
b3ZlQ2hpbGRyZW5Ubyh0b0JveE1vZGVsT2JqZWN0LCBmaXJzdENoaWxkKCksIDAsIGJlZm9yZUNo
aWxkLCBmdWxsUmVtb3ZlSW5zZXJ0LCBvbGRQYXJlbnRSZW5kZXJGbG93VGhyZWFkKTsKICAgICB9
CiAgICAgLy8gTW92ZSBhbGwgb2YgdGhlIGtpZHMgZnJvbSB8c3RhcnRDaGlsZHwgdXAgdG8gYnV0
IGV4Y2x1ZGluZyB8ZW5kQ2hpbGR8LiAwIGNhbiBiZSBwYXNzZWQgYXMgdGhlIHxlbmRDaGlsZHwg
dG8gZGVub3RlCiAgICAgLy8gdGhhdCBhbGwgdGhlIGtpZHMgZnJvbSB8c3RhcnRDaGlsZHwgb253
YXJkcyBzaG91bGQgYmUgbW92ZWQuCi0gICAgdm9pZCBtb3ZlQ2hpbGRyZW5UbyhSZW5kZXJCb3hN
b2RlbE9iamVjdCogdG9Cb3hNb2RlbE9iamVjdCwgUmVuZGVyT2JqZWN0KiBzdGFydENoaWxkLCBS
ZW5kZXJPYmplY3QqIGVuZENoaWxkLCBib29sIGZ1bGxSZW1vdmVJbnNlcnQgPSBmYWxzZSkKKyAg
ICB2b2lkIG1vdmVDaGlsZHJlblRvKFJlbmRlckJveE1vZGVsT2JqZWN0KiB0b0JveE1vZGVsT2Jq
ZWN0LCBSZW5kZXJPYmplY3QqIHN0YXJ0Q2hpbGQsIFJlbmRlck9iamVjdCogZW5kQ2hpbGQsIGJv
b2wgZnVsbFJlbW92ZUluc2VydCA9IGZhbHNlLCBSZW5kZXJGbG93VGhyZWFkKiBvbGRQYXJlbnRS
ZW5kZXJGbG93VGhyZWFkID0gMCkKICAgICB7Ci0gICAgICAgIG1vdmVDaGlsZHJlblRvKHRvQm94
TW9kZWxPYmplY3QsIHN0YXJ0Q2hpbGQsIGVuZENoaWxkLCAwLCBmdWxsUmVtb3ZlSW5zZXJ0KTsK
KyAgICAgICAgbW92ZUNoaWxkcmVuVG8odG9Cb3hNb2RlbE9iamVjdCwgc3RhcnRDaGlsZCwgZW5k
Q2hpbGQsIDAsIGZ1bGxSZW1vdmVJbnNlcnQsIG9sZFBhcmVudFJlbmRlckZsb3dUaHJlYWQpOwog
ICAgIH0KLSAgICB2b2lkIG1vdmVDaGlsZHJlblRvKFJlbmRlckJveE1vZGVsT2JqZWN0KiB0b0Jv
eE1vZGVsT2JqZWN0LCBSZW5kZXJPYmplY3QqIHN0YXJ0Q2hpbGQsIFJlbmRlck9iamVjdCogZW5k
Q2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQsIGJvb2wgZnVsbFJlbW92ZUluc2VydCA9
IGZhbHNlKTsKKyAgICB2b2lkIG1vdmVDaGlsZHJlblRvKFJlbmRlckJveE1vZGVsT2JqZWN0KiB0
b0JveE1vZGVsT2JqZWN0LCBSZW5kZXJPYmplY3QqIHN0YXJ0Q2hpbGQsIFJlbmRlck9iamVjdCog
ZW5kQ2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQsIGJvb2wgZnVsbFJlbW92ZUluc2Vy
dCA9IGZhbHNlLCBSZW5kZXJGbG93VGhyZWFkKiBvbGRQYXJlbnRSZW5kZXJGbG93VGhyZWFkID0g
MCk7CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIGlzQm94TW9kZWxPYmplY3QoKSBjb25z
dCB7IHJldHVybiB0cnVlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyT2JqZWN0Q2hpbGRMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3RDaGlsZExpc3QuY3BwCmluZGV4IGFhMWFiOGZkY2U4NDM3NTE3YTdmZjA4OTNlOWUy
MjVkYjI2YjhhOTcuLjgzNTI0NWQzZjRjNzRkYzU2OGQxZGZlZGEwOWY5YmVhOTAwNjk4OWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3RDaGlsZExpc3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3RDaGlsZExpc3Qu
Y3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiQ29udGVudERhdGEuaCIKICNpbmNsdWRl
ICJSZW5kZXJCbG9jay5oIgogI2luY2x1ZGUgIlJlbmRlckNvdW50ZXIuaCIKKyNpbmNsdWRlICJS
ZW5kZXJGbG93VGhyZWFkLmgiCiAjaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIKICNpbmNsdWRlICJS
ZW5kZXJJbWFnZVJlc291cmNlU3R5bGVJbWFnZS5oIgogI2luY2x1ZGUgIlJlbmRlcklubGluZS5o
IgpAQCAtNzEsNyArNzIsNyBAQCBzdGF0aWMgUmVuZGVyTmFtZWRGbG93VGhyZWFkKiByZW5kZXJO
YW1lZEZsb3dUaHJlYWRDb250YWluZXIoUmVuZGVyT2JqZWN0KiBvYmplYwogICAgIHJldHVybiBv
YmplY3QgJiYgb2JqZWN0LT5pc1JlbmRlck5hbWVkRmxvd1RocmVhZCgpID8gdG9SZW5kZXJOYW1l
ZEZsb3dUaHJlYWQob2JqZWN0KSA6IDA7CiB9CiAKLVJlbmRlck9iamVjdCogUmVuZGVyT2JqZWN0
Q2hpbGRMaXN0OjpyZW1vdmVDaGlsZE5vZGUoUmVuZGVyT2JqZWN0KiBvd25lciwgUmVuZGVyT2Jq
ZWN0KiBvbGRDaGlsZCwgYm9vbCBmdWxsUmVtb3ZlKQorUmVuZGVyT2JqZWN0KiBSZW5kZXJPYmpl
Y3RDaGlsZExpc3Q6OnJlbW92ZUNoaWxkTm9kZShSZW5kZXJPYmplY3QqIG93bmVyLCBSZW5kZXJP
YmplY3QqIG9sZENoaWxkLCBib29sIGZ1bGxSZW1vdmUsIFJlbmRlckZsb3dUaHJlYWQqIG9sZFBh
cmVudFJlbmRlckZsb3dUaHJlYWQpCiB7CiAgICAgQVNTRVJUKG9sZENoaWxkLT5wYXJlbnQoKSA9
PSBvd25lcik7CiAKQEAgLTExOCw5ICsxMTksMTQgQEAgUmVuZGVyT2JqZWN0KiBSZW5kZXJPYmpl
Y3RDaGlsZExpc3Q6OnJlbW92ZUNoaWxkTm9kZShSZW5kZXJPYmplY3QqIG93bmVyLCBSZW5kZXIK
ICAgICAgICAgICAgIHRvUmVuZGVyUmVnaW9uKG9sZENoaWxkKS0+ZGV0YWNoUmVnaW9uKCk7CiAK
ICAgICAgICAgaWYgKG9sZENoaWxkLT5pblJlbmRlckZsb3dUaHJlYWQoKSkgeworICAgICAgICAg
ICAgUmVuZGVyRmxvd1RocmVhZCogZmxvd1RocmVhZCA9IG9sZENoaWxkLT5lbmNsb3NpbmdSZW5k
ZXJGbG93VGhyZWFkKCk7CisgICAgICAgICAgICBpZiAoIWZsb3dUaHJlYWQpIHsKKyAgICAgICAg
ICAgICAgICBBU1NFUlQob2xkUGFyZW50UmVuZGVyRmxvd1RocmVhZCk7CisgICAgICAgICAgICAg
ICAgZmxvd1RocmVhZCA9IG9sZFBhcmVudFJlbmRlckZsb3dUaHJlYWQ7CisgICAgICAgICAgICB9
CiAgICAgICAgICAgICBpZiAob2xkQ2hpbGQtPmlzQm94KCkpCi0gICAgICAgICAgICAgICAgb2xk
Q2hpbGQtPmVuY2xvc2luZ1JlbmRlckZsb3dUaHJlYWQoKS0+cmVtb3ZlUmVuZGVyQm94UmVnaW9u
SW5mbyh0b1JlbmRlckJveChvbGRDaGlsZCkpOwotICAgICAgICAgICAgb2xkQ2hpbGQtPmVuY2xv
c2luZ1JlbmRlckZsb3dUaHJlYWQoKS0+Y2xlYXJSZW5kZXJPYmplY3RDdXN0b21TdHlsZShvbGRD
aGlsZCk7CisgICAgICAgICAgICAgICAgZmxvd1RocmVhZC0+cmVtb3ZlUmVuZGVyQm94UmVnaW9u
SW5mbyh0b1JlbmRlckJveChvbGRDaGlsZCkpOworICAgICAgICAgICAgZmxvd1RocmVhZC0+Y2xl
YXJSZW5kZXJPYmplY3RDdXN0b21TdHlsZShvbGRDaGlsZCk7CiAgICAgICAgIH0KIAogICAgICAg
ICBpZiAoUmVuZGVyTmFtZWRGbG93VGhyZWFkKiBjb250YWluZXJGbG93VGhyZWFkID0gcmVuZGVy
TmFtZWRGbG93VGhyZWFkQ29udGFpbmVyKG93bmVyKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3RDaGlsZExpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJPYmplY3RDaGlsZExpc3QuaAppbmRleCBjZmU5MDI2MTdlZTVlYzRkYWM5
YzAyOGVhMjQ3NTNhOTgwYjM2ZTE2Li5lZDFlZWVjYTg3MTljMzdjYmI4MWJiOWM3NGY4ZDI3ZGJm
ODAzZmJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0
Q2hpbGRMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdENo
aWxkTGlzdC5oCkBAIC0zMyw2ICszMyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
UmVuZGVyT2JqZWN0OwogY2xhc3MgUmVuZGVyU3R5bGU7CitjbGFzcyBSZW5kZXJGbG93VGhyZWFk
OwogCiBjbGFzcyBSZW5kZXJPYmplY3RDaGlsZExpc3QgewogcHVibGljOgpAQCAtNTIsNyArNTMs
NyBAQCBwdWJsaWM6CiAgICAgCiAgICAgdm9pZCBkZXN0cm95TGVmdG92ZXJDaGlsZHJlbigpOwog
Ci0gICAgUmVuZGVyT2JqZWN0KiByZW1vdmVDaGlsZE5vZGUoUmVuZGVyT2JqZWN0KiBvd25lciwg
UmVuZGVyT2JqZWN0KiwgYm9vbCBmdWxsUmVtb3ZlID0gdHJ1ZSk7CisgICAgUmVuZGVyT2JqZWN0
KiByZW1vdmVDaGlsZE5vZGUoUmVuZGVyT2JqZWN0KiBvd25lciwgUmVuZGVyT2JqZWN0KiwgYm9v
bCBmdWxsUmVtb3ZlID0gdHJ1ZSwgUmVuZGVyRmxvd1RocmVhZCogb2xkUGFyZW50UmVuZGVyRmxv
d1RocmVhZCA9IDApOwogICAgIHZvaWQgYXBwZW5kQ2hpbGROb2RlKFJlbmRlck9iamVjdCogb3du
ZXIsIFJlbmRlck9iamVjdCosIGJvb2wgZnVsbEFwcGVuZCA9IHRydWUpOwogICAgIHZvaWQgaW5z
ZXJ0Q2hpbGROb2RlKFJlbmRlck9iamVjdCogb3duZXIsIFJlbmRlck9iamVjdCogY2hpbGQsIFJl
bmRlck9iamVjdCogYmVmb3JlLCBib29sIGZ1bGxJbnNlcnQgPSB0cnVlKTsKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDg2
Y2EwZjhjMWIxZmQ3MzI1NWI4YTY3OTQ1M2FlOGE1ZmE1NTUyOWIuLjQyNWY4NTZiYjMwNjI2YjRh
ODk0NzFhYzMwZjBkZDEzOWU3Y2UwZGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0wNy0x
NyAgQW5kcmVpIE9uZWEgIDxvbmVhQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTUmVnaW9uc11D
cmFzaCB3aGVuIG1vdmluZyBhbm9ueW1vdXMgYmxvY2sgY2hpbGRyZW4gaW5zaWRlIGEgbmFtZWQg
ZmxvdworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA4
NjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRl
ZCB0ZXN0cyBmb3IgdGhpcyBzcGVjaWZpYyBjcmFzaC4KKworICAgICAgICAqIGZhc3QvcmVnaW9u
cy9tb3ZlLWFub255bW91cy1ibG9jay1pbnNpZGUtbmFtZWQtZmxvdy1jcmFzaC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy9tb3ZlLWFub255bW91cy1ibG9jay1p
bnNpZGUtbmFtZWQtZmxvdy1jcmFzaC5odG1sOiBBZGRlZC4KKwogMjAxMi0wNy0xNyAgVGhpYWdv
IE1hcmNvcyBQLiBTYW50b3MgIDx0aGlhZ28uc2FudG9zQGludGVsLmNvbT4KIAogICAgICAgICBb
RUZMXSBHYXJkZW5pbmcgb2YgZmFpbGluZyB0ZXN0cyBhbmQgbmV3IHBhc3NlcwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL21vdmUtYW5vbnltb3VzLWJsb2NrLWluc2lkZS1u
YW1lZC1mbG93LWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9t
b3ZlLWFub255bW91cy1ibG9jay1pbnNpZGUtbmFtZWQtZmxvdy1jcmFzaC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYjBhYWUxODFhZDFjZGQxZTY5NzNjYzk1MWQ5NGRlMDM2NGZhYWYyNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9tb3ZlLWFub255bW91cy1i
bG9jay1pbnNpZGUtbmFtZWQtZmxvdy1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBA
CitCdWcgOTA4NjU6W0NTU1JlZ2lvbnNdQ3Jhc2ggd2hlbiBtb3ZpbmcgYW5vbnltb3VzIGJsb2Nr
IGNoaWxkcmVuIGluc2lkZSBhIG5hbWVkIGZsb3cuIFRlc3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90
IENSQVNIIG9yIEFTU0VSVC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25z
L21vdmUtYW5vbnltb3VzLWJsb2NrLWluc2lkZS1uYW1lZC1mbG93LWNyYXNoLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3JlZ2lvbnMvbW92ZS1hbm9ueW1vdXMtYmxvY2staW5zaWRlLW5hbWVkLWZs
b3ctY3Jhc2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNDQ2YjM2ODIyMDk1ODQzYzAyNGNjOTA0NDQ4OTUz
MDUzNjg1NDBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL21v
dmUtYW5vbnltb3VzLWJsb2NrLWluc2lkZS1uYW1lZC1mbG93LWNyYXNoLmh0bWwKQEAgLTAsMCAr
MSwyMyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKy5jb250YWluZXIgeyAtd2Via2l0LWNv
bHVtbi1jb3VudDogMTsgLXdlYmtpdC1mbG93LWludG86IGZsb3c7IH0KKy5jb2x1bW5TcGFuIHsg
LXdlYmtpdC1jb2x1bW4tc3BhbjogYWxsOyB9CisuZmxvdyB7LXdlYmtpdC1mbG93LWZyb206IGZs
b3c7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDt9Cis8L3N0eWxlPgorPC9oZWFkPgorPGRp
diBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IGlkPSJ0ZXN0Ij4KKyAgICAgICAgPGRpdiBj
bGFzcz0iY29sdW1uU3BhbiI+PC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+Cisg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIHZhciB0ZXN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInRlc3QiKTsKKyAgICB0ZXN0LmlubmVySFRNTCA9ICJCdWcgOTA4NjU6W0NTU1JlZ2lv
bnNdQ3Jhc2ggd2hlbiBtb3ZpbmcgYW5vbnltb3VzIGJsb2NrIGNoaWxkcmVuIGluc2lkZSBhIG5h
bWVkIGZsb3cuIFRlc3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90IENSQVNIIG9yIEFTU0VSVC4iOwor
ICAgIHZhciBhcnRpY2xlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgYXJ0
aWNsZS5zZXRBdHRyaWJ1dGUoImNsYXNzIiwgImZsb3ciKTsKKyAgICBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKGFydGljbGUpOworPC9zY3JpcHQ+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156361</attachid>
            <date>2012-08-03 07:01:47 -0700</date>
            <delta_ts>2012-08-23 05:58:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90865-20120803170126.patch</filename>
            <type>text/plain</type>
            <size>15451</size>
            <attacher name="Andrei Onea">andreionea3000</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0NTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTAxZDUzNDY3NTI2ZjBh
OGRmMTJjZjc2ZTdhNzk4ZjZkNDMxMDY2NS4uYzhhYWE2NGRmMWViZjNiNmNkZDc1Mzk2NWU3ZTNm
NjZiOTIwODI3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA4LTAzICBBbmRy
ZWkgT25lYSAgPG9uZWFAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1NSZWdpb25zXUNyYXNoIHdo
ZW4gbW92aW5nIGFub255bW91cyBibG9jayBjaGlsZHJlbiBpbnNpZGUgYSBuYW1lZCBmbG93Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDg2NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gYW4gYW5v
bnltb3VzIGJsb2NrJ3MgY2hpbGRyZW4gYXJlIGRldGFjaGVkIGluIFJlbmRlckJsb2NrOjpjb2xs
YXBzZUFub255bW91c0JveENoaWxkLCB0aGUgcmVmZXJlbmNlIHRvIHRoZWlyIAorICAgICAgICBl
bmNsb3NpbmdSZW5kZXJGbG93VGhyZWFkIGlzIGxvc3QgYW5kIGNhdXNlcyBhIGNyYXNoIGluIFJl
bmRlck9iamVjdENoaWxkTGlzdDo6cmVtb3ZlQ2hpbGROb2RlLiBCZWNhdXNlIG9mIHRoaXMsIAor
ICAgICAgICB0aGUgcHJldmlvdXMgcmVmZXJlbmNlIHRvIHRoZSBlbmNsb3NpbmdSZW5kZXJGbG93
VGhyZWFkIGlzIHBhc3NlZCBhbG9uZyBmcm9tIG1ldGhvZCB0byBtZXRob2QsIHVudGlsIGl0IHJl
YWNoZXMKKyAgICAgICAgUmVuZGVyT2JqZWN0Q2hpbGRMaXN0OjpyZW1vdmVDaGlsZE5vZGUsIHdo
ZXJlIGl0IGlzIHVzZWQgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIGluZm9ybWF0aW9uIGlzIGFjdHVh
bGx5IGJlaW5nIGNsZWFyZWQuCisKKyAgICAgICAgVGVzdDogZmFzdC9yZWdpb25zL21vdmUtYW5v
bnltb3VzLWJsb2NrLWluc2lkZS1uYW1lZC1mbG93LWNyYXNoLmh0bWwKKworICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6
Y29sbGFwc2VBbm9ueW1vdXNCb3hDaGlsZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJv
eE1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveE1vZGVsT2JqZWN0
Ojptb3ZlQ2hpbGRUbyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6
bW92ZUNoaWxkcmVuVG8pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVj
dC5oOgorICAgICAgICAoUmVuZGVyQm94TW9kZWxPYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQm94TW9kZWxPYmplY3Q6Om1vdmVDaGlsZFRvKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJveE1vZGVsT2JqZWN0Ojptb3ZlQWxsQ2hpbGRyZW5Ubyk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6bW92ZUNoaWxkcmVuVG8pOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJPYmplY3RDaGlsZExpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
T2JqZWN0Q2hpbGRMaXN0OjpyZW1vdmVDaGlsZE5vZGUpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJPYmplY3RDaGlsZExpc3QuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoUmVu
ZGVyT2JqZWN0Q2hpbGRMaXN0KToKKwogMjAxMi0wOC0wMyAgSmFuIEtlcm9tbmVzICA8amFueEBs
aW51eC5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogTWFrZSB0ZXh0TW9kZWwgcHJpdmF0
ZSB0byB0ZXh0RWRpdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcApp
bmRleCBjNjY3Mzk2Yjk0NDZjMmU2YzE0MzMxMTVmNTQ3NzVmYjcwZmViMjI5Li5mZTNkODE0NWIw
NTM3YzQ2M2U4YjhlMzI4MjAxMDkyZmVhNzBkYWM0IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9jay5jcHAKQEAgLTExMzcsNyArMTEzNyw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6
OmNvbGxhcHNlQW5vbnltb3VzQm94Q2hpbGQoUmVuZGVyQmxvY2sqIHBhcmVudCwgUmVuZGVyT2Jq
ZWN0KiBjCiAKICAgICBSZW5kZXJGbG93VGhyZWFkKiBjaGlsZEZsb3dUaHJlYWQgPSBjaGlsZC0+
ZW5jbG9zaW5nUmVuZGVyRmxvd1RocmVhZCgpOwogICAgIFJlbmRlckJsb2NrKiBhbm9uQmxvY2sg
PSB0b1JlbmRlckJsb2NrKHBhcmVudC0+Y2hpbGRyZW4oKS0+cmVtb3ZlQ2hpbGROb2RlKHBhcmVu
dCwgY2hpbGQsIGNoaWxkLT5oYXNMYXllcigpKSk7Ci0gICAgYW5vbkJsb2NrLT5tb3ZlQWxsQ2hp
bGRyZW5UbyhwYXJlbnQsIG5leHRTaWJsaW5nLCBjaGlsZC0+aGFzTGF5ZXIoKSk7CisgICAgYW5v
bkJsb2NrLT5tb3ZlQWxsQ2hpbGRyZW5UbyhwYXJlbnQsIG5leHRTaWJsaW5nLCBjaGlsZC0+aGFz
TGF5ZXIoKSwgY2hpbGRGbG93VGhyZWFkKTsKICAgICAvLyBEZWxldGUgdGhlIG5vdy1lbXB0eSBi
bG9jaydzIGxpbmVzIGFuZCBudWtlIGl0LgogICAgIGlmICghcGFyZW50LT5kb2N1bWVudEJlaW5n
RGVzdHJveWVkKCkpCiAgICAgICAgIGFub25CbG9jay0+ZGVsZXRlTGluZUJveFRyZWUoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCmlu
ZGV4IDVlZWYzY2NhY2NkMjNiZGQzOTE2MDg1MDE4M2FmZmY1ODU1NDYzOGEuLjUwNmMyMDllZjYw
ZDQ5NGIyMTcyM2M1ZjM0ZjFlM2E2YzY1MzU3MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2lu
Y2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYXRoLmgiCiAjaW5jbHVkZSAiUmVuZGVyQmxvY2su
aCIKKyNpbmNsdWRlICJSZW5kZXJGbG93VGhyZWFkLmgiCiAjaW5jbHVkZSAiUmVuZGVySW5saW5l
LmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCkBA
IC0yNzQ3LDcgKzI3NDgsNyBAQCB2b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0OjptYXBBYnNvbHV0
ZVRvTG9jYWxQb2ludChib29sIGZpeGVkLCBib29sIHVzZVRyYW5zZm9ybQogICAgICAgICB0cmFu
c2Zvcm1TdGF0ZS5tb3ZlKGNvbnRhaW5lck9mZnNldC53aWR0aCgpLCBjb250YWluZXJPZmZzZXQu
aGVpZ2h0KCksIHByZXNlcnZlM0QgPyBUcmFuc2Zvcm1TdGF0ZTo6QWNjdW11bGF0ZVRyYW5zZm9y
bSA6IFRyYW5zZm9ybVN0YXRlOjpGbGF0dGVuVHJhbnNmb3JtKTsKIH0KIAotdm9pZCBSZW5kZXJC
b3hNb2RlbE9iamVjdDo6bW92ZUNoaWxkVG8oUmVuZGVyQm94TW9kZWxPYmplY3QqIHRvQm94TW9k
ZWxPYmplY3QsIFJlbmRlck9iamVjdCogY2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQs
IGJvb2wgZnVsbFJlbW92ZUluc2VydCkKK3ZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6Om1vdmVD
aGlsZFRvKFJlbmRlckJveE1vZGVsT2JqZWN0KiB0b0JveE1vZGVsT2JqZWN0LCBSZW5kZXJPYmpl
Y3QqIGNoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkLCBib29sIGZ1bGxSZW1vdmVJbnNl
cnQsIFJlbmRlckZsb3dUaHJlYWQqIGVuY2xvc2luZ1JlbmRlckZsb3dUaHJlYWQpCiB7CiAgICAg
Ly8gRklYTUU6IFdlIG5lZWQgYSBwZXJmb3JtYW50IHdheSB0byBoYW5kbGUgY2xlYXJpbmcgcG9z
aXRpb25lZCBvYmplY3RzIGZyb20gb3VyIGxpc3QgdGhhdCBhcmUKICAgICAvLyBpbiB8Y2hpbGR8
J3Mgc3VidHJlZSBzbyB3ZSBjb3VsZCBqdXN0IGNsZWFyIHRoZW0gaGVyZS4gQmVjYXVzZSBvZiB0
aGlzLCB3ZSBhc3N1bWUgdGhhdCBjYWxsZXJzCkBAIC0yNzU5LDEyICsyNzYwLDEyIEBAIHZvaWQg
UmVuZGVyQm94TW9kZWxPYmplY3Q6Om1vdmVDaGlsZFRvKFJlbmRlckJveE1vZGVsT2JqZWN0KiB0
b0JveE1vZGVsT2JqZWN0LCBSCiAgICAgaWYgKGZ1bGxSZW1vdmVJbnNlcnQgJiYgKHRvQm94TW9k
ZWxPYmplY3QtPmlzUmVuZGVyQmxvY2soKSB8fCB0b0JveE1vZGVsT2JqZWN0LT5pc1JlbmRlcklu
bGluZSgpKSkgewogICAgICAgICAvLyBUYWtlcyBjYXJlIG9mIGFkZGluZyB0aGUgbmV3IGNoaWxk
IGNvcnJlY3RseSBpZiB0b0Jsb2NrIGFuZCBmcm9tQmxvY2sKICAgICAgICAgLy8gaGF2ZSBkaWZm
ZXJlbnQga2luZCBvZiBjaGlsZHJlbiAoYmxvY2sgdnMgaW5saW5lKS4KLSAgICAgICAgdG9Cb3hN
b2RlbE9iamVjdC0+YWRkQ2hpbGQodmlydHVhbENoaWxkcmVuKCktPnJlbW92ZUNoaWxkTm9kZSh0
aGlzLCBjaGlsZCksIGJlZm9yZUNoaWxkKTsKKyAgICAgICAgdG9Cb3hNb2RlbE9iamVjdC0+YWRk
Q2hpbGQodmlydHVhbENoaWxkcmVuKCktPnJlbW92ZUNoaWxkTm9kZSh0aGlzLCBjaGlsZCwgZnVs
bFJlbW92ZUluc2VydCwgZW5jbG9zaW5nUmVuZGVyRmxvd1RocmVhZCksIGJlZm9yZUNoaWxkKTsK
ICAgICB9IGVsc2UKLSAgICAgICAgdG9Cb3hNb2RlbE9iamVjdC0+dmlydHVhbENoaWxkcmVuKCkt
Pmluc2VydENoaWxkTm9kZSh0b0JveE1vZGVsT2JqZWN0LCB2aXJ0dWFsQ2hpbGRyZW4oKS0+cmVt
b3ZlQ2hpbGROb2RlKHRoaXMsIGNoaWxkLCBmdWxsUmVtb3ZlSW5zZXJ0KSwgYmVmb3JlQ2hpbGQs
IGZ1bGxSZW1vdmVJbnNlcnQpOworICAgICAgICB0b0JveE1vZGVsT2JqZWN0LT52aXJ0dWFsQ2hp
bGRyZW4oKS0+aW5zZXJ0Q2hpbGROb2RlKHRvQm94TW9kZWxPYmplY3QsIHZpcnR1YWxDaGlsZHJl
bigpLT5yZW1vdmVDaGlsZE5vZGUodGhpcywgY2hpbGQsIGZ1bGxSZW1vdmVJbnNlcnQsIGVuY2xv
c2luZ1JlbmRlckZsb3dUaHJlYWQpLCBiZWZvcmVDaGlsZCwgZnVsbFJlbW92ZUluc2VydCk7CiB9
CiAKLXZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6Om1vdmVDaGlsZHJlblRvKFJlbmRlckJveE1v
ZGVsT2JqZWN0KiB0b0JveE1vZGVsT2JqZWN0LCBSZW5kZXJPYmplY3QqIHN0YXJ0Q2hpbGQsIFJl
bmRlck9iamVjdCogZW5kQ2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQsIGJvb2wgZnVs
bFJlbW92ZUluc2VydCkKK3ZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6Om1vdmVDaGlsZHJlblRv
KFJlbmRlckJveE1vZGVsT2JqZWN0KiB0b0JveE1vZGVsT2JqZWN0LCBSZW5kZXJPYmplY3QqIHN0
YXJ0Q2hpbGQsIFJlbmRlck9iamVjdCogZW5kQ2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hp
bGQsIGJvb2wgZnVsbFJlbW92ZUluc2VydCwgUmVuZGVyRmxvd1RocmVhZCogZW5jbG9zaW5nUmVu
ZGVyRmxvd1RocmVhZCkKIHsKICAgICAvLyBUaGlzIGNvbmRpdGlvbiBpcyByYXJlbHkgaGl0IHNp
bmNlIHRoaXMgZnVuY3Rpb24gaXMgdXN1YWxseSBjYWxsZWQgb24KICAgICAvLyBhbm9ueW1vdXMg
YmxvY2tzIHdoaWNoIGNhbiBubyBsb25nZXIgY2FycnkgcG9zaXRpb25lZCBvYmplY3RzIChzZWUg
cjEyMDc2MSkKQEAgLTI3NzksNyArMjc4MCw3IEBAIHZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6
Om1vdmVDaGlsZHJlblRvKFJlbmRlckJveE1vZGVsT2JqZWN0KiB0b0JveE1vZGVsT2JqZWN0CiAg
ICAgZm9yIChSZW5kZXJPYmplY3QqIGNoaWxkID0gc3RhcnRDaGlsZDsgY2hpbGQgJiYgY2hpbGQg
IT0gZW5kQ2hpbGQ7ICkgewogICAgICAgICAvLyBTYXZlIG91ciBuZXh0IHNpYmxpbmcgYXMgbW92
ZUNoaWxkVG8gd2lsbCBjbGVhciBpdC4KICAgICAgICAgUmVuZGVyT2JqZWN0KiBuZXh0U2libGlu
ZyA9IGNoaWxkLT5uZXh0U2libGluZygpOwotICAgICAgICBtb3ZlQ2hpbGRUbyh0b0JveE1vZGVs
T2JqZWN0LCBjaGlsZCwgYmVmb3JlQ2hpbGQsIGZ1bGxSZW1vdmVJbnNlcnQpOworICAgICAgICBt
b3ZlQ2hpbGRUbyh0b0JveE1vZGVsT2JqZWN0LCBjaGlsZCwgYmVmb3JlQ2hpbGQsIGZ1bGxSZW1v
dmVJbnNlcnQsIGVuY2xvc2luZ1JlbmRlckZsb3dUaHJlYWQpOwogICAgICAgICBjaGlsZCA9IG5l
eHRTaWJsaW5nOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3hNb2RlbE9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveE1vZGVsT2JqZWN0LmgKaW5kZXggMDY3ZjYwNDZkMDkwOGE5NGM5N2U4YTQyMmU2MDJjYmNj
YWZjMWQ5My4uN2U1ZmFjNThjZGY1NTAwOGJiMGE2OGI1OGVkNjI0NGZkNjFiYmZkMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmgKQEAgLTI1
MCwyNiArMjUwLDI2IEBAIHB1YmxpYzoKICAgICAvLyBUaGVzZSBmdW5jdGlvbnMgYXJlIG9ubHkg
dXNlZCBpbnRlcm5hbGx5IHRvIG1hbmlwdWxhdGUgdGhlIHJlbmRlciB0cmVlIHN0cnVjdHVyZSB2
aWEgcmVtb3ZlL2luc2VydC9hcHBlbmRDaGlsZE5vZGUuCiAgICAgLy8gU2luY2UgdGhleSBhcmUg
dHlwaWNhbGx5IGNhbGxlZCBvbmx5IHRvIG1vdmUgb2JqZWN0cyBhcm91bmQgd2l0aGluIGFub255
bW91cyBibG9ja3MgKHdoaWNoIG9ubHkgaGF2ZSBsYXllcnMgaW4KICAgICAvLyB0aGUgY2FzZSBv
ZiBjb2x1bW4gc3BhbnMpLCB0aGUgZGVmYXVsdCBmb3IgZnVsbFJlbW92ZUluc2VydCBpcyBmYWxz
ZSByYXRoZXIgdGhhbiB0cnVlLgotICAgIHZvaWQgbW92ZUNoaWxkVG8oUmVuZGVyQm94TW9kZWxP
YmplY3QqIHRvQm94TW9kZWxPYmplY3QsIFJlbmRlck9iamVjdCogY2hpbGQsIFJlbmRlck9iamVj
dCogYmVmb3JlQ2hpbGQsIGJvb2wgZnVsbFJlbW92ZUluc2VydCA9IGZhbHNlKTsKLSAgICB2b2lk
IG1vdmVDaGlsZFRvKFJlbmRlckJveE1vZGVsT2JqZWN0KiB0b0JveE1vZGVsT2JqZWN0LCBSZW5k
ZXJPYmplY3QqIGNoaWxkLCBib29sIGZ1bGxSZW1vdmVJbnNlcnQgPSBmYWxzZSkKKyAgICB2b2lk
IG1vdmVDaGlsZFRvKFJlbmRlckJveE1vZGVsT2JqZWN0KiB0b0JveE1vZGVsT2JqZWN0LCBSZW5k
ZXJPYmplY3QqIGNoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkLCBib29sIGZ1bGxSZW1v
dmVJbnNlcnQgPSBmYWxzZSwgUmVuZGVyRmxvd1RocmVhZCogZW5jbG9zaW5nUmVuZGVyRmxvd1Ro
cmVhZCA9IDApOworICAgIHZvaWQgbW92ZUNoaWxkVG8oUmVuZGVyQm94TW9kZWxPYmplY3QqIHRv
Qm94TW9kZWxPYmplY3QsIFJlbmRlck9iamVjdCogY2hpbGQsIGJvb2wgZnVsbFJlbW92ZUluc2Vy
dCA9IGZhbHNlLCBSZW5kZXJGbG93VGhyZWFkKiBlbmNsb3NpbmdSZW5kZXJGbG93VGhyZWFkID0g
MCkKICAgICB7Ci0gICAgICAgIG1vdmVDaGlsZFRvKHRvQm94TW9kZWxPYmplY3QsIGNoaWxkLCAw
LCBmdWxsUmVtb3ZlSW5zZXJ0KTsKKyAgICAgICAgbW92ZUNoaWxkVG8odG9Cb3hNb2RlbE9iamVj
dCwgY2hpbGQsIDAsIGZ1bGxSZW1vdmVJbnNlcnQsIGVuY2xvc2luZ1JlbmRlckZsb3dUaHJlYWQp
OwogICAgIH0KLSAgICB2b2lkIG1vdmVBbGxDaGlsZHJlblRvKFJlbmRlckJveE1vZGVsT2JqZWN0
KiB0b0JveE1vZGVsT2JqZWN0LCBib29sIGZ1bGxSZW1vdmVJbnNlcnQgPSBmYWxzZSkKKyAgICB2
b2lkIG1vdmVBbGxDaGlsZHJlblRvKFJlbmRlckJveE1vZGVsT2JqZWN0KiB0b0JveE1vZGVsT2Jq
ZWN0LCBib29sIGZ1bGxSZW1vdmVJbnNlcnQgPSBmYWxzZSwgUmVuZGVyRmxvd1RocmVhZCogZW5j
bG9zaW5nUmVuZGVyRmxvd1RocmVhZCA9IDApCiAgICAgewotICAgICAgICBtb3ZlQWxsQ2hpbGRy
ZW5Ubyh0b0JveE1vZGVsT2JqZWN0LCAwLCBmdWxsUmVtb3ZlSW5zZXJ0KTsKKyAgICAgICAgbW92
ZUFsbENoaWxkcmVuVG8odG9Cb3hNb2RlbE9iamVjdCwgMCwgZnVsbFJlbW92ZUluc2VydCwgZW5j
bG9zaW5nUmVuZGVyRmxvd1RocmVhZCk7CiAgICAgfQotICAgIHZvaWQgbW92ZUFsbENoaWxkcmVu
VG8oUmVuZGVyQm94TW9kZWxPYmplY3QqIHRvQm94TW9kZWxPYmplY3QsIFJlbmRlck9iamVjdCog
YmVmb3JlQ2hpbGQsIGJvb2wgZnVsbFJlbW92ZUluc2VydCA9IGZhbHNlKQorICAgIHZvaWQgbW92
ZUFsbENoaWxkcmVuVG8oUmVuZGVyQm94TW9kZWxPYmplY3QqIHRvQm94TW9kZWxPYmplY3QsIFJl
bmRlck9iamVjdCogYmVmb3JlQ2hpbGQsIGJvb2wgZnVsbFJlbW92ZUluc2VydCA9IGZhbHNlLCBS
ZW5kZXJGbG93VGhyZWFkKiBlbmNsb3NpbmdSZW5kZXJGbG93VGhyZWFkID0gMCkKICAgICB7Ci0g
ICAgICAgIG1vdmVDaGlsZHJlblRvKHRvQm94TW9kZWxPYmplY3QsIGZpcnN0Q2hpbGQoKSwgMCwg
YmVmb3JlQ2hpbGQsIGZ1bGxSZW1vdmVJbnNlcnQpOworICAgICAgICBtb3ZlQ2hpbGRyZW5Ubyh0
b0JveE1vZGVsT2JqZWN0LCBmaXJzdENoaWxkKCksIDAsIGJlZm9yZUNoaWxkLCBmdWxsUmVtb3Zl
SW5zZXJ0LCBlbmNsb3NpbmdSZW5kZXJGbG93VGhyZWFkKTsKICAgICB9CiAgICAgLy8gTW92ZSBh
bGwgb2YgdGhlIGtpZHMgZnJvbSB8c3RhcnRDaGlsZHwgdXAgdG8gYnV0IGV4Y2x1ZGluZyB8ZW5k
Q2hpbGR8LiAwIGNhbiBiZSBwYXNzZWQgYXMgdGhlIHxlbmRDaGlsZHwgdG8gZGVub3RlCiAgICAg
Ly8gdGhhdCBhbGwgdGhlIGtpZHMgZnJvbSB8c3RhcnRDaGlsZHwgb253YXJkcyBzaG91bGQgYmUg
bW92ZWQuCi0gICAgdm9pZCBtb3ZlQ2hpbGRyZW5UbyhSZW5kZXJCb3hNb2RlbE9iamVjdCogdG9C
b3hNb2RlbE9iamVjdCwgUmVuZGVyT2JqZWN0KiBzdGFydENoaWxkLCBSZW5kZXJPYmplY3QqIGVu
ZENoaWxkLCBib29sIGZ1bGxSZW1vdmVJbnNlcnQgPSBmYWxzZSkKKyAgICB2b2lkIG1vdmVDaGls
ZHJlblRvKFJlbmRlckJveE1vZGVsT2JqZWN0KiB0b0JveE1vZGVsT2JqZWN0LCBSZW5kZXJPYmpl
Y3QqIHN0YXJ0Q2hpbGQsIFJlbmRlck9iamVjdCogZW5kQ2hpbGQsIGJvb2wgZnVsbFJlbW92ZUlu
c2VydCA9IGZhbHNlLCBSZW5kZXJGbG93VGhyZWFkKiBlbmNsb3NpbmdSZW5kZXJGbG93VGhyZWFk
ID0gMCkKICAgICB7Ci0gICAgICAgIG1vdmVDaGlsZHJlblRvKHRvQm94TW9kZWxPYmplY3QsIHN0
YXJ0Q2hpbGQsIGVuZENoaWxkLCAwLCBmdWxsUmVtb3ZlSW5zZXJ0KTsKKyAgICAgICAgbW92ZUNo
aWxkcmVuVG8odG9Cb3hNb2RlbE9iamVjdCwgc3RhcnRDaGlsZCwgZW5kQ2hpbGQsIDAsIGZ1bGxS
ZW1vdmVJbnNlcnQsIGVuY2xvc2luZ1JlbmRlckZsb3dUaHJlYWQpOwogICAgIH0KLSAgICB2b2lk
IG1vdmVDaGlsZHJlblRvKFJlbmRlckJveE1vZGVsT2JqZWN0KiB0b0JveE1vZGVsT2JqZWN0LCBS
ZW5kZXJPYmplY3QqIHN0YXJ0Q2hpbGQsIFJlbmRlck9iamVjdCogZW5kQ2hpbGQsIFJlbmRlck9i
amVjdCogYmVmb3JlQ2hpbGQsIGJvb2wgZnVsbFJlbW92ZUluc2VydCA9IGZhbHNlKTsKKyAgICB2
b2lkIG1vdmVDaGlsZHJlblRvKFJlbmRlckJveE1vZGVsT2JqZWN0KiB0b0JveE1vZGVsT2JqZWN0
LCBSZW5kZXJPYmplY3QqIHN0YXJ0Q2hpbGQsIFJlbmRlck9iamVjdCogZW5kQ2hpbGQsIFJlbmRl
ck9iamVjdCogYmVmb3JlQ2hpbGQsIGJvb2wgZnVsbFJlbW92ZUluc2VydCA9IGZhbHNlLCBSZW5k
ZXJGbG93VGhyZWFkKiBlbmNsb3NpbmdSZW5kZXJGbG93VGhyZWFkID0gMCk7CiAKIHByaXZhdGU6
CiAgICAgdmlydHVhbCBib29sIGlzQm94TW9kZWxPYmplY3QoKSBjb25zdCB7IHJldHVybiB0cnVl
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0Q2hp
bGRMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3RDaGlsZExp
c3QuY3BwCmluZGV4IGRhOTgwODhlMjE1NjM1NjcyOTRjNjZjMTM3Mzk5NDVhOTM0NWI4NzYuLmRk
ZDk5NmNkN2IwNGUyZWE2ZjM2ZmZiOTdiZDM1YWQ4OTE1ZDc2NGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3RDaGlsZExpc3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3RDaGlsZExpc3QuY3BwCkBAIC0zMSw2ICsz
MSw3IEBACiAjaW5jbHVkZSAiQ29udGVudERhdGEuaCIKICNpbmNsdWRlICJSZW5kZXJCbG9jay5o
IgogI2luY2x1ZGUgIlJlbmRlckNvdW50ZXIuaCIKKyNpbmNsdWRlICJSZW5kZXJGbG93VGhyZWFk
LmgiCiAjaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJJbWFnZVJlc291
cmNlU3R5bGVJbWFnZS5oIgogI2luY2x1ZGUgIlJlbmRlcklubGluZS5oIgpAQCAtNzEsNyArNzIs
NyBAQCBzdGF0aWMgUmVuZGVyTmFtZWRGbG93VGhyZWFkKiByZW5kZXJOYW1lZEZsb3dUaHJlYWRD
b250YWluZXIoUmVuZGVyT2JqZWN0KiBvYmplYwogICAgIHJldHVybiBvYmplY3QgJiYgb2JqZWN0
LT5pc1JlbmRlck5hbWVkRmxvd1RocmVhZCgpID8gdG9SZW5kZXJOYW1lZEZsb3dUaHJlYWQob2Jq
ZWN0KSA6IDA7CiB9CiAKLVJlbmRlck9iamVjdCogUmVuZGVyT2JqZWN0Q2hpbGRMaXN0OjpyZW1v
dmVDaGlsZE5vZGUoUmVuZGVyT2JqZWN0KiBvd25lciwgUmVuZGVyT2JqZWN0KiBvbGRDaGlsZCwg
Ym9vbCBmdWxsUmVtb3ZlKQorUmVuZGVyT2JqZWN0KiBSZW5kZXJPYmplY3RDaGlsZExpc3Q6OnJl
bW92ZUNoaWxkTm9kZShSZW5kZXJPYmplY3QqIG93bmVyLCBSZW5kZXJPYmplY3QqIG9sZENoaWxk
LCBib29sIGZ1bGxSZW1vdmUsIFJlbmRlckZsb3dUaHJlYWQqIGVuY2xvc2luZ1JlbmRlckZsb3dU
aHJlYWQpCiB7CiAgICAgQVNTRVJUKG9sZENoaWxkLT5wYXJlbnQoKSA9PSBvd25lcik7CiAKQEAg
LTExOCw5ICsxMTksMTQgQEAgUmVuZGVyT2JqZWN0KiBSZW5kZXJPYmplY3RDaGlsZExpc3Q6OnJl
bW92ZUNoaWxkTm9kZShSZW5kZXJPYmplY3QqIG93bmVyLCBSZW5kZXIKICAgICAgICAgICAgIHRv
UmVuZGVyUmVnaW9uKG9sZENoaWxkKS0+ZGV0YWNoUmVnaW9uKCk7CiAKICAgICAgICAgaWYgKG9s
ZENoaWxkLT5pblJlbmRlckZsb3dUaHJlYWQoKSkgeworICAgICAgICAgICAgUmVuZGVyRmxvd1Ro
cmVhZCogZmxvd1RocmVhZCA9IG9sZENoaWxkLT5lbmNsb3NpbmdSZW5kZXJGbG93VGhyZWFkKCk7
CisgICAgICAgICAgICBpZiAoIWZsb3dUaHJlYWQpIHsKKyAgICAgICAgICAgICAgICBBU1NFUlQo
ZW5jbG9zaW5nUmVuZGVyRmxvd1RocmVhZCk7CisgICAgICAgICAgICAgICAgZmxvd1RocmVhZCA9
IGVuY2xvc2luZ1JlbmRlckZsb3dUaHJlYWQ7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBp
ZiAob2xkQ2hpbGQtPmlzQm94KCkpCi0gICAgICAgICAgICAgICAgb2xkQ2hpbGQtPmVuY2xvc2lu
Z1JlbmRlckZsb3dUaHJlYWQoKS0+cmVtb3ZlUmVuZGVyQm94UmVnaW9uSW5mbyh0b1JlbmRlckJv
eChvbGRDaGlsZCkpOwotICAgICAgICAgICAgb2xkQ2hpbGQtPmVuY2xvc2luZ1JlbmRlckZsb3dU
aHJlYWQoKS0+Y2xlYXJSZW5kZXJPYmplY3RDdXN0b21TdHlsZShvbGRDaGlsZCk7CisgICAgICAg
ICAgICAgICAgZmxvd1RocmVhZC0+cmVtb3ZlUmVuZGVyQm94UmVnaW9uSW5mbyh0b1JlbmRlckJv
eChvbGRDaGlsZCkpOworICAgICAgICAgICAgZmxvd1RocmVhZC0+Y2xlYXJSZW5kZXJPYmplY3RD
dXN0b21TdHlsZShvbGRDaGlsZCk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoUmVuZGVyTmFt
ZWRGbG93VGhyZWFkKiBjb250YWluZXJGbG93VGhyZWFkID0gcmVuZGVyTmFtZWRGbG93VGhyZWFk
Q29udGFpbmVyKG93bmVyKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3RDaGlsZExpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3RDaGlsZExpc3QuaAppbmRleCBjZmU5MDI2MTdlZTVlYzRkYWM5YzAyOGVhMjQ3NTNhOTgw
YjM2ZTE2Li41YzMwYjc2NDdlZWU2ZDk4NGQ1ZWQ4YmRmODAzZjdlYWQyYTg3ZDBlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0Q2hpbGRMaXN0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdENoaWxkTGlzdC5oCkBAIC0z
Myw2ICszMyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVuZGVyT2JqZWN0Owog
Y2xhc3MgUmVuZGVyU3R5bGU7CitjbGFzcyBSZW5kZXJGbG93VGhyZWFkOwogCiBjbGFzcyBSZW5k
ZXJPYmplY3RDaGlsZExpc3QgewogcHVibGljOgpAQCAtNTIsNyArNTMsNyBAQCBwdWJsaWM6CiAg
ICAgCiAgICAgdm9pZCBkZXN0cm95TGVmdG92ZXJDaGlsZHJlbigpOwogCi0gICAgUmVuZGVyT2Jq
ZWN0KiByZW1vdmVDaGlsZE5vZGUoUmVuZGVyT2JqZWN0KiBvd25lciwgUmVuZGVyT2JqZWN0Kiwg
Ym9vbCBmdWxsUmVtb3ZlID0gdHJ1ZSk7CisgICAgUmVuZGVyT2JqZWN0KiByZW1vdmVDaGlsZE5v
ZGUoUmVuZGVyT2JqZWN0KiBvd25lciwgUmVuZGVyT2JqZWN0KiwgYm9vbCBmdWxsUmVtb3ZlID0g
dHJ1ZSwgUmVuZGVyRmxvd1RocmVhZCogZW5jbG9zaW5nUmVuZGVyRmxvd1RocmVhZCA9IDApOwog
ICAgIHZvaWQgYXBwZW5kQ2hpbGROb2RlKFJlbmRlck9iamVjdCogb3duZXIsIFJlbmRlck9iamVj
dCosIGJvb2wgZnVsbEFwcGVuZCA9IHRydWUpOwogICAgIHZvaWQgaW5zZXJ0Q2hpbGROb2RlKFJl
bmRlck9iamVjdCogb3duZXIsIFJlbmRlck9iamVjdCogY2hpbGQsIFJlbmRlck9iamVjdCogYmVm
b3JlLCBib29sIGZ1bGxJbnNlcnQgPSB0cnVlKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDg1NTRlZTFmZGU3NjUwNGNj
ODFiZDI5MjcwODgyYWQ2OGEwZjBhMzAuLmY2NDU2NDNlNTQwNGQxNzkwN2YzNzgwNmMzNTBmYmUx
MjkwNjk5NTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wOC0wMyAgQW5kcmVpIE9uZWEg
IDxvbmVhQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTUmVnaW9uc11DcmFzaCB3aGVuIG1vdmlu
ZyBhbm9ueW1vdXMgYmxvY2sgY2hpbGRyZW4gaW5zaWRlIGEgbmFtZWQgZmxvdworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA4NjUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0ZXN0cyBmb3IgY3Jh
c2ggd2hpY2ggaGFwcGVucyB3aGVuIHRoZSBjaGlsZHJlbiBvZiBhbiBhbm9ueW1vdXMgYmxvY2sg
CisgICAgICAgIGluc2lkZSBhIGZsb3cgdGhyZWFkIGFyZSBtb3ZlZC4KKworICAgICAgICAqIGZh
c3QvcmVnaW9ucy9tb3ZlLWFub255bW91cy1ibG9jay1pbnNpZGUtbmFtZWQtZmxvdy1jcmFzaC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy9tb3ZlLWFub255bW91
cy1ibG9jay1pbnNpZGUtbmFtZWQtZmxvdy1jcmFzaC5odG1sOiBBZGRlZC4KKwogMjAxMi0wOC0w
MyAgWmFuIERvYmVyc2VrICA8emFuZG9iZXJzZWtAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQgR1RLIGdhcmRlbmluZywgYWRkaW5nIHRleHQgZmFpbHVyZSBleHBlY3RhdGlvbnMgZm9y
IDIwIE1hdGhNTApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL21vdmUtYW5v
bnltb3VzLWJsb2NrLWluc2lkZS1uYW1lZC1mbG93LWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvcmVnaW9ucy9tb3ZlLWFub255bW91cy1ibG9jay1pbnNpZGUtbmFtZWQtZmxv
dy1jcmFzaC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjBhYWUxODFhZDFjZGQxZTY5NzNjYzk1
MWQ5NGRlMDM2NGZhYWYyNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVn
aW9ucy9tb3ZlLWFub255bW91cy1ibG9jay1pbnNpZGUtbmFtZWQtZmxvdy1jcmFzaC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwyIEBACitCdWcgOTA4NjU6W0NTU1JlZ2lvbnNdQ3Jhc2ggd2hlbiBt
b3ZpbmcgYW5vbnltb3VzIGJsb2NrIGNoaWxkcmVuIGluc2lkZSBhIG5hbWVkIGZsb3cuIFRlc3Qg
cGFzc2VzIGlmIGl0IGRvZXMgbm90IENSQVNIIG9yIEFTU0VSVC4KKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9yZWdpb25zL21vdmUtYW5vbnltb3VzLWJsb2NrLWluc2lkZS1uYW1lZC1m
bG93LWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvbW92ZS1hbm9ueW1vdXMt
YmxvY2staW5zaWRlLW5hbWVkLWZsb3ctY3Jhc2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNDQ2YjM2ODIy
MDk1ODQzYzAyNGNjOTA0NDQ4OTUzMDUzNjg1NDBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9yZWdpb25zL21vdmUtYW5vbnltb3VzLWJsb2NrLWluc2lkZS1uYW1lZC1mbG93
LWNyYXNoLmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKy5j
b250YWluZXIgeyAtd2Via2l0LWNvbHVtbi1jb3VudDogMTsgLXdlYmtpdC1mbG93LWludG86IGZs
b3c7IH0KKy5jb2x1bW5TcGFuIHsgLXdlYmtpdC1jb2x1bW4tc3BhbjogYWxsOyB9CisuZmxvdyB7
LXdlYmtpdC1mbG93LWZyb206IGZsb3c7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDt9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IGlkPSJ0
ZXN0Ij4KKyAgICAgICAgPGRpdiBjbGFzcz0iY29sdW1uU3BhbiI+PC9kaXY+CisgICAgPC9kaXY+
Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
KyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIHZhciB0ZXN0
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKTsKKyAgICB0ZXN0LmlubmVySFRNTCA9
ICJCdWcgOTA4NjU6W0NTU1JlZ2lvbnNdQ3Jhc2ggd2hlbiBtb3ZpbmcgYW5vbnltb3VzIGJsb2Nr
IGNoaWxkcmVuIGluc2lkZSBhIG5hbWVkIGZsb3cuIFRlc3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90
IENSQVNIIG9yIEFTU0VSVC4iOworICAgIHZhciBhcnRpY2xlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiZGl2Iik7CisgICAgYXJ0aWNsZS5zZXRBdHRyaWJ1dGUoImNsYXNzIiwgImZsb3ciKTsK
KyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGFydGljbGUpOworPC9zY3JpcHQ+Cis8L2h0
bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160141</attachid>
            <date>2012-08-23 05:58:19 -0700</date>
            <delta_ts>2012-08-23 09:17:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90865-20120823155815.patch</filename>
            <type>text/plain</type>
            <size>9039</size>
            <attacher name="Andrei Onea">andreionea3000</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2Mjk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDk5MmU0N2FlZjJlNTQ3
NmM2YTRlMTY3OWZkMGMzZGYwYTE0ODE1Zi4uNWUwZDU1ZjgwNzc2ODhlMGFjMjcxYzdhMTExNmE0
ZmE1MWQ3YzYwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTA4LTIzICBBbmRy
ZWkgT25lYSAgPG9uZWFAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1NSZWdpb25zXUNyYXNoIHdo
ZW4gbW92aW5nIGFub255bW91cyBibG9jayBjaGlsZHJlbiBpbnNpZGUgYSBuYW1lZCBmbG93Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDg2NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gYW4gYW5v
bnltb3VzIGJsb2NrJ3MgY2hpbGRyZW4gYXJlIGRldGFjaGVkIGluIFJlbmRlckJsb2NrOjpjb2xs
YXBzZUFub255bW91c0JveENoaWxkLCB0aGUgcmVmZXJlbmNlCisgICAgICAgIHRvIHRoZWlyIGVu
Y2xvc2luZ1JlbmRlckZsb3dUaHJlYWQgaXMgbG9zdCBhbmQgY2F1c2VzIGEgY3Jhc2ggaW4gUmVu
ZGVyT2JqZWN0Ojp3aWxsQmVSZW1vdmVkRnJvbVRyZWUuCisgICAgICAgIEJlY2F1c2Ugb2YgdGhp
cywgd2Ugbm93IG1haW50YWluIHRoZSBlbmNsb3NpbmdSZW5kZXJGbG93VGhyZWFkIGR1cmluZyB0
aGUgd2hvbGUgbGlmZXRpbWUgb2YgdGhlCisgICAgICAgIFJlbmRlckJsb2NrOjpjb2xsYXBzZUFu
b255bW91c0JveENoaWxkIGZ1bmN0aW9uLCB1c2luZyBhIEN1cnJlbnRSZW5kZXJGbG93VGhyZWFk
TWFpbnRhaW5lciBsb2NhbC4KKyAgICAgICAgCisKKyAgICAgICAgVGVzdDogZmFzdC9yZWdpb25z
L21vdmUtYW5vbnltb3VzLWJsb2NrLWluc2lkZS1uYW1lZC1mbG93LWNyYXNoLmh0bWwKKworICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJCbG9jazo6Y29sbGFwc2VBbm9ueW1vdXNCb3hDaGlsZCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckZsb3dUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3VycmVudFJlbmRlckZs
b3dUaHJlYWRNYWludGFpbmVyOjpDdXJyZW50UmVuZGVyRmxvd1RocmVhZE1haW50YWluZXIpOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDdXJyZW50UmVuZGVyRmxvd1Ro
cmVhZE1haW50YWluZXI6On5DdXJyZW50UmVuZGVyRmxvd1RocmVhZE1haW50YWluZXIpOgorICAg
ICAgICBNb3ZlZCBDdXJyZW50UmVuZGVyRmxvd1RocmVhZE1haW50YW5lciBkZWNsYXJhdGlvbiBm
cm9tIC5jcHAgdG8gLmgsIHNvIHRoYXQgd2UgY2FuIGFjY2VzcyBpdCBmcm9tCisgICAgICAgIFJl
bmRlckJsb2NrOjpjb2xsYXBzZUFub255bW91c0JveENoaWxkLgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJGbG93VGhyZWFkLmg6CisgICAgICAgIChDdXJyZW50UmVuZGVyRmxvd1RocmVhZE1h
aW50YWluZXIpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OndpbGxCZVJlbW92
ZWRGcm9tVHJlZSk6CisKIDIwMTItMDgtMjIgIEt3YW5nWW9uZyBDaG9pICA8a3kwLmNob2lAc2Ft
c3VuZy5jb20+CiAKICAgICAgICAgW0VGTF0gU3VwcG9ydCBzbGlkZXIgdGljayBtYXJrIHNuYXBw
aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAppbmRleCBhYTcxYWY1
MGMwZDY1NGM4YzhlNTE2MDRjYzI5ZjE0YzkxMGJmN2ExLi42ZDY2ZmU0Y2UyNDMxZTIwZmY2ZDE2
NmViMmM0Y2M2NGNlOTE3ZTYyIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
ay5jcHAKQEAgLTExNDMsNiArMTE0Myw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbGxhcHNlQW5v
bnltb3VzQm94Q2hpbGQoUmVuZGVyQmxvY2sqIHBhcmVudCwgUmVuZGVyT2JqZWN0KiBjCiAgICAg
UmVuZGVyT2JqZWN0KiBuZXh0U2libGluZyA9IGNoaWxkLT5uZXh0U2libGluZygpOwogCiAgICAg
UmVuZGVyRmxvd1RocmVhZCogY2hpbGRGbG93VGhyZWFkID0gY2hpbGQtPmVuY2xvc2luZ1JlbmRl
ckZsb3dUaHJlYWQoKTsKKyAgICBDdXJyZW50UmVuZGVyRmxvd1RocmVhZE1haW50YWluZXIgZmxv
d1RocmVhZE1haW50YWluZXIoY2hpbGRGbG93VGhyZWFkKTsKKyAgICAKICAgICBSZW5kZXJCbG9j
ayogYW5vbkJsb2NrID0gdG9SZW5kZXJCbG9jayhwYXJlbnQtPmNoaWxkcmVuKCktPnJlbW92ZUNo
aWxkTm9kZShwYXJlbnQsIGNoaWxkLCBjaGlsZC0+aGFzTGF5ZXIoKSkpOwogICAgIGFub25CbG9j
ay0+bW92ZUFsbENoaWxkcmVuVG8ocGFyZW50LCBuZXh0U2libGluZywgY2hpbGQtPmhhc0xheWVy
KCkpOwogICAgIC8vIERlbGV0ZSB0aGUgbm93LWVtcHR5IGJsb2NrJ3MgbGluZXMgYW5kIG51a2Ug
aXQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVh
ZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKaW5k
ZXggNDI5ZGFkM2E5ZTU5MjFiMGNkYTY2ZGVhMGQ4ZTVjMzAyNzQyYzU5Ni4uZjNlNDdkZjQ3NzQ1
YTRkNGM3ZGJkZjRkNTQyYTYyZGUyNmIwOWM4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcApAQCAtMTA3LDI2ICsxMDcsNiBAQCB2b2lkIFJlbmRl
ckZsb3dUaHJlYWQ6OnJlbW92ZVJlZ2lvbkZyb21UaHJlYWQoUmVuZGVyUmVnaW9uKiByZW5kZXJS
ZWdpb24pCiAgICAgY2hlY2tSZWdpb25zV2l0aFN0eWxpbmcoKTsKIH0KIAotY2xhc3MgQ3VycmVu
dFJlbmRlckZsb3dUaHJlYWRNYWludGFpbmVyIHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShD
dXJyZW50UmVuZGVyRmxvd1RocmVhZE1haW50YWluZXIpOwotcHVibGljOgotICAgIEN1cnJlbnRS
ZW5kZXJGbG93VGhyZWFkTWFpbnRhaW5lcihSZW5kZXJGbG93VGhyZWFkKiByZW5kZXJGbG93VGhy
ZWFkKQotICAgICAgICA6IG1fcmVuZGVyRmxvd1RocmVhZChyZW5kZXJGbG93VGhyZWFkKQotICAg
IHsKLSAgICAgICAgUmVuZGVyVmlldyogdmlldyA9IG1fcmVuZGVyRmxvd1RocmVhZC0+dmlldygp
OwotICAgICAgICBBU1NFUlQoIXZpZXctPmZsb3dUaHJlYWRDb250cm9sbGVyKCktPmN1cnJlbnRS
ZW5kZXJGbG93VGhyZWFkKCkpOwotICAgICAgICB2aWV3LT5mbG93VGhyZWFkQ29udHJvbGxlcigp
LT5zZXRDdXJyZW50UmVuZGVyRmxvd1RocmVhZChtX3JlbmRlckZsb3dUaHJlYWQpOwotICAgIH0K
LSAgICB+Q3VycmVudFJlbmRlckZsb3dUaHJlYWRNYWludGFpbmVyKCkKLSAgICB7Ci0gICAgICAg
IFJlbmRlclZpZXcqIHZpZXcgPSBtX3JlbmRlckZsb3dUaHJlYWQtPnZpZXcoKTsKLSAgICAgICAg
QVNTRVJUKHZpZXctPmZsb3dUaHJlYWRDb250cm9sbGVyKCktPmN1cnJlbnRSZW5kZXJGbG93VGhy
ZWFkKCkgPT0gbV9yZW5kZXJGbG93VGhyZWFkKTsKLSAgICAgICAgdmlldy0+Zmxvd1RocmVhZENv
bnRyb2xsZXIoKS0+c2V0Q3VycmVudFJlbmRlckZsb3dUaHJlYWQoMCk7Ci0gICAgfQotcHJpdmF0
ZToKLSAgICBSZW5kZXJGbG93VGhyZWFkKiBtX3JlbmRlckZsb3dUaHJlYWQ7Ci19OwotCiBjbGFz
cyBDdXJyZW50UmVuZGVyRmxvd1RocmVhZERpc2FibGVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShDdXJyZW50UmVuZGVyRmxvd1RocmVhZERpc2FibGVyKTsKIHB1YmxpYzoKQEAgLTc5Myw0
ICs3NzMsMjQgQEAgYm9vbCBSZW5kZXJGbG93VGhyZWFkOjpvYmplY3RJbkZsb3dSZWdpb24oY29u
c3QgUmVuZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFJlbmQKICAgICByZXR1cm4gZmFsc2U7CiB9
CiAKK0N1cnJlbnRSZW5kZXJGbG93VGhyZWFkTWFpbnRhaW5lcjo6Q3VycmVudFJlbmRlckZsb3dU
aHJlYWRNYWludGFpbmVyKFJlbmRlckZsb3dUaHJlYWQqIHJlbmRlckZsb3dUaHJlYWQpCisgICAg
ICAgIDogbV9yZW5kZXJGbG93VGhyZWFkKHJlbmRlckZsb3dUaHJlYWQpCit7CisgICAgaWYgKCFt
X3JlbmRlckZsb3dUaHJlYWQpCisgICAgICAgIHJldHVybjsKKyAgICBSZW5kZXJWaWV3KiB2aWV3
ID0gbV9yZW5kZXJGbG93VGhyZWFkLT52aWV3KCk7CisgICAgQVNTRVJUKCF2aWV3LT5mbG93VGhy
ZWFkQ29udHJvbGxlcigpLT5jdXJyZW50UmVuZGVyRmxvd1RocmVhZCgpKTsKKyAgICB2aWV3LT5m
bG93VGhyZWFkQ29udHJvbGxlcigpLT5zZXRDdXJyZW50UmVuZGVyRmxvd1RocmVhZChtX3JlbmRl
ckZsb3dUaHJlYWQpOworfQorCitDdXJyZW50UmVuZGVyRmxvd1RocmVhZE1haW50YWluZXI6On5D
dXJyZW50UmVuZGVyRmxvd1RocmVhZE1haW50YWluZXIoKQoreworICAgIGlmICghbV9yZW5kZXJG
bG93VGhyZWFkKQorICAgICAgICByZXR1cm47CisgICAgUmVuZGVyVmlldyogdmlldyA9IG1fcmVu
ZGVyRmxvd1RocmVhZC0+dmlldygpOworICAgIEFTU0VSVCh2aWV3LT5mbG93VGhyZWFkQ29udHJv
bGxlcigpLT5jdXJyZW50UmVuZGVyRmxvd1RocmVhZCgpID09IG1fcmVuZGVyRmxvd1RocmVhZCk7
CisgICAgdmlldy0+Zmxvd1RocmVhZENvbnRyb2xsZXIoKS0+c2V0Q3VycmVudFJlbmRlckZsb3dU
aHJlYWQoMCk7Cit9CisKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKaW5kZXggNDczMGJlOGRjZTM1ZmFhMWIwOTdm
M2Q5NTAzYzEwMjllZjVlNGExZi4uMzRkZWM2OWQ4MDgzM2Y0OWI1ZWMwNTU2YzQ4ODA0ODRlYTJh
MTZlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJl
YWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oCkBA
IC0xOTcsNiArMTk3LDE1IEBAIGlubGluZSBjb25zdCBSZW5kZXJGbG93VGhyZWFkKiB0b1JlbmRl
ckZsb3dUaHJlYWQoY29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QpCiAvLyBUaGlzIHdpbGwgY2F0
Y2ggYW55b25lIGRvaW5nIGFuIHVubmVjZXNzYXJ5IGNhc3QuCiB2b2lkIHRvUmVuZGVyRmxvd1Ro
cmVhZChjb25zdCBSZW5kZXJGbG93VGhyZWFkKik7CiAKK2NsYXNzIEN1cnJlbnRSZW5kZXJGbG93
VGhyZWFkTWFpbnRhaW5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3VycmVudFJlbmRl
ckZsb3dUaHJlYWRNYWludGFpbmVyKTsKK3B1YmxpYzoKKyAgICBDdXJyZW50UmVuZGVyRmxvd1Ro
cmVhZE1haW50YWluZXIoUmVuZGVyRmxvd1RocmVhZCopOworICAgIH5DdXJyZW50UmVuZGVyRmxv
d1RocmVhZE1haW50YWluZXIoKTsKK3ByaXZhdGU6CisgICAgUmVuZGVyRmxvd1RocmVhZCogbV9y
ZW5kZXJGbG93VGhyZWFkOworfTsKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYg
Ly8gUmVuZGVyRmxvd1RocmVhZF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuY3BwCmluZGV4IDIzZDZjYjhhYzZlYzQzMzBiZGNiNDc5YjViZjNjM2RhNTAwYjUzYTYuLjAw
YWEwMTM0OTc3MjBkYjc5ZTU0OWY4MjcxZDMyNDRhOTA2ZjU3NDEgMTAwNzU1Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0yNDM1LDYgKzI0MzUsNyBAQCB2b2lkIFJl
bmRlck9iamVjdDo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKCkKICAgICAgICAgcGFyZW50KCktPmRp
cnR5TGluZXNGcm9tQ2hhbmdlZENoaWxkKHRoaXMpOwogCiAgICAgaWYgKGluUmVuZGVyRmxvd1Ro
cmVhZCgpKSB7CisgICAgICAgIEFTU0VSVChlbmNsb3NpbmdSZW5kZXJGbG93VGhyZWFkKCkpOwog
ICAgICAgICBpZiAoaXNCb3goKSkKICAgICAgICAgICAgIGVuY2xvc2luZ1JlbmRlckZsb3dUaHJl
YWQoKS0+cmVtb3ZlUmVuZGVyQm94UmVnaW9uSW5mbyh0b1JlbmRlckJveCh0aGlzKSk7CiAgICAg
ICAgIGVuY2xvc2luZ1JlbmRlckZsb3dUaHJlYWQoKS0+Y2xlYXJSZW5kZXJPYmplY3RDdXN0b21T
dHlsZSh0aGlzKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCBmODFiZjQxNmQzNDViNjJiZjQyZGY2YWJjYmZkMWEzMzk2OWM2
NWRhLi4zNjNlM2IzZmU4NjhlZjUxZWRjODRhODBjYWUyZDNiOGM1NzkzZGFmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMTItMDgtMjMgIEFuZHJlaSBPbmVhICA8b25lYUBhZG9iZS5jb20+CisK
KyAgICAgICAgW0NTU1JlZ2lvbnNdQ3Jhc2ggd2hlbiBtb3ZpbmcgYW5vbnltb3VzIGJsb2NrIGNo
aWxkcmVuIGluc2lkZSBhIG5hbWVkIGZsb3cKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTkwODY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkZWQgdGVzdCBmb3IgY3Jhc2ggd2hpY2ggaGFwcGVucyB3aGVu
IHRoZSBjaGlsZHJlbiBvZiBhbiBhbm9ueW1vdXMgYmxvY2sKKyAgICAgICAgaW5zaWRlIGEgZmxv
dyB0aHJlYWQgYXJlIG1vdmVkLgorCisgICAgICAgICogZmFzdC9yZWdpb25zL21vdmUtYW5vbnlt
b3VzLWJsb2NrLWluc2lkZS1uYW1lZC1mbG93LWNyYXNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBmYXN0L3JlZ2lvbnMvbW92ZS1hbm9ueW1vdXMtYmxvY2staW5zaWRlLW5hbWVkLWZsb3ctY3Jh
c2guaHRtbDoKKwogMjAxMi0wOC0yMiAgS3dhbmdZb25nIENob2kgIDxreTAuY2hvaUBzYW1zdW5n
LmNvbT4KIAogICAgICAgICBbRUZMXSBTdXBwb3J0IHNsaWRlciB0aWNrIG1hcmsgc25hcHBpbmcK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9tb3ZlLWFub255bW91cy1ibG9j
ay1pbnNpZGUtbmFtZWQtZmxvdy1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L3JlZ2lvbnMvbW92ZS1hbm9ueW1vdXMtYmxvY2staW5zaWRlLW5hbWVkLWZsb3ctY3Jhc2gtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIwYWFlMTgxYWQxY2RkMWU2OTczY2M5NTFkOTRkZTAzNjRm
YWFmMjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvbW92ZS1h
bm9ueW1vdXMtYmxvY2staW5zaWRlLW5hbWVkLWZsb3ctY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMiBAQAorQnVnIDkwODY1OltDU1NSZWdpb25zXUNyYXNoIHdoZW4gbW92aW5nIGFub255
bW91cyBibG9jayBjaGlsZHJlbiBpbnNpZGUgYSBuYW1lZCBmbG93LiBUZXN0IHBhc3NlcyBpZiBp
dCBkb2VzIG5vdCBDUkFTSCBvciBBU1NFUlQuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvcmVnaW9ucy9tb3ZlLWFub255bW91cy1ibG9jay1pbnNpZGUtbmFtZWQtZmxvdy1jcmFzaC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL21vdmUtYW5vbnltb3VzLWJsb2NrLWluc2lk
ZS1uYW1lZC1mbG93LWNyYXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDBkMWQ2NTZjNzQ2OGMxZDQ2NWM2
MzdmNDdiZmE3MTE1ODk5MjFkZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
cmVnaW9ucy9tb3ZlLWFub255bW91cy1ibG9jay1pbnNpZGUtbmFtZWQtZmxvdy1jcmFzaC5odG1s
CkBAIC0wLDAgKzEsMjcgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHls
ZT4KKy5jb250YWluZXIgeyAtd2Via2l0LWNvbHVtbi1jb3VudDogMTsgLXdlYmtpdC1mbG93LWlu
dG86IGZsb3c7IH0KKy5jb2x1bW5TcGFuIHsgLXdlYmtpdC1jb2x1bW4tc3BhbjogYWxsOyB9Cisu
ZmxvdyB7IC13ZWJraXQtZmxvdy1mcm9tOiBmbG93OyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAw
cHg7IH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgY2xhc3M9ImNvbnRhaW5lciI+
CisgICAgPGRpdiBpZD0idGVzdCI+CisgICAgICAgIDxkaXYgY2xhc3M9ImNvbHVtblNwYW4iPjwv
ZGl2PgorICAgIDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdmFyIHRlc3QgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpOworICAgIHRlc3QuaW5uZXJIVE1MID0gIkJ1
ZyA5MDg2NTpbQ1NTUmVnaW9uc11DcmFzaCB3aGVuIG1vdmluZyBhbm9ueW1vdXMgYmxvY2sgY2hp
bGRyZW4gaW5zaWRlIGEgbmFtZWQgZmxvdy5cCisgICAgICAgICAgICAgICAgICAgICAgVGVzdCBw
YXNzZXMgaWYgaXQgZG9lcyBub3QgQ1JBU0ggb3IgQVNTRVJULiI7CisgICAgdmFyIGFydGljbGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBhcnRpY2xlLnNldEF0dHJpYnV0
ZSgiY2xhc3MiLCAiZmxvdyIpOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYXJ0aWNs
ZSk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160182</attachid>
            <date>2012-08-23 09:17:10 -0700</date>
            <delta_ts>2012-08-23 11:45:25 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-90865-20120823191706.patch</filename>
            <type>text/plain</type>
            <size>9190</size>
            <attacher name="Andrei Onea">andreionea3000</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2NDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmE3MjkyM2JiMGM0NDk5
ZTNlNDUzMTNkOGRkMWZhNDAxOWRkZjU5ZC4uZjIzYzIxNjZjOGEwMmQ0MTgwYmU3YzBiY2E5MDcz
ZWNjYTU4YmMwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTA4LTIzICBBbmRy
ZWkgT25lYSAgPG9uZWFAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1NSZWdpb25zXUNyYXNoIHdo
ZW4gbW92aW5nIGFub255bW91cyBibG9jayBjaGlsZHJlbiBpbnNpZGUgYSBuYW1lZCBmbG93Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDg2NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IEFiaGlzaGVrIEFyeWEuCisKKyAgICAgICAgV2hlbiBhbiBhbm9u
eW1vdXMgYmxvY2sncyBjaGlsZHJlbiBhcmUgZGV0YWNoZWQgaW4gUmVuZGVyQmxvY2s6OmNvbGxh
cHNlQW5vbnltb3VzQm94Q2hpbGQsIHRoZSByZWZlcmVuY2UKKyAgICAgICAgdG8gdGhlaXIgZW5j
bG9zaW5nUmVuZGVyRmxvd1RocmVhZCBpcyBsb3N0IGFuZCBjYXVzZXMgYSBjcmFzaCBpbiBSZW5k
ZXJPYmplY3Q6OndpbGxCZVJlbW92ZWRGcm9tVHJlZS4KKyAgICAgICAgQmVjYXVzZSBvZiB0aGlz
LCB3ZSBub3cgbWFpbnRhaW4gdGhlIGVuY2xvc2luZ1JlbmRlckZsb3dUaHJlYWQgZHVyaW5nIHRo
ZSB3aG9sZSBsaWZldGltZSBvZiB0aGUKKyAgICAgICAgUmVuZGVyQmxvY2s6OmNvbGxhcHNlQW5v
bnltb3VzQm94Q2hpbGQgZnVuY3Rpb24sIHVzaW5nIGEgQ3VycmVudFJlbmRlckZsb3dUaHJlYWRN
YWludGFpbmVyIGxvY2FsLgorICAgICAgICAKKworICAgICAgICBUZXN0OiBmYXN0L3JlZ2lvbnMv
bW92ZS1hbm9ueW1vdXMtYmxvY2staW5zaWRlLW5hbWVkLWZsb3ctY3Jhc2guaHRtbAorCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJsb2NrOjpjb2xsYXBzZUFub255bW91c0JveENoaWxkKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyRmxvd1RocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDdXJyZW50UmVuZGVyRmxv
d1RocmVhZE1haW50YWluZXI6OkN1cnJlbnRSZW5kZXJGbG93VGhyZWFkTWFpbnRhaW5lcik6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkN1cnJlbnRSZW5kZXJGbG93VGhy
ZWFkTWFpbnRhaW5lcjo6fkN1cnJlbnRSZW5kZXJGbG93VGhyZWFkTWFpbnRhaW5lcik6CisgICAg
ICAgIE1vdmVkIEN1cnJlbnRSZW5kZXJGbG93VGhyZWFkTWFpbnRhbmVyIGRlY2xhcmF0aW9uIGZy
b20gLmNwcCB0byAuaCwgc28gdGhhdCB3ZSBjYW4gYWNjZXNzIGl0IGZyb20KKyAgICAgICAgUmVu
ZGVyQmxvY2s6OmNvbGxhcHNlQW5vbnltb3VzQm94Q2hpbGQuCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckZsb3dUaHJlYWQuaDoKKyAgICAgICAgKEN1cnJlbnRSZW5kZXJGbG93VGhyZWFkTWFp
bnRhaW5lcik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6d2lsbEJlUmVtb3Zl
ZEZyb21UcmVlKToKKwogMjAxMi0wOC0yMyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lh
QGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gRml4IG1ha2UgZGlzdGNoZWNrLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggYTQxNThmNGUxODc5
NDI3YjVhYThhZjVkMmRhMzI0OGZlMDA2NTBiNi4uOTFhMTQxZmY1NmM3YWYxZTk0MGZjZWQxYTg5
Nzc0NjQwZmQ4ZmM3ZiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3Bw
CkBAIC0xMTQzLDYgKzExNDMsOCBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb2xsYXBzZUFub255bW91
c0JveENoaWxkKFJlbmRlckJsb2NrKiBwYXJlbnQsIFJlbmRlck9iamVjdCogYwogICAgIFJlbmRl
ck9iamVjdCogbmV4dFNpYmxpbmcgPSBjaGlsZC0+bmV4dFNpYmxpbmcoKTsKIAogICAgIFJlbmRl
ckZsb3dUaHJlYWQqIGNoaWxkRmxvd1RocmVhZCA9IGNoaWxkLT5lbmNsb3NpbmdSZW5kZXJGbG93
VGhyZWFkKCk7CisgICAgQ3VycmVudFJlbmRlckZsb3dUaHJlYWRNYWludGFpbmVyIGZsb3dUaHJl
YWRNYWludGFpbmVyKGNoaWxkRmxvd1RocmVhZCk7CisgICAgCiAgICAgUmVuZGVyQmxvY2sqIGFu
b25CbG9jayA9IHRvUmVuZGVyQmxvY2socGFyZW50LT5jaGlsZHJlbigpLT5yZW1vdmVDaGlsZE5v
ZGUocGFyZW50LCBjaGlsZCwgY2hpbGQtPmhhc0xheWVyKCkpKTsKICAgICBhbm9uQmxvY2stPm1v
dmVBbGxDaGlsZHJlblRvKHBhcmVudCwgbmV4dFNpYmxpbmcsIGNoaWxkLT5oYXNMYXllcigpKTsK
ICAgICAvLyBEZWxldGUgdGhlIG5vdy1lbXB0eSBibG9jaydzIGxpbmVzIGFuZCBudWtlIGl0Lgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCmluZGV4IDQy
OWRhZDNhOWU1OTIxYjBjZGE2NmRlYTBkOGU1YzMwMjc0MmM1OTYuLmYzZTQ3ZGY0Nzc0NWE0ZDRj
N2RiZGY0ZDU0MmE2MmRlMjZiMDljOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRmxvd1RocmVhZC5jcHAKQEAgLTEwNywyNiArMTA3LDYgQEAgdm9pZCBSZW5kZXJGbG93
VGhyZWFkOjpyZW1vdmVSZWdpb25Gcm9tVGhyZWFkKFJlbmRlclJlZ2lvbiogcmVuZGVyUmVnaW9u
KQogICAgIGNoZWNrUmVnaW9uc1dpdGhTdHlsaW5nKCk7CiB9CiAKLWNsYXNzIEN1cnJlbnRSZW5k
ZXJGbG93VGhyZWFkTWFpbnRhaW5lciB7Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3VycmVu
dFJlbmRlckZsb3dUaHJlYWRNYWludGFpbmVyKTsKLXB1YmxpYzoKLSAgICBDdXJyZW50UmVuZGVy
Rmxvd1RocmVhZE1haW50YWluZXIoUmVuZGVyRmxvd1RocmVhZCogcmVuZGVyRmxvd1RocmVhZCkK
LSAgICAgICAgOiBtX3JlbmRlckZsb3dUaHJlYWQocmVuZGVyRmxvd1RocmVhZCkKLSAgICB7Ci0g
ICAgICAgIFJlbmRlclZpZXcqIHZpZXcgPSBtX3JlbmRlckZsb3dUaHJlYWQtPnZpZXcoKTsKLSAg
ICAgICAgQVNTRVJUKCF2aWV3LT5mbG93VGhyZWFkQ29udHJvbGxlcigpLT5jdXJyZW50UmVuZGVy
Rmxvd1RocmVhZCgpKTsKLSAgICAgICAgdmlldy0+Zmxvd1RocmVhZENvbnRyb2xsZXIoKS0+c2V0
Q3VycmVudFJlbmRlckZsb3dUaHJlYWQobV9yZW5kZXJGbG93VGhyZWFkKTsKLSAgICB9Ci0gICAg
fkN1cnJlbnRSZW5kZXJGbG93VGhyZWFkTWFpbnRhaW5lcigpCi0gICAgewotICAgICAgICBSZW5k
ZXJWaWV3KiB2aWV3ID0gbV9yZW5kZXJGbG93VGhyZWFkLT52aWV3KCk7Ci0gICAgICAgIEFTU0VS
VCh2aWV3LT5mbG93VGhyZWFkQ29udHJvbGxlcigpLT5jdXJyZW50UmVuZGVyRmxvd1RocmVhZCgp
ID09IG1fcmVuZGVyRmxvd1RocmVhZCk7Ci0gICAgICAgIHZpZXctPmZsb3dUaHJlYWRDb250cm9s
bGVyKCktPnNldEN1cnJlbnRSZW5kZXJGbG93VGhyZWFkKDApOwotICAgIH0KLXByaXZhdGU6Ci0g
ICAgUmVuZGVyRmxvd1RocmVhZCogbV9yZW5kZXJGbG93VGhyZWFkOwotfTsKLQogY2xhc3MgQ3Vy
cmVudFJlbmRlckZsb3dUaHJlYWREaXNhYmxlciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Q3VycmVudFJlbmRlckZsb3dUaHJlYWREaXNhYmxlcik7CiBwdWJsaWM6CkBAIC03OTMsNCArNzcz
LDI0IEBAIGJvb2wgUmVuZGVyRmxvd1RocmVhZDo6b2JqZWN0SW5GbG93UmVnaW9uKGNvbnN0IFJl
bmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBSZW5kCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitD
dXJyZW50UmVuZGVyRmxvd1RocmVhZE1haW50YWluZXI6OkN1cnJlbnRSZW5kZXJGbG93VGhyZWFk
TWFpbnRhaW5lcihSZW5kZXJGbG93VGhyZWFkKiByZW5kZXJGbG93VGhyZWFkKQorICAgICAgICA6
IG1fcmVuZGVyRmxvd1RocmVhZChyZW5kZXJGbG93VGhyZWFkKQoreworICAgIGlmICghbV9yZW5k
ZXJGbG93VGhyZWFkKQorICAgICAgICByZXR1cm47CisgICAgUmVuZGVyVmlldyogdmlldyA9IG1f
cmVuZGVyRmxvd1RocmVhZC0+dmlldygpOworICAgIEFTU0VSVCghdmlldy0+Zmxvd1RocmVhZENv
bnRyb2xsZXIoKS0+Y3VycmVudFJlbmRlckZsb3dUaHJlYWQoKSk7CisgICAgdmlldy0+Zmxvd1Ro
cmVhZENvbnRyb2xsZXIoKS0+c2V0Q3VycmVudFJlbmRlckZsb3dUaHJlYWQobV9yZW5kZXJGbG93
VGhyZWFkKTsKK30KKworQ3VycmVudFJlbmRlckZsb3dUaHJlYWRNYWludGFpbmVyOjp+Q3VycmVu
dFJlbmRlckZsb3dUaHJlYWRNYWludGFpbmVyKCkKK3sKKyAgICBpZiAoIW1fcmVuZGVyRmxvd1Ro
cmVhZCkKKyAgICAgICAgcmV0dXJuOworICAgIFJlbmRlclZpZXcqIHZpZXcgPSBtX3JlbmRlckZs
b3dUaHJlYWQtPnZpZXcoKTsKKyAgICBBU1NFUlQodmlldy0+Zmxvd1RocmVhZENvbnRyb2xsZXIo
KS0+Y3VycmVudFJlbmRlckZsb3dUaHJlYWQoKSA9PSBtX3JlbmRlckZsb3dUaHJlYWQpOworICAg
IHZpZXctPmZsb3dUaHJlYWRDb250cm9sbGVyKCktPnNldEN1cnJlbnRSZW5kZXJGbG93VGhyZWFk
KDApOworfQorCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oCmluZGV4IDQ3MzBiZThkY2UzNWZhYTFiMDk3ZjNkOTUw
M2MxMDI5ZWY1ZTRhMWYuLjM0ZGVjNjlkODA4MzNmNDliNWVjMDU1NmM0ODgwNDg0ZWEyYTE2ZTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaApAQCAtMTk3
LDYgKzE5NywxNSBAQCBpbmxpbmUgY29uc3QgUmVuZGVyRmxvd1RocmVhZCogdG9SZW5kZXJGbG93
VGhyZWFkKGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0KQogLy8gVGhpcyB3aWxsIGNhdGNoIGFu
eW9uZSBkb2luZyBhbiB1bm5lY2Vzc2FyeSBjYXN0Lgogdm9pZCB0b1JlbmRlckZsb3dUaHJlYWQo
Y29uc3QgUmVuZGVyRmxvd1RocmVhZCopOwogCitjbGFzcyBDdXJyZW50UmVuZGVyRmxvd1RocmVh
ZE1haW50YWluZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEN1cnJlbnRSZW5kZXJGbG93
VGhyZWFkTWFpbnRhaW5lcik7CitwdWJsaWM6CisgICAgQ3VycmVudFJlbmRlckZsb3dUaHJlYWRN
YWludGFpbmVyKFJlbmRlckZsb3dUaHJlYWQqKTsKKyAgICB+Q3VycmVudFJlbmRlckZsb3dUaHJl
YWRNYWludGFpbmVyKCk7Citwcml2YXRlOgorICAgIFJlbmRlckZsb3dUaHJlYWQqIG1fcmVuZGVy
Rmxvd1RocmVhZDsKK307CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIFJl
bmRlckZsb3dUaHJlYWRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cAppbmRleCAzOTFjMTE5ODg2YTU2NDMzOGM3ZDFkZjFkN2YzMWUwZjczNzIzYTQ5Li40NzNkNGI1
YzVhZDM2OWQ0YmZiMjZkYjljMzAzMDVhNTg2OWNiOGFmIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMjQzNSw5ICsyNDM1LDggQEAgdm9pZCBSZW5kZXJP
YmplY3Q6OndpbGxCZVJlbW92ZWRGcm9tVHJlZSgpCiAgICAgICAgIHBhcmVudCgpLT5kaXJ0eUxp
bmVzRnJvbUNoYW5nZWRDaGlsZCh0aGlzKTsKIAogICAgIGlmIChpblJlbmRlckZsb3dUaHJlYWQo
KSkgewotICAgICAgICBpZiAoaXNCb3goKSkKLSAgICAgICAgICAgIGVuY2xvc2luZ1JlbmRlckZs
b3dUaHJlYWQoKS0+cmVtb3ZlUmVuZGVyQm94UmVnaW9uSW5mbyh0b1JlbmRlckJveCh0aGlzKSk7
Ci0gICAgICAgIGVuY2xvc2luZ1JlbmRlckZsb3dUaHJlYWQoKS0+Y2xlYXJSZW5kZXJPYmplY3RD
dXN0b21TdHlsZSh0aGlzKTsKKyAgICAgICAgQVNTRVJUKGVuY2xvc2luZ1JlbmRlckZsb3dUaHJl
YWQoKSk7CisgICAgICAgIGVuY2xvc2luZ1JlbmRlckZsb3dUaHJlYWQoKS0+cmVtb3ZlRmxvd0No
aWxkSW5mbyh0aGlzKTsKICAgICB9CiAKICAgICBpZiAoUmVuZGVyTmFtZWRGbG93VGhyZWFkKiBj
b250YWluZXJGbG93VGhyZWFkID0gcGFyZW50KCktPmVuY2xvc2luZ1JlbmRlck5hbWVkRmxvd1Ro
cmVhZCgpKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IGNhYmFhNGFlNDM1NGY2ZTFiYWUwZjY4Y2VjNTg5MzAwYzI4NjEzZjYu
LjJjMzgzYTE2OGVlYzVjMzA5MDUzM2ZmNTFkMWE3Yjg1YTFiMjE2NjcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNiBAQAorMjAxMi0wOC0yMyAgQW5kcmVpIE9uZWEgIDxvbmVhQGFkb2JlLmNvbT4KKworICAg
ICAgICBbQ1NTUmVnaW9uc11DcmFzaCB3aGVuIG1vdmluZyBhbm9ueW1vdXMgYmxvY2sgY2hpbGRy
ZW4gaW5zaWRlIGEgbmFtZWQgZmxvdworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTA4NjUKKworICAgICAgICBSZXZpZXdlZCBieSBBYmhpc2hlayBBcnlh
LgorCisgICAgICAgIEFkZGVkIHRlc3QgZm9yIGNyYXNoIHdoaWNoIGhhcHBlbnMgd2hlbiB0aGUg
Y2hpbGRyZW4gb2YgYW4gYW5vbnltb3VzIGJsb2NrCisgICAgICAgIGluc2lkZSBhIGZsb3cgdGhy
ZWFkIGFyZSBtb3ZlZC4KKworICAgICAgICAqIGZhc3QvcmVnaW9ucy9tb3ZlLWFub255bW91cy1i
bG9jay1pbnNpZGUtbmFtZWQtZmxvdy1jcmFzaC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFz
dC9yZWdpb25zL21vdmUtYW5vbnltb3VzLWJsb2NrLWluc2lkZS1uYW1lZC1mbG93LWNyYXNoLmh0
bWw6CisKIDIwMTItMDgtMjMgIFphbiBEb2JlcnNlayAgPHphbmRvYmVyc2VrQGdtYWlsLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkIEdUSyBnYXJkZW5pbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3JlZ2lvbnMvbW92ZS1hbm9ueW1vdXMtYmxvY2staW5zaWRlLW5hbWVkLWZsb3ct
Y3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL21vdmUtYW5vbnlt
b3VzLWJsb2NrLWluc2lkZS1uYW1lZC1mbG93LWNyYXNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5iMGFhZTE4MWFkMWNkZDFlNjk3M2NjOTUxZDk0ZGUwMzY0ZmFhZjI0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL21vdmUtYW5vbnltb3VzLWJsb2NrLWluc2lk
ZS1uYW1lZC1mbG93LWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIgQEAKK0J1ZyA5MDg2
NTpbQ1NTUmVnaW9uc11DcmFzaCB3aGVuIG1vdmluZyBhbm9ueW1vdXMgYmxvY2sgY2hpbGRyZW4g
aW5zaWRlIGEgbmFtZWQgZmxvdy4gVGVzdCBwYXNzZXMgaWYgaXQgZG9lcyBub3QgQ1JBU0ggb3Ig
QVNTRVJULgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvbW92ZS1hbm9u
eW1vdXMtYmxvY2staW5zaWRlLW5hbWVkLWZsb3ctY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvcmVnaW9ucy9tb3ZlLWFub255bW91cy1ibG9jay1pbnNpZGUtbmFtZWQtZmxvdy1jcmFzaC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQwZDFkNjU2Yzc0NjhjMWQ0NjVjNjM3ZjQ3YmZhNzExNTg5OTIxZGQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvbW92ZS1hbm9ueW1v
dXMtYmxvY2staW5zaWRlLW5hbWVkLWZsb3ctY3Jhc2guaHRtbApAQCAtMCwwICsxLDI3IEBACis8
IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+CisuY29udGFpbmVyIHsgLXdl
YmtpdC1jb2x1bW4tY291bnQ6IDE7IC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OyB9CisuY29sdW1u
U3BhbiB7IC13ZWJraXQtY29sdW1uLXNwYW46IGFsbDsgfQorLmZsb3cgeyAtd2Via2l0LWZsb3ct
ZnJvbTogZmxvdzsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgaWQ9InRlc3Qi
PgorICAgICAgICA8ZGl2IGNsYXNzPSJjb2x1bW5TcGFuIj48L2Rpdj4KKyAgICA8L2Rpdj4KKzwv
ZGl2PgorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHZhciB0ZXN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInRlc3QiKTsKKyAgICB0ZXN0LmlubmVySFRNTCA9ICJCdWcgOTA4NjU6W0NTU1JlZ2lvbnNd
Q3Jhc2ggd2hlbiBtb3ZpbmcgYW5vbnltb3VzIGJsb2NrIGNoaWxkcmVuIGluc2lkZSBhIG5hbWVk
IGZsb3cuXAorICAgICAgICAgICAgICAgICAgICAgIFRlc3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90
IENSQVNIIG9yIEFTU0VSVC4iOworICAgIHZhciBhcnRpY2xlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiZGl2Iik7CisgICAgYXJ0aWNsZS5zZXRBdHRyaWJ1dGUoImNsYXNzIiwgImZsb3ciKTsK
KyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGFydGljbGUpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>