<?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>47968</bug_id>
          
          <creation_ts>2010-10-19 23:52:40 -0700</creation_ts>
          <short_desc>Web Inspector: Handle WebSocket events via InspectorInstrumentation</short_desc>
          <delta_ts>2010-10-21 02:23:59 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Yuta Kitamura">yutak</reporter>
          <assigned_to name="Yuta Kitamura">yutak</assigned_to>
          <cc>apavlov</cc>
    
    <cc>beidson</cc>
    
    <cc>bweinstein</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>podivilov</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>ukai</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>296656</commentid>
    <comment_count>0</comment_count>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2010-10-19 23:52:40 -0700</bug_when>
    <thetext>Putting WebSocket-related APIs to Inspector into InspectorInstrumentation class.

This change reduces the number of &quot;#if ENABLE(INSPECTOR)&quot; blocks from WebSocketChannel and will help when I will add WebSocket stuff in the Timeline panel later.

I will upload a patch for review shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296661</commentid>
    <comment_count>1</comment_count>
      <attachid>71256</attachid>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2010-10-20 00:04:25 -0700</bug_when>
    <thetext>Created attachment 71256
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296667</commentid>
    <comment_count>2</comment_count>
      <attachid>71256</attachid>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2010-10-20 00:15:28 -0700</bug_when>
    <thetext>Comment on attachment 71256
Patch

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296694</commentid>
    <comment_count>3</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2010-10-20 01:18:09 -0700</bug_when>
    <thetext>Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296696</commentid>
    <comment_count>4</comment_count>
      <attachid>71256</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-10-20 01:28:09 -0700</bug_when>
    <thetext>Comment on attachment 71256
Patch

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

&gt; WebCore/websockets/WebSocketChannel.cpp:39
&gt;  #include &quot;InspectorController.h&quot;

Please remove this import, InspectorInstrumentation should be enough.

&gt; WebCore/websockets/WebSocketChannel.cpp:75
&gt; +    InspectorInstrumentation::didCreateWebSocket(m_context, identifier(), url, m_context-&gt;url());

Now that you removed #if ENABLE(INSPECTOR) guard, identifier() will be called even when inspector is disabled, but the method is behind the guard:

	#if ENABLE(INSPECTOR)
	unsigned long WebSocketChannel::identifier()

r- for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296709</commentid>
    <comment_count>5</comment_count>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2010-10-20 02:24:00 -0700</bug_when>
    <thetext>Good catch, will fix. Thanks.

