<?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>204876</bug_id>
          
          <creation_ts>2019-12-05 00:03:58 -0800</creation_ts>
          <short_desc>[JSC] Adhocly created CallLinkInfo in GetterSetterAccess should be owned by GCAwareJITStubRoutine</short_desc>
          <delta_ts>2019-12-10 22:06:31 -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>New Bugs</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="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</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>1595730</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-05 00:03:58 -0800</bug_when>
    <thetext>[JSC] Adhocly created CallLinkInfo in GetterSetterAccess should be owned by GCAwareJITStubRoutine</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595731</commentid>
    <comment_count>1</comment_count>
      <attachid>384882</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-05 00:04:23 -0800</bug_when>
    <thetext>Created attachment 384882
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595733</commentid>
    <comment_count>2</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-05 00:08:29 -0800</bug_when>
    <thetext>&lt;rdar://problem/57078559&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596334</commentid>
    <comment_count>3</comment_count>
      <attachid>385037</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-06 13:35:27 -0800</bug_when>
    <thetext>Created attachment 385037
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597427</commentid>
    <comment_count>4</comment_count>
      <attachid>385320</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-10 16:59:16 -0800</bug_when>
    <thetext>Created attachment 385320
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597445</commentid>
    <comment_count>5</comment_count>
      <attachid>385320</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-12-10 17:24:14 -0800</bug_when>
    <thetext>Comment on attachment 385320
Patch

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

&gt; Source/JavaScriptCore/ChangeLog:10
&gt; +        so long as it is live in the stack (which means we are executing this code right now), but GetterSetterAccesssCase itself can

you should say how, since this isn&apos;t intuitive. E.g, GetterSetterAccessCase might be destroyed when the StructureStubInfo is reset.

&gt; Source/JavaScriptCore/bytecode/GetterSetterAccessCase.h:42
&gt; +    // CallLinkInfo&apos;s ownership is held by generated code.

is held by generated code =&gt; is held both by generated code via GCAwareJITStubRoutine and PolymorphicAccess.

Maybe also explain that PolymorphicAccess can be destroyed before the CallLinkInfo is destroyed, since the GCAwareJITStubRoutine owns the CallLinkInfo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597512</commentid>
    <comment_count>6</comment_count>
      <attachid>385320</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-10 22:06:06 -0800</bug_when>
    <thetext>Comment on attachment 385320
Patch

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

Thanks!

&gt;&gt; Source/JavaScriptCore/ChangeLog:10
&gt;&gt; +        so long as it is live in the stack (which means we are executing this code right now), but GetterSetterAccesssCase itself can
&gt; 
&gt; you should say how, since this isn&apos;t intuitive. E.g, GetterSetterAccessCase might be destroyed when the StructureStubInfo is reset.

Fixed.

&gt;&gt; Source/JavaScriptCore/bytecode/GetterSetterAccessCase.h:42
&gt;&gt; +    // CallLinkInfo&apos;s ownership is held by generated code.
&gt; 
&gt; is held by generated code =&gt; is held both by generated code via GCAwareJITStubRoutine and PolymorphicAccess.
&gt; 
&gt; Maybe also explain that PolymorphicAccess can be destroyed before the CallLinkInfo is destroyed, since the GCAwareJITStubRoutine owns the CallLinkInfo

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597513</commentid>
    <comment_count>7</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-10 22:06:31 -0800</bug_when>
    <thetext>Committed r253361: &lt;https://trac.webkit.org/changeset/253361&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384882</attachid>
            <date>2019-12-05 00:04:23 -0800</date>
            <delta_ts>2019-12-06 13:35:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204876-20191205000422.patch</filename>
            <type>text/plain</type>
            <size>14035</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMTM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
