<?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>217926</bug_id>
          
          <creation_ts>2020-10-19 15:49:09 -0700</creation_ts>
          <short_desc>Drop explicit calls to BaseAudioContext::refNode()</short_desc>
          <delta_ts>2020-10-20 08:03:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Audio</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>
          
          <blocked>212611</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1699496</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-19 15:49:09 -0700</bug_when>
    <thetext>Drop explicit calls to BaseAudioContext::refNode(). We now use the sourceNodeWillBeginPlayback() signal to ref the node.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1699500</commentid>
    <comment_count>1</comment_count>
      <attachid>411808</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-19 16:04:26 -0700</bug_when>
    <thetext>Created attachment 411808
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1699710</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-20 08:02:23 -0700</bug_when>
    <thetext>Committed r268728: &lt;https://trac.webkit.org/changeset/268728&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 411808.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1699711</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-10-20 08:03:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/70485202&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>411808</attachid>
            <date>2020-10-19 16:04:26 -0700</date>
            <delta_ts>2020-10-20 08:02:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217926-20201019160425.patch</filename>
            <type>text/plain</type>
            <size>23741</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4Njg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2FiY2FmMTc5NjJkZGEy
MTRkZTNkZWEzMWE3ODYzMDhjMTMzNWQ1My4uYWU3M2Y3MGM3MmNhMmI0ZDE5NDBhMzc4MjAwNzg5
YzNjMGI3NWRiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY3IEBACisyMDIwLTEwLTE5ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRHJvcCBleHBsaWNpdCBjYWxs
cyB0byBCYXNlQXVkaW9Db250ZXh0OjpyZWZOb2RlKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNzkyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIERyb3AgZXhwbGljaXQgY2FsbHMgdG8gQmFzZUF1ZGlv
Q29udGV4dDo6cmVmTm9kZSgpLiBJbnN0ZWFkIHdlIG5vdyByZWx5IG9uIHRoZQorICAgICAgICBz
b3VyY2VOb2RlV2lsbEJlZ2luUGxheWJhY2soKSBzaWduYWwgdG8gcmVmIHRoZSBzb3VyY2UgQXVk
aW9Ob2RlLiBUaGlzIHNpbXBsaWZpZXMKKyAgICAgICAgdGhlIGNvZGUgYSBiaXQuIEkgYWxzbyBk
aWQgc29tZSByZW5hbWluZyBmb3IgY2xhcml0eSwgc28gYmUgZXhwbGljaXQgYWJvdXQgdGhlCisg
ICAgICAgIGZhY3Qgd2UgYXJlIGRlYWxpbmcgd2l0aCAqc291cmNlKiBub2RlcyBoZXJlLgorCisg
ICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gV2ViLWZhY2luZyBiZWhhdmlvciBjaGFuZ2UuCisKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpBdWRpb0J1ZmZlclNvdXJjZU5vZGU6OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpBdWRpb0J1ZmZlclNvdXJjZU5vZGU6OnN0YXJ0UGxheWluZyk6CisgICAgICAgICog
TW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVk
aW9Db250ZXh0Ojpzb3VyY2VOb2RlV2lsbEJlZ2luUGxheWJhY2spOgorICAgICAgICAqIE1vZHVs
ZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0Lmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9B
dWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9TY2hl
ZHVsZWRTb3VyY2VOb2RlOjpzdGFydExhdGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2No
ZWR1bGVkU291cmNlTm9kZTo6ZmluaXNoKToKKworICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8v
QXVkaW9Xb3JrbGV0Tm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1dvcmtsZXROb2Rl
OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9Xb3JrbGV0Tm9kZTo6ZGlkRmluaXNo
UHJvY2Vzc2luZ09uUmVuZGVyaW5nVGhyZWFkKToKKyAgICAgICAgT25seSBjYWxsIHNvdXJjZU5v
ZGVXaWxsQmVnaW5QbGF5YmFjaygpIC8gc291cmNlTm9kZURpZEZpbmlzaFBsYXliYWNrKCkKKyAg
ICAgICAgd2hlbiB0aGUgQXVkaW9Xb3JrbGV0IGlzIGFjdHVhbGx5IGEgKnNvdXJjZSogbm9kZSwg
bWVhbmluZyB0aGF0IGl0IGhhcworICAgICAgICBvdXRwdXRzLiBUaGlzIGJlaGF2aW9yIGlzIGNv
bnNpc3RlbnQgd2l0aCBCbGluay4KKworICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQmFzZUF1
ZGlvQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCYXNlQXVkaW9Db250ZXh0Ojp+QmFz
ZUF1ZGlvQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpCYXNlQXVkaW9Db250ZXh0Ojp1bmlu
aXRpYWxpemUpOgorICAgICAgICAoV2ViQ29yZTo6QmFzZUF1ZGlvQ29udGV4dDo6Y3JlYXRlU2Ny
aXB0UHJvY2Vzc29yKToKKyAgICAgICAgKFdlYkNvcmU6OkJhc2VBdWRpb0NvbnRleHQ6OmRlcmVm
RmluaXNoZWRTb3VyY2VOb2Rlcyk6CisgICAgICAgIChXZWJDb3JlOjpCYXNlQXVkaW9Db250ZXh0
OjpyZWZTb3VyY2VOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkJhc2VBdWRpb0NvbnRleHQ6OmRl
cmVmU291cmNlTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpCYXNlQXVkaW9Db250ZXh0OjpkZXJl
ZlVuZmluaXNoZWRTb3VyY2VOb2Rlcyk6CisgICAgICAgIChXZWJDb3JlOjpCYXNlQXVkaW9Db250
ZXh0Ojpzb3VyY2VOb2RlV2lsbEJlZ2luUGxheWJhY2spOgorICAgICAgICAoV2ViQ29yZTo6QmFz
ZUF1ZGlvQ29udGV4dDo6c291cmNlTm9kZURpZEZpbmlzaFBsYXliYWNrKToKKyAgICAgICAgKiBN
b2R1bGVzL3dlYmF1ZGlvL0Jhc2VBdWRpb0NvbnRleHQuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmF1ZGlvL0NvbnN0YW50U291cmNlTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb25zdGFu
dFNvdXJjZU5vZGU6OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9NZWRpYUVs
ZW1lbnRBdWRpb1NvdXJjZU5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50
QXVkaW9Tb3VyY2VOb2RlOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vTWVk
aWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJl
YW1BdWRpb1NvdXJjZU5vZGU6OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9P
c2NpbGxhdG9yTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpPc2NpbGxhdG9yTm9kZTo6Y3Jl
YXRlKToKKworICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRQcm9jZXNzb3JOb2RlOjpldmVudExpc3RlbmVy
c0RpZENoYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRQcm9jZXNzb3JOb2RlOjp2aXJ0
dWFsSGFzUGVuZGluZ0FjdGl2aXR5IGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlv
L1NjcmlwdFByb2Nlc3Nvck5vZGUuaDoKKyAgICAgICAgVXNlIEFjdGl2ZURPTU9iamVjdCBsb2dp
YyB0byBrZWVwIHRoZSBzY3JpcHQgd3JhcHBlciBhbGl2ZSBpbnN0ZWFkIG9mIHJlbHlpbmcgb24g
dGhlCisgICAgICAgIEF1ZGlvQ29udGV4dCB0byBkbyBzby4gV2Uga2VlcCB0aGUgd3JhcHBlciBh
bGl2ZSBhcyBsb25nIGFzIHRoZSBjb250ZXh0J3Mgc3RhdGUgaXMKKyAgICAgICAgbm90IGNsb3Nl
ZCBhbmQgYXMgbG9uZyBhcyB0aGVyZSBpcyBhbiBhdWRpb3Byb2Nlc3MgZXZlbnQgbGlzdGVuZXIg
cmVnaXN0ZXJlZC4gVGhpcworICAgICAgICBiZWhhdmlvciBpcyBjb25zaXN0ZW50IHdpdGggd2hh
dCBCbGluayBkb2VzLgorCisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb0Nv
bnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0QXVkaW9Db250ZXh0OjpjcmVhdGVX
ZWJLaXRPc2NpbGxhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdEF1ZGlvQ29udGV4dDo6
Y3JlYXRlV2ViS2l0QnVmZmVyU291cmNlKToKKwogMjAyMC0xMC0xOSAgUGF0cmljayBBbmdsZSAg
PHBhbmdsZUBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogUkVHUkVTU0lPTihy
MjY1MjMxKTogT3ZlcmxheTogbm9kZSBpbmZvIHNvbWV0aW1lcyBkcmF3cyBvbiBvbmUgbGluZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNv
dXJjZU5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZl
clNvdXJjZU5vZGUuY3BwCmluZGV4IDU0Zjk3NDQwYjBhOTIxOTg5ZGNjMGQyMmJiNzc1ZGRjNmNi
YzdhMjUuLjEyMTNiMTQxNjYxMjcwZDA1NzA3ZTUzYmNkYTRlNDE4ODVlODBlNGEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2Rl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291
cmNlTm9kZS5jcHAKQEAgLTc2LDEwICs3Niw2IEBAIEV4Y2VwdGlvbk9yPFJlZjxBdWRpb0J1ZmZl
clNvdXJjZU5vZGU+PiBBdWRpb0J1ZmZlclNvdXJjZU5vZGU6OmNyZWF0ZShCYXNlQXVkaW9DCiAg
ICAgbm9kZS0+c2V0TG9vcFN0YXJ0KG9wdGlvbnMubG9vcFN0YXJ0KTsKICAgICBub2RlLT5wbGF5
YmFja1JhdGUoKS5zZXRWYWx1ZShvcHRpb25zLnBsYXliYWNrUmF0ZSk7CiAKLSAgICAvLyBCZWNh
dXNlIHRoaXMgaXMgYW4gQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlLCB0aGUgY29udGV4dCBrZWVw
cyBhIHJlZmVyZW5jZSB1bnRpbCBpdCBoYXMgZmluaXNoZWQgcGxheWluZy4KLSAgICAvLyBXaGVu
IHRoaXMgaGFwcGVucywgQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlOjpmaW5pc2goKSBjYWxscyBC
YXNlQXVkaW9Db250ZXh0Ojpub3RpZnlOb2RlRmluaXNoZWRQcm9jZXNzaW5nKCkuCi0gICAgY29u
dGV4dC5yZWZOb2RlKG5vZGUpOwotCiAgICAgcmV0dXJuIG5vZGU7CiB9CiAKQEAgLTQ3Myw4ICs0
NjksNiBAQCBFeGNlcHRpb25Pcjx2b2lkPiBBdWRpb0J1ZmZlclNvdXJjZU5vZGU6OnN0YXJ0UGxh
eWluZyhkb3VibGUgd2hlbiwgZG91YmxlIGdyYWluTwogICAgIEFTU0VSVChpc01haW5UaHJlYWQo
KSk7CiAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAid2hlbiA9ICIsIHdoZW4sICIsIG9m
ZnNldCA9ICIsIGdyYWluT2Zmc2V0LCAiLCBkdXJhdGlvbiA9ICIsIGdyYWluRHVyYXRpb24udmFs
dWVPcigwKSk7CiAKLSAgICBjb250ZXh0KCkubm9kZVdpbGxCZWdpblBsYXliYWNrKCk7Ci0KICAg
ICBpZiAobV9wbGF5YmFja1N0YXRlICE9IFVOU0NIRURVTEVEX1NUQVRFKQogICAgICAgICByZXR1
cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IsICJDYW5ub3QgY2FsbCBzdGFydCBtb3Jl
IHRoYW4gb25jZS4iX3MgfTsKIApAQCAtNDg3LDYgKzQ4MSw4IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+
IEF1ZGlvQnVmZmVyU291cmNlTm9kZTo6c3RhcnRQbGF5aW5nKGRvdWJsZSB3aGVuLCBkb3VibGUg
Z3JhaW5PCiAgICAgaWYgKGdyYWluRHVyYXRpb24gJiYgKCFzdGQ6OmlzZmluaXRlKCpncmFpbkR1
cmF0aW9uKSB8fCAoKmdyYWluRHVyYXRpb24gPCAwKSkpCiAgICAgICAgIHJldHVybiBFeGNlcHRp
b24geyBSYW5nZUVycm9yLCAiZHVyYXRpb24gdmFsdWUgc2hvdWxkIGJlIHBvc2l0aXZlIl9zIH07
CiAKKyAgICBjb250ZXh0KCkuc291cmNlTm9kZVdpbGxCZWdpblBsYXliYWNrKCp0aGlzKTsKKwog
ICAgIC8vIFRoaXMgc3luY2hyb25pemVzIHdpdGggcHJvY2VzcygpLgogICAgIGF1dG8gbG9ja2Vy
ID0gaG9sZExvY2sobV9wcm9jZXNzTG9jayk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcAppbmRleCAzMzhhZjYxNjZmMzUxNDA4ZjdmMGRk
OWVlZjA5Nzk0ZWMyOTFjY2U0Li5mZGU2M2Y5ZWZlZGRkOTZmNTRlZjdlNGE0NDY2NTQ3NWY5NTkx
NmZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29u
dGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRl
eHQuY3BwCkBAIC0yNTIsOCArMjUyLDEwIEBAIHZvaWQgQXVkaW9Db250ZXh0OjpyZXN1bWVSZW5k
ZXJpbmcoRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYgcHJvbWlzZSkKICAgICB9KTsKIH0KIAot
dm9pZCBBdWRpb0NvbnRleHQ6Om5vZGVXaWxsQmVnaW5QbGF5YmFjaygpCit2b2lkIEF1ZGlvQ29u
dGV4dDo6c291cmNlTm9kZVdpbGxCZWdpblBsYXliYWNrKEF1ZGlvTm9kZSYgYXVkaW9Ob2RlKQog
eworICAgIEJhc2VBdWRpb0NvbnRleHQ6OnNvdXJjZU5vZGVXaWxsQmVnaW5QbGF5YmFjayhhdWRp
b05vZGUpOworCiAgICAgLy8gQ2FsbGVkIGJ5IHNjaGVkdWxlZCBBdWRpb05vZGVzIHdoZW4gY2xp
ZW50cyBzY2hlZHVsZSB0aGVpciBzdGFydCB0aW1lcy4KICAgICAvLyBQcmlvciB0byB0aGUgaW50
cm9kdWN0aW9uIG9mIHN1c3BlbmQoKSwgcmVzdW1lKCksIGFuZCBzdG9wKCksIHN0YXJ0aW5nCiAg
ICAgLy8gYSBzY2hlZHVsZWQgQXVkaW9Ob2RlIHdvdWxkIHJlbW92ZSB0aGUgdXNlci1nZXN0dXJl
IHJlc3RyaWN0aW9uLCBpZiBwcmVzZW50LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vQXVkaW9Db250ZXh0LmgKaW5kZXggNjI0YTE2YTRlZTM3NzdhMjcwM2JkZGQwOTUwOTU1
M2ZmNjFiZDc2YS4uNDEzN2FhMDYyNmNjMzQxMmVlZmUzOTkzNzhmZDAwZWFhMWE2Yzc0NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oCkBAIC03
MSw3ICs3MSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHN1c3BlbmRSZW5kZXJpbmcoRE9NUHJvbWlz
ZURlZmVycmVkPHZvaWQ+JiYpOwogICAgIHZvaWQgcmVzdW1lUmVuZGVyaW5nKERPTVByb21pc2VE
ZWZlcnJlZDx2b2lkPiYmKTsKIAotICAgIHZvaWQgbm9kZVdpbGxCZWdpblBsYXliYWNrKCkgZmlu
YWw7CisgICAgdm9pZCBzb3VyY2VOb2RlV2lsbEJlZ2luUGxheWJhY2soQXVkaW9Ob2RlJikgZmlu
YWw7CiAgICAgdm9pZCBsYXp5SW5pdGlhbGl6ZSgpIGZpbmFsOwogCiAgICAgdm9pZCBzdGFydFJl
bmRlcmluZygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9B
dWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9BdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUuY3BwCmluZGV4IDg4ZGQ4NDU1YjY1YzM0YzIz
YTUyNTNkN2NkODU0MDNkZTZhYWMzZTkuLmYxM2E4MDhlMmNmYmQ2YjJkZGYyMTNhNGIxNDdkYjE1
YjNiN2EwMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVk
aW9TY2hlZHVsZWRTb3VyY2VOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL0F1ZGlvU2NoZWR1bGVkU291cmNlTm9kZS5jcHAKQEAgLTE1MiwxNCArMTUyLDE0IEBA
IEV4Y2VwdGlvbk9yPHZvaWQ+IEF1ZGlvU2NoZWR1bGVkU291cmNlTm9kZTo6c3RhcnRMYXRlcihk
b3VibGUgd2hlbikKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogICAgIEFMV0FZU19MT0co
TE9HSURFTlRJRklFUiwgd2hlbik7CiAKLSAgICBjb250ZXh0KCkubm9kZVdpbGxCZWdpblBsYXli
YWNrKCk7Ci0KICAgICBpZiAobV9wbGF5YmFja1N0YXRlICE9IFVOU0NIRURVTEVEX1NUQVRFKQog
ICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKIAogICAgIGlm
ICghc3RkOjppc2Zpbml0ZSh3aGVuKSB8fCB3aGVuIDwgMCkKICAgICAgICAgcmV0dXJuIEV4Y2Vw
dGlvbiB7IFJhbmdlRXJyb3IsICJ3aGVuIHZhbHVlIHNob3VsZCBiZSBwb3NpdGl2ZSJfcyB9Owog
CisgICAgY29udGV4dCgpLnNvdXJjZU5vZGVXaWxsQmVnaW5QbGF5YmFjaygqdGhpcyk7CisKICAg
ICBtX3N0YXJ0VGltZSA9IHdoZW47CiAgICAgbV9wbGF5YmFja1N0YXRlID0gU0NIRURVTEVEX1NU
QVRFOwogCkBAIC0xOTMsNyArMTkzLDcgQEAgdm9pZCBBdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGU6
OmZpbmlzaCgpCiB7CiAgICAgQVNTRVJUKCFoYXNGaW5pc2hlZCgpKTsKICAgICAvLyBMZXQgdGhl
IGNvbnRleHQgZGVyZWZlcmVuY2UgdGhpcyBBdWRpb05vZGUuCi0gICAgY29udGV4dCgpLm5vdGlm
eU5vZGVGaW5pc2hlZFByb2Nlc3NpbmcodGhpcyk7CisgICAgY29udGV4dCgpLnNvdXJjZU5vZGVE
aWRGaW5pc2hQbGF5YmFjaygqdGhpcyk7CiAgICAgbV9wbGF5YmFja1N0YXRlID0gRklOSVNIRURf
U1RBVEU7CiAgICAgY29udGV4dCgpLmRlY3JlbWVudEFjdGl2ZVNvdXJjZUNvdW50KCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Xb3JrbGV0Tm9k
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvV29ya2xldE5vZGUu
Y3BwCmluZGV4IDFmZmMzOWFkZGQwMGJiOTI0N2Q5ZjE4ZTBhMWYzN2M3MmJlOGU3YmMuLjhmMWFm
MDI1MWM3YzNmOThiMGMwOTY4MjhlMDNmNTA5NWQxN2Y3ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Xb3JrbGV0Tm9kZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1dvcmtsZXROb2RlLmNwcApAQCAtMTA1LDcg
KzEwNSw5IEBAIEV4Y2VwdGlvbk9yPFJlZjxBdWRpb1dvcmtsZXROb2RlPj4gQXVkaW9Xb3JrbGV0
Tm9kZTo6Y3JlYXRlKEpTQzo6SlNHbG9iYWxPYmplY3QmCiAgICAgbm9kZS0+aW5pdGlhbGl6ZUF1
ZGlvUGFyYW1ldGVycyhwYXJhbWV0ZXJEZXNjcmlwdG9ycywgcGFyYW1ldGVyRGF0YSk7CiAKICAg
ICAvLyBXaWxsIGNhdXNlIHRoZSBjb250ZXh0IHRvIHJlZiB0aGUgbm9kZSB1bnRpbCBwbGF5YmFj
ayBoYXMgZmluaXNoZWQuCi0gICAgY29udGV4dC5yZWZOb2RlKG5vZGUpOworICAgIC8vIE5vdGUg
dGhhdCBhIG5vZGUgd2l0aCB6ZXJvIG91dHB1dHMgY2Fubm90IGJlIGEgc291cmNlIG5vZGUuCisg
ICAgaWYgKG5vZGUtPm51bWJlck9mT3V0cHV0cygpID4gMCkKKyAgICAgICAgY29udGV4dC5zb3Vy
Y2VOb2RlV2lsbEJlZ2luUGxheWJhY2sobm9kZSk7CiAKICAgICBjb250ZXh0LmF1ZGlvV29ya2xl
dCgpLmNyZWF0ZVByb2Nlc3NvcihuYW1lLCBwcm9jZXNzb3JNZXNzYWdlUG9ydC0+ZGlzZW50YW5n
bGUoKSwgc2VyaWFsaXplZE9wdGlvbnMucmVsZWFzZU5vbk51bGwoKSwgbm9kZSk7CiAKQEAgLTIy
OCw3ICsyMzAsOSBAQCB2b2lkIEF1ZGlvV29ya2xldE5vZGU6OmRpZEZpbmlzaFByb2Nlc3NpbmdP
blJlbmRlcmluZ1RocmVhZChib29sIHRocmV3RXhjZXB0aW9uKQogCiAgICAgbV9wcm9jZXNzb3Ig
PSBudWxscHRyOwogICAgIG1fdGFpbFRpbWUgPSAwOwotICAgIGNvbnRleHQoKS5ub3RpZnlOb2Rl
RmluaXNoZWRQcm9jZXNzaW5nKHRoaXMpOworCisgICAgaWYgKG51bWJlck9mT3V0cHV0cygpID4g
MCkKKyAgICAgICAgY29udGV4dCgpLnNvdXJjZU5vZGVEaWRGaW5pc2hQbGF5YmFjaygqdGhpcyk7
CiB9CiAKIHZvaWQgQXVkaW9Xb3JrbGV0Tm9kZTo6dXBkYXRlUHVsbFN0YXR1cygpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0Jhc2VBdWRpb0NvbnRleHQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9Db250ZXh0LmNwcApp
bmRleCAzYTIxOTg0ZjkyOTA4YmJmODU3NmUzZmRlYTRkMTVmOGE5ZmI3M2E4Li5mMzEwMThkNWM5
ZmRkNzZmMzY5YTE3MWFjYjAyMTZiZmE1NGY0ZGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL0Jhc2VBdWRpb0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vQmFzZUF1ZGlvQ29udGV4dC5jcHAKQEAgLTE3MCw4ICsxNzAs
OCBAQCBCYXNlQXVkaW9Db250ZXh0Ojp+QmFzZUF1ZGlvQ29udGV4dCgpCiAgICAgQVNTRVJUKCFt
X2lzSW5pdGlhbGl6ZWQpOwogICAgIEFTU0VSVChtX2lzU3RvcFNjaGVkdWxlZCk7CiAgICAgQVNT
RVJUKG1fbm9kZXNUb0RlbGV0ZS5pc0VtcHR5KCkpOwotICAgIEFTU0VSVChtX3JlZmVyZW5jZWRO
b2Rlcy5pc0VtcHR5KCkpOwotICAgIEFTU0VSVChtX2ZpbmlzaGVkTm9kZXMuaXNFbXB0eSgpKTsg
Ly8gRklYTUUgKGJ1ZyAxMDU4NzApOiBUaGlzIGFzc2VydGlvbiBmYWlscyBvbiB0ZXN0cyBzb21l
dGltZXMuCisgICAgQVNTRVJUKG1fcmVmZXJlbmNlZFNvdXJjZU5vZGVzLmlzRW1wdHkoKSk7Cisg
ICAgQVNTRVJUKG1fZmluaXNoZWRTb3VyY2VOb2Rlcy5pc0VtcHR5KCkpOwogICAgIEFTU0VSVCht
X2F1dG9tYXRpY1B1bGxOb2Rlcy5pc0VtcHR5KCkpOwogICAgIGlmIChtX2F1dG9tYXRpY1B1bGxO
b2Rlc05lZWRVcGRhdGluZykKICAgICAgICAgbV9yZW5kZXJpbmdBdXRvbWF0aWNQdWxsTm9kZXMu
cmVzaXplKG1fYXV0b21hdGljUHVsbE5vZGVzLnNpemUoKSk7CkBAIC0yNDQsNyArMjQ0LDcgQEAg
dm9pZCBCYXNlQXVkaW9Db250ZXh0Ojp1bmluaXRpYWxpemUoKQogICAgICAgICBBdXRvTG9ja2Vy
IGxvY2tlcigqdGhpcyk7CiAgICAgICAgIC8vIFRoaXMgc2hvdWxkIGhhdmUgYmVlbiBjYWxsZWQg
ZnJvbSBoYW5kbGVQb3N0UmVuZGVyVGFza3MoKSBhdCB0aGUgZW5kIG9mIHJlbmRlcmluZy4KICAg
ICAgICAgLy8gSG93ZXZlciwgaW4gY2FzZSBvZiBsb2NrIGNvbnRlbnRpb24sIHRoZSB0cnlMb2Nr
KCkgY2FsbCBjb3VsZCBoYXZlIGZhaWxlZCBpbiBoYW5kbGVQb3N0UmVuZGVyVGFza3MoKSwKLSAg
ICAgICAgLy8gbGVhdmluZyBub2RlcyBpbiBtX2ZpbmlzaGVkTm9kZXMuIE5vdyB0aGF0IHRoZSBh
dWRpbyB0aHJlYWQgaXMgZ29uZSwgbWFrZSBzdXJlIHdlIGRlcmVmIHRob3NlIG5vZGVzCisgICAg
ICAgIC8vIGxlYXZpbmcgbm9kZXMgaW4gbV9maW5pc2hlZFNvdXJjZU5vZGVzLiBOb3cgdGhhdCB0
aGUgYXVkaW8gdGhyZWFkIGlzIGdvbmUsIG1ha2Ugc3VyZSB3ZSBkZXJlZiB0aG9zZSBub2Rlcwog
ICAgICAgICAvLyBiZWZvcmUgdGhlIEJhc2VBdWRpb0NvbnRleHQgZ2V0cyBkZXN0cm95ZWQuCiAg
ICAgICAgIGRlcmVmRmluaXNoZWRTb3VyY2VOb2RlcygpOwogICAgIH0KQEAgLTQzNiwxMCArNDM2
LDcgQEAgRXhjZXB0aW9uT3I8UmVmPFNjcmlwdFByb2Nlc3Nvck5vZGU+PiBCYXNlQXVkaW9Db250
ZXh0OjpjcmVhdGVTY3JpcHRQcm9jZXNzb3Ioc2kKICAgICBpZiAobnVtYmVyT2ZPdXRwdXRDaGFu
bmVscyA+IG1heE51bWJlck9mQ2hhbm5lbHMoKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IE5vdFN1cHBvcnRlZEVycm9yIH07CiAKLSAgICBhdXRvIG5vZGUgPSBTY3JpcHRQcm9jZXNzb3JO
b2RlOjpjcmVhdGUoKnRoaXMsIGJ1ZmZlclNpemUsIG51bWJlck9mSW5wdXRDaGFubmVscywgbnVt
YmVyT2ZPdXRwdXRDaGFubmVscyk7Ci0KLSAgICByZWZOb2RlKG5vZGUpOyAvLyBjb250ZXh0IGtl
ZXBzIHJlZmVyZW5jZSB1bnRpbCB3ZSBzdG9wIG1ha2luZyBqYXZhc2NyaXB0IHJlbmRlcmluZyBj
YWxsYmFja3MKLSAgICByZXR1cm4gbm9kZTsKKyAgICByZXR1cm4gU2NyaXB0UHJvY2Vzc29yTm9k
ZTo6Y3JlYXRlKCp0aGlzLCBidWZmZXJTaXplLCBudW1iZXJPZklucHV0Q2hhbm5lbHMsIG51bWJl
ck9mT3V0cHV0Q2hhbm5lbHMpOwogfQogCiBFeGNlcHRpb25PcjxSZWY8QmlxdWFkRmlsdGVyTm9k
ZT4+IEJhc2VBdWRpb0NvbnRleHQ6OmNyZWF0ZUJpcXVhZEZpbHRlcigpCkBAIC01NzgsNDIgKzU3
NSwzOCBAQCBFeGNlcHRpb25PcjxSZWY8SUlSRmlsdGVyTm9kZT4+IEJhc2VBdWRpb0NvbnRleHQ6
OmNyZWF0ZUlJUkZpbHRlcihTY3JpcHRFeGVjdXRpbwogICAgIHJldHVybiBJSVJGaWx0ZXJOb2Rl
OjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgKnRoaXMsIFdURk1vdmUob3B0aW9ucykp
OwogfQogCi12b2lkIEJhc2VBdWRpb0NvbnRleHQ6Om5vdGlmeU5vZGVGaW5pc2hlZFByb2Nlc3Np
bmcoQXVkaW9Ob2RlKiBub2RlKQotewotICAgIEFTU0VSVChpc0F1ZGlvVGhyZWFkKCkpOwotICAg
IG1fZmluaXNoZWROb2Rlcy5hcHBlbmQobm9kZSk7Ci19Ci0KIHZvaWQgQmFzZUF1ZGlvQ29udGV4
dDo6ZGVyZWZGaW5pc2hlZFNvdXJjZU5vZGVzKCkKIHsKICAgICBBU1NFUlQoaXNHcmFwaE93bmVy
KCkpOwogICAgIEFTU0VSVChpc0F1ZGlvVGhyZWFkKCkgfHwgaXNBdWRpb1RocmVhZEZpbmlzaGVk
KCkpOwotICAgIGZvciAoYXV0byYgbm9kZSA6IG1fZmluaXNoZWROb2RlcykKLSAgICAgICAgZGVy
ZWZOb2RlKCpub2RlKTsKKyAgICBmb3IgKGF1dG8mIG5vZGUgOiBtX2ZpbmlzaGVkU291cmNlTm9k
ZXMpCisgICAgICAgIGRlcmVmU291cmNlTm9kZSgqbm9kZSk7CiAKLSAgICBtX2ZpbmlzaGVkTm9k
ZXMuY2xlYXIoKTsKKyAgICBtX2ZpbmlzaGVkU291cmNlTm9kZXMuY2xlYXIoKTsKIH0KIAotdm9p
ZCBCYXNlQXVkaW9Db250ZXh0OjpyZWZOb2RlKEF1ZGlvTm9kZSYgbm9kZSkKK3ZvaWQgQmFzZUF1
ZGlvQ29udGV4dDo6cmVmU291cmNlTm9kZShBdWRpb05vZGUmIG5vZGUpCiB7CiAgICAgQVNTRVJU
KGlzTWFpblRocmVhZCgpKTsKICAgICBBdXRvTG9ja2VyIGxvY2tlcigqdGhpcyk7Ci0gICAgCi0g
ICAgbV9yZWZlcmVuY2VkTm9kZXMuYXBwZW5kKCZub2RlKTsKKworICAgIEFTU0VSVCghbV9yZWZl
cmVuY2VkU291cmNlTm9kZXMuY29udGFpbnMoJm5vZGUpKTsKKyAgICAvLyBSZWZlcmVuY2Ugc291
cmNlIG5vZGUgdG8ga2VlcCBpdCBhbGl2ZSBhbmQgcGxheWluZyBldmVuIGlmIGl0cyBKUyB3cmFw
cGVyIGdldHMgZ2FyYmFnZSBjb2xsZWN0ZWQuCisgICAgbV9yZWZlcmVuY2VkU291cmNlTm9kZXMu
YXBwZW5kKCZub2RlKTsKIH0KIAotdm9pZCBCYXNlQXVkaW9Db250ZXh0OjpkZXJlZk5vZGUoQXVk
aW9Ob2RlJiBub2RlKQordm9pZCBCYXNlQXVkaW9Db250ZXh0OjpkZXJlZlNvdXJjZU5vZGUoQXVk
aW9Ob2RlJiBub2RlKQogewogICAgIEFTU0VSVChpc0dyYXBoT3duZXIoKSk7CiAgICAgCi0gICAg
QVNTRVJUKG1fcmVmZXJlbmNlZE5vZGVzLmNvbnRhaW5zKCZub2RlKSk7Ci0gICAgbV9yZWZlcmVu
Y2VkTm9kZXMucmVtb3ZlRmlyc3QoJm5vZGUpOworICAgIEFTU0VSVChtX3JlZmVyZW5jZWRTb3Vy
Y2VOb2Rlcy5jb250YWlucygmbm9kZSkpOworICAgIG1fcmVmZXJlbmNlZFNvdXJjZU5vZGVzLnJl
bW92ZUZpcnN0KCZub2RlKTsKIH0KIAogdm9pZCBCYXNlQXVkaW9Db250ZXh0OjpkZXJlZlVuZmlu
aXNoZWRTb3VyY2VOb2RlcygpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpICYmIGlzQXVk
aW9UaHJlYWRGaW5pc2hlZCgpKTsKLSAgICBtX3JlZmVyZW5jZWROb2Rlcy5jbGVhcigpOworICAg
IG1fcmVmZXJlbmNlZFNvdXJjZU5vZGVzLmNsZWFyKCk7CiB9CiAKIHZvaWQgQmFzZUF1ZGlvQ29u
dGV4dDo6bG9jayhib29sJiBtdXN0UmVsZWFzZUxvY2spCkBAIC0xMDUwLDYgKzEwNDMsMTggQEAg
dm9pZCBCYXNlQXVkaW9Db250ZXh0OjphZGRBdWRpb1BhcmFtRGVzY3JpcHRvcnMoY29uc3QgU3Ry
aW5nJiBwcm9jZXNzb3JOYW1lLCBWZWMKICAgICBtX3BhcmFtZXRlckRlc2NyaXB0b3JNYXAuYWRk
KHByb2Nlc3Nvck5hbWUsIFdURk1vdmUoZGVzY3JpcHRvcnMpKTsKIH0KIAordm9pZCBCYXNlQXVk
aW9Db250ZXh0Ojpzb3VyY2VOb2RlV2lsbEJlZ2luUGxheWJhY2soQXVkaW9Ob2RlJiBub2RlKQor
eworICAgIHJlZlNvdXJjZU5vZGUobm9kZSk7Cit9CisKK3ZvaWQgQmFzZUF1ZGlvQ29udGV4dDo6
c291cmNlTm9kZURpZEZpbmlzaFBsYXliYWNrKEF1ZGlvTm9kZSYgbm9kZSkKK3sKKyAgICBBU1NF
UlQoaXNBdWRpb1RocmVhZCgpKTsKKworICAgIG1fZmluaXNoZWRTb3VyY2VOb2Rlcy5hcHBlbmQo
Jm5vZGUpOworfQorCiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiBXVEZMb2dDaGFubmVsJiBC
YXNlQXVkaW9Db250ZXh0Ojpsb2dDaGFubmVsKCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmFzZUF1ZGlvQ29udGV4dC5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9Db250ZXh0LmgKaW5kZXggYjM4MzczMzE3
Zjc0MTBmNWFlMTZmZjI3NGU2NmUzMDMzNGM2MDhjYS4uNjI1NTk0MmMzM2YyYmFjYzY4MDIxZmIy
MmEwNDIwNmYxMjYzMDliZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9CYXNlQXVkaW9Db250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9CYXNlQXVkaW9Db250ZXh0LmgKQEAgLTE2Myw5ICsxNjMsNiBAQCBwdWJsaWM6CiAgICAg
RXhjZXB0aW9uT3I8UmVmPFN0ZXJlb1Bhbm5lck5vZGU+PiBjcmVhdGVTdGVyZW9QYW5uZXIoKTsK
ICAgICBFeGNlcHRpb25PcjxSZWY8SUlSRmlsdGVyTm9kZT4+IGNyZWF0ZUlJUkZpbHRlcihTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiwgVmVjdG9yPGRvdWJsZT4mJiBmZWVkZm9yd2FyZCwgVmVjdG9y
PGRvdWJsZT4mJiBmZWVkYmFjayk7CiAKLSAgICAvLyBXaGVuIGEgc291cmNlIG5vZGUgaGFzIG5v
IG1vcmUgcHJvY2Vzc2luZyB0byBkbyAoaGFzIGZpbmlzaGVkIHBsYXlpbmcpLCB0aGVuIGl0IHRl
bGxzIHRoZSBjb250ZXh0IHRvIGRlcmVmZXJlbmNlIGl0LgotICAgIHZvaWQgbm90aWZ5Tm9kZUZp
bmlzaGVkUHJvY2Vzc2luZyhBdWRpb05vZGUqKTsKLQogICAgIC8vIENhbGxlZCBhdCB0aGUgc3Rh
cnQgb2YgZWFjaCByZW5kZXIgcXVhbnR1bS4KICAgICB2b2lkIGhhbmRsZVByZVJlbmRlclRhc2tz
KGNvbnN0IEF1ZGlvSU9Qb3NpdGlvbiYgb3V0cHV0UG9zaXRpb24pOwogCkBAIC0yNDksNyArMjQ2
LDkgQEAgcHVibGljOgogCiAgICAgdm9pZCBpc1BsYXlpbmdBdWRpb0RpZENoYW5nZSgpOwogCi0g
ICAgdmlydHVhbCB2b2lkIG5vZGVXaWxsQmVnaW5QbGF5YmFjaygpIHsgfQorICAgIHZpcnR1YWwg
dm9pZCBzb3VyY2VOb2RlV2lsbEJlZ2luUGxheWJhY2soQXVkaW9Ob2RlJik7CisgICAgLy8gV2hl
biBhIHNvdXJjZSBub2RlIGhhcyBubyBtb3JlIHByb2Nlc3NpbmcgdG8gZG8gKGhhcyBmaW5pc2hl
ZCBwbGF5aW5nKSwgdGhlbiBpdCB0ZWxscyB0aGUgY29udGV4dCB0byBkZXJlZmVyZW5jZSBpdC4K
KyAgICB2b2lkIHNvdXJjZU5vZGVEaWRGaW5pc2hQbGF5YmFjayhBdWRpb05vZGUmKTsKIAogI2lm
ICFSRUxFQVNFX0xPR19ESVNBQkxFRAogICAgIGNvbnN0IExvZ2dlciYgbG9nZ2VyKCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gbV9sb2dnZXIuZ2V0KCk7IH0KQEAgLTI4MywxMyArMjgyLDYgQEAg
cHVibGljOgogICAgICAgICBib29sIG1fbXVzdFJlbGVhc2VMb2NrOwogICAgIH07CiAKLSAgICAv
LyBUaGUgY29udGV4dCBpdHNlbGYga2VlcHMgYSByZWZlcmVuY2UgdG8gYWxsIHNvdXJjZSBub2Rl
cy4gVGhlIHNvdXJjZSBub2RlcywgdGhlbiByZWZlcmVuY2UgYWxsIG5vZGVzIHRoZXkncmUgY29u
bmVjdGVkIHRvLgotICAgIC8vIEluIHR1cm4sIHRoZXNlIG5vZGVzIHJlZmVyZW5jZSBhbGwgbm9k
ZXMgdGhleSdyZSBjb25uZWN0ZWQgdG8uIEFsbCBub2RlcyBhcmUgdWx0aW1hdGVseSBjb25uZWN0
ZWQgdG8gdGhlIEF1ZGlvRGVzdGluYXRpb25Ob2RlLgotICAgIC8vIFdoZW4gdGhlIGNvbnRleHQg
ZGVyZWZlcmVuY2VzIGEgc291cmNlIG5vZGUsIGl0IHdpbGwgYmUgZGVhY3RpdmF0ZWQgZnJvbSB0
aGUgcmVuZGVyaW5nIGdyYXBoIGFsb25nIHdpdGggYWxsIG90aGVyIG5vZGVzIGl0IGlzCi0gICAg
Ly8gdW5pcXVlbHkgY29ubmVjdGVkIHRvLiBTZWUgdGhlIEF1ZGlvTm9kZTo6cmVmKCkgYW5kIEF1
ZGlvTm9kZTo6ZGVyZWYoKSBtZXRob2RzIGZvciBtb3JlIGRldGFpbHMuCi0gICAgdm9pZCByZWZO
b2RlKEF1ZGlvTm9kZSYpOwotICAgIHZvaWQgZGVyZWZOb2RlKEF1ZGlvTm9kZSYpOwotCiAgICAg
dmlydHVhbCB2b2lkIGxhenlJbml0aWFsaXplKCk7CiAKICAgICBzdGF0aWMgYm9vbCBpc1N1cHBv
cnRlZFNhbXBsZVJhdGUoZmxvYXQgc2FtcGxlUmF0ZSk7CkBAIC0zMjYsNiArMzE4LDEzIEBAIHBy
aXZhdGU6CiAKICAgICB2b2lkIHNjaGVkdWxlTm9kZURlbGV0aW9uKCk7CiAKKyAgICAvLyBXaGVu
IHNvdXJjZSBub2RlcyBiZWdpbiBwbGF5aW5nLCB0aGUgQmFzZUF1ZGlvQ29udGV4dCBrZWVwcyB0
aGVtIGFsaXZlIGluc2lkZSBtX3JlZmVyZW5jZWRTb3VyY2VOb2Rlcy4KKyAgICAvLyBXaGVuIHRo
ZSBub2RlcyBzdG9wIHBsYXlpbmcsIHRoZXkgZ2V0IGFkZGVkIHRvIG1fZmluaXNoZWRTb3VyY2VO
b2Rlcy4gQWZ0ZXIgZWFjaCByZW5kZXJpbmcgcXVhbnR1bSwKKyAgICAvLyB3ZSBjYWxsIGRlcmVm
U291cmNlTm9kZSgpIG9uIGV2ZXJ5IG5vZGUgaW4gbV9maW5pc2hlZFNvdXJjZU5vZGVzIHNpbmNl
IHdlIG5vIGxvbmdlciBuZWVkIHRvIGtlZXAgdGhlbQorICAgIC8vIGFsaXZlLgorICAgIHZvaWQg
cmVmU291cmNlTm9kZShBdWRpb05vZGUmKTsKKyAgICB2b2lkIGRlcmVmU291cmNlTm9kZShBdWRp
b05vZGUmKTsKKwogICAgIC8vIEV2ZW50VGFyZ2V0CiAgICAgdm9pZCBkaXNwYXRjaEV2ZW50KEV2
ZW50JikgZmluYWw7CiAKQEAgLTM1MiwxMCArMzUxLDEwIEBAIHByaXZhdGU6CiAgICAgUmVmPEF1
ZGlvV29ya2xldD4gbV93b3JrbGV0OwogCiAgICAgLy8gT25seSBhY2Nlc3NlZCBpbiB0aGUgYXVk
aW8gdGhyZWFkLgotICAgIFZlY3RvcjxBdWRpb05vZGUqPiBtX2ZpbmlzaGVkTm9kZXM7CisgICAg
VmVjdG9yPEF1ZGlvTm9kZSo+IG1fZmluaXNoZWRTb3VyY2VOb2RlczsKIAogICAgIC8vIEVpdGhl
ciBhY2Nlc3NlZCB3aGVuIHRoZSBncmFwaCBsb2NrIGlzIGhlbGQsIG9yIG9uIHRoZSBtYWluIHRo
cmVhZCB3aGVuIHRoZSBhdWRpbyB0aHJlYWQgaGFzIGZpbmlzaGVkLgotICAgIFZlY3RvcjxBdWRp
b0Nvbm5lY3Rpb25SZWZQdHI8QXVkaW9Ob2RlPj4gbV9yZWZlcmVuY2VkTm9kZXM7CisgICAgVmVj
dG9yPEF1ZGlvQ29ubmVjdGlvblJlZlB0cjxBdWRpb05vZGU+PiBtX3JlZmVyZW5jZWRTb3VyY2VO
b2RlczsKIAogICAgIC8vIEFjY3VtdWxhdGUgbm9kZXMgd2hpY2ggbmVlZCB0byBiZSBkZWxldGVk
IGhlcmUuCiAgICAgLy8gVGhpcyBpcyBjb3BpZWQgdG8gbV9ub2Rlc1RvRGVsZXRlIGF0IHRoZSBl
bmQgb2YgYSByZW5kZXIgY3ljbGUgaW4gaGFuZGxlUG9zdFJlbmRlclRhc2tzKCksIHdoZXJlIHdl
J3JlIGFzc3VyZWQgb2YgYSBzdGFibGUgZ3JhcGgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQ29uc3RhbnRTb3VyY2VOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQ29uc3RhbnRTb3VyY2VOb2RlLmNwcAppbmRleCBkZjUzMjU3Mjdl
ZmE2MjlhNDhiYjQ4MTgwZDczODVjYmNjYzlmOTM1Li43NGRkYTM3NDgxMDYwZWRjYWY0ODBhMzc1
OGEwNjg3NWQ5NDVkNTVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0NvbnN0YW50U291cmNlTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9Db25zdGFudFNvdXJjZU5vZGUuY3BwCkBAIC00MSwxMSArNDEsNyBAQCBXVEZfTUFL
RV9JU09fQUxMT0NBVEVEX0lNUEwoQ29uc3RhbnRTb3VyY2VOb2RlKTsKIAogRXhjZXB0aW9uT3I8
UmVmPENvbnN0YW50U291cmNlTm9kZT4+IENvbnN0YW50U291cmNlTm9kZTo6Y3JlYXRlKEJhc2VB
dWRpb0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IENvbnN0YW50U291cmNlT3B0aW9ucyYgb3B0aW9u
cykKIHsKLSAgICBhdXRvIG5vZGUgPSBhZG9wdFJlZigqbmV3IENvbnN0YW50U291cmNlTm9kZShj
b250ZXh0LCBvcHRpb25zLm9mZnNldCkpOwotICAgIAotICAgIGNvbnRleHQucmVmTm9kZShub2Rl
KTsKLSAgICAKLSAgICByZXR1cm4gbm9kZTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDb25z
dGFudFNvdXJjZU5vZGUoY29udGV4dCwgb3B0aW9ucy5vZmZzZXQpKTsKIH0KIAogQ29uc3RhbnRT
b3VyY2VOb2RlOjpDb25zdGFudFNvdXJjZU5vZGUoQmFzZUF1ZGlvQ29udGV4dCYgY29udGV4dCwg
ZmxvYXQgb2Zmc2V0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuY3BwCmluZGV4IGI2YmU4Njk2
NmM2NjU5NTBmNzQzNjhiNzdlZTk2OWQ3ZmNmZTYwZDMuLjEyNTVjODY3ODljNjRjZGYxMWYyNTQz
ZmU5MTc2OTMzNGU1ZjA5ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5jcHAKQEAgLTU1
LDcgKzU1LDkgQEAgRXhjZXB0aW9uT3I8UmVmPE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZT4+
IE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZTo6Y3JlYXQKICAgICBhdXRvIG5vZGUgPSBhZG9w
dFJlZigqbmV3IE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZShjb250ZXh0LCAqb3B0aW9ucy5t
ZWRpYUVsZW1lbnQpKTsKIAogICAgIG9wdGlvbnMubWVkaWFFbGVtZW50LT5zZXRBdWRpb1NvdXJj
ZU5vZGUobm9kZS5wdHIoKSk7Ci0gICAgY29udGV4dC5yZWZOb2RlKG5vZGUuZ2V0KCkpOyAvLyBj
b250ZXh0IGtlZXBzIHJlZmVyZW5jZSB1bnRpbCBub2RlIGlzIGRpc2Nvbm5lY3RlZAorCisgICAg
Ly8gY29udGV4dCBrZWVwcyByZWZlcmVuY2UgdW50aWwgbm9kZSBpcyBkaXNjb25uZWN0ZWQuCisg
ICAgY29udGV4dC5zb3VyY2VOb2RlV2lsbEJlZ2luUGxheWJhY2sobm9kZSk7CiAKICAgICByZXR1
cm4gbm9kZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
TWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5jcHAKaW5kZXggYTRlNmYwMzAxNGY1
NGU5MzhmMGE3MTIzMDAyMjJhNjgwMzZkMmJlOS4uODBhMGUwNmNjZWU0MWQ3OGRjNGQ0MDQwYTc0
YjJlZmUxYmEzZjFkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9NZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5jcHAKQEAgLTYwLDcgKzYw
LDggQEAgRXhjZXB0aW9uT3I8UmVmPE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlPj4gTWVkaWFT
dHJlYW1BdWRpb1NvdXJjZU5vZGU6OmNyZWF0ZSgKICAgICBhdXRvIG5vZGUgPSBhZG9wdFJlZigq
bmV3IE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlKGNvbnRleHQsICpvcHRpb25zLm1lZGlhU3Ry
ZWFtLCAqcHJvdmlkZXJUcmFjaykpOwogICAgIG5vZGUtPnNldEZvcm1hdCgyLCBjb250ZXh0LnNh
bXBsZVJhdGUoKSk7CiAKLSAgICBjb250ZXh0LnJlZk5vZGUobm9kZSk7IC8vIGNvbnRleHQga2Vl
cHMgcmVmZXJlbmNlIHVudGlsIG5vZGUgaXMgZGlzY29ubmVjdGVkCisgICAgLy8gQ29udGV4dCBr
ZWVwcyByZWZlcmVuY2UgdW50aWwgbm9kZSBpcyBkaXNjb25uZWN0ZWQuCisgICAgY29udGV4dC5z
b3VyY2VOb2RlV2lsbEJlZ2luUGxheWJhY2sobm9kZSk7CiAKICAgICByZXR1cm4gbm9kZTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT3NjaWxsYXRvck5v
ZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5j
cHAKaW5kZXggZjc3YjFjODVkMzRmNWU4NTdiMGY2ZDJlYmQ4YzczOTI1MWNhOTlhOS4uMjNmMmYz
NzVmM2E5MTMwOWM3MDRiMWY4ODk0NTM1NTY4MGYyNWY4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5jcHAKQEAgLTc3LDEwICs3Nyw2
IEBAIEV4Y2VwdGlvbk9yPFJlZjxPc2NpbGxhdG9yTm9kZT4+IE9zY2lsbGF0b3JOb2RlOjpjcmVh
dGUoQmFzZUF1ZGlvQ29udGV4dCYgY29udGV4CiAgICAgICAgICAgICByZXR1cm4gcmVzdWx0LnJl
bGVhc2VFeGNlcHRpb24oKTsKICAgICB9CiAKLSAgICAvLyBCZWNhdXNlIHRoaXMgaXMgYW4gQXVk
aW9TY2hlZHVsZWRTb3VyY2VOb2RlLCB0aGUgY29udGV4dCBrZWVwcyBhIHJlZmVyZW5jZSB1bnRp
bCBpdCBoYXMgZmluaXNoZWQgcGxheWluZy4KLSAgICAvLyBXaGVuIHRoaXMgaGFwcGVucywgQXVk
aW9TY2hlZHVsZWRTb3VyY2VOb2RlOjpmaW5pc2goKSBjYWxscyBCYXNlQXVkaW9Db250ZXh0Ojpu
b3RpZnlOb2RlRmluaXNoZWRQcm9jZXNzaW5nKCkuCi0gICAgY29udGV4dC5yZWZOb2RlKG9zY2ls
bGF0b3IpOwotCiAgICAgcmV0dXJuIG9zY2lsbGF0b3I7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3BwCmluZGV4
IDM2YWM4Yjg3ZTBmM2FlYWEwNTAwMjMwY2U5MzM4YWIzYmFlYjg3ZTUuLjRiY2U3Y2Y4ZjAyZjI3
ZGI1NzNhYzM3MGY4ZTVjZGQ3YTE5Y2NmNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmNwcApAQCAtMjcwLDYgKzI3
MCwxOSBAQCBib29sIFNjcmlwdFByb2Nlc3Nvck5vZGU6OnJlcXVpcmVzVGFpbFByb2Nlc3Npbmco
KSBjb25zdAogICAgIHJldHVybiB0cnVlOwogfQogCit2b2lkIFNjcmlwdFByb2Nlc3Nvck5vZGU6
OmV2ZW50TGlzdGVuZXJzRGlkQ2hhbmdlKCkKK3sKKyAgICBtX2hhc0F1ZGlvUHJvY2Vzc0V2ZW50
TGlzdGVuZXIgPSBoYXNFdmVudExpc3RlbmVycyhldmVudE5hbWVzKCkuYXVkaW9wcm9jZXNzRXZl
bnQpOworfQorCitib29sIFNjcmlwdFByb2Nlc3Nvck5vZGU6OnZpcnR1YWxIYXNQZW5kaW5nQWN0
aXZpdHkoKSBjb25zdAoreworICAgIGlmIChjb250ZXh0KCkuaXNDbG9zZWQoKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIG1faGFzQXVkaW9Qcm9jZXNzRXZlbnRMaXN0ZW5l
cjsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9B
VURJTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0
UHJvY2Vzc29yTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQ
cm9jZXNzb3JOb2RlLmgKaW5kZXggZjcxMjcwZGRiNmRlYWIwZjIyYWRiM2IzNTIyZDEyMmZmOWJj
YmE3ZS4uZjgzMTdkMDJiYjMxM2Q3MGNiMTczMjg0NGJjYTMyYTY3NzZhN2U0NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2Rl
LmgKQEAgLTc2LDYgKzc2LDggQEAgcHJpdmF0ZToKIAogICAgIFNjcmlwdFByb2Nlc3Nvck5vZGUo
QmFzZUF1ZGlvQ29udGV4dCYsIHNpemVfdCBidWZmZXJTaXplLCB1bnNpZ25lZCBudW1iZXJPZklu
cHV0Q2hhbm5lbHMsIHVuc2lnbmVkIG51bWJlck9mT3V0cHV0Q2hhbm5lbHMpOwogCisgICAgYm9v
bCB2aXJ0dWFsSGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QgZmluYWw7CisgICAgdm9pZCBldmVu
dExpc3RlbmVyc0RpZENoYW5nZSgpIGZpbmFsOwogICAgIHZvaWQgZmlyZVByb2Nlc3NFdmVudCh1
bnNpZ25lZCBkb3VibGVCdWZmZXJJbmRleCk7CiAKICAgICAvLyBEb3VibGUgYnVmZmVyaW5nCkBA
IC05NCw2ICs5Niw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPEF1ZGlvQnVzPiBtX2ludGVybmFs
SW5wdXRCdXM7CiAgICAgUmVmUHRyPFBlbmRpbmdBY3Rpdml0eTxTY3JpcHRQcm9jZXNzb3JOb2Rl
Pj4gbV9wZW5kaW5nQWN0aXZpdHk7CiAgICAgTG9jayBtX3Byb2Nlc3NMb2NrOworICAgIGJvb2wg
bV9oYXNBdWRpb1Byb2Nlc3NFdmVudExpc3RlbmVyIHsgZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vV2ViS2l0QXVkaW9Db250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vV2ViS2l0QXVkaW9Db250ZXh0LmNwcAppbmRleCBlY2YwNWM0YjM1Njc3ZTYxYjY2MjNmYTE5
ZTJmY2U1NTAzYTAxYjZmLi5hNWQ5NDk1OTUyZDE1Y2ZmMDRmZmM1OWRmMDFkYTYxZDBhNjJmNDFi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdEF1ZGlv
Q29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRB
dWRpb0NvbnRleHQuY3BwCkBAIC0xNDUsMTUgKzE0NSw3IEBAIEV4Y2VwdGlvbk9yPFJlZjxXZWJL
aXRPc2NpbGxhdG9yTm9kZT4+IFdlYktpdEF1ZGlvQ29udGV4dDo6Y3JlYXRlV2ViS2l0T3NjaWxs
YXRvCiAKICAgICBsYXp5SW5pdGlhbGl6ZSgpOwogCi0gICAgYXV0byBub2RlID0gV2ViS2l0T3Nj
aWxsYXRvck5vZGU6OmNyZWF0ZSgqdGhpcyk7Ci0gICAgaWYgKG5vZGUuaGFzRXhjZXB0aW9uKCkp
Ci0gICAgICAgIHJldHVybiBub2RlLnJlbGVhc2VFeGNlcHRpb24oKTsKLQotICAgIC8vIEJlY2F1
c2UgdGhpcyBpcyBhbiBBdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUsIHRoZSBjb250ZXh0IGtlZXBz
IGEgcmVmZXJlbmNlIHVudGlsIGl0IGhhcyBmaW5pc2hlZCBwbGF5aW5nLgotICAgIC8vIFdoZW4g
dGhpcyBoYXBwZW5zLCBBdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGU6OmZpbmlzaCgpIGNhbGxzIEJh
c2VBdWRpb0NvbnRleHQ6Om5vdGlmeU5vZGVGaW5pc2hlZFByb2Nlc3NpbmcoKS4KLSAgICBhdXRv
IG5vZGVWYWx1ZSA9IG5vZGUucmVsZWFzZVJldHVyblZhbHVlKCk7Ci0gICAgcmVmTm9kZShub2Rl
VmFsdWUpOwotICAgIHJldHVybiBub2RlVmFsdWU7CisgICAgcmV0dXJuIFdlYktpdE9zY2lsbGF0
b3JOb2RlOjpjcmVhdGUoKnRoaXMpOwogfQogCiBFeGNlcHRpb25PcjxSZWY8UGVyaW9kaWNXYXZl
Pj4gV2ViS2l0QXVkaW9Db250ZXh0OjpjcmVhdGVQZXJpb2RpY1dhdmUoRmxvYXQzMkFycmF5JiBy
ZWFsLCBGbG9hdDMyQXJyYXkmIGltYWdpbmFyeSkKQEAgLTE4MCwxMyArMTcyLDcgQEAgRXhjZXB0
aW9uT3I8UmVmPFdlYktpdEF1ZGlvQnVmZmVyU291cmNlTm9kZT4+IFdlYktpdEF1ZGlvQ29udGV4
dDo6Y3JlYXRlV2ViS2l0QnUKIAogICAgIGxhenlJbml0aWFsaXplKCk7CiAKLSAgICBhdXRvIG5v
ZGUgPSBXZWJLaXRBdWRpb0J1ZmZlclNvdXJjZU5vZGU6OmNyZWF0ZSgqdGhpcyk7Ci0KLSAgICAv
LyBCZWNhdXNlIHRoaXMgaXMgYW4gQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlLCB0aGUgY29udGV4
dCBrZWVwcyBhIHJlZmVyZW5jZSB1bnRpbCBpdCBoYXMgZmluaXNoZWQgcGxheWluZy4KLSAgICAv
LyBXaGVuIHRoaXMgaGFwcGVucywgQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlOjpmaW5pc2goKSBj
YWxscyBCYXNlQXVkaW9Db250ZXh0Ojpub3RpZnlOb2RlRmluaXNoZWRQcm9jZXNzaW5nKCkuCi0g
ICAgcmVmTm9kZShub2RlKTsKLQotICAgIHJldHVybiBub2RlOworICAgIHJldHVybiBXZWJLaXRB
dWRpb0J1ZmZlclNvdXJjZU5vZGU6OmNyZWF0ZSgqdGhpcyk7CiB9CiAKIEV4Y2VwdGlvbk9yPFJl
ZjxXZWJLaXREeW5hbWljc0NvbXByZXNzb3JOb2RlPj4gV2ViS2l0QXVkaW9Db250ZXh0OjpjcmVh
dGVXZWJLaXREeW5hbWljc0NvbXByZXNzb3IoKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>