(In reply to comment #4)
&gt; (From update of attachment 71256 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=71256&amp;action=review
&gt; 
&gt; &gt; WebCore/websockets/WebSocketChannel.cpp:39
&gt; &gt;  #include &quot;InspectorController.h&quot;
&gt; 
&gt; Please remove this import, InspectorInstrumentation should be enough.

Currently we use InspectorController to obtain resource identifier
(controller-&gt;inspectedPage()-&gt;progress()-&gt;createUniqueIdentifier()).

I have now realized that we can obtain a Page from ScriptExecutionContext*,
so I will rewrite the code and remove this #include line.

&gt; 
&gt; &gt; WebCore/websockets/WebSocketChannel.cpp:75
&gt; &gt; +    InspectorInstrumentation::didCreateWebSocket(m_context, identifier(), url, m_context-&gt;url());
&gt; 
&gt; Now that you removed #if ENABLE(INSPECTOR) guard, identifier() will be called even when inspector is disabled, but the method is behind the guard:
&gt; 
&gt;     #if ENABLE(INSPECTOR)
&gt;     unsigned long WebSocketChannel::identifier()

Absolutely. Thank you for pointing this out.

&gt; 
&gt; r- for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296740</commentid>
    <comment_count>6</comment_count>
      <attachid>71276</attachid>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2010-10-20 05:20:16 -0700</bug_when>
    <thetext>Created attachment 71276
Patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297219</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-20 20:59:33 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 71276:

http/tests/xmlhttprequest/origin-whitelisting-removal.html
http/tests/appcache/non-html.xhtml

Please file bugs against the tests.  The author(s) of the test(s) have been CCed on this bug.  The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297232</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-20 22:30:37 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 71276:

http/tests/appcache/update-cache.html
fast/loader/recursive-before-unload-crash.html

Please file bugs against the tests.  The author(s) of the test(s) have been CCed on this bug.  The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297308</commentid>
    <comment_count>9</comment_count>
      <attachid>71276</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-21 02:23:52 -0700</bug_when>
    <thetext>Comment on attachment 71276
Patch v2

Clearing flags on attachment: 71276

Committed r70216: &lt;http://trac.webkit.org/changeset/70216&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297309</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-21 02:23:59 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71256</attachid>
            <date>2010-10-20 00:04:25 -0700</date>
            <delta_ts>2010-10-20 05:20:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47968-20101020160423.patch</filename>
            <type>text/plain</type>
            <size>11244</size>
            <attacher name="Yuta Kitamura">yutak</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZDFmMWNmOGY5YzIzMmIwNjJlZjhkZjNhN2ZjMDIxMWEzMzc1YjQ2Yi4uYWQ1M2YyYmE2YzYzNjNi
YTJiZTI2MWY2OTQ3ZDEyNWY2ZDUxYzU5NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMC0xMC0xOSAgWXV0
YSBLaXRhbXVyYSAgPHl1dGFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBIYW5kbGUgV2ViU29ja2V0
IGV2ZW50cyB2aWEgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Nzk2OAorCisgICAgICAgICogaW5zcGVjdG9y
L0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmRpZENyZWF0ZVdlYlNvY2tldEltcGwpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsU2VuZFdlYlNvY2tldEhhbmRzaGFr
ZVJlcXVlc3RJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6ZGlkUmVjZWl2ZVdlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlSW1wbCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENsb3NlV2ViU29ja2V0SW1wbCk6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDcmVhdGVXZWJTb2NrZXQp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsU2VuZFdl
YlNvY2tldEhhbmRzaGFrZVJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlV2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2UpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDbG9zZVdlYlNvY2tl
dCk6CisgICAgICAgICogd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6OldlYlNvY2tldENoYW5uZWwpOgorICAgICAgICAo
V2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6ZGlzY29ubmVjdCk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJTb2NrZXRDaGFubmVsOjpkaWRPcGVuKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tl
dENoYW5uZWw6OmRpZENsb3NlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6
OnByb2Nlc3NCdWZmZXIpOgorCiAyMDEwLTEwLTE5ICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxl
LmNvbT4KIAogICAgICAgICBSZW1vdmUgdXNlcyBvZiBDQUNGQ29udGV4dFJlZiBhbmQgQ0FSZW5k
ZXIqIGZyb20gV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmNwcCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5jcHAKaW5kZXggYWU4OTI2NmNlNTI4MjY0ZjFjNDI1Mzc0YTFiY2ZkYWJlMDBkMGNl
MC4uOTQyMDJjMTE2NWVmMTFjMzhlODhmNjBkN2JlZGExM2ZjM2Q0YmQ5YyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAorKysgYi9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCkBAIC00MTIsNiArNDEy
LDI4IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRXcml0ZUhUTUxJbXBsKGNv
bnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvCiAgICAgICAgIHRpbWVsaW5lQWdlbnQtPmRp
ZFdyaXRlSFRNTChlbmRMaW5lKTsKIH0KIAorI2lmIEVOQUJMRShXRUJfU09DS0VUUykKK3ZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDcmVhdGVXZWJTb2NrZXRJbXBsKEluc3BlY3Rv
ckNvbnRyb2xsZXIqIGluc3BlY3RvckNvbnRyb2xsZXIsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmll
ciwgY29uc3QgS1VSTCYgcmVxdWVzdFVSTCwgY29uc3QgS1VSTCYgZG9jdW1lbnRVUkwpCit7Cisg
ICAgaW5zcGVjdG9yQ29udHJvbGxlci0+ZGlkQ3JlYXRlV2ViU29ja2V0KGlkZW50aWZpZXIsIHJl
cXVlc3RVUkwsIGRvY3VtZW50VVJMKTsKK30KKwordm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OndpbGxTZW5kV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdEltcGwoSW5zcGVjdG9yQ29udHJv
bGxlciogaW5zcGVjdG9yQ29udHJvbGxlciwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25z
dCBXZWJTb2NrZXRIYW5kc2hha2VSZXF1ZXN0JiByZXF1ZXN0KQoreworICAgIGluc3BlY3RvckNv
bnRyb2xsZXItPndpbGxTZW5kV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdChpZGVudGlmaWVyLCBy
ZXF1ZXN0KTsKK30KKwordm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVX
ZWJTb2NrZXRIYW5kc2hha2VSZXNwb25zZUltcGwoSW5zcGVjdG9yQ29udHJvbGxlciogaW5zcGVj
dG9yQ29udHJvbGxlciwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBXZWJTb2NrZXRI
YW5kc2hha2VSZXNwb25zZSYgcmVzcG9uc2UpCit7CisgICAgaW5zcGVjdG9yQ29udHJvbGxlci0+
ZGlkUmVjZWl2ZVdlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlKGlkZW50aWZpZXIsIHJlc3BvbnNl
KTsKK30KKwordm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENsb3NlV2ViU29ja2V0
SW1wbChJbnNwZWN0b3JDb250cm9sbGVyKiBpbnNwZWN0b3JDb250cm9sbGVyLCB1bnNpZ25lZCBs
b25nIGlkZW50aWZpZXIpCit7CisgICAgaW5zcGVjdG9yQ29udHJvbGxlci0+ZGlkQ2xvc2VXZWJT
b2NrZXQoaWRlbnRpZmllcik7Cit9CisjZW5kaWYKKwogYm9vbCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246Omhhc0Zyb250ZW5kKEluc3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3RvckNvbnRyb2xs
ZXIpCiB7CiAgICAgcmV0dXJuIGluc3BlY3RvckNvbnRyb2xsZXItPmhhc0Zyb250ZW5kKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBi
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCmluZGV4IGU3Mjhh
NWUxMTNjNDQ2OThmY2M3N2QyNzc3N2QxZTRkYzRjZjY0MDYuLjFiNjJlY2I3NmM3ODI5NzQ4ZjQy
MTY3ZmI4MjNiM2NkOGQ2NWMyYjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcklu
c3RydW1lbnRhdGlvbi5oCkBAIC00MiwxMSArNDIsMTcgQEAgY2xhc3MgQ2hhcmFjdGVyRGF0YTsK
IGNsYXNzIEVsZW1lbnQ7CiBjbGFzcyBJbnNwZWN0b3JDb250cm9sbGVyOwogY2xhc3MgSW5zcGVj
dG9yVGltZWxpbmVBZ2VudDsKK2NsYXNzIEtVUkw7CiBjbGFzcyBOb2RlOwogY2xhc3MgUmVzb3Vy
Y2VSZXF1ZXN0OwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFhNTEh0dHBSZXF1ZXN0
OwogCisjaWYgRU5BQkxFKFdFQl9TT0NLRVRTKQorY2xhc3MgV2ViU29ja2V0SGFuZHNoYWtlUmVx
dWVzdDsKK2NsYXNzIFdlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlOworI2VuZGlmCisKIHR5cGVk
ZWYgcGFpcjxJbnNwZWN0b3JDb250cm9sbGVyKiwgaW50PiBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b25Db29raWU7CiAKIGNsYXNzIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbiB7CkBAIC05MCw2ICs5
NiwxMyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tp
ZSB3aWxsV3JpdGVIVE1MKERvY3VtZW50KiwgdW5zaWduZWQgaW50IGxlbmd0aCwgdW5zaWduZWQg
aW50IHN0YXJ0TGluZSk7CiAgICAgc3RhdGljIHZvaWQgZGlkV3JpdGVIVE1MKGNvbnN0IEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYsIHVuc2lnbmVkIGludCBlbmRMaW5lKTsKIAorI2lm
IEVOQUJMRShXRUJfU09DS0VUUykKKyAgICBzdGF0aWMgdm9pZCBkaWRDcmVhdGVXZWJTb2NrZXQo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3Qg
S1VSTCYgcmVxdWVzdFVSTCwgY29uc3QgS1VSTCYgZG9jdW1lbnRVUkwpOworICAgIHN0YXRpYyB2
b2lkIHdpbGxTZW5kV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdChTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBXZWJTb2NrZXRIYW5kc2hha2VS
ZXF1ZXN0Jik7CisgICAgc3RhdGljIHZvaWQgZGlkUmVjZWl2ZVdlYlNvY2tldEhhbmRzaGFrZVJl
c3BvbnNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIs
IGNvbnN0IFdlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlJik7CisgICAgc3RhdGljIHZvaWQgZGlk
Q2xvc2VXZWJTb2NrZXQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIHVuc2lnbmVkIGxvbmcgaWRl
bnRpZmllcik7CisjZW5kaWYKKwogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgc3RhdGljIHZv
aWQgZnJvbnRlbmRDcmVhdGVkKCkgeyBzX2Zyb250ZW5kQ291bnRlciArPSAxOyB9CiAgICAgc3Rh
dGljIHZvaWQgZnJvbnRlbmREZWxldGVkKCkgeyBzX2Zyb250ZW5kQ291bnRlciAtPSAxOyB9CkBA
IC0xNDAsNiArMTUzLDEzIEBAIHByaXZhdGU6CiAgICAgc3RhdGljIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbkNvb2tpZSB3aWxsV3JpdGVIVE1MSW1wbChJbnNwZWN0b3JDb250cm9sbGVyKiwgdW5z
aWduZWQgaW50IGxlbmd0aCwgdW5zaWduZWQgaW50IHN0YXJ0TGluZSk7CiAgICAgc3RhdGljIHZv
aWQgZGlkV3JpdGVIVE1MSW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUm
LCB1bnNpZ25lZCBpbnQgZW5kTGluZSk7CiAKKyNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCisgICAg
c3RhdGljIHZvaWQgZGlkQ3JlYXRlV2ViU29ja2V0SW1wbChJbnNwZWN0b3JDb250cm9sbGVyKiwg
dW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBLVVJMJiByZXF1ZXN0VVJMLCBjb25zdCBL
VVJMJiBkb2N1bWVudFVSTCk7CisgICAgc3RhdGljIHZvaWQgd2lsbFNlbmRXZWJTb2NrZXRIYW5k
c2hha2VSZXF1ZXN0SW1wbChJbnNwZWN0b3JDb250cm9sbGVyKiwgdW5zaWduZWQgbG9uZyBpZGVu
dGlmaWVyLCBjb25zdCBXZWJTb2NrZXRIYW5kc2hha2VSZXF1ZXN0Jik7CisgICAgc3RhdGljIHZv
aWQgZGlkUmVjZWl2ZVdlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlSW1wbChJbnNwZWN0b3JDb250
cm9sbGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBXZWJTb2NrZXRIYW5kc2hh
a2VSZXNwb25zZSYpOworICAgIHN0YXRpYyB2b2lkIGRpZENsb3NlV2ViU29ja2V0SW1wbChJbnNw
ZWN0b3JDb250cm9sbGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKTsKKyNlbmRpZgorCiAg
ICAgc3RhdGljIEluc3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3RvckNvbnRyb2xsZXJGb3JDb250
ZXh0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKICAgICBzdGF0aWMgSW5zcGVjdG9yQ29udHJv
bGxlciogaW5zcGVjdG9yQ29udHJvbGxlckZvckRvY3VtZW50KERvY3VtZW50Kik7CiAgICAgc3Rh
dGljIEluc3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3RvckNvbnRyb2xsZXJGb3JGcmFtZShGcmFt
ZSopOwpAQCAtNDYwLDYgKzQ4MCwzOSBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmRpZFdyaXRlSFRNTChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpbwogI2VuZGlm
CiB9CiAKKyNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmRpZENyZWF0ZVdlYlNvY2tldChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
b250ZXh0LCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IEtVUkwmIHJlcXVlc3RVUkws
IGNvbnN0IEtVUkwmIGRvY3VtZW50VVJMKQoreworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAg
aWYgKEluc3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3RvckNvbnRyb2xsZXIgPSBpbnNwZWN0b3JD
b250cm9sbGVyRm9yQ29udGV4dChjb250ZXh0KSkKKyAgICAgICAgZGlkQ3JlYXRlV2ViU29ja2V0
SW1wbChpbnNwZWN0b3JDb250cm9sbGVyLCBpZGVudGlmaWVyLCByZXF1ZXN0VVJMLCBkb2N1bWVu
dFVSTCk7CisjZW5kaWYKK30KKworaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Ojp3aWxsU2VuZFdlYlNvY2tldEhhbmRzaGFrZVJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY29udGV4dCwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBXZWJTb2NrZXRIYW5k
c2hha2VSZXF1ZXN0JiByZXF1ZXN0KQoreworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgaWYg
KEluc3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3RvckNvbnRyb2xsZXIgPSBpbnNwZWN0b3JDb250
cm9sbGVyRm9yQ29udGV4dChjb250ZXh0KSkKKyAgICAgICAgd2lsbFNlbmRXZWJTb2NrZXRIYW5k
c2hha2VSZXF1ZXN0SW1wbChpbnNwZWN0b3JDb250cm9sbGVyLCBpZGVudGlmaWVyLCByZXF1ZXN0
KTsKKyNlbmRpZgorfQorCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRp
ZFJlY2VpdmVXZWJTb2NrZXRIYW5kc2hha2VSZXNwb25zZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBjb250ZXh0LCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFdlYlNvY2tldEhhbmRz
aGFrZVJlc3BvbnNlJiByZXNwb25zZSkKK3sKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIGlm
IChJbnNwZWN0b3JDb250cm9sbGVyKiBpbnNwZWN0b3JDb250cm9sbGVyID0gaW5zcGVjdG9yQ29u
dHJvbGxlckZvckNvbnRleHQoY29udGV4dCkpCisgICAgICAgIGRpZFJlY2VpdmVXZWJTb2NrZXRI
YW5kc2hha2VSZXNwb25zZUltcGwoaW5zcGVjdG9yQ29udHJvbGxlciwgaWRlbnRpZmllciwgcmVz
cG9uc2UpOworI2VuZGlmCit9CisKK2lubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6ZGlkQ2xvc2VXZWJTb2NrZXQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgdW5z
aWduZWQgbG9uZyBpZGVudGlmaWVyKQoreworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgaWYg
KEluc3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3RvckNvbnRyb2xsZXIgPSBpbnNwZWN0b3JDb250
cm9sbGVyRm9yQ29udGV4dChjb250ZXh0KSkKKyAgICAgICAgZGlkQ2xvc2VXZWJTb2NrZXRJbXBs
KGluc3BlY3RvckNvbnRyb2xsZXIsIGlkZW50aWZpZXIpOworI2VuZGlmCit9CisjZW5kaWYKIAog
I2lmIEVOQUJMRShJTlNQRUNUT1IpCiBpbmxpbmUgSW5zcGVjdG9yQ29udHJvbGxlciogSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjppbnNwZWN0b3JDb250cm9sbGVyRm9yQ29udGV4dChTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRz
L1dlYlNvY2tldENoYW5uZWwuY3BwIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5u
ZWwuY3BwCmluZGV4IDQ1YmIyMDY4ODVjMzcwN2M4YWFmNzI5MGZlYzgxNzg2NDE3Njg0M2IuLjhk
MmNhY2UxNDNmM2Y5MGY1NjMwOWVhOTA0NDI1OWU3YmJmMzliZTIgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAorKysgYi9XZWJDb3JlL3dlYnNvY2tl
dHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJDb29r
aWVKYXIuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNvbnRy
b2xsZXIuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRl
ICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5n
LmgiCkBAIC03MSwxMCArNzIsNyBAQCBXZWJTb2NrZXRDaGFubmVsOjpXZWJTb2NrZXRDaGFubmVs
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFdlYlNvY2tldENoYQogICAgICwgbV9p
ZGVudGlmaWVyKDApCiAjZW5kaWYKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotICAgIGlmIChJ
bnNwZWN0b3JDb250cm9sbGVyKiBjb250cm9sbGVyID0gbV9jb250ZXh0LT5pbnNwZWN0b3JDb250
cm9sbGVyKCkpCi0gICAgICAgIGNvbnRyb2xsZXItPmRpZENyZWF0ZVdlYlNvY2tldChpZGVudGlm
aWVyKCksIHVybCwgbV9jb250ZXh0LT51cmwoKSk7Ci0jZW5kaWYKKyAgICBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmRpZENyZWF0ZVdlYlNvY2tldChtX2NvbnRleHQsIGlkZW50aWZpZXIoKSwg
dXJsLCBtX2NvbnRleHQtPnVybCgpKTsKIH0KIAogV2ViU29ja2V0Q2hhbm5lbDo6fldlYlNvY2tl
dENoYW5uZWwoKQpAQCAtMTI0LDExICsxMjIsOCBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmNs
b3NlKCkKIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZGlzY29ubmVjdCgpCiB7CiAgICAgTE9HKE5l
dHdvcmssICJXZWJTb2NrZXRDaGFubmVsICVwIGRpc2Nvbm5lY3QiLCB0aGlzKTsKLSNpZiBFTkFC
TEUoSU5TUEVDVE9SKQogICAgIGlmIChtX2NvbnRleHQpCi0gICAgICAgIGlmIChJbnNwZWN0b3JD
b250cm9sbGVyKiBjb250cm9sbGVyID0gbV9jb250ZXh0LT5pbnNwZWN0b3JDb250cm9sbGVyKCkp
Ci0gICAgICAgICAgICBjb250cm9sbGVyLT5kaWRDbG9zZVdlYlNvY2tldChpZGVudGlmaWVyKCkp
OwotI2VuZGlmCisgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ2xvc2VXZWJT
b2NrZXQobV9jb250ZXh0LCBpZGVudGlmaWVyKCkpOwogICAgIG1faGFuZHNoYWtlLmNsZWFyU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpOwogICAgIG1fY2xpZW50ID0gMDsKICAgICBtX2NvbnRleHQg
PSAwOwpAQCAtMTU0LDEwICsxNDksNyBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmRpZE9wZW4o
U29ja2V0U3RyZWFtSGFuZGxlKiBoYW5kbGUpCiAgICAgQVNTRVJUKGhhbmRsZSA9PSBtX2hhbmRs
ZSk7CiAgICAgaWYgKCFtX2NvbnRleHQpCiAgICAgICAgIHJldHVybjsKLSNpZiBFTkFCTEUoSU5T
UEVDVE9SKQotICAgIGlmIChJbnNwZWN0b3JDb250cm9sbGVyKiBjb250cm9sbGVyID0gbV9jb250
ZXh0LT5pbnNwZWN0b3JDb250cm9sbGVyKCkpCi0gICAgICAgIGNvbnRyb2xsZXItPndpbGxTZW5k
V2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdChpZGVudGlmaWVyKCksIG1faGFuZHNoYWtlLmNsaWVu
dEhhbmRzaGFrZVJlcXVlc3QoKSk7Ci0jZW5kaWYKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OndpbGxTZW5kV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdChtX2NvbnRleHQsIGlkZW50aWZp
ZXIoKSwgbV9oYW5kc2hha2UuY2xpZW50SGFuZHNoYWtlUmVxdWVzdCgpKTsKICAgICBDU3RyaW5n
IGhhbmRzaGFrZU1lc3NhZ2UgPSBtX2hhbmRzaGFrZS5jbGllbnRIYW5kc2hha2VNZXNzYWdlKCk7
CiAgICAgaWYgKCFoYW5kbGUtPnNlbmQoaGFuZHNoYWtlTWVzc2FnZS5kYXRhKCksIGhhbmRzaGFr
ZU1lc3NhZ2UubGVuZ3RoKCkpKSB7CiAgICAgICAgIG1fY29udGV4dC0+YWRkTWVzc2FnZShKU01l
c3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkVycm9yIHNl
bmRpbmcgaGFuZHNoYWtlIG1lc3NhZ2UuIiwgMCwgbV9oYW5kc2hha2UuY2xpZW50T3JpZ2luKCkp
OwpAQCAtMTY4LDExICsxNjAsOCBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmRpZE9wZW4oU29j
a2V0U3RyZWFtSGFuZGxlKiBoYW5kbGUpCiB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmRpZENsb3Nl
KFNvY2tldFN0cmVhbUhhbmRsZSogaGFuZGxlKQogewogICAgIExPRyhOZXR3b3JrLCAiV2ViU29j
a2V0Q2hhbm5lbCAlcCBkaWRDbG9zZSIsIHRoaXMpOwotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAg
ICAgaWYgKG1fY29udGV4dCkKLSAgICAgICAgaWYgKEluc3BlY3RvckNvbnRyb2xsZXIqIGNvbnRy
b2xsZXIgPSBtX2NvbnRleHQtPmluc3BlY3RvckNvbnRyb2xsZXIoKSkKLSAgICAgICAgICAgIGNv
bnRyb2xsZXItPmRpZENsb3NlV2ViU29ja2V0KGlkZW50aWZpZXIoKSk7Ci0jZW5kaWYKKyAgICAg
ICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDbG9zZVdlYlNvY2tldChtX2NvbnRleHQs
IGlkZW50aWZpZXIoKSk7CiAgICAgQVNTRVJUX1VOVVNFRChoYW5kbGUsIGhhbmRsZSA9PSBtX2hh
bmRsZSB8fCAhbV9oYW5kbGUpOwogICAgIG1fY2xvc2VkID0gdHJ1ZTsKICAgICBpZiAobV9oYW5k
bGUpIHsKQEAgLTI3NiwxMCArMjY1LDcgQEAgYm9vbCBXZWJTb2NrZXRDaGFubmVsOjpwcm9jZXNz
QnVmZmVyKCkKICAgICAgICAgaWYgKGhlYWRlckxlbmd0aCA8PSAwKQogICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgICAgICBpZiAobV9oYW5kc2hha2UubW9kZSgpID09IFdlYlNvY2tldEhh
bmRzaGFrZTo6Q29ubmVjdGVkKSB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLSAgICAgICAgICAg
IGlmIChJbnNwZWN0b3JDb250cm9sbGVyKiBjb250cm9sbGVyID0gbV9jb250ZXh0LT5pbnNwZWN0
b3JDb250cm9sbGVyKCkpCi0gICAgICAgICAgICAgICAgY29udHJvbGxlci0+ZGlkUmVjZWl2ZVdl
YlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlKGlkZW50aWZpZXIoKSwgbV9oYW5kc2hha2Uuc2VydmVy
SGFuZHNoYWtlUmVzcG9uc2UoKSk7Ci0jZW5kaWYKKyAgICAgICAgICAgIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6ZGlkUmVjZWl2ZVdlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlKG1fY29udGV4
dCwgaWRlbnRpZmllcigpLCBtX2hhbmRzaGFrZS5zZXJ2ZXJIYW5kc2hha2VSZXNwb25zZSgpKTsK
ICAgICAgICAgICAgIGlmICghbV9oYW5kc2hha2Uuc2VydmVyU2V0Q29va2llKCkuaXNFbXB0eSgp
KSB7CiAgICAgICAgICAgICAgICAgaWYgKG1fY29udGV4dC0+aXNEb2N1bWVudCgpKSB7CiAgICAg
ICAgICAgICAgICAgICAgIERvY3VtZW50KiBkb2N1bWVudCA9IHN0YXRpY19jYXN0PERvY3VtZW50
Kj4obV9jb250ZXh0KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71276</attachid>
            <date>2010-10-20 05:20:16 -0700</date>
            <delta_ts>2010-10-21 02:23:52 -0700</delta_ts>
            <desc>Patch v2</desc>
            <filename>bug-47968-20101020212013.patch</filename>
            <type>text/plain</type>
            <size>13459</size>
            <attacher name="Yuta Kitamura">yutak</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZDJiZGVmYzc5MjBhNWRlNDkyODE1MzM5YWVkYjZlNjY2ZTBmM2E2Ny4uM2Q5ZjdkNGJiZjE2ZmM4
ZDMwNjkzNTdlMmQ1Y2Y4YTM1YTA0ZGY5YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAxMC0xMC0yMCAgWXV0
YSBLaXRhbXVyYSAgPHl1dGFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBIYW5kbGUgV2ViU29ja2V0
IGV2ZW50cyB2aWEgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Nzk2OAorCisgICAgICAgICogaW5zcGVjdG9y
L0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmRpZENyZWF0ZVdlYlNvY2tldEltcGwpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsU2VuZFdlYlNvY2tldEhhbmRzaGFr
ZVJlcXVlc3RJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6ZGlkUmVjZWl2ZVdlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlSW1wbCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENsb3NlV2ViU29ja2V0SW1wbCk6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDcmVhdGVXZWJTb2NrZXQp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsU2VuZFdl
YlNvY2tldEhhbmRzaGFrZVJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlV2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2UpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDbG9zZVdlYlNvY2tl
dCk6CisgICAgICAgICogd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6OldlYlNvY2tldENoYW5uZWwpOgorICAgICAgICBO
b3cgd2UgZG8gbm90IGRlcGVuZCBvbiBJbnNwZWN0b3JDb250cm9sbGVyIHRvIGdlbmVyYXRlIGEg
cmVzb3VyY2UgaWRlbnRpZmllci4KKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6
OmRpc2Nvbm5lY3QpOgorICAgICAgICBDaGVjayBpZiBtX2lkZW50aWZpZXIgaXMgdmFsaWQgaW4g
Y2FzZSB3ZSBjb3VsZCBub3Qgb2J0YWluIGFuIGlkZW50aWZpZXIuCisgICAgICAgIChXZWJDb3Jl
OjpXZWJTb2NrZXRDaGFubmVsOjpkaWRPcGVuKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tl
dENoYW5uZWw6OmRpZENsb3NlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6
OnByb2Nlc3NCdWZmZXIpOgorICAgICAgICAqIHdlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5o
OgorCiAyMDEwLTEwLTIwICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgQW5kcmVhcyBLbGluZy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCmluZGV4IGFlODkyNjZjZTUyODI2NGYxYzQyNTM3NGEx
YmNmZGFiZTAwZDBjZTAuLjk0MjAyYzExNjVlZjExYzM4ZTg4ZjYwZDdiZWRhMTNmYzNkNGJkOWMg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5j
cHAKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApA
QCAtNDEyLDYgKzQxMiwyOCBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkV3Jp
dGVIVE1MSW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25DbwogICAgICAgICB0aW1l
bGluZUFnZW50LT5kaWRXcml0ZUhUTUwoZW5kTGluZSk7CiB9CiAKKyNpZiBFTkFCTEUoV0VCX1NP
Q0tFVFMpCit2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ3JlYXRlV2ViU29ja2V0
SW1wbChJbnNwZWN0b3JDb250cm9sbGVyKiBpbnNwZWN0b3JDb250cm9sbGVyLCB1bnNpZ25lZCBs
b25nIGlkZW50aWZpZXIsIGNvbnN0IEtVUkwmIHJlcXVlc3RVUkwsIGNvbnN0IEtVUkwmIGRvY3Vt
ZW50VVJMKQoreworICAgIGluc3BlY3RvckNvbnRyb2xsZXItPmRpZENyZWF0ZVdlYlNvY2tldChp
ZGVudGlmaWVyLCByZXF1ZXN0VVJMLCBkb2N1bWVudFVSTCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjp3aWxsU2VuZFdlYlNvY2tldEhhbmRzaGFrZVJlcXVlc3RJbXBsKElu
c3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3RvckNvbnRyb2xsZXIsIHVuc2lnbmVkIGxvbmcgaWRl
bnRpZmllciwgY29uc3QgV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdCYgcmVxdWVzdCkKK3sKKyAg
ICBpbnNwZWN0b3JDb250cm9sbGVyLT53aWxsU2VuZFdlYlNvY2tldEhhbmRzaGFrZVJlcXVlc3Qo
aWRlbnRpZmllciwgcmVxdWVzdCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRSZWNlaXZlV2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2VJbXBsKEluc3BlY3RvckNvbnRy
b2xsZXIqIGluc3BlY3RvckNvbnRyb2xsZXIsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29u
c3QgV2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2UmIHJlc3BvbnNlKQoreworICAgIGluc3BlY3Rv
ckNvbnRyb2xsZXItPmRpZFJlY2VpdmVXZWJTb2NrZXRIYW5kc2hha2VSZXNwb25zZShpZGVudGlm
aWVyLCByZXNwb25zZSk7Cit9CisKK3ZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRD
bG9zZVdlYlNvY2tldEltcGwoSW5zcGVjdG9yQ29udHJvbGxlciogaW5zcGVjdG9yQ29udHJvbGxl
ciwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKQoreworICAgIGluc3BlY3RvckNvbnRyb2xsZXIt
PmRpZENsb3NlV2ViU29ja2V0KGlkZW50aWZpZXIpOworfQorI2VuZGlmCisKIGJvb2wgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpoYXNGcm9udGVuZChJbnNwZWN0b3JDb250cm9sbGVyKiBpbnNw
ZWN0b3JDb250cm9sbGVyKQogewogICAgIHJldHVybiBpbnNwZWN0b3JDb250cm9sbGVyLT5oYXNG
cm9udGVuZCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uLmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
aAppbmRleCBlNzI4YTVlMTEzYzQ0Njk4ZmNjNzdkMjc3NzdkMWU0ZGM0Y2Y2NDA2Li4xYjYyZWNi
NzZjNzgyOTc0OGY0MjE2N2ZiODIzYjNjZDhkNjVjMmI0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAorKysgYi9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaApAQCAtNDIsMTEgKzQyLDE3IEBAIGNsYXNzIENo
YXJhY3RlckRhdGE7CiBjbGFzcyBFbGVtZW50OwogY2xhc3MgSW5zcGVjdG9yQ29udHJvbGxlcjsK
IGNsYXNzIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ7CitjbGFzcyBLVVJMOwogY2xhc3MgTm9kZTsK
IGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBY
TUxIdHRwUmVxdWVzdDsKIAorI2lmIEVOQUJMRShXRUJfU09DS0VUUykKK2NsYXNzIFdlYlNvY2tl
dEhhbmRzaGFrZVJlcXVlc3Q7CitjbGFzcyBXZWJTb2NrZXRIYW5kc2hha2VSZXNwb25zZTsKKyNl
bmRpZgorCiB0eXBlZGVmIHBhaXI8SW5zcGVjdG9yQ29udHJvbGxlciosIGludD4gSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uQ29va2llOwogCiBjbGFzcyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24g
ewpAQCAtOTAsNiArOTYsMTMgQEAgcHVibGljOgogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb25Db29raWUgd2lsbFdyaXRlSFRNTChEb2N1bWVudCosIHVuc2lnbmVkIGludCBsZW5n
dGgsIHVuc2lnbmVkIGludCBzdGFydExpbmUpOwogICAgIHN0YXRpYyB2b2lkIGRpZFdyaXRlSFRN
TChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmLCB1bnNpZ25lZCBpbnQgZW5k
TGluZSk7CiAKKyNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCisgICAgc3RhdGljIHZvaWQgZGlkQ3Jl
YXRlV2ViU29ja2V0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCB1bnNpZ25lZCBsb25nIGlkZW50
aWZpZXIsIGNvbnN0IEtVUkwmIHJlcXVlc3RVUkwsIGNvbnN0IEtVUkwmIGRvY3VtZW50VVJMKTsK
KyAgICBzdGF0aWMgdm9pZCB3aWxsU2VuZFdlYlNvY2tldEhhbmRzaGFrZVJlcXVlc3QoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgV2ViU29j
a2V0SGFuZHNoYWtlUmVxdWVzdCYpOworICAgIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVXZWJTb2Nr
ZXRIYW5kc2hha2VSZXNwb25zZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgdW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBjb25zdCBXZWJTb2NrZXRIYW5kc2hha2VSZXNwb25zZSYpOworICAgIHN0
YXRpYyB2b2lkIGRpZENsb3NlV2ViU29ja2V0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCB1bnNp
Z25lZCBsb25nIGlkZW50aWZpZXIpOworI2VuZGlmCisKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQog
ICAgIHN0YXRpYyB2b2lkIGZyb250ZW5kQ3JlYXRlZCgpIHsgc19mcm9udGVuZENvdW50ZXIgKz0g
MTsgfQogICAgIHN0YXRpYyB2b2lkIGZyb250ZW5kRGVsZXRlZCgpIHsgc19mcm9udGVuZENvdW50
ZXIgLT0gMTsgfQpAQCAtMTQwLDYgKzE1MywxMyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbFdyaXRlSFRNTEltcGwoSW5zcGVjdG9yQ29u
dHJvbGxlciosIHVuc2lnbmVkIGludCBsZW5ndGgsIHVuc2lnbmVkIGludCBzdGFydExpbmUpOwog
ICAgIHN0YXRpYyB2b2lkIGRpZFdyaXRlSFRNTEltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uQ29va2llJiwgdW5zaWduZWQgaW50IGVuZExpbmUpOwogCisjaWYgRU5BQkxFKFdFQl9T
T0NLRVRTKQorICAgIHN0YXRpYyB2b2lkIGRpZENyZWF0ZVdlYlNvY2tldEltcGwoSW5zcGVjdG9y
Q29udHJvbGxlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgS1VSTCYgcmVxdWVz
dFVSTCwgY29uc3QgS1VSTCYgZG9jdW1lbnRVUkwpOworICAgIHN0YXRpYyB2b2lkIHdpbGxTZW5k
V2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdEltcGwoSW5zcGVjdG9yQ29udHJvbGxlciosIHVuc2ln
bmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdCYpOwor
ICAgIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVXZWJTb2NrZXRIYW5kc2hha2VSZXNwb25zZUltcGwo
SW5zcGVjdG9yQ29udHJvbGxlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgV2Vi
U29ja2V0SGFuZHNoYWtlUmVzcG9uc2UmKTsKKyAgICBzdGF0aWMgdm9pZCBkaWRDbG9zZVdlYlNv
Y2tldEltcGwoSW5zcGVjdG9yQ29udHJvbGxlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcik7
CisjZW5kaWYKKwogICAgIHN0YXRpYyBJbnNwZWN0b3JDb250cm9sbGVyKiBpbnNwZWN0b3JDb250
cm9sbGVyRm9yQ29udGV4dChTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CiAgICAgc3RhdGljIElu
c3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3RvckNvbnRyb2xsZXJGb3JEb2N1bWVudChEb2N1bWVu
dCopOwogICAgIHN0YXRpYyBJbnNwZWN0b3JDb250cm9sbGVyKiBpbnNwZWN0b3JDb250cm9sbGVy
Rm9yRnJhbWUoRnJhbWUqKTsKQEAgLTQ2MCw2ICs0ODAsMzkgQEAgaW5saW5lIHZvaWQgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRXcml0ZUhUTUwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW8KICNlbmRpZgogfQogCisjaWYgRU5BQkxFKFdFQl9TT0NLRVRTKQoraW5saW5lIHZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDcmVhdGVXZWJTb2NrZXQoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBLVVJM
JiByZXF1ZXN0VVJMLCBjb25zdCBLVVJMJiBkb2N1bWVudFVSTCkKK3sKKyNpZiBFTkFCTEUoSU5T
UEVDVE9SKQorICAgIGlmIChJbnNwZWN0b3JDb250cm9sbGVyKiBpbnNwZWN0b3JDb250cm9sbGVy
ID0gaW5zcGVjdG9yQ29udHJvbGxlckZvckNvbnRleHQoY29udGV4dCkpCisgICAgICAgIGRpZENy
ZWF0ZVdlYlNvY2tldEltcGwoaW5zcGVjdG9yQ29udHJvbGxlciwgaWRlbnRpZmllciwgcmVxdWVz
dFVSTCwgZG9jdW1lbnRVUkwpOworI2VuZGlmCit9CisKK2lubGluZSB2b2lkIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6d2lsbFNlbmRXZWJTb2NrZXRIYW5kc2hha2VSZXF1ZXN0KFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3Qg
V2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdCYgcmVxdWVzdCkKK3sKKyNpZiBFTkFCTEUoSU5TUEVD
VE9SKQorICAgIGlmIChJbnNwZWN0b3JDb250cm9sbGVyKiBpbnNwZWN0b3JDb250cm9sbGVyID0g
aW5zcGVjdG9yQ29udHJvbGxlckZvckNvbnRleHQoY29udGV4dCkpCisgICAgICAgIHdpbGxTZW5k
V2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdEltcGwoaW5zcGVjdG9yQ29udHJvbGxlciwgaWRlbnRp
ZmllciwgcmVxdWVzdCk7CisjZW5kaWYKK30KKworaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpkaWRSZWNlaXZlV2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2UoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBX
ZWJTb2NrZXRIYW5kc2hha2VSZXNwb25zZSYgcmVzcG9uc2UpCit7CisjaWYgRU5BQkxFKElOU1BF
Q1RPUikKKyAgICBpZiAoSW5zcGVjdG9yQ29udHJvbGxlciogaW5zcGVjdG9yQ29udHJvbGxlciA9
IGluc3BlY3RvckNvbnRyb2xsZXJGb3JDb250ZXh0KGNvbnRleHQpKQorICAgICAgICBkaWRSZWNl
aXZlV2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2VJbXBsKGluc3BlY3RvckNvbnRyb2xsZXIsIGlk
ZW50aWZpZXIsIHJlc3BvbnNlKTsKKyNlbmRpZgorfQorCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZENsb3NlV2ViU29ja2V0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcikKK3sKKyNpZiBFTkFCTEUoSU5TUEVD
VE9SKQorICAgIGlmIChJbnNwZWN0b3JDb250cm9sbGVyKiBpbnNwZWN0b3JDb250cm9sbGVyID0g
aW5zcGVjdG9yQ29udHJvbGxlckZvckNvbnRleHQoY29udGV4dCkpCisgICAgICAgIGRpZENsb3Nl
V2ViU29ja2V0SW1wbChpbnNwZWN0b3JDb250cm9sbGVyLCBpZGVudGlmaWVyKTsKKyNlbmRpZgor
fQorI2VuZGlmCiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogaW5saW5lIEluc3BlY3RvckNvbnRy
b2xsZXIqIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aW5zcGVjdG9yQ29udHJvbGxlckZvckNv
bnRleHQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcCBiL1dlYkNvcmUvd2Vic29ja2V0cy9X
ZWJTb2NrZXRDaGFubmVsLmNwcAppbmRleCA0NWJiMjA2ODg1YzM3MDdjOGFhZjcyOTBmZWM4MTc4
NjQxNzY4NDNiLi4wMWMyYmVmZmRhNTJhNTY1YzA4Yjg0ZTdjY2QxZDNjOWFlNjcwY2YwIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKKysrIGIvV2Vi
Q29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCkBAIC0zNiw3ICszNiw3IEBACiAK
ICNpbmNsdWRlICJDb29raWVKYXIuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgotI2luY2x1ZGUg
Ikluc3BlY3RvckNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24uaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUg
IlBsYXRmb3JtU3RyaW5nLmgiCkBAIC02NywxNCArNjcsMTQgQEAgV2ViU29ja2V0Q2hhbm5lbDo6
V2ViU29ja2V0Q2hhbm5lbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBXZWJTb2Nr
ZXRDaGEKICAgICAsIG1fY2xvc2VkKGZhbHNlKQogICAgICwgbV9zaG91bGREaXNjYXJkUmVjZWl2
ZWREYXRhKGZhbHNlKQogICAgICwgbV91bmhhbmRsZWRCdWZmZXJlZEFtb3VudCgwKQotI2lmIEVO
QUJMRShJTlNQRUNUT1IpCiAgICAgLCBtX2lkZW50aWZpZXIoMCkKLSNlbmRpZgogewotI2lmIEVO
QUJMRShJTlNQRUNUT1IpCi0gICAgaWYgKEluc3BlY3RvckNvbnRyb2xsZXIqIGNvbnRyb2xsZXIg
PSBtX2NvbnRleHQtPmluc3BlY3RvckNvbnRyb2xsZXIoKSkKLSAgICAgICAgY29udHJvbGxlci0+
ZGlkQ3JlYXRlV2ViU29ja2V0KGlkZW50aWZpZXIoKSwgdXJsLCBtX2NvbnRleHQtPnVybCgpKTsK
LSNlbmRpZgorICAgIGlmIChtX2NvbnRleHQtPmlzRG9jdW1lbnQoKSkKKyAgICAgICAgaWYgKFBh
Z2UqIHBhZ2UgPSBzdGF0aWNfY2FzdDxEb2N1bWVudCo+KG1fY29udGV4dCktPnBhZ2UoKSkKKyAg
ICAgICAgICAgIG1faWRlbnRpZmllciA9IHBhZ2UtPnByb2dyZXNzKCktPmNyZWF0ZVVuaXF1ZUlk
ZW50aWZpZXIoKTsKKworICAgIGlmIChtX2lkZW50aWZpZXIpCisgICAgICAgIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6ZGlkQ3JlYXRlV2ViU29ja2V0KG1fY29udGV4dCwgbV9pZGVudGlmaWVy
LCB1cmwsIG1fY29udGV4dC0+dXJsKCkpOwogfQogCiBXZWJTb2NrZXRDaGFubmVsOjp+V2ViU29j
a2V0Q2hhbm5lbCgpCkBAIC0xMjQsMTEgKzEyNCw4IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6
Y2xvc2UoKQogdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpkaXNjb25uZWN0KCkKIHsKICAgICBMT0co
TmV0d29yaywgIldlYlNvY2tldENoYW5uZWwgJXAgZGlzY29ubmVjdCIsIHRoaXMpOwotI2lmIEVO
QUJMRShJTlNQRUNUT1IpCi0gICAgaWYgKG1fY29udGV4dCkKLSAgICAgICAgaWYgKEluc3BlY3Rv
ckNvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBtX2NvbnRleHQtPmluc3BlY3RvckNvbnRyb2xsZXIo
KSkKLSAgICAgICAgICAgIGNvbnRyb2xsZXItPmRpZENsb3NlV2ViU29ja2V0KGlkZW50aWZpZXIo
KSk7Ci0jZW5kaWYKKyAgICBpZiAobV9pZGVudGlmaWVyICYmIG1fY29udGV4dCkKKyAgICAgICAg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDbG9zZVdlYlNvY2tldChtX2NvbnRleHQsIG1f
aWRlbnRpZmllcik7CiAgICAgbV9oYW5kc2hha2UuY2xlYXJTY3JpcHRFeGVjdXRpb25Db250ZXh0
KCk7CiAgICAgbV9jbGllbnQgPSAwOwogICAgIG1fY29udGV4dCA9IDA7CkBAIC0xNTQsMTAgKzE1
MSw4IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZGlkT3BlbihTb2NrZXRTdHJlYW1IYW5kbGUq
IGhhbmRsZSkKICAgICBBU1NFUlQoaGFuZGxlID09IG1faGFuZGxlKTsKICAgICBpZiAoIW1fY29u
dGV4dCkKICAgICAgICAgcmV0dXJuOwotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0gICAgaWYgKElu
c3BlY3RvckNvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBtX2NvbnRleHQtPmluc3BlY3RvckNvbnRy
b2xsZXIoKSkKLSAgICAgICAgY29udHJvbGxlci0+d2lsbFNlbmRXZWJTb2NrZXRIYW5kc2hha2VS
ZXF1ZXN0KGlkZW50aWZpZXIoKSwgbV9oYW5kc2hha2UuY2xpZW50SGFuZHNoYWtlUmVxdWVzdCgp
KTsKLSNlbmRpZgorICAgIGlmIChtX2lkZW50aWZpZXIpCisgICAgICAgIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6d2lsbFNlbmRXZWJTb2NrZXRIYW5kc2hha2VSZXF1ZXN0KG1fY29udGV4dCwg
bV9pZGVudGlmaWVyLCBtX2hhbmRzaGFrZS5jbGllbnRIYW5kc2hha2VSZXF1ZXN0KCkpOwogICAg
IENTdHJpbmcgaGFuZHNoYWtlTWVzc2FnZSA9IG1faGFuZHNoYWtlLmNsaWVudEhhbmRzaGFrZU1l
c3NhZ2UoKTsKICAgICBpZiAoIWhhbmRsZS0+c2VuZChoYW5kc2hha2VNZXNzYWdlLmRhdGEoKSwg
aGFuZHNoYWtlTWVzc2FnZS5sZW5ndGgoKSkpIHsKICAgICAgICAgbV9jb250ZXh0LT5hZGRNZXNz
YWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAi
RXJyb3Igc2VuZGluZyBoYW5kc2hha2UgbWVzc2FnZS4iLCAwLCBtX2hhbmRzaGFrZS5jbGllbnRP
cmlnaW4oKSk7CkBAIC0xNjgsMTEgKzE2Myw4IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZGlk
T3BlbihTb2NrZXRTdHJlYW1IYW5kbGUqIGhhbmRsZSkKIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6
ZGlkQ2xvc2UoU29ja2V0U3RyZWFtSGFuZGxlKiBoYW5kbGUpCiB7CiAgICAgTE9HKE5ldHdvcmss
ICJXZWJTb2NrZXRDaGFubmVsICVwIGRpZENsb3NlIiwgdGhpcyk7Ci0jaWYgRU5BQkxFKElOU1BF
Q1RPUikKLSAgICBpZiAobV9jb250ZXh0KQotICAgICAgICBpZiAoSW5zcGVjdG9yQ29udHJvbGxl
ciogY29udHJvbGxlciA9IG1fY29udGV4dC0+aW5zcGVjdG9yQ29udHJvbGxlcigpKQotICAgICAg
ICAgICAgY29udHJvbGxlci0+ZGlkQ2xvc2VXZWJTb2NrZXQoaWRlbnRpZmllcigpKTsKLSNlbmRp
ZgorICAgIGlmIChtX2lkZW50aWZpZXIgJiYgbV9jb250ZXh0KQorICAgICAgICBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZENsb3NlV2ViU29ja2V0KG1fY29udGV4dCwgbV9pZGVudGlmaWVy
KTsKICAgICBBU1NFUlRfVU5VU0VEKGhhbmRsZSwgaGFuZGxlID09IG1faGFuZGxlIHx8ICFtX2hh
bmRsZSk7CiAgICAgbV9jbG9zZWQgPSB0cnVlOwogICAgIGlmIChtX2hhbmRsZSkgewpAQCAtMjc2
LDEwICsyNjgsOCBAQCBib29sIFdlYlNvY2tldENoYW5uZWw6OnByb2Nlc3NCdWZmZXIoKQogICAg
ICAgICBpZiAoaGVhZGVyTGVuZ3RoIDw9IDApCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgICAgIGlmIChtX2hhbmRzaGFrZS5tb2RlKCkgPT0gV2ViU29ja2V0SGFuZHNoYWtlOjpDb25u
ZWN0ZWQpIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotICAgICAgICAgICAgaWYgKEluc3BlY3Rv
ckNvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBtX2NvbnRleHQtPmluc3BlY3RvckNvbnRyb2xsZXIo
KSkKLSAgICAgICAgICAgICAgICBjb250cm9sbGVyLT5kaWRSZWNlaXZlV2ViU29ja2V0SGFuZHNo
YWtlUmVzcG9uc2UoaWRlbnRpZmllcigpLCBtX2hhbmRzaGFrZS5zZXJ2ZXJIYW5kc2hha2VSZXNw
b25zZSgpKTsKLSNlbmRpZgorICAgICAgICAgICAgaWYgKG1faWRlbnRpZmllcikKKyAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVXZWJTb2NrZXRIYW5k
c2hha2VSZXNwb25zZShtX2NvbnRleHQsIG1faWRlbnRpZmllciwgbV9oYW5kc2hha2Uuc2VydmVy
SGFuZHNoYWtlUmVzcG9uc2UoKSk7CiAgICAgICAgICAgICBpZiAoIW1faGFuZHNoYWtlLnNlcnZl
clNldENvb2tpZSgpLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgIGlmIChtX2NvbnRleHQt
PmlzRG9jdW1lbnQoKSkgewogICAgICAgICAgICAgICAgICAgICBEb2N1bWVudCogZG9jdW1lbnQg
PSBzdGF0aWNfY2FzdDxEb2N1bWVudCo+KG1fY29udGV4dCk7CkBAIC0zOTcsMjEgKzM4Nyw2IEBA
IHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6cmVzdW1lVGltZXJGaXJlZChUaW1lcjxXZWJTb2NrZXRD
aGFubmVsPiogdGltZXIpCiAgICAgICAgIGRpZENsb3NlKG1faGFuZGxlLmdldCgpKTsKIH0KIAot
I2lmIEVOQUJMRShJTlNQRUNUT1IpCi11bnNpZ25lZCBsb25nIFdlYlNvY2tldENoYW5uZWw6Omlk
ZW50aWZpZXIoKQotewotICAgIGlmIChtX2lkZW50aWZpZXIpCi0gICAgICAgIHJldHVybiBtX2lk
ZW50aWZpZXI7Ci0KLSAgICBpZiAoSW5zcGVjdG9yQ29udHJvbGxlciogY29udHJvbGxlciA9IG1f
Y29udGV4dC0+aW5zcGVjdG9yQ29udHJvbGxlcigpKQotICAgICAgICBpZiAoUGFnZSogcGFnZSA9
IGNvbnRyb2xsZXItPmluc3BlY3RlZFBhZ2UoKSkKLSAgICAgICAgICAgIG1faWRlbnRpZmllciA9
IHBhZ2UtPnByb2dyZXNzKCktPmNyZWF0ZVVuaXF1ZUlkZW50aWZpZXIoKTsKLQotICAgIEFTU0VS
VChtX2lkZW50aWZpZXIpOwotICAgIHJldHVybiBtX2lkZW50aWZpZXI7Ci19Ci0jZW5kaWYgLy8g
RU5BQkxFKElOU1BFQ1RPUikKLQogfSAgLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmICAv
LyBFTkFCTEUoV0VCX1NPQ0tFVFMpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3dlYnNvY2tldHMvV2Vi
U29ja2V0Q2hhbm5lbC5oIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaApp
bmRleCBhMDhlNmJiMmU2YWM4Njc1ODg2Nzg3Y2JmM2I2YTQ1N2QyNWNjMWY4Li45YzUyMzc3OGNj
Njg4ODY1ZmIzZjlmZGU1YWNkNzJkYjZmYWZjYWQwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNv
Y2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCisrKyBiL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2Nr
ZXRDaGFubmVsLmgKQEAgLTg0LDEwICs4NCw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgYm9vbCBwcm9jZXNzQnVmZmVyKCk7CiAgICAgICAgIHZvaWQgcmVzdW1lVGltZXJGaXJlZChU
aW1lcjxXZWJTb2NrZXRDaGFubmVsPiogdGltZXIpOwogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikK
LSAgICAgICAgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKCk7Ci0jZW5kaWYKLQogICAgICAgICBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBtX2NvbnRleHQ7CiAgICAgICAgIFdlYlNvY2tldENoYW5u
ZWxDbGllbnQqIG1fY2xpZW50OwogICAgICAgICBXZWJTb2NrZXRIYW5kc2hha2UgbV9oYW5kc2hh
a2U7CkBAIC0xMDEsOSArOTcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wg
bV9zaG91bGREaXNjYXJkUmVjZWl2ZWREYXRhOwogICAgICAgICB1bnNpZ25lZCBsb25nIG1fdW5o
YW5kbGVkQnVmZmVyZWRBbW91bnQ7CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotICAgICAgICB1
bnNpZ25lZCBsb25nIG1faWRlbnRpZmllcjsKLSNlbmRpZgorICAgICAgICB1bnNpZ25lZCBsb25n
IG1faWRlbnRpZmllcjsgLy8gbV9pZGVudGlmaWVyID09IDAgbWVhbnMgdGhhdCB3ZSBjb3VsZCBu
b3Qgb2J0YWluIGEgdmFsaWQgaWRlbnRpZmllci4KICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>