MGEzZTk3Njk1ZDkwNTZlY2IwZGQzZTk0NjYwMzRmODQ4ZThjZGFiLi4zOGE0NjhhNmI3MDMyODA5
MmY1MjQ1YTdkOTJjMjE1YmRmZjE2M2RjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMCBAQAorMjAxOS0xMi0wNSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEFkaG9jbHkgY3JlYXRlZCBDYWxsTGlua0luZm8gaW4gR2V0dGVy
U2V0dGVyQWNjZXNzIHNob3VsZCBiZSBvd25lZCBieSBHQ0F3YXJlSklUU3R1YlJvdXRpbmUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDg3NgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYnl0ZWNvZGUv
QWNjZXNzQ2FzZS5jcHA6CisgICAgICAgIChKU0M6OkFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbCk6
CisgICAgICAgICogYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5oOgorICAgICAgICAo
SlNDOjpHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpjYWxsTGlua0luZm8gY29uc3QpOgorICAgICAg
ICAqIGJ5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcDoKKyAgICAgICAgKEpTQzo6UG9seW1v
cnBoaWNBY2Nlc3M6OnJlZ2VuZXJhdGUpOgorICAgICAgICAqIGJ5dGVjb2RlL1BvbHltb3JwaGlj
QWNjZXNzLmg6CisgICAgICAgICogaml0L0Fzc2VtYmx5SGVscGVycy5jcHA6CisgICAgICAgIChK
U0M6OkFzc2VtYmx5SGVscGVyczo6ZW1pdER1bWJWaXJ0dWFsQ2FsbCk6CisgICAgICAgICogaml0
L0dDQXdhcmVKSVRTdHViUm91dGluZS5jcHA6CisgICAgICAgIChKU0M6Ok1hcmtpbmdHQ0F3YXJl
SklUU3R1YlJvdXRpbmU6Ok1hcmtpbmdHQ0F3YXJlSklUU3R1YlJvdXRpbmUpOgorICAgICAgICAo
SlNDOjpHQ0F3YXJlSklUU3R1YlJvdXRpbmVXaXRoRXhjZXB0aW9uSGFuZGxlcjo6R0NBd2FyZUpJ
VFN0dWJSb3V0aW5lV2l0aEV4Y2VwdGlvbkhhbmRsZXIpOgorICAgICAgICAoSlNDOjpjcmVhdGVK
SVRTdHViUm91dGluZSk6CisgICAgICAgICogaml0L0dDQXdhcmVKSVRTdHViUm91dGluZS5oOgor
ICAgICAgICAoSlNDOjpHQ0F3YXJlSklUU3R1YlJvdXRpbmU6OmNyZWF0ZSk6CisgICAgICAgIChK
U0M6OmNyZWF0ZUpJVFN0dWJSb3V0aW5lKTogRGVsZXRlZC4KKyAgICAgICAgKiBqaXQvUmVwYXRj
aC5jcHA6CisgICAgICAgIChKU0M6OmxpbmtTbG93Rm9yKToKKyAgICAgICAgKEpTQzo6bGlua1Zp
cnR1YWxGb3IpOgorCiAyMDE5LTEyLTA0ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4K
IAogICAgICAgICBGaXggYSBicm9rZW4gYXNzZXJ0aW9uIGluIEdldEJ5U3RhdHVzOjpjb21wdXRl
Rm9yU3R1YkluZm9XaXRob3V0RXhpdFNpdGVGZWVkYmFjaygpLgpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCmluZGV4IGE1MTE4MDUwOGIwZGVlN2M4MzZi
NmY4OTBmMTFiOWE1YzQ1Y2Q2MDAuLjYwMDYyZjlkNDgwNmY3OTIzYmQzOTNkM2E3NTkyZWI4YjUw
NTg4MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3ND
YXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5j
cHAKQEAgLTE1MzIsNyArMTUzMiw4IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVJbXBsKEFj
Y2Vzc0dlbmVyYXRpb25TdGF0ZSYgc3RhdGUpCiAgICAgICAgICAgICBzdGF0ZS5zZXRTcGlsbFN0
YXRlRm9ySlNHZXR0ZXJTZXR0ZXIoc3BpbGxTdGF0ZSk7CiAKICAgICAgICAgICAgIFJFTEVBU0Vf
QVNTRVJUKCFhY2Nlc3MuY2FsbExpbmtJbmZvKCkpOwotICAgICAgICAgICAgYWNjZXNzLm1fY2Fs
bExpbmtJbmZvID0gbWFrZVVuaXF1ZTxDYWxsTGlua0luZm8+KCk7CisgICAgICAgICAgICBDYWxs
TGlua0luZm8qIGNhbGxMaW5rSW5mbyA9IHN0YXRlLm1fY2FsbExpbmtJbmZvcy5hZGQoKTsKKyAg
ICAgICAgICAgIGFjY2Vzcy5tX2NhbGxMaW5rSW5mbyA9IGNhbGxMaW5rSW5mbzsKIAogICAgICAg
ICAgICAgLy8gRklYTUU6IElmIHdlIGdlbmVyYXRlZCBhIHBvbHltb3JwaGljIGNhbGwgc3R1YiB0
aGF0IGp1bXBlZCBiYWNrIHRvIHRoZSBnZXR0ZXIKICAgICAgICAgICAgIC8vIHN0dWIsIHdoaWNo
IHRoZW4ganVtcGVkIGJhY2sgdG8gdGhlIG1haW4gY29kZSwgdGhlbiB3ZSdkIGhhdmUgYSByZWFj
aGFiaWxpdHkKQEAgLTE1NDIsMTAgKzE1NDMsOSBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRl
SW1wbChBY2Nlc3NHZW5lcmF0aW9uU3RhdGUmIHN0YXRlKQogICAgICAgICAgICAgLy8gYmUgR0Mg
b2JqZWN0cywgYW5kIHRoZW4gd2UnZCBiZSBhYmxlIHRvIHNheSB0aGF0IHRoZSBwb2x5bW9ycGhp
YyBjYWxsIHN0dWIgaGFzIGEKICAgICAgICAgICAgIC8vIHJlZmVyZW5jZSB0byB0aGUgZ2V0dGVy
IHN0dWIuCiAgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTQ4OTE0Ci0gICAgICAgICAgICBhY2Nlc3MuY2FsbExpbmtJbmZvKCktPmRpc2FsbG93
U3R1YnMoKTsKKyAgICAgICAgICAgIGNhbGxMaW5rSW5mby0+ZGlzYWxsb3dTdHVicygpOwogCi0g
ICAgICAgICAgICBhY2Nlc3MuY2FsbExpbmtJbmZvKCktPnNldFVwQ2FsbCgKLSAgICAgICAgICAg
ICAgICBDYWxsTGlua0luZm86OkNhbGwsIHN0dWJJbmZvLmNvZGVPcmlnaW4sIGxvYWRlZFZhbHVl
R1BSKTsKKyAgICAgICAgICAgIGNhbGxMaW5rSW5mby0+c2V0VXBDYWxsKENhbGxMaW5rSW5mbzo6
Q2FsbCwgc3R1YkluZm8uY29kZU9yaWdpbiwgbG9hZGVkVmFsdWVHUFIpOwogCiAgICAgICAgICAg
ICBDQ2FsbEhlbHBlcnM6Okp1bXBMaXN0IGRvbmU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5oCmluZGV4IDk4ZjNj
ZjcyMDVlNmNkZmU0NTc4ZGU1MzkyZWM0MDFiMThhM2ZhN2MuLjI4MTVhYjljOGQ1NTA5MzAxNjdl
ZTdkODBmMGViYzUxNjhkOTM4YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaApAQCAtMzksNyArMzksOCBAQCBj
bGFzcyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlIDogcHVibGljIFByb3h5YWJsZUFjY2Vzc0Nhc2Ug
ewogCiAgICAgLy8gVGhpcyBjYW4gcmV0dXJuIG51bGwgaWYgaXQgaGFzbid0IGJlZW4gZ2VuZXJh
dGVkIHlldC4gVGhhdCdzCiAgICAgLy8gYWN0dWFsbHkgc29tZXdoYXQgbGlrZWx5IGJlY2F1c2Ug
b2YgaG93IHdlIGRvIGJ1ZmZlcmluZyBvZiBuZXcgY2FzZXMuCi0gICAgQ2FsbExpbmtJbmZvKiBj
YWxsTGlua0luZm8oKSBjb25zdCB7IHJldHVybiBtX2NhbGxMaW5rSW5mby5nZXQoKTsgfQorICAg
IC8vIENhbGxMaW5rSW5mbydzIG93bmVyc2hpcCBpcyBoZWxkIGJ5IGdlbmVyYXRlZCBjb2RlLgor
ICAgIENhbGxMaW5rSW5mbyogY2FsbExpbmtJbmZvKCkgY29uc3QgeyByZXR1cm4gbV9jYWxsTGlu
a0luZm87IH0KICAgICBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UoKSBjb25zdCB7IHJldHVybiBt
X2N1c3RvbVNsb3RCYXNlLmdldCgpOyB9CiAgICAgT3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3Rh
dGlvbj4gZG9tQXR0cmlidXRlKCkgY29uc3QgeyByZXR1cm4gbV9kb21BdHRyaWJ1dGU7IH0KIApA
QCAtNzAsNyArNzEsNyBAQCBjbGFzcyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlIDogcHVibGljIFBy
b3h5YWJsZUFjY2Vzc0Nhc2UgewogICAgIEdldHRlclNldHRlckFjY2Vzc0Nhc2UoY29uc3QgR2V0
dGVyU2V0dGVyQWNjZXNzQ2FzZSYpOwogCiAgICAgV3JpdGVCYXJyaWVyPEpTT2JqZWN0PiBtX2N1
c3RvbVNsb3RCYXNlOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxDYWxsTGlua0luZm8+IG1fY2FsbExp
bmtJbmZvOworICAgIENhbGxMaW5rSW5mbyogbV9jYWxsTGlua0luZm8geyBudWxscHRyIH07CiAg
ICAgRnVuY3Rpb25QdHI8T3BlcmF0aW9uUHRyVGFnPiBtX2N1c3RvbUFjY2Vzc29yOwogICAgIE9w
dGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+IG1fZG9tQXR0cmlidXRlOwogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3Bw
CmluZGV4IDFkMDczNjgyZTQ3MDEwN2JhODBhY2UwNWNlYTQ0NTcyNTY4Mjg0MWMuLmU4ZjZiNWM3
YTVkNjY1NGU4OTRlMWUwYzYzMmU0ZDMyNTNmZDY4MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcApAQCAtNzIwLDcgKzcy
MCw3IEBAIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQgUG9seW1vcnBoaWNBY2Nlc3M6OnJlZ2VuZXJh
dGUoCiAgICAgZm9yIChhdXRvJiBlbnRyeSA6IGNhc2VzKQogICAgICAgICBkb2VzQ2FsbHMgfD0g
ZW50cnktPmRvZXNDYWxscygmY2VsbHNUb01hcmspOwogICAgIAotICAgIG1fc3R1YlJvdXRpbmUg
PSBjcmVhdGVKSVRTdHViUm91dGluZShjb2RlLCB2bSwgY29kZUJsb2NrLCBkb2VzQ2FsbHMsIGNl
bGxzVG9NYXJrLCBjb2RlQmxvY2tUaGF0T3duc0V4Y2VwdGlvbkhhbmRsZXJzLCBjYWxsU2l0ZUlu
ZGV4Rm9yRXhjZXB0aW9uSGFuZGxpbmcpOworICAgIG1fc3R1YlJvdXRpbmUgPSBjcmVhdGVKSVRT
dHViUm91dGluZShjb2RlLCB2bSwgY29kZUJsb2NrLCBkb2VzQ2FsbHMsIGNlbGxzVG9NYXJrLCBX
VEZNb3ZlKHN0YXRlLm1fY2FsbExpbmtJbmZvcyksIGNvZGVCbG9ja1RoYXRPd25zRXhjZXB0aW9u
SGFuZGxlcnMsIGNhbGxTaXRlSW5kZXhGb3JFeGNlcHRpb25IYW5kbGluZyk7CiAgICAgbV93YXRj
aHBvaW50cyA9IFdURk1vdmUoc3RhdGUud2F0Y2hwb2ludHMpOwogICAgIGlmICghc3RhdGUud2Vh
a1JlZmVyZW5jZXMuaXNFbXB0eSgpKQogICAgICAgICBtX3dlYWtSZWZlcmVuY2VzID0gbWFrZVVu
aXF1ZTxWZWN0b3I8V3JpdGVCYXJyaWVyPEpTQ2VsbD4+PihXVEZNb3ZlKHN0YXRlLndlYWtSZWZl
cmVuY2VzKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9s
eW1vcnBoaWNBY2Nlc3MuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9y
cGhpY0FjY2Vzcy5oCmluZGV4IDVkZTNiNDdmOTM2OWJjN2EwMDg1NWY5Mjk0N2QxNDlkNTA4YjRm
M2QuLjUxYzg4ZjU0OTY5OWRhMTMzMDI0YjdkMmY4N2Y1MzI4ZTI5OWU2MTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5oCkBAIC0y
MTYsNiArMjE2LDcgQEAgc3RydWN0IEFjY2Vzc0dlbmVyYXRpb25TdGF0ZSB7CiAgICAgRlBSUmVn
IHNjcmF0Y2hGUFIgeyBJbnZhbGlkRlBSUmVnIH07CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdhdGNo
cG9pbnRzT25TdHJ1Y3R1cmVTdHViSW5mbz4gd2F0Y2hwb2ludHM7CiAgICAgVmVjdG9yPFdyaXRl
QmFycmllcjxKU0NlbGw+PiB3ZWFrUmVmZXJlbmNlczsKKyAgICBCYWc8Q2FsbExpbmtJbmZvPiBt
X2NhbGxMaW5rSW5mb3M7CiAKICAgICB2b2lkIGluc3RhbGxXYXRjaHBvaW50KGNvbnN0IE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXNz
ZW1ibHlIZWxwZXJzLmNwcAppbmRleCAzNWM1OTVlYWYzYjEzNTMyNjI3YmEzMGM2YTFhMmNjMGNk
YTY1YjdhLi5jOGRmMjAwYjk4MWZmODI2YTUyZWYwNjcwZWM3ZGVlZGNiZmY2OTZlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5SGVscGVycy5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuY3BwCkBAIC02MzMsNyAr
NjMzLDcgQEAgdm9pZCBBc3NlbWJseUhlbHBlcnM6OmVtaXREdW1iVmlydHVhbENhbGwoVk0mIHZt
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LAogICAgIGFkZExpbmtUYXNrKAogICAgICAg
ICBbPSwgJnZtXSAoTGlua0J1ZmZlciYgbGlua0J1ZmZlcikgewogICAgICAgICAgICAgTWFjcm9B
c3NlbWJsZXJDb2RlUmVmPEpJVFN0dWJSb3V0aW5lUHRyVGFnPiB2aXJ0dWFsVGh1bmsgPSB2aXJ0
dWFsVGh1bmtGb3Iodm0sICppbmZvKTsKLSAgICAgICAgICAgIGluZm8tPnNldFNsb3dTdHViKGNy
ZWF0ZUpJVFN0dWJSb3V0aW5lKHZpcnR1YWxUaHVuaywgdm0sIG51bGxwdHIsIHRydWUpKTsKKyAg
ICAgICAgICAgIGluZm8tPnNldFNsb3dTdHViKEdDQXdhcmVKSVRTdHViUm91dGluZTo6Y3JlYXRl
KHZpcnR1YWxUaHVuaywgdm0pKTsKICAgICAgICAgICAgIGxpbmtCdWZmZXIubGluayhjYWxsLCBD
b2RlTG9jYXRpb25MYWJlbDxKSVRTdHViUm91dGluZVB0clRhZz4odmlydHVhbFRodW5rLmNvZGUo
KSkpOwogICAgICAgICB9KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvR0NBd2FyZUpJVFN0dWJSb3V0aW5lLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
R0NBd2FyZUpJVFN0dWJSb3V0aW5lLmNwcAppbmRleCBkNTAxZDkxNWRiZDMyNjM4MDUwYTI0OGE0
NGU1NTliN2I5ZjUzM2ExLi41MDExZjZkOTUxNmFlYTljM2I4NjNiZmZjYTk1YTEwYTNlMjIyZjRm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dDQXdhcmVKSVRTdHViUm91
dGluZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HQ0F3YXJlSklUU3R1YlJv
dXRpbmUuY3BwCkBAIC04MSw5ICs4MSwxMCBAQCB2b2lkIEdDQXdhcmVKSVRTdHViUm91dGluZTo6
bWFya1JlcXVpcmVkT2JqZWN0c0ludGVybmFsKFNsb3RWaXNpdG9yJikKIAogTWFya2luZ0dDQXdh
cmVKSVRTdHViUm91dGluZTo6TWFya2luZ0dDQXdhcmVKSVRTdHViUm91dGluZSgKICAgICBjb25z
dCBNYWNyb0Fzc2VtYmxlckNvZGVSZWY8SklUU3R1YlJvdXRpbmVQdHJUYWc+JiBjb2RlLCBWTSYg
dm0sIGNvbnN0IEpTQ2VsbCogb3duZXIsCi0gICAgY29uc3QgVmVjdG9yPEpTQ2VsbCo+JiBjZWxs
cykKKyAgICBjb25zdCBWZWN0b3I8SlNDZWxsKj4mIGNlbGxzLCBCYWc8Q2FsbExpbmtJbmZvPiYm
IGNhbGxMaW5rSW5mb3MpCiAgICAgOiBHQ0F3YXJlSklUU3R1YlJvdXRpbmUoY29kZSwgdm0pCiAg
ICAgLCBtX2NlbGxzKGNlbGxzLnNpemUoKSkKKyAgICAsIG1fY2FsbExpbmtJbmZvcyhXVEZNb3Zl
KGNhbGxMaW5rSW5mb3MpKQogewogICAgIGZvciAodW5zaWduZWQgaSA9IGNlbGxzLnNpemUoKTsg
aS0tOykKICAgICAgICAgbV9jZWxsc1tpXS5zZXQodm0sIG93bmVyLCBjZWxsc1tpXSk7CkBAIC0x
MDEsOSArMTAyLDkgQEAgdm9pZCBNYXJraW5nR0NBd2FyZUpJVFN0dWJSb3V0aW5lOjptYXJrUmVx
dWlyZWRPYmplY3RzSW50ZXJuYWwoU2xvdFZpc2l0b3ImIHZpc2kKIAogCiBHQ0F3YXJlSklUU3R1
YlJvdXRpbmVXaXRoRXhjZXB0aW9uSGFuZGxlcjo6R0NBd2FyZUpJVFN0dWJSb3V0aW5lV2l0aEV4
Y2VwdGlvbkhhbmRsZXIoCi0gICAgY29uc3QgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmPEpJVFN0dWJS
b3V0aW5lUHRyVGFnPiYgY29kZSwgVk0mIHZtLCAgY29uc3QgSlNDZWxsKiBvd25lciwgY29uc3Qg
VmVjdG9yPEpTQ2VsbCo+JiBjZWxscywKKyAgICBjb25zdCBNYWNyb0Fzc2VtYmxlckNvZGVSZWY8
SklUU3R1YlJvdXRpbmVQdHJUYWc+JiBjb2RlLCBWTSYgdm0sICBjb25zdCBKU0NlbGwqIG93bmVy
LCBjb25zdCBWZWN0b3I8SlNDZWxsKj4mIGNlbGxzLCBCYWc8Q2FsbExpbmtJbmZvPiYmIGNhbGxM
aW5rSW5mb3MsCiAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2tGb3JFeGNlcHRpb25IYW5kbGVycywg
RGlzcG9zYWJsZUNhbGxTaXRlSW5kZXggZXhjZXB0aW9uSGFuZGxlckNhbGxTaXRlSW5kZXgpCi0g
ICAgOiBNYXJraW5nR0NBd2FyZUpJVFN0dWJSb3V0aW5lKGNvZGUsIHZtLCBvd25lciwgY2VsbHMp
CisgICAgOiBNYXJraW5nR0NBd2FyZUpJVFN0dWJSb3V0aW5lKGNvZGUsIHZtLCBvd25lciwgY2Vs
bHMsIFdURk1vdmUoY2FsbExpbmtJbmZvcykpCiAgICAgLCBtX2NvZGVCbG9ja1dpdGhFeGNlcHRp
b25IYW5kbGVyKGNvZGVCbG9ja0ZvckV4Y2VwdGlvbkhhbmRsZXJzKQogICAgICwgbV9leGNlcHRp
b25IYW5kbGVyQ2FsbFNpdGVJbmRleChleGNlcHRpb25IYW5kbGVyQ2FsbFNpdGVJbmRleCkKIHsK
QEAgLTEzNiwyMSArMTM3LDI1IEBAIFJlZjxKSVRTdHViUm91dGluZT4gY3JlYXRlSklUU3R1YlJv
dXRpbmUoCiAgICAgY29uc3QgSlNDZWxsKiBvd25lciwKICAgICBib29sIG1ha2VzQ2FsbHMsCiAg
ICAgY29uc3QgVmVjdG9yPEpTQ2VsbCo+JiBjZWxscywKKyAgICBCYWc8Q2FsbExpbmtJbmZvPiYm
IGNhbGxMaW5rSW5mb3MsCiAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2tGb3JFeGNlcHRpb25IYW5k
bGVycywKICAgICBEaXNwb3NhYmxlQ2FsbFNpdGVJbmRleCBleGNlcHRpb25IYW5kbGVyQ2FsbFNp
dGVJbmRleCkKIHsKLSAgICBpZiAoIW1ha2VzQ2FsbHMpCisgICAgaWYgKCFtYWtlc0NhbGxzKSB7
CisgICAgICAgIC8vIEFsbG9jYXRpbmcgQ2FsbExpbmtJbmZvcyBtZWFucyB3ZSBzaG91bGQgaGF2
ZSBjYWxscy4KKyAgICAgICAgQVNTRVJUKGNhbGxMaW5rSW5mb3MuaXNFbXB0eSgpKTsKICAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSklUU3R1YlJvdXRpbmUoY29kZSkpOworICAgIH0KICAg
ICAKICAgICBpZiAoY29kZUJsb2NrRm9yRXhjZXB0aW9uSGFuZGxlcnMpIHsKICAgICAgICAgUkVM
RUFTRV9BU1NFUlQoSklUQ29kZTo6aXNPcHRpbWl6aW5nSklUKGNvZGVCbG9ja0ZvckV4Y2VwdGlv
bkhhbmRsZXJzLT5qaXRUeXBlKCkpKTsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgR0NB
d2FyZUpJVFN0dWJSb3V0aW5lV2l0aEV4Y2VwdGlvbkhhbmRsZXIoY29kZSwgdm0sIG93bmVyLCBj
ZWxscywgY29kZUJsb2NrRm9yRXhjZXB0aW9uSGFuZGxlcnMsIGV4Y2VwdGlvbkhhbmRsZXJDYWxs
U2l0ZUluZGV4KSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEdDQXdhcmVKSVRTdHVi
Um91dGluZVdpdGhFeGNlcHRpb25IYW5kbGVyKGNvZGUsIHZtLCBvd25lciwgY2VsbHMsIFdURk1v
dmUoY2FsbExpbmtJbmZvcyksIGNvZGVCbG9ja0ZvckV4Y2VwdGlvbkhhbmRsZXJzLCBleGNlcHRp
b25IYW5kbGVyQ2FsbFNpdGVJbmRleCkpOwogICAgIH0KIAotICAgIGlmIChjZWxscy5pc0VtcHR5
KCkpCi0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEdDQXdhcmVKSVRTdHViUm91dGluZShj
b2RlLCB2bSkpOworICAgIGlmIChjZWxscy5pc0VtcHR5KCkgJiYgY2FsbExpbmtJbmZvcy5pc0Vt
cHR5KCkpCisgICAgICAgIHJldHVybiBHQ0F3YXJlSklUU3R1YlJvdXRpbmU6OmNyZWF0ZShjb2Rl
LCB2bSk7CiAgICAgCi0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWFya2luZ0dDQXdhcmVKSVRT
dHViUm91dGluZShjb2RlLCB2bSwgb3duZXIsIGNlbGxzKSk7CisgICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgTWFya2luZ0dDQXdhcmVKSVRTdHViUm91dGluZShjb2RlLCB2bSwgb3duZXIsIGNlbGxz
LCBXVEZNb3ZlKGNhbGxMaW5rSW5mb3MpKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HQ0F3YXJlSklUU3R1YlJvdXRpbmUu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR0NBd2FyZUpJVFN0dWJSb3V0aW5lLmgKaW5k
ZXggNDcxYTY3NTFlNjYxOTBmNjZiYTUwM2YxMzNlYjMxMjU0NDZiYzFkMC4uNmY0MjQyNzQyOTI5
M2U3YWI1YTU1NzdmNjA4MGI2ODYzNjBkODU2OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9HQ0F3YXJlSklUU3R1YlJvdXRpbmUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0dDQXdhcmVKSVRTdHViUm91dGluZS5oCkBAIC01MSw2ICs1MSwxMSBAQCBjbGFz
cyBHQ0F3YXJlSklUU3R1YlJvdXRpbmUgOiBwdWJsaWMgSklUU3R1YlJvdXRpbmUgewogcHVibGlj
OgogICAgIEdDQXdhcmVKSVRTdHViUm91dGluZShjb25zdCBNYWNyb0Fzc2VtYmxlckNvZGVSZWY8
SklUU3R1YlJvdXRpbmVQdHJUYWc+JiwgVk0mKTsKICAgICB2aXJ0dWFsIH5HQ0F3YXJlSklUU3R1
YlJvdXRpbmUoKTsKKworICAgIHN0YXRpYyBSZWY8SklUU3R1YlJvdXRpbmU+IGNyZWF0ZShjb25z
dCBNYWNyb0Fzc2VtYmxlckNvZGVSZWY8SklUU3R1YlJvdXRpbmVQdHJUYWc+JiBjb2RlLCBWTSYg
dm0pCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBHQ0F3YXJlSklUU3R1YlJv
dXRpbmUoY29kZSwgdm0pKTsKKyAgICB9CiAgICAgCiAgICAgdm9pZCBtYXJrUmVxdWlyZWRPYmpl
Y3RzKFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogICAgIHsKQEAgLTc2LDcgKzgxLDcgQEAgY2xhc3Mg
R0NBd2FyZUpJVFN0dWJSb3V0aW5lIDogcHVibGljIEpJVFN0dWJSb3V0aW5lIHsKIGNsYXNzIE1h
cmtpbmdHQ0F3YXJlSklUU3R1YlJvdXRpbmUgOiBwdWJsaWMgR0NBd2FyZUpJVFN0dWJSb3V0aW5l
IHsKIHB1YmxpYzoKICAgICBNYXJraW5nR0NBd2FyZUpJVFN0dWJSb3V0aW5lKAotICAgICAgICBj
b25zdCBNYWNyb0Fzc2VtYmxlckNvZGVSZWY8SklUU3R1YlJvdXRpbmVQdHJUYWc+JiwgVk0mLCBj
b25zdCBKU0NlbGwqIG93bmVyLCBjb25zdCBWZWN0b3I8SlNDZWxsKj4mKTsKKyAgICAgICAgY29u
c3QgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmPEpJVFN0dWJSb3V0aW5lUHRyVGFnPiYsIFZNJiwgY29u
c3QgSlNDZWxsKiBvd25lciwgY29uc3QgVmVjdG9yPEpTQ2VsbCo+JiwgQmFnPENhbGxMaW5rSW5m
bz4mJik7CiAgICAgdmlydHVhbCB+TWFya2luZ0dDQXdhcmVKSVRTdHViUm91dGluZSgpOwogICAg
IAogcHJvdGVjdGVkOgpAQCAtODQsNiArODksNyBAQCBjbGFzcyBNYXJraW5nR0NBd2FyZUpJVFN0
dWJSb3V0aW5lIDogcHVibGljIEdDQXdhcmVKSVRTdHViUm91dGluZSB7CiAKIHByaXZhdGU6CiAg
ICAgVmVjdG9yPFdyaXRlQmFycmllcjxKU0NlbGw+PiBtX2NlbGxzOworICAgIEJhZzxDYWxsTGlu
a0luZm8+IG1fY2FsbExpbmtJbmZvczsKIH07CiAKIApAQCAtOTQsNyArMTAwLDcgQEAgY2xhc3Mg
R0NBd2FyZUpJVFN0dWJSb3V0aW5lV2l0aEV4Y2VwdGlvbkhhbmRsZXIgOiBwdWJsaWMgTWFya2lu
Z0dDQXdhcmVKSVRTdHViUm8KIHB1YmxpYzoKICAgICB0eXBlZGVmIEdDQXdhcmVKSVRTdHViUm91
dGluZSBCYXNlOwogCi0gICAgR0NBd2FyZUpJVFN0dWJSb3V0aW5lV2l0aEV4Y2VwdGlvbkhhbmRs
ZXIoY29uc3QgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmPEpJVFN0dWJSb3V0aW5lUHRyVGFnPiYsIFZN
JiwgY29uc3QgSlNDZWxsKiBvd25lciwgY29uc3QgVmVjdG9yPEpTQ2VsbCo+JiwgQ29kZUJsb2Nr
KiwgRGlzcG9zYWJsZUNhbGxTaXRlSW5kZXgpOworICAgIEdDQXdhcmVKSVRTdHViUm91dGluZVdp
dGhFeGNlcHRpb25IYW5kbGVyKGNvbnN0IE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxKSVRTdHViUm91
dGluZVB0clRhZz4mLCBWTSYsIGNvbnN0IEpTQ2VsbCogb3duZXIsIGNvbnN0IFZlY3RvcjxKU0Nl
bGwqPiYsIEJhZzxDYWxsTGlua0luZm8+JiYsIENvZGVCbG9jayosIERpc3Bvc2FibGVDYWxsU2l0
ZUluZGV4KTsKIAogICAgIHZvaWQgYWJvdXRUb0RpZSgpIG92ZXJyaWRlOwogICAgIHZvaWQgb2Jz
ZXJ2ZVplcm9SZWZDb3VudCgpIG92ZXJyaWRlOwpAQCAtMTI1LDggKzEzMSw4IEBAIGNsYXNzIEdD
QXdhcmVKSVRTdHViUm91dGluZVdpdGhFeGNlcHRpb25IYW5kbGVyIDogcHVibGljIE1hcmtpbmdH
Q0F3YXJlSklUU3R1YlJvCiAKIFJlZjxKSVRTdHViUm91dGluZT4gY3JlYXRlSklUU3R1YlJvdXRp
bmUoCiAgICAgY29uc3QgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmPEpJVFN0dWJSb3V0aW5lUHRyVGFn
PiYsIFZNJiwgY29uc3QgSlNDZWxsKiBvd25lciwgYm9vbCBtYWtlc0NhbGxzLAotICAgIGNvbnN0
IFZlY3RvcjxKU0NlbGwqPiYgPSB7IH0sIAotICAgIENvZGVCbG9jayogY29kZUJsb2NrRm9yRXhj
ZXB0aW9uSGFuZGxlcnMgPSBudWxscHRyLCBEaXNwb3NhYmxlQ2FsbFNpdGVJbmRleCBleGNlcHRp
b25IYW5kbGluZ0NhbGxTaXRlSW5kZXggPSBEaXNwb3NhYmxlQ2FsbFNpdGVJbmRleCgpKTsKKyAg
ICBjb25zdCBWZWN0b3I8SlNDZWxsKj4mLCBCYWc8Q2FsbExpbmtJbmZvPiYmIGNhbGxMaW5rSW5m
b3MsCisgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2tGb3JFeGNlcHRpb25IYW5kbGVycywgRGlzcG9z
YWJsZUNhbGxTaXRlSW5kZXggZXhjZXB0aW9uSGFuZGxpbmdDYWxsU2l0ZUluZGV4KTsKIAogfSAv
LyBuYW1lc3BhY2UgSlNDCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
UmVwYXRjaC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCmluZGV4
IDk2MGIyYmM2ZTAyN2IxZTkzNTVmMjY0NGU5ZjRiNjg2NzUyMmYzZTkuLmY3NmFlNzgwZTNmYzMy
NDk1NWIxZDc2NjYwNjgxNGE1ZTM1YzM0MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvUmVwYXRjaC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBh
dGNoLmNwcApAQCAtOTEzLDcgKzkxMyw3IEBAIHN0YXRpYyB2b2lkIGxpbmtTbG93Rm9yKFZNJiB2
bSwgQ2FsbExpbmtJbmZvJiBjYWxsTGlua0luZm8pCiB7CiAgICAgTWFjcm9Bc3NlbWJsZXJDb2Rl
UmVmPEpJVFN0dWJSb3V0aW5lUHRyVGFnPiB2aXJ0dWFsVGh1bmsgPSB2aXJ0dWFsVGh1bmtGb3Io
dm0sIGNhbGxMaW5rSW5mbyk7CiAgICAgbGlua1Nsb3dGb3Iodm0sIGNhbGxMaW5rSW5mbywgdmly
dHVhbFRodW5rKTsKLSAgICBjYWxsTGlua0luZm8uc2V0U2xvd1N0dWIoY3JlYXRlSklUU3R1YlJv
dXRpbmUodmlydHVhbFRodW5rLCB2bSwgbnVsbHB0ciwgdHJ1ZSkpOworICAgIGNhbGxMaW5rSW5m
by5zZXRTbG93U3R1YihHQ0F3YXJlSklUU3R1YlJvdXRpbmU6OmNyZWF0ZSh2aXJ0dWFsVGh1bmss
IHZtKSk7CiB9CiAKIHN0YXRpYyBKU0NlbGwqIHdlYkFzc2VtYmx5T3duZXIoSlNDZWxsKiBjYWxs
ZWUpCkBAIC0xMDQxLDcgKzEwNDEsNyBAQCBzdGF0aWMgdm9pZCBsaW5rVmlydHVhbEZvcihWTSYg
dm0sIENhbGxGcmFtZSogY2FsbEZyYW1lLCBDYWxsTGlua0luZm8mIGNhbGxMaW5rSQogCiAgICAg
TWFjcm9Bc3NlbWJsZXJDb2RlUmVmPEpJVFN0dWJSb3V0aW5lUHRyVGFnPiB2aXJ0dWFsVGh1bmsg
PSB2aXJ0dWFsVGh1bmtGb3Iodm0sIGNhbGxMaW5rSW5mbyk7CiAgICAgcmV2ZXJ0Q2FsbCh2bSwg
Y2FsbExpbmtJbmZvLCB2aXJ0dWFsVGh1bmspOwotICAgIGNhbGxMaW5rSW5mby5zZXRTbG93U3R1
YihjcmVhdGVKSVRTdHViUm91dGluZSh2aXJ0dWFsVGh1bmssIHZtLCBudWxscHRyLCB0cnVlKSk7
CisgICAgY2FsbExpbmtJbmZvLnNldFNsb3dTdHViKEdDQXdhcmVKSVRTdHViUm91dGluZTo6Y3Jl
YXRlKHZpcnR1YWxUaHVuaywgdm0pKTsKICAgICBjYWxsTGlua0luZm8uc2V0Q2xlYXJlZEJ5Vmly
dHVhbCgpOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385037</attachid>
            <date>2019-12-06 13:35:27 -0800</date>
            <delta_ts>2019-12-10 16:59:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204876-20191206133527.patch</filename>
            <type>text/plain</type>
            <size>16399</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMjEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
