<?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>204338</bug_id>
          
          <creation_ts>2019-11-18 18:38:27 -0800</creation_ts>
          <short_desc>[WinCairo] Refine initialization and error handling in RemoteInspectorSocket</short_desc>
          <delta_ts>2019-12-08 17:53:25 -0800</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</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yousuke Kimoto">Yousuke.Kimoto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fujii</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1591401</commentid>
    <comment_count>0</comment_count>
    <who name="Yousuke Kimoto">Yousuke.Kimoto</who>
    <bug_when>2019-11-18 18:38:27 -0800</bug_when>
    <thetext>RemoteInspectorSocket should handle some error cases to avoid ambiguous conditions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1591455</commentid>
    <comment_count>1</comment_count>
      <attachid>383849</attachid>
    <who name="Yousuke Kimoto">Yousuke.Kimoto</who>
    <bug_when>2019-11-19 00:08:03 -0800</bug_when>
    <thetext>Created attachment 383849
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595736</commentid>
    <comment_count>2</comment_count>
      <attachid>383849</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-05 00:26:55 -0800</bug_when>
    <thetext>Comment on attachment 383849
patch

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

&gt; Source/JavaScriptCore/inspector/remote/socket/win/RemoteInspectorSocketWin.cpp:221
&gt; +        LOG_ERROR(&quot;createPair() error at getting server port (errno = %d)&quot;, WSAGetLastError());

You don&apos;t need to include the function name &quot;createPair()&quot; in LOG_ERROR message because it contains.

#define LOG_ERROR(...) WTFReportError(__FILE__, __LINE__, WTF_PRETTY_FUNCTION, __VA_ARGS__)

I think this LOG_ERROR is unnecessary because getPort prints log if it&apos;d fail.

&gt; Source/JavaScriptCore/inspector/remote/socket/win/RemoteInspectorSocketWin.cpp:224
&gt; +    address.sin_port = htons((u_short)*serverPort);

Why did you add this cast (u_short)? I think it&apos;s unnecessary. And, WebKit is merely using C style cast. Use static_cast&lt;u_short&gt;() if needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596194</commentid>
    <comment_count>3</comment_count>
    <who name="Yousuke Kimoto">Yousuke.Kimoto</who>
    <bug_when>2019-12-06 02:35:35 -0800</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #2)
&gt; &gt; Source/JavaScriptCore/inspector/remote/socket/win/RemoteInspectorSocketWin.cpp:221
&gt; &gt; +        LOG_ERROR(&quot;createPair() error at getting server port (errno = %d)&quot;, WSAGetLastError());
&gt; 
&gt; You don&apos;t need to include the function name &quot;createPair()&quot; in LOG_ERROR
&gt; message because it contains.
I understand, and delete the redundant error message.

&gt; #define LOG_ERROR(...) WTFReportError(__FILE__, __LINE__,
&gt; WTF_PRETTY_FUNCTION, __VA_ARGS__)
&gt; 
&gt; I think this LOG_ERROR is unnecessary because getPort prints log if it&apos;d
&gt; fail.
Actually getPort() in RemoteInspectorSocketWin.cpp doesn&apos;t print an error message though (getPort() in RemoteInspectorSocketPOSIX.cpp has it), it is a good style that the function prints the message.
  
&gt; &gt; Source/JavaScriptCore/inspector/remote/socket/win/RemoteInspectorSocketWin.cpp:224
&gt; &gt; +    address.sin_port = htons((u_short)*serverPort);
&gt; 
&gt; Why did you add this cast (u_short)? I think it&apos;s unnecessary. And, WebKit
&gt; is merely using C style cast. Use static_cast&lt;u_short&gt;() if needed.
Right, it&apos;s unnecessary. (I saw a cast warning at the line, but it seemed I was confused.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596195</commentid>
    <comment_count>4</comment_count>
      <attachid>384998</attachid>
    <who name="Yousuke Kimoto">Yousuke.Kimoto</who>
    <bug_when>2019-12-06 02:36:27 -0800</bug_when>
    <thetext>Created attachment 384998
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596742</commentid>
    <comment_count>5</comment_count>
    <who name="Yousuke Kimoto">Yousuke.Kimoto</who>
    <bug_when>2019-12-08 17:05:02 -0800</bug_when>
    <thetext>Thank you for your review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596746</commentid>
    <comment_count>6</comment_count>
      <attachid>384998</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-08 17:52:25 -0800</bug_when>
    <thetext>Comment on attachment 384998
patch

Clearing flags on attachment: 384998

Committed r253281: &lt;https://trac.webkit.org/changeset/253281&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596747</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-08 17:52:27 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596748</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-08 17:53:25 -0800</bug_when>
    <thetext>&lt;rdar://problem/57737371&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>383849</attachid>
            <date>2019-11-19 00:08:03 -0800</date>
            <delta_ts>2019-12-06 02:36:27 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>8692</size>
            <attacher name="Yousuke Kimoto">Yousuke.Kimoto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDBmN2E2Zjk0NTI2Li5lNDdmNWJhZDUxYyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTktMTEtMTggIFlvdXN1
a2UgS2ltb3RvICA8eW91c3VrZS5raW1vdG9Ac29ueS5jb20+CisKKyAgICAgICAgW1dpbkNhaXJv
XSBSZWZpbmUgaW5pdGlhbGl6YXRpb24gYW5kIGVycm9yIGhhbmRsaW5nIGluIFJlbW90ZUluc3Bl
Y3RvclNvY2tldAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjA0MzM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUmVtb3RlSW5zcGVjdG9yU29ja2V0IHNvY2tldCBlcnJvciBoYW5kbGluZyBpcyBub3QgZW5v
dWdoLAorICAgICAgICB3aGljaCBzaG91bGQgYmUgcmVmaW5lZCB0byBhdm9pZCBzdWNoIGVycm9y
IGNhc2VzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gTm8gY2hhbmdlIGluIGJlaGF2aW9yLgor
CisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU29ja2V0
Lmg6IE1vZGlmZWQgcmV0dXJuIHZhbHVlIGNoZWNrcyB0byBoYW5sZGUgZXJyb3IgY2FzZXMuCisg
ICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU29ja2V0RW5k
cG9pbnQuY3BwOiBSZWZpbmVkIGNoZWNrIGVycm9yIGhhbmRsaW5nLgorICAgICAgICAoSW5zcGVj
dG9yOjpSZW1vdGVJbnNwZWN0b3JTb2NrZXRFbmRwb2ludDo6Y3JlYXRlTGlzdGVuZXIpOgorICAg
ICAgICAqIGluc3BlY3Rvci9yZW1vdGUvc29ja2V0L3Bvc2l4L1JlbW90ZUluc3BlY3RvclNvY2tl
dFBPU0lYLmNwcDogRGl0dG8KKyAgICAgICAgKEluc3BlY3Rvcjo6U29ja2V0OjpsaXN0ZW4pOgor
ICAgICAgICAoSW5zcGVjdG9yOjpTb2NrZXQ6OnNldHVwKToKKyAgICAgICAgKEluc3BlY3Rvcjo6
U29ja2V0OjpnZXRQb3J0KToKKyAgICAgICAgKEluc3BlY3Rvcjo6U29ja2V0OjpwcmVwYXJlUG9s
bGluZyk6CisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvd2luL1JlbW90ZUluc3Bl
Y3RvclNvY2tldFdpbi5jcHA6IERpdHRvCisgICAgICAgIChJbnNwZWN0b3I6OlNvY2tldDo6Y3Jl
YXRlUGFpcik6CisgICAgICAgIChJbnNwZWN0b3I6OlNvY2tldDo6c2V0dXApOgorICAgICAgICAo
SW5zcGVjdG9yOjpTb2NrZXQ6OmdldFBvcnQpOgorICAgICAgICAoSW5zcGVjdG9yOjpTb2NrZXQ6
OnByZXBhcmVQb2xsaW5nKTogSW5pdGlhbGl6ZWQgJ3BvbGwnIHdpdGggemVybworCiAyMDE5LTEx
LTE4ICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkLCBhZGRyZXNzIERhcmluJ3MgZmVlZGJhY2sgb24gcjI1MjUyMC4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJ
bnNwZWN0b3JTb2NrZXQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3Rl
L3NvY2tldC9SZW1vdGVJbnNwZWN0b3JTb2NrZXQuaAppbmRleCA1MDA0ZjBmZWNkZC4uZGEzMjMy
OTM1MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3Rl
L3NvY2tldC9SZW1vdGVJbnNwZWN0b3JTb2NrZXQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU29ja2V0LmgKQEAgLTY5
LDEwICs2OSwxMCBAQCBPcHRpb25hbDxQbGF0Zm9ybVNvY2tldFR5cGU+IGxpc3Rlbihjb25zdCBj
aGFyKiBhZGRyZXNzLCB1aW50MTZfdCBwb3J0KTsKIE9wdGlvbmFsPFBsYXRmb3JtU29ja2V0VHlw
ZT4gYWNjZXB0KFBsYXRmb3JtU29ja2V0VHlwZSk7CiBPcHRpb25hbDxzdGQ6OmFycmF5PFBsYXRm
b3JtU29ja2V0VHlwZSwgMj4+IGNyZWF0ZVBhaXIoKTsKIAotdm9pZCBzZXR1cChQbGF0Zm9ybVNv
Y2tldFR5cGUpOworYm9vbCBzZXR1cChQbGF0Zm9ybVNvY2tldFR5cGUpOwogYm9vbCBpc1ZhbGlk
KFBsYXRmb3JtU29ja2V0VHlwZSk7CiBib29sIGlzTGlzdGVuaW5nKFBsYXRmb3JtU29ja2V0VHlw
ZSk7Ci11aW50MTZfdCBnZXRQb3J0KFBsYXRmb3JtU29ja2V0VHlwZSk7CitPcHRpb25hbDx1aW50
MTZfdD4gZ2V0UG9ydChQbGF0Zm9ybVNvY2tldFR5cGUpOwogCiBPcHRpb25hbDxzaXplX3Q+IHJl
YWQoUGxhdGZvcm1Tb2NrZXRUeXBlLCB2b2lkKiBidWZmZXIsIGludCBidWZmZXJTaXplKTsKIE9w
dGlvbmFsPHNpemVfdD4gd3JpdGUoUGxhdGZvcm1Tb2NrZXRUeXBlLCBjb25zdCB2b2lkKiBkYXRh
LCBpbnQgc2l6ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU29ja2V0RW5kcG9pbnQuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3BlY3RvclNv
Y2tldEVuZHBvaW50LmNwcAppbmRleCBlYWNjMzJkOWQ5Yi4uYmZjMGUzNjMzZjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJ
bnNwZWN0b3JTb2NrZXRFbmRwb2ludC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3BlY3RvclNvY2tldEVuZHBvaW50LmNwcApA
QCAtMTkzLDcgKzE5Myw4IEBAIE9wdGlvbmFsPENvbm5lY3Rpb25JRD4gUmVtb3RlSW5zcGVjdG9y
U29ja2V0RW5kcG9pbnQ6OmNyZWF0ZUxpc3RlbmVyKFBsYXRmb3JtU29jCiAKICAgICBMb2NrSG9s
ZGVyIGxvY2sobV9jb25uZWN0aW9uc0xvY2spOwogCi0gICAgU29ja2V0OjpzZXR1cChzb2NrZXQp
OworICAgIGlmICghU29ja2V0OjpzZXR1cChzb2NrZXQpKQorICAgICAgICByZXR1cm4gV1RGOjpu
dWxsb3B0OwogCiAgICAgYXV0byBjb25uZWN0aW9uID0gbWFrZUNvbm5lY3Rpb24oc29ja2V0LCBj
bGllbnQpOwogICAgIGF1dG8gaWQgPSBjb25uZWN0aW9uLT5pZDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL3NvY2tldC9wb3NpeC9SZW1vdGVJbnNw
ZWN0b3JTb2NrZXRQT1NJWC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Jl
bW90ZS9zb2NrZXQvcG9zaXgvUmVtb3RlSW5zcGVjdG9yU29ja2V0UE9TSVguY3BwCmluZGV4IDcz
MTdjOTI1ZjBhLi5mNWVkZDMzY2Q1NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9yZW1vdGUvc29ja2V0L3Bvc2l4L1JlbW90ZUluc3BlY3RvclNvY2tldFBPU0lY
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQv
cG9zaXgvUmVtb3RlSW5zcGVjdG9yU29ja2V0UE9TSVguY3BwCkBAIC04MiwxMSArODIsMTMgQEAg
T3B0aW9uYWw8UGxhdGZvcm1Tb2NrZXRUeXBlPiBsaXN0ZW4oY29uc3QgY2hhciogYWRkcmVzc1N0
ciwgdWludDE2X3QgcG9ydCkKICAgICBpbnQgZXJyb3IgPSBzZXRzb2Nrb3B0KGZkTGlzdGVuLCBT
T0xfU09DS0VULCBTT19SRVVTRUFERFIsICZlbmFibGVkLCBzaXplb2YoZW5hYmxlZCkpOwogICAg
IGlmIChlcnJvciA8IDApIHsKICAgICAgICAgTE9HX0VSUk9SKCJzZXRzb2Nrb3B0KCkgU09fUkVV
U0VBRERSLCBlcnJubyA9ICVkIiwgZXJybm8pOworICAgICAgICA6OmNsb3NlKGZkTGlzdGVuKTsK
ICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKICAgICB9CiAgICAgZXJyb3IgPSBzZXRzb2Nr
b3B0KGZkTGlzdGVuLCBTT0xfU09DS0VULCBTT19SRVVTRVBPUlQsICZlbmFibGVkLCBzaXplb2Yo
ZW5hYmxlZCkpOwogICAgIGlmIChlcnJvciA8IDApIHsKICAgICAgICAgTE9HX0VSUk9SKCJzZXRz
b2Nrb3B0KCkgU09fUkVVU0VQT1JULCBlcnJubyA9ICVkIiwgZXJybm8pOworICAgICAgICA6OmNs
b3NlKGZkTGlzdGVuKTsKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKICAgICB9CiAKQEAg
LTEzNywxMyArMTM5LDI5IEBAIE9wdGlvbmFsPHN0ZDo6YXJyYXk8UGxhdGZvcm1Tb2NrZXRUeXBl
LCAyPj4gY3JlYXRlUGFpcigpCiAgICAgcmV0dXJuIHNvY2tldHM7CiB9CiAKLXZvaWQgc2V0dXAo
UGxhdGZvcm1Tb2NrZXRUeXBlIHNvY2tldCkKK2Jvb2wgc2V0dXAoUGxhdGZvcm1Tb2NrZXRUeXBl
IHNvY2tldCkKIHsKLSAgICBzZXRDbG9zZU9uRXhlYyhzb2NrZXQpOwotICAgIHNldE5vbkJsb2Nr
KHNvY2tldCk7CisgICAgaWYgKCFzZXRDbG9zZU9uRXhlYyhzb2NrZXQpKSB7CisgICAgICAgIExP
R19FUlJPUigic2V0Q2xvc2VPbkV4ZWMoKSBlcnJvciIpOworICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgfQogCi0gICAgc2V0c29ja29wdChzb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwg
JkJ1ZmZlclNpemUsIHNpemVvZihCdWZmZXJTaXplKSk7Ci0gICAgc2V0c29ja29wdChzb2NrZXQs
IFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgJkJ1ZmZlclNpemUsIHNpemVvZihCdWZmZXJTaXplKSk7
CisgICAgaWYgKCFzZXROb25CbG9jayhzb2NrZXQpKSB7CisgICAgICAgIExPR19FUlJPUigic2V0
Tm9uQmxvY2soKSBlcnJvciAoZXJybm8gPSAlZCkiLCBlcnJubyk7CisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICB9CisKKyAgICBpZiAoc2V0c29ja29wdChzb2NrZXQsIFNPTF9TT0NLRVQsIFNP
X1JDVkJVRiwgJkJ1ZmZlclNpemUsIHNpemVvZihCdWZmZXJTaXplKSkpIHsKKyAgICAgICAgTE9H
X0VSUk9SKCJzZXRzb2Nrb3B0KFNPX1JDVkJVRikgZXJyb3IgKGVycm5vID0gJWQpIiwgZXJybm8p
OworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgaWYgKHNldHNvY2tvcHQoc29j
a2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsICZCdWZmZXJTaXplLCBzaXplb2YoQnVmZmVyU2l6
ZSkpKSB7CisgICAgICAgIExPR19FUlJPUigic2V0c29ja29wdChTT19TTkRCVUYpIGVycm9yIChl
cnJubyA9ICVkKSIsIGVycm5vKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAg
IHJldHVybiB0cnVlOwogfQogCiBib29sIGlzVmFsaWQoUGxhdGZvcm1Tb2NrZXRUeXBlIHNvY2tl
dCkKQEAgLTE2MiwxMyArMTgwLDE2IEBAIGJvb2wgaXNMaXN0ZW5pbmcoUGxhdGZvcm1Tb2NrZXRU
eXBlIHNvY2tldCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXVpbnQxNl90IGdldFBvcnQoUGxh
dGZvcm1Tb2NrZXRUeXBlIHNvY2tldCkKK09wdGlvbmFsPHVpbnQxNl90PiBnZXRQb3J0KFBsYXRm
b3JtU29ja2V0VHlwZSBzb2NrZXQpCiB7CiAgICAgQVNTRVJUKGlzVmFsaWQoc29ja2V0KSk7CiAK
ICAgICBzdHJ1Y3Qgc29ja2FkZHJfaW4gYWRkcmVzcyA9IHsgfTsKICAgICBzb2NrbGVuX3QgbGVu
ID0gc2l6ZW9mKGFkZHJlc3MpOwotICAgIGdldHNvY2tuYW1lKHNvY2tldCwgcmVpbnRlcnByZXRf
Y2FzdDxzdHJ1Y3Qgc29ja2FkZHIqPigmYWRkcmVzcyksICZsZW4pOworICAgIGlmIChnZXRzb2Nr
bmFtZShzb2NrZXQsIHJlaW50ZXJwcmV0X2Nhc3Q8c3RydWN0IHNvY2thZGRyKj4oJmFkZHJlc3Mp
LCAmbGVuKSkgeworICAgICAgICBMT0dfRVJST1IoImdldHNvY2tuYW1lKCkgZXJyb3IgKGVycm5v
ID0gJWQpIiwgZXJybm8pOworICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIH0KICAg
ICByZXR1cm4gYWRkcmVzcy5zaW5fcG9ydDsKIH0KIApAQCAtMjA3LDcgKzIyOCw3IEBAIHZvaWQg
Y2xvc2UoUGxhdGZvcm1Tb2NrZXRUeXBlJiBzb2NrZXQpCiAKIFBvbGxpbmdEZXNjcmlwdG9yIHBy
ZXBhcmVQb2xsaW5nKFBsYXRmb3JtU29ja2V0VHlwZSBzb2NrZXQpCiB7Ci0gICAgUG9sbGluZ0Rl
c2NyaXB0b3IgcG9sbDsKKyAgICBQb2xsaW5nRGVzY3JpcHRvciBwb2xsID0geyB9OwogICAgIHBv
bGwuZmQgPSBzb2NrZXQ7CiAgICAgcG9sbC5ldmVudHMgPSBQT0xMSU47CiAgICAgcmV0dXJuIHBv
bGw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9z
b2NrZXQvd2luL1JlbW90ZUluc3BlY3RvclNvY2tldFdpbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvd2luL1JlbW90ZUluc3BlY3RvclNvY2tldFdp
bi5jcHAKaW5kZXggNTkzZGVlZTkxNjguLmFmN2RhZTU1NDc0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvd2luL1JlbW90ZUluc3BlY3Rv
clNvY2tldFdpbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1v
dGUvc29ja2V0L3dpbi9SZW1vdGVJbnNwZWN0b3JTb2NrZXRXaW4uY3BwCkBAIC0yMTYsMTIgKzIx
NiwxOSBAQCBPcHRpb25hbDxzdGQ6OmFycmF5PFBsYXRmb3JtU29ja2V0VHlwZSwgMj4+IGNyZWF0
ZVBhaXIoKQogICAgIGlmICghc2VydmVyKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0Owog
Ci0gICAgYWRkcmVzcy5zaW5fcG9ydCA9IGh0b25zKGdldFBvcnQoc2VydmVyKSk7CisgICAgT3B0
aW9uYWw8dWludDE2X3Q+IHNlcnZlclBvcnQgPSBnZXRQb3J0KHNlcnZlcik7CisgICAgaWYgKCFz
ZXJ2ZXJQb3J0KSB7CisgICAgICAgIExPR19FUlJPUigiY3JlYXRlUGFpcigpIGVycm9yIGF0IGdl
dHRpbmcgc2VydmVyIHBvcnQgKGVycm5vID0gJWQpIiwgV1NBR2V0TGFzdEVycm9yKCkpOworICAg
ICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIH0KKyAgICBhZGRyZXNzLnNpbl9wb3J0ID0g
aHRvbnMoKHVfc2hvcnQpKnNlcnZlclBvcnQpOwogCiAgICAgc3RkOjphcnJheTxQbGF0Zm9ybVNv
Y2tldFR5cGUsIDI+IHNvY2tldHM7CiAgICAgc29ja2V0c1swXSA9IGNvbm5lY3RUbyhhZGRyZXNz
KTsKLSAgICBpZiAoIWlzVmFsaWQoc29ja2V0c1swXSkpCisgICAgaWYgKCFpc1ZhbGlkKHNvY2tl
dHNbMF0pKSB7CisgICAgICAgIExPR19FUlJPUigiY3JlYXRlUGFpcigpIGVycm9yIHdoaWxlIGNv
bm5lY3RpbmcgKGVycm5vID0gJWQpIiwgV1NBR2V0TGFzdEVycm9yKCkpOwogICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OworICAgIH0KIAogICAgIGlmIChhdXRvIHNvY2tldCA9IGFjY2VwdChz
ZXJ2ZXIpKSB7CiAgICAgICAgIHNvY2tldHNbMV0gPSAqc29ja2V0OwpAQCAtMjMxLDEwICsyMzgs
MTUgQEAgT3B0aW9uYWw8c3RkOjphcnJheTxQbGF0Zm9ybVNvY2tldFR5cGUsIDI+PiBjcmVhdGVQ
YWlyKCkKICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogfQogCi12b2lkIHNldHVwKFBsYXRmb3Jt
U29ja2V0VHlwZSBzb2NrZXQpCitib29sIHNldHVwKFBsYXRmb3JtU29ja2V0VHlwZSBzb2NrZXQp
CiB7Ci0gICAgc2V0T3B0KHNvY2tldCwgU09fUkNWQlVGLCAmQnVmZmVyU2l6ZSwgc2l6ZW9mKEJ1
ZmZlclNpemUpLCAiU09fUkNWQlVGIik7Ci0gICAgc2V0T3B0KHNvY2tldCwgU09fU05EQlVGLCAm
QnVmZmVyU2l6ZSwgc2l6ZW9mKEJ1ZmZlclNpemUpLCAiU09fU05EQlVGIik7CisgICAgaWYgKCFz
ZXRPcHQoc29ja2V0LCBTT19SQ1ZCVUYsICZCdWZmZXJTaXplLCBzaXplb2YoQnVmZmVyU2l6ZSks
ICJTT19SQ1ZCVUYiKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFzZXRPcHQo
c29ja2V0LCBTT19TTkRCVUYsICZCdWZmZXJTaXplLCBzaXplb2YoQnVmZmVyU2l6ZSksICJTT19T
TkRCVUYiKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIHRydWU7CiB9CiAK
IGJvb2wgaXNWYWxpZChQbGF0Zm9ybVNvY2tldFR5cGUgc29ja2V0KQpAQCAtMjUzLDEzICsyNjUs
MTQgQEAgYm9vbCBpc0xpc3RlbmluZyhQbGF0Zm9ybVNvY2tldFR5cGUgc29ja2V0KQogICAgIHJl
dHVybiBmYWxzZTsKIH0KIAotdWludDE2X3QgZ2V0UG9ydChQbGF0Zm9ybVNvY2tldFR5cGUgc29j
a2V0KQorT3B0aW9uYWw8dWludDE2X3Q+IGdldFBvcnQoUGxhdGZvcm1Tb2NrZXRUeXBlIHNvY2tl
dCkKIHsKICAgICBBU1NFUlQoaXNWYWxpZChzb2NrZXQpKTsKIAogICAgIHN0cnVjdCBzb2NrYWRk
cl9pbiBhZGRyZXNzID0geyB9OwogICAgIGludCBsZW4gPSBzaXplb2YoYWRkcmVzcyk7Ci0gICAg
Z2V0c29ja25hbWUoc29ja2V0LCByZWludGVycHJldF9jYXN0PHN0cnVjdCBzb2NrYWRkcio+KCZh
ZGRyZXNzKSwgJmxlbik7CisgICAgaWYgKGdldHNvY2tuYW1lKHNvY2tldCwgcmVpbnRlcnByZXRf
Y2FzdDxzdHJ1Y3Qgc29ja2FkZHIqPigmYWRkcmVzcyksICZsZW4pKQorICAgICAgICByZXR1cm4g
V1RGOjpudWxsb3B0OwogICAgIHJldHVybiBudG9ocyhhZGRyZXNzLnNpbl9wb3J0KTsKIH0KIApA
QCAtMjk1LDcgKzMwOCw3IEBAIHZvaWQgY2xvc2UoUGxhdGZvcm1Tb2NrZXRUeXBlJiBzb2NrZXQp
CiAKIFBvbGxpbmdEZXNjcmlwdG9yIHByZXBhcmVQb2xsaW5nKFBsYXRmb3JtU29ja2V0VHlwZSBz
b2NrZXQpCiB7Ci0gICAgUG9sbGluZ0Rlc2NyaXB0b3IgcG9sbDsKKyAgICBQb2xsaW5nRGVzY3Jp
cHRvciBwb2xsID0geyB9OwogICAgIHBvbGwuZmQgPSBzb2NrZXQ7CiAgICAgcG9sbC5ldmVudHMg
PSBQT0xMSU47CiAgICAgcmV0dXJuIHBvbGw7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384998</attachid>
            <date>2019-12-06 02:36:27 -0800</date>
            <delta_ts>2019-12-08 17:52:25 -0800</delta_ts>
            <desc>patch</desc>
            <filename>err-hanlding.patch</filename>
            <type>text/plain</type>
            <size>12796</size>
            <attacher name="Yousuke Kimoto">Yousuke.Kimoto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDFiNzAyNjdjMDc3Li5mMDMyMzQ1NWVlZCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTktMTItMDYgIFlvdXN1
a2UgS2ltb3RvICA8eW91c3VrZS5raW1vdG9Ac29ueS5jb20+CisKKyAgICAgICAgW1dpbkNhaXJv
XSBSZWZpbmUgaW5pdGlhbGl6YXRpb24gYW5kIGVycm9yIGhhbmRsaW5nIGluIFJlbW90ZUluc3Bl
Y3RvclNvY2tldAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjA0MzM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUmVtb3RlSW5zcGVjdG9yU29ja2V0IHNvY2tldCBlcnJvciBoYW5kbGluZyBpcyBub3QgZW5v
dWdoLAorICAgICAgICB3aGljaCBzaG91bGQgYmUgcmVmaW5lZCB0byBhdm9pZCBlcnJvciBjYXNl
cy4KKworICAgICAgICAqIGluc3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3BlY3RvclNv
Y2tldC5oOiBNb2RpZmVkIHJldHVybiB2YWx1ZSBjaGVja3MgdG8gaGFubGRlIGVycm9yIGNhc2Vz
LgorICAgICAgICAqIGluc3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3BlY3RvclNvY2tl
dEVuZHBvaW50LmNwcDogUmVmaW5lZCBjaGVjayBlcnJvciBoYW5kbGluZy4KKyAgICAgICAgKElu
c3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yU29ja2V0RW5kcG9pbnQ6OmNyZWF0ZUxpc3RlbmVyKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvcmVtb3RlL3NvY2tldC9wb3NpeC9SZW1vdGVJbnNwZWN0b3JT
b2NrZXRQT1NJWC5jcHA6IERpdHRvCisgICAgICAgIChJbnNwZWN0b3I6OlNvY2tldDo6Y29ubmVj
dCk6CisgICAgICAgIChJbnNwZWN0b3I6OlNvY2tldDo6bGlzdGVuKToKKyAgICAgICAgKEluc3Bl
Y3Rvcjo6U29ja2V0OjpzZXR1cCk6CisgICAgICAgIChJbnNwZWN0b3I6OlNvY2tldDo6aXNMaXN0
ZW5pbmcpOgorICAgICAgICAoSW5zcGVjdG9yOjpTb2NrZXQ6OmdldFBvcnQpOgorICAgICAgICAo
SW5zcGVjdG9yOjpTb2NrZXQ6OnByZXBhcmVQb2xsaW5nKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
cmVtb3RlL3NvY2tldC93aW4vUmVtb3RlSW5zcGVjdG9yU29ja2V0V2luLmNwcDogRGl0dG8KKyAg
ICAgICAgKEluc3BlY3Rvcjo6U29ja2V0OjpTb2NrZXQ6OmNyZWF0ZSk6CisgICAgICAgIChJbnNw
ZWN0b3I6OlNvY2tldDo6c2V0T3B0KToKKyAgICAgICAgKEluc3BlY3Rvcjo6U29ja2V0OjpiaW5k
QW5kTGlzdGVuKToKKyAgICAgICAgKEluc3BlY3Rvcjo6U29ja2V0Ojpjb25uZWN0KToKKyAgICAg
ICAgKEluc3BlY3Rvcjo6U29ja2V0OjphY2NlcHQpOgorICAgICAgICAoSW5zcGVjdG9yOjpTb2Nr
ZXQ6OmNyZWF0ZVBhaXIpOgorICAgICAgICAoSW5zcGVjdG9yOjpTb2NrZXQ6OnNldHVwKToKKyAg
ICAgICAgKEluc3BlY3Rvcjo6U29ja2V0Ojppc0xpc3RlbmluZyk6CisgICAgICAgIChJbnNwZWN0
b3I6OlNvY2tldDo6Z2V0UG9ydCk6CisgICAgICAgIChJbnNwZWN0b3I6OlNvY2tldDo6cmVhZCk6
CisgICAgICAgIChJbnNwZWN0b3I6OlNvY2tldDo6d3JpdGUpOgorICAgICAgICAoSW5zcGVjdG9y
OjpTb2NrZXQ6OnByZXBhcmVQb2xsaW5nKTogSW5pdGlhbGl6ZWQgJ3BvbGwnIHdpdGggemVybwor
CiAyMDE5LTEyLTA1ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAg
IGdldF9ieV9pZCBJQ3Mgc2hvdWxkIGhhdmUgYSBzdHJ1Y3R1cmUgaGlzdG9yeSB1c2VkIHRvIGlu
ZGljYXRlIHdoZW4gd2Ugc2hvdWxkIHNraXAgZ2VuZXJhdGluZyBhbiBJQwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3Bl
Y3RvclNvY2tldC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvc29j
a2V0L1JlbW90ZUluc3BlY3RvclNvY2tldC5oCmluZGV4IDUwMDRmMGZlY2RkLi5kYTMyMzI5MzUz
NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvc29j
a2V0L1JlbW90ZUluc3BlY3RvclNvY2tldC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JTb2NrZXQuaApAQCAtNjksMTAg
KzY5LDEwIEBAIE9wdGlvbmFsPFBsYXRmb3JtU29ja2V0VHlwZT4gbGlzdGVuKGNvbnN0IGNoYXIq
IGFkZHJlc3MsIHVpbnQxNl90IHBvcnQpOwogT3B0aW9uYWw8UGxhdGZvcm1Tb2NrZXRUeXBlPiBh
Y2NlcHQoUGxhdGZvcm1Tb2NrZXRUeXBlKTsKIE9wdGlvbmFsPHN0ZDo6YXJyYXk8UGxhdGZvcm1T
b2NrZXRUeXBlLCAyPj4gY3JlYXRlUGFpcigpOwogCi12b2lkIHNldHVwKFBsYXRmb3JtU29ja2V0
VHlwZSk7Citib29sIHNldHVwKFBsYXRmb3JtU29ja2V0VHlwZSk7CiBib29sIGlzVmFsaWQoUGxh
dGZvcm1Tb2NrZXRUeXBlKTsKIGJvb2wgaXNMaXN0ZW5pbmcoUGxhdGZvcm1Tb2NrZXRUeXBlKTsK
LXVpbnQxNl90IGdldFBvcnQoUGxhdGZvcm1Tb2NrZXRUeXBlKTsKK09wdGlvbmFsPHVpbnQxNl90
PiBnZXRQb3J0KFBsYXRmb3JtU29ja2V0VHlwZSk7CiAKIE9wdGlvbmFsPHNpemVfdD4gcmVhZChQ
bGF0Zm9ybVNvY2tldFR5cGUsIHZvaWQqIGJ1ZmZlciwgaW50IGJ1ZmZlclNpemUpOwogT3B0aW9u
YWw8c2l6ZV90PiB3cml0ZShQbGF0Zm9ybVNvY2tldFR5cGUsIGNvbnN0IHZvaWQqIGRhdGEsIGlu
dCBzaXplKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVt
b3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JTb2NrZXRFbmRwb2ludC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU29ja2V0
RW5kcG9pbnQuY3BwCmluZGV4IGVhY2MzMmQ5ZDliLi5iZmMwZTM2MzNmMCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3Bl
Y3RvclNvY2tldEVuZHBvaW50LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU29ja2V0RW5kcG9pbnQuY3BwCkBAIC0x
OTMsNyArMTkzLDggQEAgT3B0aW9uYWw8Q29ubmVjdGlvbklEPiBSZW1vdGVJbnNwZWN0b3JTb2Nr
ZXRFbmRwb2ludDo6Y3JlYXRlTGlzdGVuZXIoUGxhdGZvcm1Tb2MKIAogICAgIExvY2tIb2xkZXIg
bG9jayhtX2Nvbm5lY3Rpb25zTG9jayk7CiAKLSAgICBTb2NrZXQ6OnNldHVwKHNvY2tldCk7Cisg
ICAgaWYgKCFTb2NrZXQ6OnNldHVwKHNvY2tldCkpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxv
cHQ7CiAKICAgICBhdXRvIGNvbm5lY3Rpb24gPSBtYWtlQ29ubmVjdGlvbihzb2NrZXQsIGNsaWVu
dCk7CiAgICAgYXV0byBpZCA9IGNvbm5lY3Rpb24tPmlkOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvc29ja2V0L3Bvc2l4L1JlbW90ZUluc3BlY3Rv
clNvY2tldFBPU0lYLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3Rl
L3NvY2tldC9wb3NpeC9SZW1vdGVJbnNwZWN0b3JTb2NrZXRQT1NJWC5jcHAKaW5kZXggNzMxN2M5
MjVmMGEuLjAxZTE4YjE4YzExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3JlbW90ZS9zb2NrZXQvcG9zaXgvUmVtb3RlSW5zcGVjdG9yU29ja2V0UE9TSVguY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL3NvY2tldC9wb3Np
eC9SZW1vdGVJbnNwZWN0b3JTb2NrZXRQT1NJWC5jcHAKQEAgLTU0LDcgKzU0LDcgQEAgT3B0aW9u
YWw8UGxhdGZvcm1Tb2NrZXRUeXBlPiBjb25uZWN0KGNvbnN0IGNoYXIqIHNlcnZlckFkZHJlc3Ms
IHVpbnQxNl90IHNlcnZlclAKIAogICAgIGludCBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NU
UkVBTSwgSVBQUk9UT19UQ1ApOwogICAgIGlmIChmZCA8IDApIHsKLSAgICAgICAgTE9HX0VSUk9S
KCJGYWlsZWQgdG8gY3JlYXRlIHNvY2tldCBmb3IgICVzOiVkLCBlcnJubyA9ICVkIiwgc2VydmVy
QWRkcmVzcywgc2VydmVyUG9ydCwgZXJybm8pOworICAgICAgICBMT0dfRVJST1IoIkZhaWxlZCB0
byBjcmVhdGUgc29ja2V0IGZvciAlczolZCwgZXJybm8gPSAlZCIsIHNlcnZlckFkZHJlc3MsIHNl
cnZlclBvcnQsIGVycm5vKTsKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKICAgICB9CiAK
QEAgLTgyLDExICs4MiwxMyBAQCBPcHRpb25hbDxQbGF0Zm9ybVNvY2tldFR5cGU+IGxpc3Rlbihj
b25zdCBjaGFyKiBhZGRyZXNzU3RyLCB1aW50MTZfdCBwb3J0KQogICAgIGludCBlcnJvciA9IHNl
dHNvY2tvcHQoZmRMaXN0ZW4sIFNPTF9TT0NLRVQsIFNPX1JFVVNFQUREUiwgJmVuYWJsZWQsIHNp
emVvZihlbmFibGVkKSk7CiAgICAgaWYgKGVycm9yIDwgMCkgewogICAgICAgICBMT0dfRVJST1Io
InNldHNvY2tvcHQoKSBTT19SRVVTRUFERFIsIGVycm5vID0gJWQiLCBlcnJubyk7CisgICAgICAg
IDo6Y2xvc2UoZmRMaXN0ZW4pOwogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogICAgIH0K
ICAgICBlcnJvciA9IHNldHNvY2tvcHQoZmRMaXN0ZW4sIFNPTF9TT0NLRVQsIFNPX1JFVVNFUE9S
VCwgJmVuYWJsZWQsIHNpemVvZihlbmFibGVkKSk7CiAgICAgaWYgKGVycm9yIDwgMCkgewogICAg
ICAgICBMT0dfRVJST1IoInNldHNvY2tvcHQoKSBTT19SRVVTRVBPUlQsIGVycm5vID0gJWQiLCBl
cnJubyk7CisgICAgICAgIDo6Y2xvc2UoZmRMaXN0ZW4pOwogICAgICAgICByZXR1cm4gV1RGOjpu
dWxsb3B0OwogICAgIH0KIApAQCAtMTM3LDEzICsxMzksMjkgQEAgT3B0aW9uYWw8c3RkOjphcnJh
eTxQbGF0Zm9ybVNvY2tldFR5cGUsIDI+PiBjcmVhdGVQYWlyKCkKICAgICByZXR1cm4gc29ja2V0
czsKIH0KIAotdm9pZCBzZXR1cChQbGF0Zm9ybVNvY2tldFR5cGUgc29ja2V0KQorYm9vbCBzZXR1
cChQbGF0Zm9ybVNvY2tldFR5cGUgc29ja2V0KQogewotICAgIHNldENsb3NlT25FeGVjKHNvY2tl
dCk7Ci0gICAgc2V0Tm9uQmxvY2soc29ja2V0KTsKKyAgICBpZiAoIXNldENsb3NlT25FeGVjKHNv
Y2tldCkpIHsKKyAgICAgICAgTE9HX0VSUk9SKCJzZXRDbG9zZU9uRXhlYygpIGVycm9yIik7Cisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CiAKLSAgICBzZXRzb2Nrb3B0KHNvY2tldCwgU09M
X1NPQ0tFVCwgU09fUkNWQlVGLCAmQnVmZmVyU2l6ZSwgc2l6ZW9mKEJ1ZmZlclNpemUpKTsKLSAg
ICBzZXRzb2Nrb3B0KHNvY2tldCwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCAmQnVmZmVyU2l6ZSwg
c2l6ZW9mKEJ1ZmZlclNpemUpKTsKKyAgICBpZiAoIXNldE5vbkJsb2NrKHNvY2tldCkpIHsKKyAg
ICAgICAgTE9HX0VSUk9SKCJzZXROb25CbG9jaygpIGVycm9yIChlcnJubyA9ICVkKSIsIGVycm5v
KTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGlmIChzZXRzb2Nrb3B0KHNv
Y2tldCwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCAmQnVmZmVyU2l6ZSwgc2l6ZW9mKEJ1ZmZlclNp
emUpKSkgeworICAgICAgICBMT0dfRVJST1IoInNldHNvY2tvcHQoU09fUkNWQlVGKSBlcnJvciAo
ZXJybm8gPSAlZCkiLCBlcnJubyk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAg
ICBpZiAoc2V0c29ja29wdChzb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgJkJ1ZmZlclNp
emUsIHNpemVvZihCdWZmZXJTaXplKSkpIHsKKyAgICAgICAgTE9HX0VSUk9SKCJzZXRzb2Nrb3B0
KFNPX1NOREJVRikgZXJyb3IgKGVycm5vID0gJWQpIiwgZXJybm8pOworICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgfQorCisgICAgcmV0dXJuIHRydWU7CiB9CiAKIGJvb2wgaXNWYWxpZChQbGF0
Zm9ybVNvY2tldFR5cGUgc29ja2V0KQpAQCAtMTU4LDE3ICsxNzYsMjAgQEAgYm9vbCBpc0xpc3Rl
bmluZyhQbGF0Zm9ybVNvY2tldFR5cGUgc29ja2V0KQogICAgIGlmIChnZXRzb2Nrb3B0KHNvY2tl
dCwgU09MX1NPQ0tFVCwgU09fQUNDRVBUQ09OTiwgJm91dCwgJm91dFNpemUpICE9IC0xKQogICAg
ICAgICByZXR1cm4gb3V0OwogCi0gICAgTE9HX0VSUk9SKCJnZXRzb2Nrb3B0IGVycm5vID0gJWQi
LCBlcnJubyk7CisgICAgTE9HX0VSUk9SKCJnZXRzb2Nrb3B0KFNPX0FDQ0VQVENPTk4pIGVycm9y
IChlcnJubyA9ICVkKSIsIGVycm5vKTsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXVpbnQxNl90
IGdldFBvcnQoUGxhdGZvcm1Tb2NrZXRUeXBlIHNvY2tldCkKK09wdGlvbmFsPHVpbnQxNl90PiBn
ZXRQb3J0KFBsYXRmb3JtU29ja2V0VHlwZSBzb2NrZXQpCiB7CiAgICAgQVNTRVJUKGlzVmFsaWQo
c29ja2V0KSk7CiAKICAgICBzdHJ1Y3Qgc29ja2FkZHJfaW4gYWRkcmVzcyA9IHsgfTsKICAgICBz
b2NrbGVuX3QgbGVuID0gc2l6ZW9mKGFkZHJlc3MpOwotICAgIGdldHNvY2tuYW1lKHNvY2tldCwg
cmVpbnRlcnByZXRfY2FzdDxzdHJ1Y3Qgc29ja2FkZHIqPigmYWRkcmVzcyksICZsZW4pOworICAg
IGlmIChnZXRzb2NrbmFtZShzb2NrZXQsIHJlaW50ZXJwcmV0X2Nhc3Q8c3RydWN0IHNvY2thZGRy
Kj4oJmFkZHJlc3MpLCAmbGVuKSkgeworICAgICAgICBMT0dfRVJST1IoImdldHNvY2tuYW1lKCkg
ZXJyb3IgKGVycm5vID0gJWQpIiwgZXJybm8pOworICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OworICAgIH0KICAgICByZXR1cm4gYWRkcmVzcy5zaW5fcG9ydDsKIH0KIApAQCAtMjA3LDcgKzIy
OCw3IEBAIHZvaWQgY2xvc2UoUGxhdGZvcm1Tb2NrZXRUeXBlJiBzb2NrZXQpCiAKIFBvbGxpbmdE
ZXNjcmlwdG9yIHByZXBhcmVQb2xsaW5nKFBsYXRmb3JtU29ja2V0VHlwZSBzb2NrZXQpCiB7Ci0g
ICAgUG9sbGluZ0Rlc2NyaXB0b3IgcG9sbDsKKyAgICBQb2xsaW5nRGVzY3JpcHRvciBwb2xsID0g
eyB9OwogICAgIHBvbGwuZmQgPSBzb2NrZXQ7CiAgICAgcG9sbC5ldmVudHMgPSBQT0xMSU47CiAg
ICAgcmV0dXJuIHBvbGw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3JlbW90ZS9zb2NrZXQvd2luL1JlbW90ZUluc3BlY3RvclNvY2tldFdpbi5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvd2luL1JlbW90ZUluc3Bl
Y3RvclNvY2tldFdpbi5jcHAKaW5kZXggNTkzZGVlZTkxNjguLjA1ZjI4YTEwNDdlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvd2luL1Jl
bW90ZUluc3BlY3RvclNvY2tldFdpbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9yZW1vdGUvc29ja2V0L3dpbi9SZW1vdGVJbnNwZWN0b3JTb2NrZXRXaW4uY3BwCkBA
IC04OCw3ICs4OCw3IEBAIHByaXZhdGU6CiAgICAgewogICAgICAgICBQbGF0Zm9ybVNvY2tldFR5
cGUgc29ja2V0ID0gOjpzb2NrZXQoQUZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKTsK
ICAgICAgICAgaWYgKHNvY2tldCA9PSBJTlZBTElEX1NPQ0tFVCkgewotICAgICAgICAgICAgTE9H
X0VSUk9SKCJzb2NrZXQoKSBmYWlsZWQsIGVycm5vID0gJWQiLCBXU0FHZXRMYXN0RXJyb3IoKSk7
CisgICAgICAgICAgICBMT0dfRVJST1IoIkZhaWxlZCB0byBjcmVhdGUgc29ja2V0IChlcnJubyA9
ICVkKSIsIFdTQUdldExhc3RFcnJvcigpKTsKICAgICAgICAgICAgIHJldHVybiBJTlZBTElEX1NP
Q0tFVF9WQUxVRTsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gc29ja2V0OwpAQCAtMTAxLDcg
KzEwMSw3IEBAIHN0YXRpYyBib29sIHNldE9wdChQbGF0Zm9ybVNvY2tldFR5cGUgc29ja2V0LCBp
bnQgb3B0bmFtZSwgY29uc3Qgdm9pZCogb3B0dmFsLCBpCiB7CiAgICAgaW50IGVycm9yID0gOjpz
ZXRzb2Nrb3B0KHNvY2tldCwgU09MX1NPQ0tFVCwgb3B0bmFtZSwgc3RhdGljX2Nhc3Q8Y29uc3Qg
Y2hhcio+KG9wdHZhbCksIG9wdGxlbik7CiAgICAgaWYgKGVycm9yIDwgMCkgewotICAgICAgICBM
T0dfRVJST1IoInNldHNvY2tvcHQoKSAlcywgZXJybm8gPSAlZCIsIGRlYnVnLCBXU0FHZXRMYXN0
RXJyb3IoKSk7CisgICAgICAgIExPR19FUlJPUigic2V0c29ja29wdCglcykgZmFpbGVkIChlcnJu
byA9ICVkKSIsIGRlYnVnLCBXU0FHZXRMYXN0RXJyb3IoKSk7CiAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICB9CiAgICAgcmV0dXJuIHRydWU7CkBAIC0xNDQsMTMgKzE0NCwxMyBAQCBzdGF0aWMg
UGxhdGZvcm1Tb2NrZXRUeXBlIGJpbmRBbmRMaXN0ZW4oc3RydWN0IHNvY2thZGRyX2luJiBhZGRy
ZXNzKQogCiAgICAgaW50IGVycm9yID0gOjpiaW5kKHNvY2tldCwgKHN0cnVjdCBzb2NrYWRkciop
JmFkZHJlc3MsIHNpemVvZihhZGRyZXNzKSk7CiAgICAgaWYgKGVycm9yIDwgMCkgewotICAgICAg
ICBMT0dfRVJST1IoImJpbmQoKSBmYWlsZWQsIGVycm5vID0gJWQiLCBXU0FHZXRMYXN0RXJyb3Io
KSk7CisgICAgICAgIExPR19FUlJPUigiYmluZCgpIGZhaWxlZCAoZXJybm8gPSAlZCkiLCBXU0FH
ZXRMYXN0RXJyb3IoKSk7CiAgICAgICAgIHJldHVybiBJTlZBTElEX1NPQ0tFVF9WQUxVRTsKICAg
ICB9CiAKICAgICBlcnJvciA9IDo6bGlzdGVuKHNvY2tldCwgMSk7CiAgICAgaWYgKGVycm9yIDwg
MCkgewotICAgICAgICBMT0dfRVJST1IoImxpc3RlbigpIGZhaWxlZCwgZXJybm8gPSAlZCIsIFdT
QUdldExhc3RFcnJvcigpKTsKKyAgICAgICAgTE9HX0VSUk9SKCJsaXN0ZW4oKSBmYWlsZWQgKGVy
cm5vID0gJWQpIiwgV1NBR2V0TGFzdEVycm9yKCkpOwogICAgICAgICByZXR1cm4gSU5WQUxJRF9T
T0NLRVRfVkFMVUU7CiAgICAgfQogCkBAIC0xNjcsNyArMTY3LDcgQEAgT3B0aW9uYWw8UGxhdGZv
cm1Tb2NrZXRUeXBlPiBjb25uZWN0KGNvbnN0IGNoYXIqIHNlcnZlckFkZHJlc3MsIHVpbnQxNl90
IHNlcnZlclAKIAogICAgIGF1dG8gc29ja2V0ID0gY29ubmVjdFRvKGFkZHJlc3MpOwogICAgIGlm
ICghaXNWYWxpZChzb2NrZXQpKSB7Ci0gICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRvIGNvbm5l
Y3QgdG8gJXM6JXUsIGVycm5vID0gJWQiLCBzZXJ2ZXJBZGRyZXNzLCBzZXJ2ZXJQb3J0LCBXU0FH
ZXRMYXN0RXJyb3IoKSk7CisgICAgICAgIExPR19FUlJPUigiY29ubmVjdGluZyB0byAlczoldSBm
YWlsZWQgKGVycm5vID0gJWQpIiwgc2VydmVyQWRkcmVzcywgc2VydmVyUG9ydCwgV1NBR2V0TGFz
dEVycm9yKCkpOwogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogICAgIH0KIApAQCAtMjAx
LDcgKzIwMSw3IEBAIE9wdGlvbmFsPFBsYXRmb3JtU29ja2V0VHlwZT4gYWNjZXB0KFBsYXRmb3Jt
U29ja2V0VHlwZSBzb2NrZXQpCiAgICAgaWYgKGZkID49IDApCiAgICAgICAgIHJldHVybiBmZDsK
IAotICAgIExPR19FUlJPUigiYWNjZXB0KGluZXQpIGVycm9yIChlcnJubyA9ICVkKSIsIFdTQUdl
dExhc3RFcnJvcigpKTsKKyAgICBMT0dfRVJST1IoImZhaWxlZCAoZXJybm8gPSAlZCkiLCBXU0FH
ZXRMYXN0RXJyb3IoKSk7CiAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIH0KIApAQCAtMjE2LDEy
ICsyMTYsMTggQEAgT3B0aW9uYWw8c3RkOjphcnJheTxQbGF0Zm9ybVNvY2tldFR5cGUsIDI+PiBj
cmVhdGVQYWlyKCkKICAgICBpZiAoIXNlcnZlcikKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9w
dDsKIAotICAgIGFkZHJlc3Muc2luX3BvcnQgPSBodG9ucyhnZXRQb3J0KHNlcnZlcikpOworICAg
IE9wdGlvbmFsPHVpbnQxNl90PiBzZXJ2ZXJQb3J0ID0gZ2V0UG9ydChzZXJ2ZXIpOworICAgIGlm
ICghc2VydmVyUG9ydCkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIGFkZHJl
c3Muc2luX3BvcnQgPSBodG9ucygqc2VydmVyUG9ydCk7CiAKICAgICBzdGQ6OmFycmF5PFBsYXRm
b3JtU29ja2V0VHlwZSwgMj4gc29ja2V0czsKICAgICBzb2NrZXRzWzBdID0gY29ubmVjdFRvKGFk
ZHJlc3MpOwotICAgIGlmICghaXNWYWxpZChzb2NrZXRzWzBdKSkKKyAgICBpZiAoIWlzVmFsaWQo
c29ja2V0c1swXSkpIHsKKyAgICAgICAgTE9HX0VSUk9SKCJjb25uZWN0aW5nIGZhaWxlZCAoZXJy
bm8gPSAlZCkiLCBXU0FHZXRMYXN0RXJyb3IoKSk7CiAgICAgICAgIHJldHVybiBXVEY6Om51bGxv
cHQ7CisgICAgfQogCiAgICAgaWYgKGF1dG8gc29ja2V0ID0gYWNjZXB0KHNlcnZlcikpIHsKICAg
ICAgICAgc29ja2V0c1sxXSA9ICpzb2NrZXQ7CkBAIC0yMzEsMTAgKzIzNywxNSBAQCBPcHRpb25h
bDxzdGQ6OmFycmF5PFBsYXRmb3JtU29ja2V0VHlwZSwgMj4+IGNyZWF0ZVBhaXIoKQogICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CiB9CiAKLXZvaWQgc2V0dXAoUGxhdGZvcm1Tb2NrZXRUeXBlIHNv
Y2tldCkKK2Jvb2wgc2V0dXAoUGxhdGZvcm1Tb2NrZXRUeXBlIHNvY2tldCkKIHsKLSAgICBzZXRP
cHQoc29ja2V0LCBTT19SQ1ZCVUYsICZCdWZmZXJTaXplLCBzaXplb2YoQnVmZmVyU2l6ZSksICJT
T19SQ1ZCVUYiKTsKLSAgICBzZXRPcHQoc29ja2V0LCBTT19TTkRCVUYsICZCdWZmZXJTaXplLCBz
aXplb2YoQnVmZmVyU2l6ZSksICJTT19TTkRCVUYiKTsKKyAgICBpZiAoIXNldE9wdChzb2NrZXQs
IFNPX1JDVkJVRiwgJkJ1ZmZlclNpemUsIHNpemVvZihCdWZmZXJTaXplKSwgIlNPX1JDVkJVRiIp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIXNldE9wdChzb2NrZXQsIFNPX1NO
REJVRiwgJkJ1ZmZlclNpemUsIHNpemVvZihCdWZmZXJTaXplKSwgIlNPX1NOREJVRiIpKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAogYm9vbCBpc1ZhbGlk
KFBsYXRmb3JtU29ja2V0VHlwZSBzb2NrZXQpCkBAIC0yNDksMTcgKzI2MCwyMCBAQCBib29sIGlz
TGlzdGVuaW5nKFBsYXRmb3JtU29ja2V0VHlwZSBzb2NrZXQpCiAgICAgaWYgKGdldHNvY2tvcHQo
c29ja2V0LCBTT0xfU09DS0VULCBTT19BQ0NFUFRDT05OLCByZWludGVycHJldF9jYXN0PGNoYXIq
Pigmb3V0KSwgJm91dFNpemUpICE9IC0xKQogICAgICAgICByZXR1cm4gb3V0OwogCi0gICAgTE9H
X0VSUk9SKCJnZXRzb2Nrb3B0IGVycm5vID0gJWQiLCBXU0FHZXRMYXN0RXJyb3IoKSk7CisgICAg
TE9HX0VSUk9SKCJnZXRzb2Nrb3B0KFNPX0FDQ0VQVENPTk4pIGZhbGllZCAoZXJybm8gPSAlZCki
LCBXU0FHZXRMYXN0RXJyb3IoKSk7CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi11aW50MTZfdCBn
ZXRQb3J0KFBsYXRmb3JtU29ja2V0VHlwZSBzb2NrZXQpCitPcHRpb25hbDx1aW50MTZfdD4gZ2V0
UG9ydChQbGF0Zm9ybVNvY2tldFR5cGUgc29ja2V0KQogewogICAgIEFTU0VSVChpc1ZhbGlkKHNv
Y2tldCkpOwogCiAgICAgc3RydWN0IHNvY2thZGRyX2luIGFkZHJlc3MgPSB7IH07CiAgICAgaW50
IGxlbiA9IHNpemVvZihhZGRyZXNzKTsKLSAgICBnZXRzb2NrbmFtZShzb2NrZXQsIHJlaW50ZXJw
cmV0X2Nhc3Q8c3RydWN0IHNvY2thZGRyKj4oJmFkZHJlc3MpLCAmbGVuKTsKKyAgICBpZiAoZ2V0
c29ja25hbWUoc29ja2V0LCByZWludGVycHJldF9jYXN0PHN0cnVjdCBzb2NrYWRkcio+KCZhZGRy
ZXNzKSwgJmxlbikpIHsKKyAgICAgICAgTE9HX0VSUk9SKCJnZXRzb2NrbmFtZSgpIGZhaWxlZCAo
ZXJybm8gPSAlZCkiLCBXU0FHZXRMYXN0RXJyb3IoKSk7CisgICAgICAgIHJldHVybiBXVEY6Om51
bGxvcHQ7CisgICAgfQogICAgIHJldHVybiBudG9ocyhhZGRyZXNzLnNpbl9wb3J0KTsKIH0KIApA
QCAtMjcxLDcgKzI4NSw3IEBAIE9wdGlvbmFsPHNpemVfdD4gcmVhZChQbGF0Zm9ybVNvY2tldFR5
cGUgc29ja2V0LCB2b2lkKiBidWZmZXIsIGludCBidWZmZXJTaXplKQogICAgIGlmIChyZWFkU2l6
ZSAhPSBTT0NLRVRfRVJST1IpCiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxzaXplX3Q+KHJl
YWRTaXplKTsKIAotICAgIExPR19FUlJPUigicmVhZCBlcnJvciAoZXJybm8gPSAlZCkiLCBXU0FH
ZXRMYXN0RXJyb3IoKSk7CisgICAgTE9HX0VSUk9SKCJyZWN2KCkgZmFpbGVkIChlcnJubyA9ICVk
KSIsIFdTQUdldExhc3RFcnJvcigpKTsKICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogfQogCkBA
IC0yODMsNyArMjk3LDcgQEAgT3B0aW9uYWw8c2l6ZV90PiB3cml0ZShQbGF0Zm9ybVNvY2tldFR5
cGUgc29ja2V0LCBjb25zdCB2b2lkKiBkYXRhLCBpbnQgc2l6ZSkKICAgICBpZiAod3JpdGVTaXpl
ICE9IFNPQ0tFVF9FUlJPUikKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHNpemVfdD4od3Jp
dGVTaXplKTsKIAotICAgIExPR19FUlJPUigid3JpdGUgZXJyb3IgKGVycm5vID0gJWQpIiwgV1NB
R2V0TGFzdEVycm9yKCkpOworICAgIExPR19FUlJPUigic2VuZCgpIGZhaWxlZCAoZXJybm8gPSAl
ZCkiLCBXU0FHZXRMYXN0RXJyb3IoKSk7CiAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIH0KIApA
QCAtMjk1LDcgKzMwOSw3IEBAIHZvaWQgY2xvc2UoUGxhdGZvcm1Tb2NrZXRUeXBlJiBzb2NrZXQp
CiAKIFBvbGxpbmdEZXNjcmlwdG9yIHByZXBhcmVQb2xsaW5nKFBsYXRmb3JtU29ja2V0VHlwZSBz
b2NrZXQpCiB7Ci0gICAgUG9sbGluZ0Rlc2NyaXB0b3IgcG9sbDsKKyAgICBQb2xsaW5nRGVzY3Jp
cHRvciBwb2xsID0geyB9OwogICAgIHBvbGwuZmQgPSBzb2NrZXQ7CiAgICAgcG9sbC5ldmVudHMg
PSBQT0xMSU47CiAgICAgcmV0dXJuIHBvbGw7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>