MGU2YmRjZTBkNGY4NDkxMGFkZTMxMGU1OTdkZjc4NjU5OTU2Y2FkLi41MDBmNTBlN2Y1NGVlM2U0
ZGU0ZTk4ZWEyZDI4ZDZlM2I5NzNiODY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzOSBAQAorMjAxOS0xMi0wNiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEFkaG9jbHkgY3JlYXRlZCBDYWxsTGlua0luZm8gaW4gR2V0dGVy
U2V0dGVyQWNjZXNzIHNob3VsZCBiZSBvd25lZCBieSBHQ0F3YXJlSklUU3R1YlJvdXRpbmUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDg3NgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gZW1pdHRp
bmcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSBjb2RlIGluIElDLCB3ZSBkeW5hbWljYWxseSBjcmVh
dGUgQ2FsbExpbmtJbmZvIHdoaWNoIGlzIG93bmVkIGJ5IEdldHRlclNldHRlckFjY2Vzc0Nhc2Us
CisgICAgICAgIGFuZCB3ZSB1c2UgdGhpcyBwb2ludGVyIGZvciBHZXR0ZXJTZXR0ZXIgY2FsbHMg
KGxpa2UsIG9wZXJhdGlvbkxpbmtDYWxsIGV0Yy4pLiBUaGUgcHJvYmxlbSBpcyB0aGF0IElDIGNv
ZGUgaXMgbm90IGRlc3Ryb3llZAorICAgICAgICBzbyBsb25nIGFzIGl0IGlzIGxpdmUgaW4gdGhl
IHN0YWNrICh3aGljaCBtZWFucyB3ZSBhcmUgZXhlY3V0aW5nIHRoaXMgY29kZSByaWdodCBub3cp
LCBidXQgR2V0dGVyU2V0dGVyQWNjZXNzc0Nhc2UgaXRzZWxmIGNhbgorICAgICAgICBiZSBkZXN0
cm95ZWQuIFNvLCB0aGUgY29kZSBpcyBzdGlsbCBwb2ludGluZyBhbHJlYWR5LWRlc3Ryb3llZCBD
YWxsTGlua0luZm8uCisKKyAgICAgICAgSW4gdGhpcyBwYXRjaCwgQ2FsbExpbmtJbmZvIHVzZWQg
Zm9yIEdldHRlclNldHRlckFjY2Vzc0Nhc2UgY29kZSBpcyBvd25lZCBieSBlbWl0dGVkIGNvZGUs
IHdoaWNoIG1lYW5zLCBvd25lZCBieQorICAgICAgICBNYXJraW5nR0NBd2FyZUpJVFN0dWJSb3V0
aW5lLiBTbyBpdCBpcyBrZXB0IHNvIGxvbmcgYXMgdGhlIGNvZGUgaXMgbGl2ZS4gV2UgdXNlIEJh
ZzxDYWxsTGlua0luZm8+IHRvIGNyZWF0ZSBhIENhbGxMaW5rSW5mbywKKyAgICAgICAgYW5kIE1h
cmtpbmdHQ0F3YXJlSklUU3R1YlJvdXRpbmUgb3ducyBpdC4KKworICAgICAgICAqIGJ5dGVjb2Rl
L0FjY2Vzc0Nhc2UuY3BwOgorICAgICAgICAoSlNDOjpBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwp
OgorICAgICAgICAqIGJ5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaDoKKyAgICAgICAg
KEpTQzo6R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y2FsbExpbmtJbmZvIGNvbnN0KToKKyAgICAg
ICAgKiBieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHA6CisgICAgICAgIChKU0M6OlBvbHlt
b3JwaGljQWNjZXNzOjpyZWdlbmVyYXRlKToKKyAgICAgICAgKiBieXRlY29kZS9Qb2x5bW9ycGhp
Y0FjY2Vzcy5oOgorICAgICAgICAqIGppdC9Bc3NlbWJseUhlbHBlcnMuY3BwOgorICAgICAgICAo
SlNDOjpBc3NlbWJseUhlbHBlcnM6OmVtaXREdW1iVmlydHVhbENhbGwpOgorICAgICAgICAqIGpp
dC9HQ0F3YXJlSklUU3R1YlJvdXRpbmUuY3BwOgorICAgICAgICAoSlNDOjpNYXJraW5nR0NBd2Fy
ZUpJVFN0dWJSb3V0aW5lOjpNYXJraW5nR0NBd2FyZUpJVFN0dWJSb3V0aW5lKToKKyAgICAgICAg
KEpTQzo6R0NBd2FyZUpJVFN0dWJSb3V0aW5lV2l0aEV4Y2VwdGlvbkhhbmRsZXI6OkdDQXdhcmVK
SVRTdHViUm91dGluZVdpdGhFeGNlcHRpb25IYW5kbGVyKToKKyAgICAgICAgKEpTQzo6Y3JlYXRl
SklUU3R1YlJvdXRpbmUpOgorICAgICAgICAqIGppdC9HQ0F3YXJlSklUU3R1YlJvdXRpbmUuaDoK
KyAgICAgICAgKEpTQzo6R0NBd2FyZUpJVFN0dWJSb3V0aW5lOjpjcmVhdGUpOgorICAgICAgICAo
SlNDOjpjcmVhdGVKSVRTdHViUm91dGluZSk6IERlbGV0ZWQuCisgICAgICAgICogaml0L1JlcGF0
Y2guY3BwOgorICAgICAgICAoSlNDOjpsaW5rU2xvd0Zvcik6CisgICAgICAgIChKU0M6OmxpbmtW
aXJ0dWFsRm9yKToKKwogMjAxOS0xMi0wNiAgSm9vbmdodW4gUGFyayAgPGpoNzE4LnBhcmtAc2Ft
c3VuZy5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gUmV2ZXJ0IHIyNTMyMDcgYmVjYXVzZSBp
dCBjYXVzZXMgY29tcGlsZSBlcnJvciBpbiBNYWMgYW5kIGlvcyBidWlsZC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcAppbmRleCBhNTExODA1MDhiMGRl
ZTdjODM2YjZmODkwZjExYjlhNWM0NWNkNjAwLi42MDA2MmY5ZDQ4MDZmNzkyM2JkMzkzZDNhNzU5
MmViOGI1MDU4ODM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
QWNjZXNzQ2FzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vz
c0Nhc2UuY3BwCkBAIC0xNTMyLDcgKzE1MzIsOCBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRl
SW1wbChBY2Nlc3NHZW5lcmF0aW9uU3RhdGUmIHN0YXRlKQogICAgICAgICAgICAgc3RhdGUuc2V0
U3BpbGxTdGF0ZUZvckpTR2V0dGVyU2V0dGVyKHNwaWxsU3RhdGUpOwogCiAgICAgICAgICAgICBS
RUxFQVNFX0FTU0VSVCghYWNjZXNzLmNhbGxMaW5rSW5mbygpKTsKLSAgICAgICAgICAgIGFjY2Vz
cy5tX2NhbGxMaW5rSW5mbyA9IG1ha2VVbmlxdWU8Q2FsbExpbmtJbmZvPigpOworICAgICAgICAg
ICAgQ2FsbExpbmtJbmZvKiBjYWxsTGlua0luZm8gPSBzdGF0ZS5tX2NhbGxMaW5rSW5mb3MuYWRk
KCk7CisgICAgICAgICAgICBhY2Nlc3MubV9jYWxsTGlua0luZm8gPSBjYWxsTGlua0luZm87CiAK
ICAgICAgICAgICAgIC8vIEZJWE1FOiBJZiB3ZSBnZW5lcmF0ZWQgYSBwb2x5bW9ycGhpYyBjYWxs
IHN0dWIgdGhhdCBqdW1wZWQgYmFjayB0byB0aGUgZ2V0dGVyCiAgICAgICAgICAgICAvLyBzdHVi
LCB3aGljaCB0aGVuIGp1bXBlZCBiYWNrIHRvIHRoZSBtYWluIGNvZGUsIHRoZW4gd2UnZCBoYXZl
IGEgcmVhY2hhYmlsaXR5CkBAIC0xNTQyLDEwICsxNTQzLDkgQEAgdm9pZCBBY2Nlc3NDYXNlOjpn
ZW5lcmF0ZUltcGwoQWNjZXNzR2VuZXJhdGlvblN0YXRlJiBzdGF0ZSkKICAgICAgICAgICAgIC8v
IGJlIEdDIG9iamVjdHMsIGFuZCB0aGVuIHdlJ2QgYmUgYWJsZSB0byBzYXkgdGhhdCB0aGUgcG9s
eW1vcnBoaWMgY2FsbCBzdHViIGhhcyBhCiAgICAgICAgICAgICAvLyByZWZlcmVuY2UgdG8gdGhl
IGdldHRlciBzdHViLgogICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE0ODkxNAotICAgICAgICAgICAgYWNjZXNzLmNhbGxMaW5rSW5mbygpLT5k
aXNhbGxvd1N0dWJzKCk7CisgICAgICAgICAgICBjYWxsTGlua0luZm8tPmRpc2FsbG93U3R1YnMo
KTsKIAotICAgICAgICAgICAgYWNjZXNzLmNhbGxMaW5rSW5mbygpLT5zZXRVcENhbGwoCi0gICAg
ICAgICAgICAgICAgQ2FsbExpbmtJbmZvOjpDYWxsLCBzdHViSW5mby5jb2RlT3JpZ2luLCBsb2Fk
ZWRWYWx1ZUdQUik7CisgICAgICAgICAgICBjYWxsTGlua0luZm8tPnNldFVwQ2FsbChDYWxsTGlu
a0luZm86OkNhbGwsIHN0dWJJbmZvLmNvZGVPcmlnaW4sIGxvYWRlZFZhbHVlR1BSKTsKIAogICAg
ICAgICAgICAgQ0NhbGxIZWxwZXJzOjpKdW1wTGlzdCBkb25lOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaAppbmRl
eCA5OGYzY2Y3MjA1ZTZjZGZlNDU3OGRlNTM5MmVjNDAxYjE4YTNmYTdjLi4yODE1YWI5YzhkNTUw
OTMwMTY3ZWU3ZDgwZjBlYmM1MTY4ZDkzOGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmgKQEAgLTM5LDcgKzM5
LDggQEAgY2xhc3MgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSA6IHB1YmxpYyBQcm94eWFibGVBY2Nl
c3NDYXNlIHsKIAogICAgIC8vIFRoaXMgY2FuIHJldHVybiBudWxsIGlmIGl0IGhhc24ndCBiZWVu
IGdlbmVyYXRlZCB5ZXQuIFRoYXQncwogICAgIC8vIGFjdHVhbGx5IHNvbWV3aGF0IGxpa2VseSBi
ZWNhdXNlIG9mIGhvdyB3ZSBkbyBidWZmZXJpbmcgb2YgbmV3IGNhc2VzLgotICAgIENhbGxMaW5r
SW5mbyogY2FsbExpbmtJbmZvKCkgY29uc3QgeyByZXR1cm4gbV9jYWxsTGlua0luZm8uZ2V0KCk7
IH0KKyAgICAvLyBDYWxsTGlua0luZm8ncyBvd25lcnNoaXAgaXMgaGVsZCBieSBnZW5lcmF0ZWQg
Y29kZS4KKyAgICBDYWxsTGlua0luZm8qIGNhbGxMaW5rSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1f
Y2FsbExpbmtJbmZvOyB9CiAgICAgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlKCkgY29uc3QgeyBy
ZXR1cm4gbV9jdXN0b21TbG90QmFzZS5nZXQoKTsgfQogICAgIE9wdGlvbmFsPERPTUF0dHJpYnV0
ZUFubm90YXRpb24+IGRvbUF0dHJpYnV0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZG9tQXR0cmlidXRl
OyB9CiAKQEAgLTcwLDcgKzcxLDcgQEAgY2xhc3MgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSA6IHB1
YmxpYyBQcm94eWFibGVBY2Nlc3NDYXNlIHsKICAgICBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKGNv
bnN0IEdldHRlclNldHRlckFjY2Vzc0Nhc2UmKTsKIAogICAgIFdyaXRlQmFycmllcjxKU09iamVj
dD4gbV9jdXN0b21TbG90QmFzZTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8Q2FsbExpbmtJbmZvPiBt
X2NhbGxMaW5rSW5mbzsKKyAgICBDYWxsTGlua0luZm8qIG1fY2FsbExpbmtJbmZvIHsgbnVsbHB0
ciB9OwogICAgIEZ1bmN0aW9uUHRyPE9wZXJhdGlvblB0clRhZz4gbV9jdXN0b21BY2Nlc3NvcjsK
ICAgICBPcHRpb25hbDxET01BdHRyaWJ1dGVBbm5vdGF0aW9uPiBtX2RvbUF0dHJpYnV0ZTsKIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNB
Y2Nlc3MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNj
ZXNzLmNwcAppbmRleCAxZDA3MzY4MmU0NzAxMDdiYTgwYWNlMDVjZWE0NDU3MjU2ODI4NDFjLi5l
OGY2YjVjN2E1ZDY2NTRlODk0ZTFlMGM2MzJlNGQzMjUzZmQ2ODFiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAKQEAgLTcy
MCw3ICs3MjAsNyBAQCBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0IFBvbHltb3JwaGljQWNjZXNzOjpy
ZWdlbmVyYXRlKAogICAgIGZvciAoYXV0byYgZW50cnkgOiBjYXNlcykKICAgICAgICAgZG9lc0Nh
bGxzIHw9IGVudHJ5LT5kb2VzQ2FsbHMoJmNlbGxzVG9NYXJrKTsKICAgICAKLSAgICBtX3N0dWJS
b3V0aW5lID0gY3JlYXRlSklUU3R1YlJvdXRpbmUoY29kZSwgdm0sIGNvZGVCbG9jaywgZG9lc0Nh
bGxzLCBjZWxsc1RvTWFyaywgY29kZUJsb2NrVGhhdE93bnNFeGNlcHRpb25IYW5kbGVycywgY2Fs
bFNpdGVJbmRleEZvckV4Y2VwdGlvbkhhbmRsaW5nKTsKKyAgICBtX3N0dWJSb3V0aW5lID0gY3Jl
YXRlSklUU3R1YlJvdXRpbmUoY29kZSwgdm0sIGNvZGVCbG9jaywgZG9lc0NhbGxzLCBjZWxsc1Rv
TWFyaywgV1RGTW92ZShzdGF0ZS5tX2NhbGxMaW5rSW5mb3MpLCBjb2RlQmxvY2tUaGF0T3duc0V4
Y2VwdGlvbkhhbmRsZXJzLCBjYWxsU2l0ZUluZGV4Rm9yRXhjZXB0aW9uSGFuZGxpbmcpOwogICAg
IG1fd2F0Y2hwb2ludHMgPSBXVEZNb3ZlKHN0YXRlLndhdGNocG9pbnRzKTsKICAgICBpZiAoIXN0
YXRlLndlYWtSZWZlcmVuY2VzLmlzRW1wdHkoKSkKICAgICAgICAgbV93ZWFrUmVmZXJlbmNlcyA9
IG1ha2VVbmlxdWU8VmVjdG9yPFdyaXRlQmFycmllcjxKU0NlbGw+Pj4oV1RGTW92ZShzdGF0ZS53
ZWFrUmVmZXJlbmNlcykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1BvbHltb3JwaGljQWNjZXNzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
UG9seW1vcnBoaWNBY2Nlc3MuaAppbmRleCA1ZGUzYjQ3ZjkzNjliYzdhMDA4NTVmOTI5NDdkMTQ5
ZDUwOGI0ZjNkLi41MWM4OGY1NDk2OTlkYTEzMzAyNGI3ZDJmODdmNTMyOGUyOTllNjE2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3Mu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3Mu
aApAQCAtMjE2LDYgKzIxNiw3IEBAIHN0cnVjdCBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUgewogICAg
IEZQUlJlZyBzY3JhdGNoRlBSIHsgSW52YWxpZEZQUlJlZyB9OwogICAgIHN0ZDo6dW5pcXVlX3B0
cjxXYXRjaHBvaW50c09uU3RydWN0dXJlU3R1YkluZm8+IHdhdGNocG9pbnRzOwogICAgIFZlY3Rv
cjxXcml0ZUJhcnJpZXI8SlNDZWxsPj4gd2Vha1JlZmVyZW5jZXM7CisgICAgQmFnPENhbGxMaW5r
SW5mbz4gbV9jYWxsTGlua0luZm9zOwogCiAgICAgdm9pZCBpbnN0YWxsV2F0Y2hwb2ludChjb25z
dCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbiYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0Fzc2VtYmx5SGVscGVycy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0Fzc2VtYmx5SGVscGVycy5jcHAKaW5kZXggMzVjNTk1ZWFmM2IxMzUzMjYyN2JhMzBjNmEx
YTJjYzBjZGE2NWI3YS4uYzhkZjIwMGI5ODFmZjgyNmE1MmVmMDY3MGVjN2RlZWRjYmZmNjk2ZSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmNwcApAQCAt
NjMzLDcgKzYzMyw3IEBAIHZvaWQgQXNzZW1ibHlIZWxwZXJzOjplbWl0RHVtYlZpcnR1YWxDYWxs
KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwKICAgICBhZGRMaW5rVGFzaygK
ICAgICAgICAgWz0sICZ2bV0gKExpbmtCdWZmZXImIGxpbmtCdWZmZXIpIHsKICAgICAgICAgICAg
IE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxKSVRTdHViUm91dGluZVB0clRhZz4gdmlydHVhbFRodW5r
ID0gdmlydHVhbFRodW5rRm9yKHZtLCAqaW5mbyk7Ci0gICAgICAgICAgICBpbmZvLT5zZXRTbG93
U3R1YihjcmVhdGVKSVRTdHViUm91dGluZSh2aXJ0dWFsVGh1bmssIHZtLCBudWxscHRyLCB0cnVl
KSk7CisgICAgICAgICAgICBpbmZvLT5zZXRTbG93U3R1YihHQ0F3YXJlSklUU3R1YlJvdXRpbmU6
OmNyZWF0ZSh2aXJ0dWFsVGh1bmssIHZtKSk7CiAgICAgICAgICAgICBsaW5rQnVmZmVyLmxpbmso
Y2FsbCwgQ29kZUxvY2F0aW9uTGFiZWw8SklUU3R1YlJvdXRpbmVQdHJUYWc+KHZpcnR1YWxUaHVu
ay5jb2RlKCkpKTsKICAgICAgICAgfSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0dDQXdhcmVKSVRTdHViUm91dGluZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0dDQXdhcmVKSVRTdHViUm91dGluZS5jcHAKaW5kZXggZDUwMWQ5MTVkYmQzMjYzODA1
MGEyNDhhNDRlNTU5YjdiOWY1MzNhMS4uNTAxMWY2ZDk1MTZhZWE5YzNiODYzYmZmY2E5NWExMGEz
ZTIyMmY0ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HQ0F3YXJlSklU
U3R1YlJvdXRpbmUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR0NBd2FyZUpJ
VFN0dWJSb3V0aW5lLmNwcApAQCAtODEsOSArODEsMTAgQEAgdm9pZCBHQ0F3YXJlSklUU3R1YlJv
dXRpbmU6Om1hcmtSZXF1aXJlZE9iamVjdHNJbnRlcm5hbChTbG90VmlzaXRvciYpCiAKIE1hcmtp
bmdHQ0F3YXJlSklUU3R1YlJvdXRpbmU6Ok1hcmtpbmdHQ0F3YXJlSklUU3R1YlJvdXRpbmUoCiAg
ICAgY29uc3QgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmPEpJVFN0dWJSb3V0aW5lUHRyVGFnPiYgY29k
ZSwgVk0mIHZtLCBjb25zdCBKU0NlbGwqIG93bmVyLAotICAgIGNvbnN0IFZlY3RvcjxKU0NlbGwq
PiYgY2VsbHMpCisgICAgY29uc3QgVmVjdG9yPEpTQ2VsbCo+JiBjZWxscywgQmFnPENhbGxMaW5r
SW5mbz4mJiBjYWxsTGlua0luZm9zKQogICAgIDogR0NBd2FyZUpJVFN0dWJSb3V0aW5lKGNvZGUs
IHZtKQogICAgICwgbV9jZWxscyhjZWxscy5zaXplKCkpCisgICAgLCBtX2NhbGxMaW5rSW5mb3Mo
V1RGTW92ZShjYWxsTGlua0luZm9zKSkKIHsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSBjZWxscy5z
aXplKCk7IGktLTspCiAgICAgICAgIG1fY2VsbHNbaV0uc2V0KHZtLCBvd25lciwgY2VsbHNbaV0p
OwpAQCAtMTAxLDkgKzEwMiw5IEBAIHZvaWQgTWFya2luZ0dDQXdhcmVKSVRTdHViUm91dGluZTo6
bWFya1JlcXVpcmVkT2JqZWN0c0ludGVybmFsKFNsb3RWaXNpdG9yJiB2aXNpCiAKIAogR0NBd2Fy
ZUpJVFN0dWJSb3V0aW5lV2l0aEV4Y2VwdGlvbkhhbmRsZXI6OkdDQXdhcmVKSVRTdHViUm91dGlu
ZVdpdGhFeGNlcHRpb25IYW5kbGVyKAotICAgIGNvbnN0IE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxK
SVRTdHViUm91dGluZVB0clRhZz4mIGNvZGUsIFZNJiB2bSwgIGNvbnN0IEpTQ2VsbCogb3duZXIs
IGNvbnN0IFZlY3RvcjxKU0NlbGwqPiYgY2VsbHMsCisgICAgY29uc3QgTWFjcm9Bc3NlbWJsZXJD
b2RlUmVmPEpJVFN0dWJSb3V0aW5lUHRyVGFnPiYgY29kZSwgVk0mIHZtLCAgY29uc3QgSlNDZWxs
KiBvd25lciwgY29uc3QgVmVjdG9yPEpTQ2VsbCo+JiBjZWxscywgQmFnPENhbGxMaW5rSW5mbz4m
JiBjYWxsTGlua0luZm9zLAogICAgIENvZGVCbG9jayogY29kZUJsb2NrRm9yRXhjZXB0aW9uSGFu
ZGxlcnMsIERpc3Bvc2FibGVDYWxsU2l0ZUluZGV4IGV4Y2VwdGlvbkhhbmRsZXJDYWxsU2l0ZUlu
ZGV4KQotICAgIDogTWFya2luZ0dDQXdhcmVKSVRTdHViUm91dGluZShjb2RlLCB2bSwgb3duZXIs
IGNlbGxzKQorICAgIDogTWFya2luZ0dDQXdhcmVKSVRTdHViUm91dGluZShjb2RlLCB2bSwgb3du
ZXIsIGNlbGxzLCBXVEZNb3ZlKGNhbGxMaW5rSW5mb3MpKQogICAgICwgbV9jb2RlQmxvY2tXaXRo
RXhjZXB0aW9uSGFuZGxlcihjb2RlQmxvY2tGb3JFeGNlcHRpb25IYW5kbGVycykKICAgICAsIG1f
ZXhjZXB0aW9uSGFuZGxlckNhbGxTaXRlSW5kZXgoZXhjZXB0aW9uSGFuZGxlckNhbGxTaXRlSW5k
ZXgpCiB7CkBAIC0xMzYsMjEgKzEzNywyNSBAQCBSZWY8SklUU3R1YlJvdXRpbmU+IGNyZWF0ZUpJ
VFN0dWJSb3V0aW5lKAogICAgIGNvbnN0IEpTQ2VsbCogb3duZXIsCiAgICAgYm9vbCBtYWtlc0Nh
bGxzLAogICAgIGNvbnN0IFZlY3RvcjxKU0NlbGwqPiYgY2VsbHMsCisgICAgQmFnPENhbGxMaW5r
SW5mbz4mJiBjYWxsTGlua0luZm9zLAogICAgIENvZGVCbG9jayogY29kZUJsb2NrRm9yRXhjZXB0
aW9uSGFuZGxlcnMsCiAgICAgRGlzcG9zYWJsZUNhbGxTaXRlSW5kZXggZXhjZXB0aW9uSGFuZGxl
ckNhbGxTaXRlSW5kZXgpCiB7Ci0gICAgaWYgKCFtYWtlc0NhbGxzKQorICAgIGlmICghbWFrZXND
YWxscykgeworICAgICAgICAvLyBBbGxvY2F0aW5nIENhbGxMaW5rSW5mb3MgbWVhbnMgd2Ugc2hv
dWxkIGhhdmUgY2FsbHMuCisgICAgICAgIEFTU0VSVChjYWxsTGlua0luZm9zLmlzRW1wdHkoKSk7
CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEpJVFN0dWJSb3V0aW5lKGNvZGUpKTsKKyAg
ICB9CiAgICAgCiAgICAgaWYgKGNvZGVCbG9ja0ZvckV4Y2VwdGlvbkhhbmRsZXJzKSB7CiAgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKEpJVENvZGU6OmlzT3B0aW1pemluZ0pJVChjb2RlQmxvY2tGb3JF
eGNlcHRpb25IYW5kbGVycy0+aml0VHlwZSgpKSk7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IEdDQXdhcmVKSVRTdHViUm91dGluZVdpdGhFeGNlcHRpb25IYW5kbGVyKGNvZGUsIHZtLCBv
d25lciwgY2VsbHMsIGNvZGVCbG9ja0ZvckV4Y2VwdGlvbkhhbmRsZXJzLCBleGNlcHRpb25IYW5k
bGVyQ2FsbFNpdGVJbmRleCkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBHQ0F3YXJl
SklUU3R1YlJvdXRpbmVXaXRoRXhjZXB0aW9uSGFuZGxlcihjb2RlLCB2bSwgb3duZXIsIGNlbGxz
LCBXVEZNb3ZlKGNhbGxMaW5rSW5mb3MpLCBjb2RlQmxvY2tGb3JFeGNlcHRpb25IYW5kbGVycywg
ZXhjZXB0aW9uSGFuZGxlckNhbGxTaXRlSW5kZXgpKTsKICAgICB9CiAKLSAgICBpZiAoY2VsbHMu
aXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBHQ0F3YXJlSklUU3R1YlJv
dXRpbmUoY29kZSwgdm0pKTsKKyAgICBpZiAoY2VsbHMuaXNFbXB0eSgpICYmIGNhbGxMaW5rSW5m
b3MuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gR0NBd2FyZUpJVFN0dWJSb3V0aW5lOjpjcmVh
dGUoY29kZSwgdm0pOwogICAgIAotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1hcmtpbmdHQ0F3
YXJlSklUU3R1YlJvdXRpbmUoY29kZSwgdm0sIG93bmVyLCBjZWxscykpOworICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IE1hcmtpbmdHQ0F3YXJlSklUU3R1YlJvdXRpbmUoY29kZSwgdm0sIG93bmVy
LCBjZWxscywgV1RGTW92ZShjYWxsTGlua0luZm9zKSkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBK
U0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR0NBd2FyZUpJVFN0dWJS
b3V0aW5lLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dDQXdhcmVKSVRTdHViUm91dGlu
ZS5oCmluZGV4IDQ3MWE2NzUxZTY2MTkwZjY2YmE1MDNmMTMzZWIzMTI1NDQ2YmMxZDAuLjZmNDI0
Mjc0MjkyOTNlN2FiNWE1NTc3ZjYwODBiNjg2MzYwZDg1NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvR0NBd2FyZUpJVFN0dWJSb3V0aW5lLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9HQ0F3YXJlSklUU3R1YlJvdXRpbmUuaApAQCAtNTEsNiArNTEsMTEg
QEAgY2xhc3MgR0NBd2FyZUpJVFN0dWJSb3V0aW5lIDogcHVibGljIEpJVFN0dWJSb3V0aW5lIHsK
IHB1YmxpYzoKICAgICBHQ0F3YXJlSklUU3R1YlJvdXRpbmUoY29uc3QgTWFjcm9Bc3NlbWJsZXJD
b2RlUmVmPEpJVFN0dWJSb3V0aW5lUHRyVGFnPiYsIFZNJik7CiAgICAgdmlydHVhbCB+R0NBd2Fy
ZUpJVFN0dWJSb3V0aW5lKCk7CisKKyAgICBzdGF0aWMgUmVmPEpJVFN0dWJSb3V0aW5lPiBjcmVh
dGUoY29uc3QgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmPEpJVFN0dWJSb3V0aW5lUHRyVGFnPiYgY29k
ZSwgVk0mIHZtKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgR0NBd2FyZUpJ
VFN0dWJSb3V0aW5lKGNvZGUsIHZtKSk7CisgICAgfQogICAgIAogICAgIHZvaWQgbWFya1JlcXVp
cmVkT2JqZWN0cyhTbG90VmlzaXRvciYgdmlzaXRvcikKICAgICB7CkBAIC03Niw3ICs4MSw3IEBA
IGNsYXNzIEdDQXdhcmVKSVRTdHViUm91dGluZSA6IHB1YmxpYyBKSVRTdHViUm91dGluZSB7CiBj
bGFzcyBNYXJraW5nR0NBd2FyZUpJVFN0dWJSb3V0aW5lIDogcHVibGljIEdDQXdhcmVKSVRTdHVi
Um91dGluZSB7CiBwdWJsaWM6CiAgICAgTWFya2luZ0dDQXdhcmVKSVRTdHViUm91dGluZSgKLSAg
ICAgICAgY29uc3QgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmPEpJVFN0dWJSb3V0aW5lUHRyVGFnPiYs
IFZNJiwgY29uc3QgSlNDZWxsKiBvd25lciwgY29uc3QgVmVjdG9yPEpTQ2VsbCo+Jik7CisgICAg
ICAgIGNvbnN0IE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxKSVRTdHViUm91dGluZVB0clRhZz4mLCBW
TSYsIGNvbnN0IEpTQ2VsbCogb3duZXIsIGNvbnN0IFZlY3RvcjxKU0NlbGwqPiYsIEJhZzxDYWxs
TGlua0luZm8+JiYpOwogICAgIHZpcnR1YWwgfk1hcmtpbmdHQ0F3YXJlSklUU3R1YlJvdXRpbmUo
KTsKICAgICAKIHByb3RlY3RlZDoKQEAgLTg0LDYgKzg5LDcgQEAgY2xhc3MgTWFya2luZ0dDQXdh
cmVKSVRTdHViUm91dGluZSA6IHB1YmxpYyBHQ0F3YXJlSklUU3R1YlJvdXRpbmUgewogCiBwcml2
YXRlOgogICAgIFZlY3RvcjxXcml0ZUJhcnJpZXI8SlNDZWxsPj4gbV9jZWxsczsKKyAgICBCYWc8
Q2FsbExpbmtJbmZvPiBtX2NhbGxMaW5rSW5mb3M7CiB9OwogCiAKQEAgLTk0LDcgKzEwMCw3IEBA
IGNsYXNzIEdDQXdhcmVKSVRTdHViUm91dGluZVdpdGhFeGNlcHRpb25IYW5kbGVyIDogcHVibGlj
IE1hcmtpbmdHQ0F3YXJlSklUU3R1YlJvCiBwdWJsaWM6CiAgICAgdHlwZWRlZiBHQ0F3YXJlSklU
U3R1YlJvdXRpbmUgQmFzZTsKIAotICAgIEdDQXdhcmVKSVRTdHViUm91dGluZVdpdGhFeGNlcHRp
b25IYW5kbGVyKGNvbnN0IE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxKSVRTdHViUm91dGluZVB0clRh
Zz4mLCBWTSYsIGNvbnN0IEpTQ2VsbCogb3duZXIsIGNvbnN0IFZlY3RvcjxKU0NlbGwqPiYsIENv
ZGVCbG9jayosIERpc3Bvc2FibGVDYWxsU2l0ZUluZGV4KTsKKyAgICBHQ0F3YXJlSklUU3R1YlJv
dXRpbmVXaXRoRXhjZXB0aW9uSGFuZGxlcihjb25zdCBNYWNyb0Fzc2VtYmxlckNvZGVSZWY8SklU
U3R1YlJvdXRpbmVQdHJUYWc+JiwgVk0mLCBjb25zdCBKU0NlbGwqIG93bmVyLCBjb25zdCBWZWN0
b3I8SlNDZWxsKj4mLCBCYWc8Q2FsbExpbmtJbmZvPiYmLCBDb2RlQmxvY2sqLCBEaXNwb3NhYmxl
Q2FsbFNpdGVJbmRleCk7CiAKICAgICB2b2lkIGFib3V0VG9EaWUoKSBvdmVycmlkZTsKICAgICB2
b2lkIG9ic2VydmVaZXJvUmVmQ291bnQoKSBvdmVycmlkZTsKQEAgLTEyNSw4ICsxMzEsOCBAQCBj
bGFzcyBHQ0F3YXJlSklUU3R1YlJvdXRpbmVXaXRoRXhjZXB0aW9uSGFuZGxlciA6IHB1YmxpYyBN
YXJraW5nR0NBd2FyZUpJVFN0dWJSbwogCiBSZWY8SklUU3R1YlJvdXRpbmU+IGNyZWF0ZUpJVFN0
dWJSb3V0aW5lKAogICAgIGNvbnN0IE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxKSVRTdHViUm91dGlu
ZVB0clRhZz4mLCBWTSYsIGNvbnN0IEpTQ2VsbCogb3duZXIsIGJvb2wgbWFrZXNDYWxscywKLSAg
ICBjb25zdCBWZWN0b3I8SlNDZWxsKj4mID0geyB9LCAKLSAgICBDb2RlQmxvY2sqIGNvZGVCbG9j
a0ZvckV4Y2VwdGlvbkhhbmRsZXJzID0gbnVsbHB0ciwgRGlzcG9zYWJsZUNhbGxTaXRlSW5kZXgg
ZXhjZXB0aW9uSGFuZGxpbmdDYWxsU2l0ZUluZGV4ID0gRGlzcG9zYWJsZUNhbGxTaXRlSW5kZXgo
KSk7CisgICAgY29uc3QgVmVjdG9yPEpTQ2VsbCo+JiwgQmFnPENhbGxMaW5rSW5mbz4mJiBjYWxs
TGlua0luZm9zLAorICAgIENvZGVCbG9jayogY29kZUJsb2NrRm9yRXhjZXB0aW9uSGFuZGxlcnMs
IERpc3Bvc2FibGVDYWxsU2l0ZUluZGV4IGV4Y2VwdGlvbkhhbmRsaW5nQ2FsbFNpdGVJbmRleCk7
CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L1JlcGF0Y2guY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNw
cAppbmRleCA5NjBiMmJjNmUwMjdiMWU5MzU1ZjI2NDRlOWY0YjY4Njc1MjJmM2U5Li5mNzZhZTc4
MGUzZmMzMjQ5NTViMWQ3NjY2MDY4MTRhNWUzNWMzNDA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvUmVwYXRjaC5jcHAKQEAgLTkxMyw3ICs5MTMsNyBAQCBzdGF0aWMgdm9pZCBsaW5rU2xvd0Zv
cihWTSYgdm0sIENhbGxMaW5rSW5mbyYgY2FsbExpbmtJbmZvKQogewogICAgIE1hY3JvQXNzZW1i
bGVyQ29kZVJlZjxKSVRTdHViUm91dGluZVB0clRhZz4gdmlydHVhbFRodW5rID0gdmlydHVhbFRo
dW5rRm9yKHZtLCBjYWxsTGlua0luZm8pOwogICAgIGxpbmtTbG93Rm9yKHZtLCBjYWxsTGlua0lu
Zm8sIHZpcnR1YWxUaHVuayk7Ci0gICAgY2FsbExpbmtJbmZvLnNldFNsb3dTdHViKGNyZWF0ZUpJ
VFN0dWJSb3V0aW5lKHZpcnR1YWxUaHVuaywgdm0sIG51bGxwdHIsIHRydWUpKTsKKyAgICBjYWxs
TGlua0luZm8uc2V0U2xvd1N0dWIoR0NBd2FyZUpJVFN0dWJSb3V0aW5lOjpjcmVhdGUodmlydHVh
bFRodW5rLCB2bSkpOwogfQogCiBzdGF0aWMgSlNDZWxsKiB3ZWJBc3NlbWJseU93bmVyKEpTQ2Vs
bCogY2FsbGVlKQpAQCAtMTA0MSw3ICsxMDQxLDcgQEAgc3RhdGljIHZvaWQgbGlua1ZpcnR1YWxG
b3IoVk0mIHZtLCBDYWxsRnJhbWUqIGNhbGxGcmFtZSwgQ2FsbExpbmtJbmZvJiBjYWxsTGlua0kK
IAogICAgIE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxKSVRTdHViUm91dGluZVB0clRhZz4gdmlydHVh
bFRodW5rID0gdmlydHVhbFRodW5rRm9yKHZtLCBjYWxsTGlua0luZm8pOwogICAgIHJldmVydENh
bGwodm0sIGNhbGxMaW5rSW5mbywgdmlydHVhbFRodW5rKTsKLSAgICBjYWxsTGlua0luZm8uc2V0
U2xvd1N0dWIoY3JlYXRlSklUU3R1YlJvdXRpbmUodmlydHVhbFRodW5rLCB2bSwgbnVsbHB0ciwg
dHJ1ZSkpOworICAgIGNhbGxMaW5rSW5mby5zZXRTbG93U3R1YihHQ0F3YXJlSklUU3R1YlJvdXRp
bmU6OmNyZWF0ZSh2aXJ0dWFsVGh1bmssIHZtKSk7CiAgICAgY2FsbExpbmtJbmZvLnNldENsZWFy
ZWRCeVZpcnR1YWwoKTsKIH0KIApkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rl
c3RzL0NoYW5nZUxvZwppbmRleCBkMmI4MTc0ODY1MmU5NGYzNTFkOTljYzVhNThkZGY2YWQ4ZTVm
MmVmLi44NjJmYjhhODhiOTAxNzA4OTU3Njc4ODVjZTM4NWExNGFkZmVjZGFkIDEwMDY0NAotLS0g
YS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEz
IEBACisyMDE5LTEyLTA2ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAg
ICAgICAgW0pTQ10gQWRob2NseSBjcmVhdGVkIENhbGxMaW5rSW5mbyBpbiBHZXR0ZXJTZXR0ZXJB
Y2Nlc3Mgc2hvdWxkIGJlIG93bmVkIGJ5IEdDQXdhcmVKSVRTdHViUm91dGluZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0ODc2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3MvY29kZS1lbWl0
dGVkLWJ5LWdldHRlci1zZXR0ZXItYWNjZXNzLWNhc2Utc2hvdWxkLWhvbGQtb3duZXJzaGlwLW9m
LWNhbGwtbGluay1pbmZvLmpzOiBBZGRlZC4KKyAgICAgICAgKGZ1bmMpOgorCiAyMDE5LTEyLTA0
ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gQUkg
c2hvdWxkIGNvbnZlcnQgSXNDZWxsV2l0aFR5cGUgdG8gY29uc3RhbnQgd2hlbiBTdHJ1Y3R1cmUg
c2V0IGlzIGZpbml0ZQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvY29kZS1lbWl0dGVkLWJ5
LWdldHRlci1zZXR0ZXItYWNjZXNzLWNhc2Utc2hvdWxkLWhvbGQtb3duZXJzaGlwLW9mLWNhbGwt
bGluay1pbmZvLmpzIGIvSlNUZXN0cy9zdHJlc3MvY29kZS1lbWl0dGVkLWJ5LWdldHRlci1zZXR0
ZXItYWNjZXNzLWNhc2Utc2hvdWxkLWhvbGQtb3duZXJzaGlwLW9mLWNhbGwtbGluay1pbmZvLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjQ2ZjI2ZTQ0NDNhZjc1Zjc3ZWRjYmVhZWYzNmJiNmRkMmEwMDJmNGEKLS0t
IC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9jb2RlLWVtaXR0ZWQtYnktZ2V0dGVyLXNl
dHRlci1hY2Nlc3MtY2FzZS1zaG91bGQtaG9sZC1vd25lcnNoaXAtb2YtY2FsbC1saW5rLWluZm8u
anMKQEAgLTAsMCArMSwxNCBAQAordmFyIGNvdW50ID0gMDsKK3ZhciBhcnIgPSBuZXcgQXJyYXko
MTApOworZnVuY3Rpb24gZnVuYyh2YWwpIHsKKyAgICBpZiAoY291bnQrKyA+IDMwMCkKKyAgICAg
ICAgcmV0dXJuOworICAgIHRyeSB7IE9iamVjdC5wcm90b3R5cGUuX19kZWZpbmVHZXR0ZXJfXyhT
eW1ib2wuaXNDb25jYXRTcHJlYWRhYmxlLCB2YWwpOworICAgIH0gY2F0Y2goZSkge30KKyAgICBh
cnJbU3ltYm9sLml0ZXJhdG9yXSA9IGFycjsKKyAgICB0cnkgeyBhcnIuY29uY2F0KGFyciwgbmV3
IEFycmF5KDEwKSk7IH0gY2F0Y2goZSkge30KK30KKworZm9yICh2YXIgaT0wOyBpIDwgMjsgaSAr
KykgeworICAgIGZ1bmMobmV3IFByb3h5KGZ1bmMsIFtdKSk7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385320</attachid>
            <date>2019-12-10 16:59:16 -0800</date>
            <delta_ts>2019-12-10 17:24:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204876-20191210165916.patch</filename>
            <type>text/plain</type>
            <size>16824</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMzU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
YTkzZTc0N2EzNjE0YTY0YmJjYjEzNjIxMjk3ZGRjYmY2ZDQ2YTAxLi43MTNmYTRhNTFiNWQ1OWI2
ZTdkMTJkYjgyOTNlNmVhZWExN2QyN2E1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MyBAQAorMjAxOS0xMi0xMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEFkaG9jbHkgY3JlYXRlZCBDYWxsTGlua0luZm8gaW4gR2V0dGVy
U2V0dGVyQWNjZXNzIHNob3VsZCBiZSBvd25lZCBieSBHQ0F3YXJlSklUU3R1YlJvdXRpbmUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDg3NgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gZW1pdHRp
bmcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSBjb2RlIGluIElDLCB3ZSBkeW5hbWljYWxseSBjcmVh
dGUgQ2FsbExpbmtJbmZvIHdoaWNoIGlzIG93bmVkIGJ5IEdldHRlclNldHRlckFjY2Vzc0Nhc2Us
CisgICAgICAgIGFuZCB3ZSB1c2UgdGhpcyBwb2ludGVyIGZvciBHZXR0ZXJTZXR0ZXIgY2FsbHMg
KGxpa2UsIG9wZXJhdGlvbkxpbmtDYWxsIGV0Yy4pLiBUaGUgcHJvYmxlbSBpcyB0aGF0IElDIGNv
ZGUgaXMgbm90IGRlc3Ryb3llZAorICAgICAgICBzbyBsb25nIGFzIGl0IGlzIGxpdmUgaW4gdGhl
IHN0YWNrICh3aGljaCBtZWFucyB3ZSBhcmUgZXhlY3V0aW5nIHRoaXMgY29kZSByaWdodCBub3cp
LCBidXQgR2V0dGVyU2V0dGVyQWNjZXNzc0Nhc2UgaXRzZWxmIGNhbgorICAgICAgICBiZSBkZXN0
cm95ZWQuIFNvLCB0aGUgY29kZSBpcyBzdGlsbCBwb2ludGluZyBhbHJlYWR5LWRlc3Ryb3llZCBD
YWxsTGlua0luZm8uCisKKyAgICAgICAgSW4gdGhpcyBwYXRjaCwgQ2FsbExpbmtJbmZvIHVzZWQg
Zm9yIEdldHRlclNldHRlckFjY2Vzc0Nhc2UgY29kZSBpcyBvd25lZCBieSBlbWl0dGVkIGNvZGUs
IHdoaWNoIG1lYW5zLCBvd25lZCBieQorICAgICAgICBNYXJraW5nR0NBd2FyZUpJVFN0dWJSb3V0
aW5lLiBTbyBpdCBpcyBrZXB0IHNvIGxvbmcgYXMgdGhlIGNvZGUgaXMgbGl2ZS4gV2UgdXNlIEJh
ZzxDYWxsTGlua0luZm8+IHRvIGNyZWF0ZSBhIENhbGxMaW5rSW5mbywKKyAgICAgICAgYW5kIE1h
cmtpbmdHQ0F3YXJlSklUU3R1YlJvdXRpbmUgb3ducyBpdC4KKworICAgICAgICBUaGUgaW1wb3J0
YW50IHF1ZXN0aW9uIGlzIHdoZXRoZXIgd2Ugc2hvdWxkIGNhbGwgQ2FsbExpbmtJbmZvOjp2aXNp
dFdlYWsgd2hlbiB0aGUgYXNzb2NpYXRlZCBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlIGlzIGFscmVh
ZHkKKyAgICAgICAgZGVzdHJveWVkLiBXZSBkbyBub3QgbmVlZCB0byBjYWxsIGl0IHNpbmNlICgx
KSBpdCBpcyBqdXN0IGNsZWFyaW5nIENhbGxMaW5rSW5mbywgYW5kICgyKSB0aGlzIGluZm9ybWF0
aW9uIHdpbGwgbm90IGJlIHVzZWQKKyAgICAgICAgYnkgYW55b25lIHNpbmNlIGFzc29jaWF0ZWQg
R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSBpcyBhbHJlYWR5IGRlc3Ryb3llZC4KKworICAgICAgICAq
IGJ5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwOgorICAgICAgICAoSlNDOjpBY2Nlc3NDYXNlOjpnZW5l
cmF0ZUltcGwpOgorICAgICAgICAqIGJ5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaDoK
KyAgICAgICAgKEpTQzo6R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y2FsbExpbmtJbmZvIGNvbnN0
KToKKyAgICAgICAgKiBieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHA6CisgICAgICAgIChK
U0M6OlBvbHltb3JwaGljQWNjZXNzOjpyZWdlbmVyYXRlKToKKyAgICAgICAgKiBieXRlY29kZS9Q
b2x5bW9ycGhpY0FjY2Vzcy5oOgorICAgICAgICAqIGppdC9Bc3NlbWJseUhlbHBlcnMuY3BwOgor
ICAgICAgICAoSlNDOjpBc3NlbWJseUhlbHBlcnM6OmVtaXREdW1iVmlydHVhbENhbGwpOgorICAg
ICAgICAqIGppdC9HQ0F3YXJlSklUU3R1YlJvdXRpbmUuY3BwOgorICAgICAgICAoSlNDOjpNYXJr
aW5nR0NBd2FyZUpJVFN0dWJSb3V0aW5lOjpNYXJraW5nR0NBd2FyZUpJVFN0dWJSb3V0aW5lKToK
KyAgICAgICAgKEpTQzo6R0NBd2FyZUpJVFN0dWJSb3V0aW5lV2l0aEV4Y2VwdGlvbkhhbmRsZXI6
OkdDQXdhcmVKSVRTdHViUm91dGluZVdpdGhFeGNlcHRpb25IYW5kbGVyKToKKyAgICAgICAgKEpT
Qzo6Y3JlYXRlSklUU3R1YlJvdXRpbmUpOgorICAgICAgICAqIGppdC9HQ0F3YXJlSklUU3R1YlJv
dXRpbmUuaDoKKyAgICAgICAgKEpTQzo6R0NBd2FyZUpJVFN0dWJSb3V0aW5lOjpjcmVhdGUpOgor
ICAgICAgICAoSlNDOjpjcmVhdGVKSVRTdHViUm91dGluZSk6IERlbGV0ZWQuCisgICAgICAgICog
aml0L1JlcGF0Y2guY3BwOgorICAgICAgICAoSlNDOjpsaW5rU2xvd0Zvcik6CisgICAgICAgIChK
U0M6OmxpbmtWaXJ0dWFsRm9yKToKKwogMjAxOS0xMi0xMCAgU2FhbSBCYXJhdGkgIDxzYmFyYXRp
QGFwcGxlLmNvbT4KIAogICAgICAgICBtZXRob2RPZkdldHRpbmdBVmFsdWVQcm9maWxlRm9yIHNo
b3VsZCByZXR1cm4gYXJndW1lbnQgdmFsdWUgcHJvZmlsZXMgZXZlbiB3aGVuIG5vZGUgYW5kIG9w
ZXJhbmROb2RlIGFyZSB0aGUgc2FtZSBvcmlnaW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9BY2Nlc3NDYXNlLmNwcAppbmRleCBhNTExODA1MDhiMGRlZTdjODM2YjZmODkwZjEx
YjlhNWM0NWNkNjAwLi42MDA2MmY5ZDQ4MDZmNzkyM2JkMzkzZDNhNzU5MmViOGI1MDU4ODM4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCkBAIC0x
NTMyLDcgKzE1MzIsOCBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5l
cmF0aW9uU3RhdGUmIHN0YXRlKQogICAgICAgICAgICAgc3RhdGUuc2V0U3BpbGxTdGF0ZUZvckpT
R2V0dGVyU2V0dGVyKHNwaWxsU3RhdGUpOwogCiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVCgh
YWNjZXNzLmNhbGxMaW5rSW5mbygpKTsKLSAgICAgICAgICAgIGFjY2Vzcy5tX2NhbGxMaW5rSW5m
byA9IG1ha2VVbmlxdWU8Q2FsbExpbmtJbmZvPigpOworICAgICAgICAgICAgQ2FsbExpbmtJbmZv
KiBjYWxsTGlua0luZm8gPSBzdGF0ZS5tX2NhbGxMaW5rSW5mb3MuYWRkKCk7CisgICAgICAgICAg
ICBhY2Nlc3MubV9jYWxsTGlua0luZm8gPSBjYWxsTGlua0luZm87CiAKICAgICAgICAgICAgIC8v
IEZJWE1FOiBJZiB3ZSBnZW5lcmF0ZWQgYSBwb2x5bW9ycGhpYyBjYWxsIHN0dWIgdGhhdCBqdW1w
ZWQgYmFjayB0byB0aGUgZ2V0dGVyCiAgICAgICAgICAgICAvLyBzdHViLCB3aGljaCB0aGVuIGp1
bXBlZCBiYWNrIHRvIHRoZSBtYWluIGNvZGUsIHRoZW4gd2UnZCBoYXZlIGEgcmVhY2hhYmlsaXR5
CkBAIC0xNTQyLDEwICsxNTQzLDkgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNj
ZXNzR2VuZXJhdGlvblN0YXRlJiBzdGF0ZSkKICAgICAgICAgICAgIC8vIGJlIEdDIG9iamVjdHMs
IGFuZCB0aGVuIHdlJ2QgYmUgYWJsZSB0byBzYXkgdGhhdCB0aGUgcG9seW1vcnBoaWMgY2FsbCBz
dHViIGhhcyBhCiAgICAgICAgICAgICAvLyByZWZlcmVuY2UgdG8gdGhlIGdldHRlciBzdHViLgog
ICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
ODkxNAotICAgICAgICAgICAgYWNjZXNzLmNhbGxMaW5rSW5mbygpLT5kaXNhbGxvd1N0dWJzKCk7
CisgICAgICAgICAgICBjYWxsTGlua0luZm8tPmRpc2FsbG93U3R1YnMoKTsKIAotICAgICAgICAg
ICAgYWNjZXNzLmNhbGxMaW5rSW5mbygpLT5zZXRVcENhbGwoCi0gICAgICAgICAgICAgICAgQ2Fs
bExpbmtJbmZvOjpDYWxsLCBzdHViSW5mby5jb2RlT3JpZ2luLCBsb2FkZWRWYWx1ZUdQUik7Cisg
ICAgICAgICAgICBjYWxsTGlua0luZm8tPnNldFVwQ2FsbChDYWxsTGlua0luZm86OkNhbGwsIHN0
dWJJbmZvLmNvZGVPcmlnaW4sIGxvYWRlZFZhbHVlR1BSKTsKIAogICAgICAgICAgICAgQ0NhbGxI
ZWxwZXJzOjpKdW1wTGlzdCBkb25lOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaAppbmRleCA5OGYzY2Y3MjA1ZTZj
ZGZlNDU3OGRlNTM5MmVjNDAxYjE4YTNmYTdjLi4yODE1YWI5YzhkNTUwOTMwMTY3ZWU3ZDgwZjBl
YmM1MTY4ZDkzOGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmgKQEAgLTM5LDcgKzM5LDggQEAgY2xhc3MgR2V0
dGVyU2V0dGVyQWNjZXNzQ2FzZSA6IHB1YmxpYyBQcm94eWFibGVBY2Nlc3NDYXNlIHsKIAogICAg
IC8vIFRoaXMgY2FuIHJldHVybiBudWxsIGlmIGl0IGhhc24ndCBiZWVuIGdlbmVyYXRlZCB5ZXQu
IFRoYXQncwogICAgIC8vIGFjdHVhbGx5IHNvbWV3aGF0IGxpa2VseSBiZWNhdXNlIG9mIGhvdyB3
ZSBkbyBidWZmZXJpbmcgb2YgbmV3IGNhc2VzLgotICAgIENhbGxMaW5rSW5mbyogY2FsbExpbmtJ
bmZvKCkgY29uc3QgeyByZXR1cm4gbV9jYWxsTGlua0luZm8uZ2V0KCk7IH0KKyAgICAvLyBDYWxs
TGlua0luZm8ncyBvd25lcnNoaXAgaXMgaGVsZCBieSBnZW5lcmF0ZWQgY29kZS4KKyAgICBDYWxs
TGlua0luZm8qIGNhbGxMaW5rSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbExpbmtJbmZvOyB9
CiAgICAgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlKCkgY29uc3QgeyByZXR1cm4gbV9jdXN0b21T
bG90QmFzZS5nZXQoKTsgfQogICAgIE9wdGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+IGRv
bUF0dHJpYnV0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZG9tQXR0cmlidXRlOyB9CiAKQEAgLTcwLDcg
KzcxLDcgQEAgY2xhc3MgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSA6IHB1YmxpYyBQcm94eWFibGVB
Y2Nlc3NDYXNlIHsKICAgICBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKGNvbnN0IEdldHRlclNldHRl
ckFjY2Vzc0Nhc2UmKTsKIAogICAgIFdyaXRlQmFycmllcjxKU09iamVjdD4gbV9jdXN0b21TbG90
QmFzZTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8Q2FsbExpbmtJbmZvPiBtX2NhbGxMaW5rSW5mbzsK
KyAgICBDYWxsTGlua0luZm8qIG1fY2FsbExpbmtJbmZvIHsgbnVsbHB0ciB9OwogICAgIEZ1bmN0
aW9uUHRyPE9wZXJhdGlvblB0clRhZz4gbV9jdXN0b21BY2Nlc3NvcjsKICAgICBPcHRpb25hbDxE
T01BdHRyaWJ1dGVBbm5vdGF0aW9uPiBtX2RvbUF0dHJpYnV0ZTsKIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAppbmRleCAx
ZDA3MzY4MmU0NzAxMDdiYTgwYWNlMDVjZWE0NDU3MjU2ODI4NDFjLi5lOGY2YjVjN2E1ZDY2NTRl
ODk0ZTFlMGM2MzJlNGQzMjUzZmQ2ODFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAKQEAgLTcyMCw3ICs3MjAsNyBAQCBB
Y2Nlc3NHZW5lcmF0aW9uUmVzdWx0IFBvbHltb3JwaGljQWNjZXNzOjpyZWdlbmVyYXRlKAogICAg
IGZvciAoYXV0byYgZW50cnkgOiBjYXNlcykKICAgICAgICAgZG9lc0NhbGxzIHw9IGVudHJ5LT5k
b2VzQ2FsbHMoJmNlbGxzVG9NYXJrKTsKICAgICAKLSAgICBtX3N0dWJSb3V0aW5lID0gY3JlYXRl
SklUU3R1YlJvdXRpbmUoY29kZSwgdm0sIGNvZGVCbG9jaywgZG9lc0NhbGxzLCBjZWxsc1RvTWFy
aywgY29kZUJsb2NrVGhhdE93bnNFeGNlcHRpb25IYW5kbGVycywgY2FsbFNpdGVJbmRleEZvckV4
Y2VwdGlvbkhhbmRsaW5nKTsKKyAgICBtX3N0dWJSb3V0aW5lID0gY3JlYXRlSklUU3R1YlJvdXRp
bmUoY29kZSwgdm0sIGNvZGVCbG9jaywgZG9lc0NhbGxzLCBjZWxsc1RvTWFyaywgV1RGTW92ZShz
dGF0ZS5tX2NhbGxMaW5rSW5mb3MpLCBjb2RlQmxvY2tUaGF0T3duc0V4Y2VwdGlvbkhhbmRsZXJz
LCBjYWxsU2l0ZUluZGV4Rm9yRXhjZXB0aW9uSGFuZGxpbmcpOwogICAgIG1fd2F0Y2hwb2ludHMg
PSBXVEZNb3ZlKHN0YXRlLndhdGNocG9pbnRzKTsKICAgICBpZiAoIXN0YXRlLndlYWtSZWZlcmVu
Y2VzLmlzRW1wdHkoKSkKICAgICAgICAgbV93ZWFrUmVmZXJlbmNlcyA9IG1ha2VVbmlxdWU8VmVj
dG9yPFdyaXRlQmFycmllcjxKU0NlbGw+Pj4oV1RGTW92ZShzdGF0ZS53ZWFrUmVmZXJlbmNlcykp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGlj
QWNjZXNzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nl
c3MuaAppbmRleCA1ZGUzYjQ3ZjkzNjliYzdhMDA4NTVmOTI5NDdkMTQ5ZDUwOGI0ZjNkLi41MWM4
OGY1NDk2OTlkYTEzMzAyNGI3ZDJmODdmNTMyOGUyOTllNjE2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuaApAQCAtMjE2LDYgKzIx
Niw3IEBAIHN0cnVjdCBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUgewogICAgIEZQUlJlZyBzY3JhdGNo
RlBSIHsgSW52YWxpZEZQUlJlZyB9OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxXYXRjaHBvaW50c09u
U3RydWN0dXJlU3R1YkluZm8+IHdhdGNocG9pbnRzOwogICAgIFZlY3RvcjxXcml0ZUJhcnJpZXI8
SlNDZWxsPj4gd2Vha1JlZmVyZW5jZXM7CisgICAgQmFnPENhbGxMaW5rSW5mbz4gbV9jYWxsTGlu
a0luZm9zOwogCiAgICAgdm9pZCBpbnN0YWxsV2F0Y2hwb2ludChjb25zdCBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvbiYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fz
c2VtYmx5SGVscGVycy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5SGVs
cGVycy5jcHAKaW5kZXggMzVjNTk1ZWFmM2IxMzUzMjYyN2JhMzBjNmExYTJjYzBjZGE2NWI3YS4u
YzhkZjIwMGI5ODFmZjgyNmE1MmVmMDY3MGVjN2RlZWRjYmZmNjk2ZSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmNwcApAQCAtNjMzLDcgKzYzMyw3IEBA
IHZvaWQgQXNzZW1ibHlIZWxwZXJzOjplbWl0RHVtYlZpcnR1YWxDYWxsKFZNJiB2bSwgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwKICAgICBhZGRMaW5rVGFzaygKICAgICAgICAgWz0sICZ2
bV0gKExpbmtCdWZmZXImIGxpbmtCdWZmZXIpIHsKICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVy
Q29kZVJlZjxKSVRTdHViUm91dGluZVB0clRhZz4gdmlydHVhbFRodW5rID0gdmlydHVhbFRodW5r
Rm9yKHZtLCAqaW5mbyk7Ci0gICAgICAgICAgICBpbmZvLT5zZXRTbG93U3R1YihjcmVhdGVKSVRT
dHViUm91dGluZSh2aXJ0dWFsVGh1bmssIHZtLCBudWxscHRyLCB0cnVlKSk7CisgICAgICAgICAg
ICBpbmZvLT5zZXRTbG93U3R1YihHQ0F3YXJlSklUU3R1YlJvdXRpbmU6OmNyZWF0ZSh2aXJ0dWFs
VGh1bmssIHZtKSk7CiAgICAgICAgICAgICBsaW5rQnVmZmVyLmxpbmsoY2FsbCwgQ29kZUxvY2F0
aW9uTGFiZWw8SklUU3R1YlJvdXRpbmVQdHJUYWc+KHZpcnR1YWxUaHVuay5jb2RlKCkpKTsKICAg
ICAgICAgfSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dDQXdh
cmVKSVRTdHViUm91dGluZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dDQXdhcmVK
SVRTdHViUm91dGluZS5jcHAKaW5kZXggZDUwMWQ5MTVkYmQzMjYzODA1MGEyNDhhNDRlNTU5Yjdi
OWY1MzNhMS4uNTAxMWY2ZDk1MTZhZWE5YzNiODYzYmZmY2E5NWExMGEzZTIyMmY0ZiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HQ0F3YXJlSklUU3R1YlJvdXRpbmUuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR0NBd2FyZUpJVFN0dWJSb3V0aW5lLmNw
cApAQCAtODEsOSArODEsMTAgQEAgdm9pZCBHQ0F3YXJlSklUU3R1YlJvdXRpbmU6Om1hcmtSZXF1
aXJlZE9iamVjdHNJbnRlcm5hbChTbG90VmlzaXRvciYpCiAKIE1hcmtpbmdHQ0F3YXJlSklUU3R1
YlJvdXRpbmU6Ok1hcmtpbmdHQ0F3YXJlSklUU3R1YlJvdXRpbmUoCiAgICAgY29uc3QgTWFjcm9B
c3NlbWJsZXJDb2RlUmVmPEpJVFN0dWJSb3V0aW5lUHRyVGFnPiYgY29kZSwgVk0mIHZtLCBjb25z
dCBKU0NlbGwqIG93bmVyLAotICAgIGNvbnN0IFZlY3RvcjxKU0NlbGwqPiYgY2VsbHMpCisgICAg
Y29uc3QgVmVjdG9yPEpTQ2VsbCo+JiBjZWxscywgQmFnPENhbGxMaW5rSW5mbz4mJiBjYWxsTGlu
a0luZm9zKQogICAgIDogR0NBd2FyZUpJVFN0dWJSb3V0aW5lKGNvZGUsIHZtKQogICAgICwgbV9j
ZWxscyhjZWxscy5zaXplKCkpCisgICAgLCBtX2NhbGxMaW5rSW5mb3MoV1RGTW92ZShjYWxsTGlu
a0luZm9zKSkKIHsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSBjZWxscy5zaXplKCk7IGktLTspCiAg
ICAgICAgIG1fY2VsbHNbaV0uc2V0KHZtLCBvd25lciwgY2VsbHNbaV0pOwpAQCAtMTAxLDkgKzEw
Miw5IEBAIHZvaWQgTWFya2luZ0dDQXdhcmVKSVRTdHViUm91dGluZTo6bWFya1JlcXVpcmVkT2Jq
ZWN0c0ludGVybmFsKFNsb3RWaXNpdG9yJiB2aXNpCiAKIAogR0NBd2FyZUpJVFN0dWJSb3V0aW5l
V2l0aEV4Y2VwdGlvbkhhbmRsZXI6OkdDQXdhcmVKSVRTdHViUm91dGluZVdpdGhFeGNlcHRpb25I
YW5kbGVyKAotICAgIGNvbnN0IE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxKSVRTdHViUm91dGluZVB0
clRhZz4mIGNvZGUsIFZNJiB2bSwgIGNvbnN0IEpTQ2VsbCogb3duZXIsIGNvbnN0IFZlY3RvcjxK
U0NlbGwqPiYgY2VsbHMsCisgICAgY29uc3QgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmPEpJVFN0dWJS
b3V0aW5lUHRyVGFnPiYgY29kZSwgVk0mIHZtLCAgY29uc3QgSlNDZWxsKiBvd25lciwgY29uc3Qg
VmVjdG9yPEpTQ2VsbCo+JiBjZWxscywgQmFnPENhbGxMaW5rSW5mbz4mJiBjYWxsTGlua0luZm9z
LAogICAgIENvZGVCbG9jayogY29kZUJsb2NrRm9yRXhjZXB0aW9uSGFuZGxlcnMsIERpc3Bvc2Fi
bGVDYWxsU2l0ZUluZGV4IGV4Y2VwdGlvbkhhbmRsZXJDYWxsU2l0ZUluZGV4KQotICAgIDogTWFy
a2luZ0dDQXdhcmVKSVRTdHViUm91dGluZShjb2RlLCB2bSwgb3duZXIsIGNlbGxzKQorICAgIDog
TWFya2luZ0dDQXdhcmVKSVRTdHViUm91dGluZShjb2RlLCB2bSwgb3duZXIsIGNlbGxzLCBXVEZN
b3ZlKGNhbGxMaW5rSW5mb3MpKQogICAgICwgbV9jb2RlQmxvY2tXaXRoRXhjZXB0aW9uSGFuZGxl
cihjb2RlQmxvY2tGb3JFeGNlcHRpb25IYW5kbGVycykKICAgICAsIG1fZXhjZXB0aW9uSGFuZGxl
ckNhbGxTaXRlSW5kZXgoZXhjZXB0aW9uSGFuZGxlckNhbGxTaXRlSW5kZXgpCiB7CkBAIC0xMzYs
MjEgKzEzNywyNSBAQCBSZWY8SklUU3R1YlJvdXRpbmU+IGNyZWF0ZUpJVFN0dWJSb3V0aW5lKAog
ICAgIGNvbnN0IEpTQ2VsbCogb3duZXIsCiAgICAgYm9vbCBtYWtlc0NhbGxzLAogICAgIGNvbnN0
IFZlY3RvcjxKU0NlbGwqPiYgY2VsbHMsCisgICAgQmFnPENhbGxMaW5rSW5mbz4mJiBjYWxsTGlu
a0luZm9zLAogICAgIENvZGVCbG9jayogY29kZUJsb2NrRm9yRXhjZXB0aW9uSGFuZGxlcnMsCiAg
ICAgRGlzcG9zYWJsZUNhbGxTaXRlSW5kZXggZXhjZXB0aW9uSGFuZGxlckNhbGxTaXRlSW5kZXgp
CiB7Ci0gICAgaWYgKCFtYWtlc0NhbGxzKQorICAgIGlmICghbWFrZXNDYWxscykgeworICAgICAg
ICAvLyBBbGxvY2F0aW5nIENhbGxMaW5rSW5mb3MgbWVhbnMgd2Ugc2hvdWxkIGhhdmUgY2FsbHMu
CisgICAgICAgIEFTU0VSVChjYWxsTGlua0luZm9zLmlzRW1wdHkoKSk7CiAgICAgICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IEpJVFN0dWJSb3V0aW5lKGNvZGUpKTsKKyAgICB9CiAgICAgCiAgICAg
aWYgKGNvZGVCbG9ja0ZvckV4Y2VwdGlvbkhhbmRsZXJzKSB7CiAgICAgICAgIFJFTEVBU0VfQVNT
RVJUKEpJVENvZGU6OmlzT3B0aW1pemluZ0pJVChjb2RlQmxvY2tGb3JFeGNlcHRpb25IYW5kbGVy
cy0+aml0VHlwZSgpKSk7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEdDQXdhcmVKSVRT
dHViUm91dGluZVdpdGhFeGNlcHRpb25IYW5kbGVyKGNvZGUsIHZtLCBvd25lciwgY2VsbHMsIGNv
ZGVCbG9ja0ZvckV4Y2VwdGlvbkhhbmRsZXJzLCBleGNlcHRpb25IYW5kbGVyQ2FsbFNpdGVJbmRl
eCkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBHQ0F3YXJlSklUU3R1YlJvdXRpbmVX
aXRoRXhjZXB0aW9uSGFuZGxlcihjb2RlLCB2bSwgb3duZXIsIGNlbGxzLCBXVEZNb3ZlKGNhbGxM
aW5rSW5mb3MpLCBjb2RlQmxvY2tGb3JFeGNlcHRpb25IYW5kbGVycywgZXhjZXB0aW9uSGFuZGxl
ckNhbGxTaXRlSW5kZXgpKTsKICAgICB9CiAKLSAgICBpZiAoY2VsbHMuaXNFbXB0eSgpKQotICAg
ICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBHQ0F3YXJlSklUU3R1YlJvdXRpbmUoY29kZSwgdm0p
KTsKKyAgICBpZiAoY2VsbHMuaXNFbXB0eSgpICYmIGNhbGxMaW5rSW5mb3MuaXNFbXB0eSgpKQor
ICAgICAgICByZXR1cm4gR0NBd2FyZUpJVFN0dWJSb3V0aW5lOjpjcmVhdGUoY29kZSwgdm0pOwog
ICAgIAotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1hcmtpbmdHQ0F3YXJlSklUU3R1YlJvdXRp
bmUoY29kZSwgdm0sIG93bmVyLCBjZWxscykpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1h
cmtpbmdHQ0F3YXJlSklUU3R1YlJvdXRpbmUoY29kZSwgdm0sIG93bmVyLCBjZWxscywgV1RGTW92
ZShjYWxsTGlua0luZm9zKSkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR0NBd2FyZUpJVFN0dWJSb3V0aW5lLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0dDQXdhcmVKSVRTdHViUm91dGluZS5oCmluZGV4IDQ3MWE2
NzUxZTY2MTkwZjY2YmE1MDNmMTMzZWIzMTI1NDQ2YmMxZDAuLjZmNDI0Mjc0MjkyOTNlN2FiNWE1
NTc3ZjYwODBiNjg2MzYwZDg1NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvR0NBd2FyZUpJVFN0dWJSb3V0aW5lLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9HQ0F3YXJlSklUU3R1YlJvdXRpbmUuaApAQCAtNTEsNiArNTEsMTEgQEAgY2xhc3MgR0NBd2Fy
ZUpJVFN0dWJSb3V0aW5lIDogcHVibGljIEpJVFN0dWJSb3V0aW5lIHsKIHB1YmxpYzoKICAgICBH
Q0F3YXJlSklUU3R1YlJvdXRpbmUoY29uc3QgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmPEpJVFN0dWJS
b3V0aW5lUHRyVGFnPiYsIFZNJik7CiAgICAgdmlydHVhbCB+R0NBd2FyZUpJVFN0dWJSb3V0aW5l
KCk7CisKKyAgICBzdGF0aWMgUmVmPEpJVFN0dWJSb3V0aW5lPiBjcmVhdGUoY29uc3QgTWFjcm9B
c3NlbWJsZXJDb2RlUmVmPEpJVFN0dWJSb3V0aW5lUHRyVGFnPiYgY29kZSwgVk0mIHZtKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgR0NBd2FyZUpJVFN0dWJSb3V0aW5lKGNv
ZGUsIHZtKSk7CisgICAgfQogICAgIAogICAgIHZvaWQgbWFya1JlcXVpcmVkT2JqZWN0cyhTbG90
VmlzaXRvciYgdmlzaXRvcikKICAgICB7CkBAIC03Niw3ICs4MSw3IEBAIGNsYXNzIEdDQXdhcmVK
SVRTdHViUm91dGluZSA6IHB1YmxpYyBKSVRTdHViUm91dGluZSB7CiBjbGFzcyBNYXJraW5nR0NB
d2FyZUpJVFN0dWJSb3V0aW5lIDogcHVibGljIEdDQXdhcmVKSVRTdHViUm91dGluZSB7CiBwdWJs
aWM6CiAgICAgTWFya2luZ0dDQXdhcmVKSVRTdHViUm91dGluZSgKLSAgICAgICAgY29uc3QgTWFj
cm9Bc3NlbWJsZXJDb2RlUmVmPEpJVFN0dWJSb3V0aW5lUHRyVGFnPiYsIFZNJiwgY29uc3QgSlND
ZWxsKiBvd25lciwgY29uc3QgVmVjdG9yPEpTQ2VsbCo+Jik7CisgICAgICAgIGNvbnN0IE1hY3Jv
QXNzZW1ibGVyQ29kZVJlZjxKSVRTdHViUm91dGluZVB0clRhZz4mLCBWTSYsIGNvbnN0IEpTQ2Vs
bCogb3duZXIsIGNvbnN0IFZlY3RvcjxKU0NlbGwqPiYsIEJhZzxDYWxsTGlua0luZm8+JiYpOwog
ICAgIHZpcnR1YWwgfk1hcmtpbmdHQ0F3YXJlSklUU3R1YlJvdXRpbmUoKTsKICAgICAKIHByb3Rl
Y3RlZDoKQEAgLTg0LDYgKzg5LDcgQEAgY2xhc3MgTWFya2luZ0dDQXdhcmVKSVRTdHViUm91dGlu
ZSA6IHB1YmxpYyBHQ0F3YXJlSklUU3R1YlJvdXRpbmUgewogCiBwcml2YXRlOgogICAgIFZlY3Rv
cjxXcml0ZUJhcnJpZXI8SlNDZWxsPj4gbV9jZWxsczsKKyAgICBCYWc8Q2FsbExpbmtJbmZvPiBt
X2NhbGxMaW5rSW5mb3M7CiB9OwogCiAKQEAgLTk0LDcgKzEwMCw3IEBAIGNsYXNzIEdDQXdhcmVK
SVRTdHViUm91dGluZVdpdGhFeGNlcHRpb25IYW5kbGVyIDogcHVibGljIE1hcmtpbmdHQ0F3YXJl
SklUU3R1YlJvCiBwdWJsaWM6CiAgICAgdHlwZWRlZiBHQ0F3YXJlSklUU3R1YlJvdXRpbmUgQmFz
ZTsKIAotICAgIEdDQXdhcmVKSVRTdHViUm91dGluZVdpdGhFeGNlcHRpb25IYW5kbGVyKGNvbnN0
IE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxKSVRTdHViUm91dGluZVB0clRhZz4mLCBWTSYsIGNvbnN0
IEpTQ2VsbCogb3duZXIsIGNvbnN0IFZlY3RvcjxKU0NlbGwqPiYsIENvZGVCbG9jayosIERpc3Bv
c2FibGVDYWxsU2l0ZUluZGV4KTsKKyAgICBHQ0F3YXJlSklUU3R1YlJvdXRpbmVXaXRoRXhjZXB0
aW9uSGFuZGxlcihjb25zdCBNYWNyb0Fzc2VtYmxlckNvZGVSZWY8SklUU3R1YlJvdXRpbmVQdHJU
YWc+JiwgVk0mLCBjb25zdCBKU0NlbGwqIG93bmVyLCBjb25zdCBWZWN0b3I8SlNDZWxsKj4mLCBC
YWc8Q2FsbExpbmtJbmZvPiYmLCBDb2RlQmxvY2sqLCBEaXNwb3NhYmxlQ2FsbFNpdGVJbmRleCk7
CiAKICAgICB2b2lkIGFib3V0VG9EaWUoKSBvdmVycmlkZTsKICAgICB2b2lkIG9ic2VydmVaZXJv
UmVmQ291bnQoKSBvdmVycmlkZTsKQEAgLTEyNSw4ICsxMzEsOCBAQCBjbGFzcyBHQ0F3YXJlSklU
U3R1YlJvdXRpbmVXaXRoRXhjZXB0aW9uSGFuZGxlciA6IHB1YmxpYyBNYXJraW5nR0NBd2FyZUpJ
VFN0dWJSbwogCiBSZWY8SklUU3R1YlJvdXRpbmU+IGNyZWF0ZUpJVFN0dWJSb3V0aW5lKAogICAg
IGNvbnN0IE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxKSVRTdHViUm91dGluZVB0clRhZz4mLCBWTSYs
IGNvbnN0IEpTQ2VsbCogb3duZXIsIGJvb2wgbWFrZXNDYWxscywKLSAgICBjb25zdCBWZWN0b3I8
SlNDZWxsKj4mID0geyB9LCAKLSAgICBDb2RlQmxvY2sqIGNvZGVCbG9ja0ZvckV4Y2VwdGlvbkhh
bmRsZXJzID0gbnVsbHB0ciwgRGlzcG9zYWJsZUNhbGxTaXRlSW5kZXggZXhjZXB0aW9uSGFuZGxp
bmdDYWxsU2l0ZUluZGV4ID0gRGlzcG9zYWJsZUNhbGxTaXRlSW5kZXgoKSk7CisgICAgY29uc3Qg
VmVjdG9yPEpTQ2VsbCo+JiwgQmFnPENhbGxMaW5rSW5mbz4mJiBjYWxsTGlua0luZm9zLAorICAg
IENvZGVCbG9jayogY29kZUJsb2NrRm9yRXhjZXB0aW9uSGFuZGxlcnMsIERpc3Bvc2FibGVDYWxs
U2l0ZUluZGV4IGV4Y2VwdGlvbkhhbmRsaW5nQ2FsbFNpdGVJbmRleCk7CiAKIH0gLy8gbmFtZXNw
YWNlIEpTQwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2gu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAppbmRleCA5NjBiMmJj
NmUwMjdiMWU5MzU1ZjI2NDRlOWY0YjY4Njc1MjJmM2U5Li5mNzZhZTc4MGUzZmMzMjQ5NTViMWQ3
NjY2MDY4MTRhNWUzNWMzNDA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L1JlcGF0Y2guY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAK
QEAgLTkxMyw3ICs5MTMsNyBAQCBzdGF0aWMgdm9pZCBsaW5rU2xvd0ZvcihWTSYgdm0sIENhbGxM
aW5rSW5mbyYgY2FsbExpbmtJbmZvKQogewogICAgIE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxKSVRT
dHViUm91dGluZVB0clRhZz4gdmlydHVhbFRodW5rID0gdmlydHVhbFRodW5rRm9yKHZtLCBjYWxs
TGlua0luZm8pOwogICAgIGxpbmtTbG93Rm9yKHZtLCBjYWxsTGlua0luZm8sIHZpcnR1YWxUaHVu
ayk7Ci0gICAgY2FsbExpbmtJbmZvLnNldFNsb3dTdHViKGNyZWF0ZUpJVFN0dWJSb3V0aW5lKHZp
cnR1YWxUaHVuaywgdm0sIG51bGxwdHIsIHRydWUpKTsKKyAgICBjYWxsTGlua0luZm8uc2V0U2xv
d1N0dWIoR0NBd2FyZUpJVFN0dWJSb3V0aW5lOjpjcmVhdGUodmlydHVhbFRodW5rLCB2bSkpOwog
fQogCiBzdGF0aWMgSlNDZWxsKiB3ZWJBc3NlbWJseU93bmVyKEpTQ2VsbCogY2FsbGVlKQpAQCAt
MTA0MSw3ICsxMDQxLDcgQEAgc3RhdGljIHZvaWQgbGlua1ZpcnR1YWxGb3IoVk0mIHZtLCBDYWxs
RnJhbWUqIGNhbGxGcmFtZSwgQ2FsbExpbmtJbmZvJiBjYWxsTGlua0kKIAogICAgIE1hY3JvQXNz
ZW1ibGVyQ29kZVJlZjxKSVRTdHViUm91dGluZVB0clRhZz4gdmlydHVhbFRodW5rID0gdmlydHVh
bFRodW5rRm9yKHZtLCBjYWxsTGlua0luZm8pOwogICAgIHJldmVydENhbGwodm0sIGNhbGxMaW5r
SW5mbywgdmlydHVhbFRodW5rKTsKLSAgICBjYWxsTGlua0luZm8uc2V0U2xvd1N0dWIoY3JlYXRl
SklUU3R1YlJvdXRpbmUodmlydHVhbFRodW5rLCB2bSwgbnVsbHB0ciwgdHJ1ZSkpOworICAgIGNh
bGxMaW5rSW5mby5zZXRTbG93U3R1YihHQ0F3YXJlSklUU3R1YlJvdXRpbmU6OmNyZWF0ZSh2aXJ0
dWFsVGh1bmssIHZtKSk7CiAgICAgY2FsbExpbmtJbmZvLnNldENsZWFyZWRCeVZpcnR1YWwoKTsK
IH0KIApkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwpp
bmRleCBhMDljNTUwZTUyODUxYTU3YzZkOTEyMzk2ZjI2OTZmZGI4NmVmYmY3Li4yYzExOTYxMTYw
MTlmYTk0ZmYxZGQwODM2MThkZTJjODliNTEwNjczIDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5n
ZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTEyLTEw
ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgW0pTQ10gQWRo
b2NseSBjcmVhdGVkIENhbGxMaW5rSW5mbyBpbiBHZXR0ZXJTZXR0ZXJBY2Nlc3Mgc2hvdWxkIGJl
IG93bmVkIGJ5IEdDQXdhcmVKSVRTdHViUm91dGluZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0ODc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3MvY29kZS1lbWl0dGVkLWJ5LWdldHRlci1z
ZXR0ZXItYWNjZXNzLWNhc2Utc2hvdWxkLWhvbGQtb3duZXJzaGlwLW9mLWNhbGwtbGluay1pbmZv
LmpzOiBBZGRlZC4KKyAgICAgICAgKGZ1bmMpOgorCiAyMDE5LTEyLTA5ICBUYWRldSBaYWdhbGxv
ICA8dHphZ2FsbG9AYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjI1MzE0MCk6IFdl
YkFzc2VtYmx5IHZhbGlkYXRpb24gc2hvdWxkIGNoZWNrIGZvciB1bm1hdGNoZWQgZWxzZSBiZWZv
cmUgY2FsbGluZyBhZGRFbHNlL2FkZEVsc2VUb1VucmVhY2hhYmxlCmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3N0cmVzcy9jb2RlLWVtaXR0ZWQtYnktZ2V0dGVyLXNldHRlci1hY2Nlc3MtY2FzZS1zaG91
bGQtaG9sZC1vd25lcnNoaXAtb2YtY2FsbC1saW5rLWluZm8uanMgYi9KU1Rlc3RzL3N0cmVzcy9j
b2RlLWVtaXR0ZWQtYnktZ2V0dGVyLXNldHRlci1hY2Nlc3MtY2FzZS1zaG91bGQtaG9sZC1vd25l
cnNoaXAtb2YtY2FsbC1saW5rLWluZm8uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDZmMjZlNDQ0M2FmNzVmNzdl
ZGNiZWFlZjM2YmI2ZGQyYTAwMmY0YQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNz
L2NvZGUtZW1pdHRlZC1ieS1nZXR0ZXItc2V0dGVyLWFjY2Vzcy1jYXNlLXNob3VsZC1ob2xkLW93
bmVyc2hpcC1vZi1jYWxsLWxpbmstaW5mby5qcwpAQCAtMCwwICsxLDE0IEBACit2YXIgY291bnQg
PSAwOwordmFyIGFyciA9IG5ldyBBcnJheSgxMCk7CitmdW5jdGlvbiBmdW5jKHZhbCkgeworICAg
IGlmIChjb3VudCsrID4gMzAwKQorICAgICAgICByZXR1cm47CisgICAgdHJ5IHsgT2JqZWN0LnBy
b3RvdHlwZS5fX2RlZmluZUdldHRlcl9fKFN5bWJvbC5pc0NvbmNhdFNwcmVhZGFibGUsIHZhbCk7
CisgICAgfSBjYXRjaChlKSB7fQorICAgIGFycltTeW1ib2wuaXRlcmF0b3JdID0gYXJyOworICAg
IHRyeSB7IGFyci5jb25jYXQoYXJyLCBuZXcgQXJyYXkoMTApKTsgfSBjYXRjaChlKSB7fQorfQor
Citmb3IgKHZhciBpPTA7IGkgPCAyOyBpICsrKSB7CisgICAgZnVuYyhuZXcgUHJveHkoZnVuYywg
W10pKTsKK30K
</data>
<flag name="review"
          id="401161"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>