<?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>171994</bug_id>
          
          <creation_ts>2017-05-11 15:07:54 -0700</creation_ts>
          <short_desc>[WKWebsiteDataStore removeDataOfTypes:...] doesn&apos;t work for IndexedDB if the data store has a custom IDB path</short_desc>
          <delta_ts>2017-05-12 09:27:30 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=172030</see_also>
          <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="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>achristensen</cc>
    
    <cc>aestes</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>mdaum</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1307499</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-05-11 15:07:54 -0700</bug_when>
    <thetext>[WKWebsiteDataStore removeDataOfTypes:...] doesn&apos;t work for IndexedDB if the data store has a custom IDB path

&lt;rdar://problem/30612463&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307501</commentid>
    <comment_count>1</comment_count>
      <attachid>309794</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-05-11 15:13:34 -0700</bug_when>
    <thetext>Created attachment 309794
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307532</commentid>
    <comment_count>2</comment_count>
      <attachid>309794</attachid>
    <who name="Maureen Daum">mdaum</who>
    <bug_when>2017-05-11 15:57:27 -0700</bug_when>
    <thetext>Comment on attachment 309794
Patch

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

&gt; Source/WebKit2/UIProcess/WebProcessPool.cpp:526
&gt; +        m_databaseProcess-&gt;send(Messages::DatabaseProcess::InitializeWebsiteDataStore(parameters), 0);

If there is a relevantDataStore that&apos;ll cause us to send the InitializeWebsiteDataStore event below, do we need to send it here as well?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307553</commentid>
    <comment_count>3</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-05-11 16:17:54 -0700</bug_when>
    <thetext>(In reply to Maureen Daum from comment #2)
&gt; Comment on attachment 309794 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=309794&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/WebProcessPool.cpp:526
&gt; &gt; +        m_databaseProcess-&gt;send(Messages::DatabaseProcess::InitializeWebsiteDataStore(parameters), 0);
&gt; 
&gt; If there is a relevantDataStore that&apos;ll cause us to send the
&gt; InitializeWebsiteDataStore event below, do we need to send it here as well?

Good call - Easy to fall in the trap of sending it twice.

Wouldn&apos;t be a big deal, but definitely don&apos;t need to do it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307561</commentid>
    <comment_count>4</comment_count>
      <attachid>309815</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-05-11 16:26:41 -0700</bug_when>
    <thetext>Created attachment 309815
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307582</commentid>
    <comment_count>5</comment_count>
      <attachid>309815</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-05-11 16:40:17 -0700</bug_when>
    <thetext>Comment on attachment 309815
Patch

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

&gt; Source/WebKit2/UIProcess/WebProcessPool.cpp:532
&gt; +    auto parameters = relevantDataStore-&gt;databaseProcessParameters();

Unnecessary local variable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307589</commentid>
    <comment_count>6</comment_count>
      <attachid>309822</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-05-11 16:44:34 -0700</bug_when>
    <thetext>Created attachment 309822
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307637</commentid>
    <comment_count>7</comment_count>
      <attachid>309822</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-11 17:49:36 -0700</bug_when>
    <thetext>Comment on attachment 309822
Patch

Clearing flags on attachment: 309822

Committed r216711: &lt;http://trac.webkit.org/changeset/216711&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307638</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-11 17:49:38 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>309794</attachid>
            <date>2017-05-11 15:13:34 -0700</date>
            <delta_ts>2017-05-11 16:26:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171994-20170511151334.patch</filename>
            <type>text/plain</type>
            <size>15320</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE2NjkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDEzZmU4Mzc3MmNiMTY4
M2MyOGMwN2JiYTEwMWE0MDhhZWRlMzIxMy4uYmIwNTI5NTRhN2QwOTMxMzg3Yjg3ZTQyYzIyMjMy
ZDUyYWYzYjQwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE3LTA1LTExICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBbV0tXZWJzaXRlRGF0YVN0
b3JlIHJlbW92ZURhdGFPZlR5cGVzOi4uLl0gZG9lc24ndCB3b3JrIGZvciBJbmRleGVkREIgaWYg
dGhlIGRhdGEgc3RvcmUgaGFzIGEgY3VzdG9tIElEQiBwYXRoLgorICAgICAgICA8cmRhcjovL3By
b2JsZW0vMzA2MTI0NjM+IGFuZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTcxOTk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBEYXRhYmFzZVByb2Nlc3MvRGF0YWJhc2VQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6RGF0YWJhc2VQcm9jZXNzOjpkZWxldGVXZWJzaXRlRGF0YSk6IEluc3RlYWQgb2YgYWNjZXNz
aW5nIHRoZSBtX2lkYlNlcnZlcnMgc2V0IGRpcmVjdGx5LCBtYWtlCisgICAgICAgICAgdGhlIG1l
dGhvZCBjYWxsIHRoYXQgY3JlYXRlcyB0aGUgc2VydmVyIG9uIGRlbWFuZC4KKyAgICAgICAgKFdl
YktpdDo6RGF0YWJhc2VQcm9jZXNzOjpkZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMpOiBEaXR0
by4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlByb2Nlc3NQb29sOjplbnN1cmVEYXRhYmFzZVByb2Nlc3NBbmRXZWJzaXRlRGF0
YVN0b3JlKTogTm90IG9ubHkgY3JlYXRlIHRoZSBEYXRhYmFzZVByb2Nlc3MgaWYgbmVjZXNzYXJ5
LAorICAgICAgICAgIGJ1dCBhbHNvIG5vdGlmeSBpdCBhYm91dCB0aGUgcGFzc2VkLWluIFdlYnNp
dGVEYXRhU3RvcmUuCisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpnZXREYXRhYmFz
ZVByb2Nlc3NDb25uZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmVu
c3VyZURhdGFiYXNlUHJvY2Vzcyk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmg6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpzZW5kVG9EYXRh
YmFzZVByb2Nlc3NSZWxhdW5jaGluZ0lmTmVjZXNzYXJ5KToKKworICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
c2l0ZURhdGFTdG9yZTo6ZmV0Y2hEYXRhKToKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFT
dG9yZTo6cmVtb3ZlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6OmRh
dGFiYXNlUHJvY2Vzc1BhcmFtZXRlcnMpOgorCiAyMDE3LTA1LTExICBBbmR5IEVzdGVzICA8YWVz
dGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggYSBzcGVsbGluZyBtaXN0YWtlIGluIEFwcGxl
UGF5RXJyb3JDb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3Mv
RGF0YWJhc2VQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9EYXRh
YmFzZVByb2Nlc3MuY3BwCmluZGV4IDdkMTYyYmMwNTMzNjhjZDNjYmM2M2Y5YWRkNTA0MmJjZGRi
OTYzYjAuLmJmZmMzODIxMjA3ODI5MWEyMWE2M2ZkYzE1OWY5OTY0ZTAwMTAxOTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVByb2Nlc3MuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVByb2Nlc3MuY3BwCkBA
IC0yMTksMTMgKzIxOSwxMiBAQCB2b2lkIERhdGFiYXNlUHJvY2Vzczo6ZGVsZXRlV2Vic2l0ZURh
dGEoV2ViQ29yZTo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PAogICAgICAgICBwYXJl
bnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpEYXRhYmFzZVByb2Nlc3NQcm94
eTo6RGlkRGVsZXRlV2Vic2l0ZURhdGEoY2FsbGJhY2tJRCksIDApOwogICAgIH07CiAKLSAgICBh
dXRvKiBzZXJ2ZXIgPSBtX2lkYlNlcnZlcnMuZ2V0KHNlc3Npb25JRCk7Ci0gICAgaWYgKCFzZXJ2
ZXIgfHwgIXdlYnNpdGVEYXRhVHlwZXMuY29udGFpbnMoV2Vic2l0ZURhdGFUeXBlOjpJbmRleGVk
REJEYXRhYmFzZXMpKSB7CisgICAgaWYgKCF3ZWJzaXRlRGF0YVR5cGVzLmNvbnRhaW5zKFdlYnNp
dGVEYXRhVHlwZTo6SW5kZXhlZERCRGF0YWJhc2VzKSkgewogICAgICAgICBjb21wbGV0aW9uSGFu
ZGxlcigpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgc2VydmVyLT5jbG9zZUFuZERl
bGV0ZURhdGFiYXNlc01vZGlmaWVkU2luY2UobW9kaWZpZWRTaW5jZSwgV1RGTW92ZShjb21wbGV0
aW9uSGFuZGxlcikpOworICAgIGlkYlNlcnZlcihzZXNzaW9uSUQpLmNsb3NlQW5kRGVsZXRlRGF0
YWJhc2VzTW9kaWZpZWRTaW5jZShtb2RpZmllZFNpbmNlLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKSk7CiAjZW5kaWYKIH0KIApAQCAtMjM2LDEzICsyMzUsMTIgQEAgdm9pZCBEYXRhYmFzZVBy
b2Nlc3M6OmRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhXZWJDb3JlOjpTZXNzaW9uSUQgc2Vz
c2lvbklELAogICAgICAgICBwYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2Vz
OjpEYXRhYmFzZVByb2Nlc3NQcm94eTo6RGlkRGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKGNh
bGxiYWNrSUQpLCAwKTsKICAgICB9OwogCi0gICAgYXV0byogc2VydmVyID0gbV9pZGJTZXJ2ZXJz
LmdldChzZXNzaW9uSUQpOwotICAgIGlmICghc2VydmVyIHx8ICF3ZWJzaXRlRGF0YVR5cGVzLmNv
bnRhaW5zKFdlYnNpdGVEYXRhVHlwZTo6SW5kZXhlZERCRGF0YWJhc2VzKSkgeworICAgIGlmICgh
d2Vic2l0ZURhdGFUeXBlcy5jb250YWlucyhXZWJzaXRlRGF0YVR5cGU6OkluZGV4ZWREQkRhdGFi
YXNlcykpIHsKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIAotICAgIHNlcnZlci0+Y2xvc2VBbmREZWxldGVEYXRhYmFzZXNGb3JPcmlnaW5zKHNl
Y3VyaXR5T3JpZ2luRGF0YXMsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKKyAgICBpZGJT
ZXJ2ZXIoc2Vzc2lvbklEKS5jbG9zZUFuZERlbGV0ZURhdGFiYXNlc0Zvck9yaWdpbnMoc2VjdXJp
dHlPcmlnaW5EYXRhcywgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogI2VuZGlmCiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IDFhOWM5
MzM5OGY5ZDMyMjIyMzhmMWM5ZjI4NGMxZDdiYTE0Y2JkY2MuLmQ1MWRhZmY1YjJhODM5Y2E5NTdj
Zjc3MjI3OGM5NjY0ZTc3NDM1NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmNwcApAQCAtNTA0LDMyICs1MDQsMzggQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6
Z2V0TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKFJlZjxNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5
OjoKIH0KIAogI2lmIEVOQUJMRShEQVRBQkFTRV9QUk9DRVNTKQotdm9pZCBXZWJQcm9jZXNzUG9v
bDo6ZW5zdXJlRGF0YWJhc2VQcm9jZXNzKCkKK3ZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmVuc3VyZURh
dGFiYXNlUHJvY2Vzc0FuZFdlYnNpdGVEYXRhU3RvcmUoV2Vic2l0ZURhdGFTdG9yZSogcmVsZXZh
bnREYXRhU3RvcmUpCiB7Ci0gICAgaWYgKG1fZGF0YWJhc2VQcm9jZXNzKQotICAgICAgICByZXR1
cm47Ci0KLSAgICBtX2RhdGFiYXNlUHJvY2VzcyA9IERhdGFiYXNlUHJvY2Vzc1Byb3h5OjpjcmVh
dGUodGhpcyk7Ci0KICAgICAvLyAqKioqKioqKioKICAgICAvLyBJTVBPUlRBTlQ6IERvIG5vdCBj
aGFuZ2UgdGhlIGRpcmVjdG9yeSBzdHJ1Y3R1cmUgZm9yIGluZGV4ZWQgZGF0YWJhc2VzIG9uIGRp
c2sgd2l0aG91dCBmaXJzdCBjb25zdWx0aW5nIGEgcmV2aWV3ZXIgZnJvbSBBcHBsZSAoPHJkYXI6
Ly9wcm9ibGVtLzE3NDU0NzEyPikKICAgICAvLyAqKioqKioqKioKLSAgICBEYXRhYmFzZVByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMgcGFyYW1ldGVyczsKKworICAgIGlmICghbV9kYXRhYmFzZVBy
b2Nlc3MpIHsKKyAgICAgICAgbV9kYXRhYmFzZVByb2Nlc3MgPSBEYXRhYmFzZVByb2Nlc3NQcm94
eTo6Y3JlYXRlKHRoaXMpOworCisgICAgICAgIERhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycyBwYXJhbWV0ZXJzOwogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQotICAgIEFTU0VS
VCghbV9jb25maWd1cmF0aW9uLT5pbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeSgpLmlzRW1wdHko
KSk7CisgICAgICAgIEFTU0VSVCghbV9jb25maWd1cmF0aW9uLT5pbmRleGVkREJEYXRhYmFzZURp
cmVjdG9yeSgpLmlzRW1wdHkoKSk7CiAKLSAgICBwYXJhbWV0ZXJzLnNlc3Npb25JRCA9IHdlYnNp
dGVEYXRhU3RvcmUoKS53ZWJzaXRlRGF0YVN0b3JlKCkuc2Vzc2lvbklEKCk7Ci0gICAgcGFyYW1l
dGVycy5pbmRleGVkRGF0YWJhc2VEaXJlY3RvcnkgPSBtX2NvbmZpZ3VyYXRpb24tPmluZGV4ZWRE
QkRhdGFiYXNlRGlyZWN0b3J5KCk7Ci0gICAgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxl
Rm9yUmVhZFdyaXRlRGlyZWN0b3J5KHBhcmFtZXRlcnMuaW5kZXhlZERhdGFiYXNlRGlyZWN0b3J5
LCBwYXJhbWV0ZXJzLmluZGV4ZWREYXRhYmFzZURpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZSk7Cisg
ICAgICAgIHBhcmFtZXRlcnMuc2Vzc2lvbklEID0gd2Vic2l0ZURhdGFTdG9yZSgpLndlYnNpdGVE
YXRhU3RvcmUoKS5zZXNzaW9uSUQoKTsKKyAgICAgICAgcGFyYW1ldGVycy5pbmRleGVkRGF0YWJh
c2VEaXJlY3RvcnkgPSBtX2NvbmZpZ3VyYXRpb24tPmluZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5
KCk7CisgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvclJlYWRXcml0ZURp
cmVjdG9yeShwYXJhbWV0ZXJzLmluZGV4ZWREYXRhYmFzZURpcmVjdG9yeSwgcGFyYW1ldGVycy5p
bmRleGVkRGF0YWJhc2VEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGUpOwogI2VuZGlmCiAKLSAgICBB
U1NFUlQoIXBhcmFtZXRlcnMuaW5kZXhlZERhdGFiYXNlRGlyZWN0b3J5LmlzRW1wdHkoKSk7Cisg
ICAgICAgIEFTU0VSVCghcGFyYW1ldGVycy5pbmRleGVkRGF0YWJhc2VEaXJlY3RvcnkuaXNFbXB0
eSgpKTsKKyAgICAgICAgbV9kYXRhYmFzZVByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OkRhdGFiYXNl
UHJvY2Vzczo6SW5pdGlhbGl6ZVdlYnNpdGVEYXRhU3RvcmUocGFyYW1ldGVycyksIDApOworICAg
IH0KKworICAgIGlmICghcmVsZXZhbnREYXRhU3RvcmUpCisgICAgICAgIHJldHVybjsKKworICAg
IGF1dG8gcGFyYW1ldGVycyA9IHJlbGV2YW50RGF0YVN0b3JlLT5kYXRhYmFzZVByb2Nlc3NQYXJh
bWV0ZXJzKCk7CiAgICAgbV9kYXRhYmFzZVByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OkRhdGFiYXNl
UHJvY2Vzczo6SW5pdGlhbGl6ZVdlYnNpdGVEYXRhU3RvcmUocGFyYW1ldGVycyksIDApOwogfQog
CiB2b2lkIFdlYlByb2Nlc3NQb29sOjpnZXREYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uKFJlZjxN
ZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXREYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uOjpE
ZWxheWVkUmVwbHk+JiYgcmVwbHkpCiB7Ci0gICAgZW5zdXJlRGF0YWJhc2VQcm9jZXNzKCk7Cisg
ICAgZW5zdXJlRGF0YWJhc2VQcm9jZXNzQW5kV2Vic2l0ZURhdGFTdG9yZShudWxscHRyKTsKIAog
ICAgIG1fZGF0YWJhc2VQcm9jZXNzLT5nZXREYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uKFdURk1v
dmUocmVwbHkpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgK
aW5kZXggMjJiNWUxYjE4MjgzYzg5ZWY1YzEyNDAwMmM1MGM2N2VhYTU3OWMwNC4uYjI0MmE2Mzc5
MjgwMmNiYTA5ZWIyOTkzNmM4NDI5OWY2ZWFmZDQ5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmgKQEAgLTMxOSw3ICszMTksNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBnZXROZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oUmVmPE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJv
eHk6OkdldE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6RGVsYXllZFJlcGx5PiYmKTsKIAogI2lm
IEVOQUJMRShEQVRBQkFTRV9QUk9DRVNTKQotICAgIHZvaWQgZW5zdXJlRGF0YWJhc2VQcm9jZXNz
KCk7CisgICAgdm9pZCBlbnN1cmVEYXRhYmFzZVByb2Nlc3NBbmRXZWJzaXRlRGF0YVN0b3JlKFdl
YnNpdGVEYXRhU3RvcmUqIHJlbGV2YW50RGF0YVN0b3JlKTsKICAgICBEYXRhYmFzZVByb2Nlc3NQ
cm94eSogZGF0YWJhc2VQcm9jZXNzKCkgeyByZXR1cm4gbV9kYXRhYmFzZVByb2Nlc3MuZ2V0KCk7
IH0KICAgICB2b2lkIGdldERhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb24oUmVmPE1lc3NhZ2VzOjpX
ZWJQcm9jZXNzUHJveHk6OkdldERhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb246OkRlbGF5ZWRSZXBs
eT4mJik7CiAgICAgdm9pZCBkYXRhYmFzZVByb2Nlc3NDcmFzaGVkKERhdGFiYXNlUHJvY2Vzc1By
b3h5Kik7CkBAIC02NDYsNyArNjQ2LDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KIHZvaWQgV2Vi
UHJvY2Vzc1Bvb2w6OnNlbmRUb0RhdGFiYXNlUHJvY2Vzc1JlbGF1bmNoaW5nSWZOZWNlc3Nhcnko
VCYmIG1lc3NhZ2UpCiB7CiAjaWYgRU5BQkxFKERBVEFCQVNFX1BST0NFU1MpCi0gICAgZW5zdXJl
RGF0YWJhc2VQcm9jZXNzKCk7CisgICAgZW5zdXJlRGF0YWJhc2VQcm9jZXNzQW5kV2Vic2l0ZURh
dGFTdG9yZShudWxscHRyKTsKICAgICBtX2RhdGFiYXNlUHJvY2Vzcy0+c2VuZChzdGQ6OmZvcndh
cmQ8VD4obWVzc2FnZSksIDApOwogI2Vsc2UKICAgICBzZW5kVG9BbGxQcm9jZXNzZXNSZWxhdW5j
aGluZ1RoZW1JZk5lY2Vzc2FyeShzdGQ6OmZvcndhcmQ8VD4obWVzc2FnZSkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3Rv
cmUuY3BwCmluZGV4IDVjZDFlNTg2NTBhOTFlYjYxOWZlMzg5NzM0NDhjOGJlMTkwYzU1YWMuLmNh
MTRiMjI4Njk4OTk0NzFlMWUxN2VhYzExOTA4ZjcwN2E2OTBlNWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5j
cHAKQEAgLTQxOSw3ICs0MTksNyBAQCB2b2lkIFdlYnNpdGVEYXRhU3RvcmU6OmZldGNoRGF0YShP
cHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiBkYXRhVHlwZXMsIE9wdGlvblNldAogI2lmIEVOQUJM
RShEQVRBQkFTRV9QUk9DRVNTKQogICAgIGlmIChkYXRhVHlwZXMuY29udGFpbnMoV2Vic2l0ZURh
dGFUeXBlOjpJbmRleGVkREJEYXRhYmFzZXMpICYmIGlzUGVyc2lzdGVudCgpKSB7CiAgICAgICAg
IGZvciAoYXV0byYgcHJvY2Vzc1Bvb2wgOiBwcm9jZXNzUG9vbHMoKSkgewotICAgICAgICAgICAg
cHJvY2Vzc1Bvb2wtPmVuc3VyZURhdGFiYXNlUHJvY2VzcygpOworICAgICAgICAgICAgcHJvY2Vz
c1Bvb2wtPmVuc3VyZURhdGFiYXNlUHJvY2Vzc0FuZFdlYnNpdGVEYXRhU3RvcmUodGhpcyk7CiAK
ICAgICAgICAgICAgIGNhbGxiYWNrQWdncmVnYXRvci0+YWRkUGVuZGluZ0NhbGxiYWNrKCk7CiAg
ICAgICAgICAgICBwcm9jZXNzUG9vbC0+ZGF0YWJhc2VQcm9jZXNzKCktPmZldGNoV2Vic2l0ZURh
dGEobV9zZXNzaW9uSUQsIGRhdGFUeXBlcywgW2NhbGxiYWNrQWdncmVnYXRvciwgcHJvY2Vzc1Bv
b2xdKFdlYnNpdGVEYXRhIHdlYnNpdGVEYXRhKSB7CkBAIC02OTEsNyArNjkxLDcgQEAgdm9pZCBX
ZWJzaXRlRGF0YVN0b3JlOjpyZW1vdmVEYXRhKE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+IGRh
dGFUeXBlcywgc3RkOjpjaHIKICNpZiBFTkFCTEUoREFUQUJBU0VfUFJPQ0VTUykKICAgICBpZiAo
ZGF0YVR5cGVzLmNvbnRhaW5zKFdlYnNpdGVEYXRhVHlwZTo6SW5kZXhlZERCRGF0YWJhc2VzKSAm
JiBpc1BlcnNpc3RlbnQoKSkgewogICAgICAgICBmb3IgKGF1dG8mIHByb2Nlc3NQb29sIDogcHJv
Y2Vzc1Bvb2xzKCkpIHsKLSAgICAgICAgICAgIHByb2Nlc3NQb29sLT5lbnN1cmVEYXRhYmFzZVBy
b2Nlc3MoKTsKKyAgICAgICAgICAgIHByb2Nlc3NQb29sLT5lbnN1cmVEYXRhYmFzZVByb2Nlc3NB
bmRXZWJzaXRlRGF0YVN0b3JlKHRoaXMpOwogCiAgICAgICAgICAgICBjYWxsYmFja0FnZ3JlZ2F0
b3ItPmFkZFBlbmRpbmdDYWxsYmFjaygpOwogICAgICAgICAgICAgcHJvY2Vzc1Bvb2wtPmRhdGFi
YXNlUHJvY2VzcygpLT5kZWxldGVXZWJzaXRlRGF0YShtX3Nlc3Npb25JRCwgZGF0YVR5cGVzLCBt
b2RpZmllZFNpbmNlLCBbY2FsbGJhY2tBZ2dyZWdhdG9yLCBwcm9jZXNzUG9vbF0gewpAQCAtOTU5
LDcgKzk1OSw3IEBAIHZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6cmVtb3ZlRGF0YShPcHRpb25TZXQ8
V2Vic2l0ZURhdGFUeXBlPiBkYXRhVHlwZXMsIGNvbnN0IFZlCiAjaWYgRU5BQkxFKERBVEFCQVNF
X1BST0NFU1MpCiAgICAgaWYgKGRhdGFUeXBlcy5jb250YWlucyhXZWJzaXRlRGF0YVR5cGU6Oklu
ZGV4ZWREQkRhdGFiYXNlcykgJiYgaXNQZXJzaXN0ZW50KCkpIHsKICAgICAgICAgZm9yIChhdXRv
JiBwcm9jZXNzUG9vbCA6IHByb2Nlc3NQb29scygpKSB7Ci0gICAgICAgICAgICBwcm9jZXNzUG9v
bC0+ZW5zdXJlRGF0YWJhc2VQcm9jZXNzKCk7CisgICAgICAgICAgICBwcm9jZXNzUG9vbC0+ZW5z
dXJlRGF0YWJhc2VQcm9jZXNzQW5kV2Vic2l0ZURhdGFTdG9yZSh0aGlzKTsKIAogICAgICAgICAg
ICAgY2FsbGJhY2tBZ2dyZWdhdG9yLT5hZGRQZW5kaW5nQ2FsbGJhY2soKTsKICAgICAgICAgICAg
IHByb2Nlc3NQb29sLT5kYXRhYmFzZVByb2Nlc3MoKS0+ZGVsZXRlV2Vic2l0ZURhdGFGb3JPcmln
aW5zKG1fc2Vzc2lvbklELCBkYXRhVHlwZXMsIG9yaWdpbnMsIFtjYWxsYmFja0FnZ3JlZ2F0b3Is
IHByb2Nlc3NQb29sXSB7CkBAIC0xMjUwLDYgKzEyNTAsOCBAQCB2b2lkIFdlYnNpdGVEYXRhU3Rv
cmU6OnJlZ2lzdGVyU2hhcmVkUmVzb3VyY2VMb2FkT2JzZXJ2ZXIoKQogCiBEYXRhYmFzZVByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMgV2Vic2l0ZURhdGFTdG9yZTo6ZGF0YWJhc2VQcm9jZXNzUGFy
YW1ldGVycygpCiB7CisgICAgcmVzb2x2ZURpcmVjdG9yaWVzSWZOZWNlc3NhcnkoKTsKKwogICAg
IERhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyBwYXJhbWV0ZXJzOwogCiAgICAgcGFy
YW1ldGVycy5zZXNzaW9uSUQgPSBtX3Nlc3Npb25JRDsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5n
ZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3ZGZmNGNmNTZiNmRlOTk3NmUzNDgyNjQ2NGFm
YWIzYTAwMmM0OWQwLi45ZjhjOTNmMTJmYWIyMTg2NmU0YWYzMzI4MjMzZDlhOWQ1YzYwZjY2IDEw
MDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTctMDUtMTEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgor
CisgICAgICAgIFtXS1dlYnNpdGVEYXRhU3RvcmUgcmVtb3ZlRGF0YU9mVHlwZXM6Li4uXSBkb2Vz
bid0IHdvcmsgZm9yIEluZGV4ZWREQiBpZiB0aGUgZGF0YSBzdG9yZSBoYXMgYSBjdXN0b20gSURC
IHBhdGguCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDYxMjQ2Mz4gYW5kIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzE5OTQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
MkNvY29hL1dlYnNpdGVEYXRhU3RvcmVDdXN0b21QYXRocy5tbToKKyAgICAgICAgKFRFU1QpOgor
CiAyMDE3LTA1LTExICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2FsaWEu
Y29tPgogCiAgICAgICAgIEFkZCBXUEUgcmVsZWFzZSBib3RzCmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9XZWJzaXRlRGF0YVN0b3JlQ3VzdG9tUGF0
aHMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9XZWJzaXRlRGF0
YVN0b3JlQ3VzdG9tUGF0aHMubW0KaW5kZXggOTBmMDQ5MTcyYWQ2NTcxYWZiNjllYTdmYjJlMjEz
MDJhMGM4NmZmOC4uMTI3ZDlmOTIzNjE2MjViNGM4YThjNzQ2MDIzMzNmZmM0ZTI4NTQ0NSAxMDA2
NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvV2Vic2l0ZURh
dGFTdG9yZUN1c3RvbVBhdGhzLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0MkNvY29hL1dlYnNpdGVEYXRhU3RvcmVDdXN0b21QYXRocy5tbQpAQCAtOTksMTQgKzk5LDEz
IEBAIFRFU1QoV2ViS2l0MiwgV2Vic2l0ZURhdGFTdG9yZUN1c3RvbVBhdGhzKQogICAgIEVYUEVD
VF9GQUxTRShbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGZpbGVFeGlzdHNBdFBhdGg6
ZGVmYXVsdElEQlBhdGgucGF0aF0pOwogICAgIEVYUEVDVF9GQUxTRShbW05TRmlsZU1hbmFnZXIg
ZGVmYXVsdE1hbmFnZXJdIGZpbGVFeGlzdHNBdFBhdGg6ZGVmYXVsdExvY2FsU3RvcmFnZVBhdGgu
cGF0aF0pOwogCi0gICAgX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24gKndlYnNpdGVE
YXRhU3RvcmVDb25maWd1cmF0aW9uID0gW1tfV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlv
biBhbGxvY10gaW5pdF07Ci0gICAgd2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uX3dlYlNR
TERhdGFiYXNlRGlyZWN0b3J5ID0gc3FsUGF0aDsKLSAgICB3ZWJzaXRlRGF0YVN0b3JlQ29uZmln
dXJhdGlvbi5faW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkgPSBpZGJQYXRoOwotICAgIHdlYnNp
dGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLl93ZWJTdG9yYWdlRGlyZWN0b3J5ID0gbG9jYWxTdG9y
YWdlUGF0aDsKLSAgICB3ZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5fY29va2llU3RvcmFn
ZUZpbGUgPSBjb29raWVTdG9yYWdlRmlsZTsKKyAgICBSZXRhaW5QdHI8X1dLV2Vic2l0ZURhdGFT
dG9yZUNvbmZpZ3VyYXRpb24+IHdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uID0gYWRvcHRO
UyhbW19XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAg
d2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uZ2V0KCkuX3dlYlNRTERhdGFiYXNlRGlyZWN0
b3J5ID0gc3FsUGF0aDsKKyAgICB3ZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5nZXQoKS5f
aW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkgPSBpZGJQYXRoOworICAgIHdlYnNpdGVEYXRhU3Rv
cmVDb25maWd1cmF0aW9uLmdldCgpLl93ZWJTdG9yYWdlRGlyZWN0b3J5ID0gbG9jYWxTdG9yYWdl
UGF0aDsKKyAgICB3ZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5nZXQoKS5fY29va2llU3Rv
cmFnZUZpbGUgPSBjb29raWVTdG9yYWdlRmlsZTsKIAotICAgIGNvbmZpZ3VyYXRpb24uZ2V0KCku
d2Vic2l0ZURhdGFTdG9yZSA9IFtbV0tXZWJzaXRlRGF0YVN0b3JlIGFsbG9jXSBfaW5pdFdpdGhD
b25maWd1cmF0aW9uOndlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uXTsKLSAgICBbd2Vic2l0
ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24gcmVsZWFzZV07CisgICAgY29uZmlndXJhdGlvbi5nZXQo
KS53ZWJzaXRlRGF0YVN0b3JlID0gW1tbV0tXZWJzaXRlRGF0YVN0b3JlIGFsbG9jXSBfaW5pdFdp
dGhDb25maWd1cmF0aW9uOndlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmdldCgpXSBhdXRv
cmVsZWFzZV07CiAKICAgICBSZXRhaW5QdHI8V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRvcHROUyhb
W1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAw
KSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCldKTsKIApAQCAtMTE5LDEzICsxMTgs
MjAgQEAgVEVTVChXZWJLaXQyLCBXZWJzaXRlRGF0YVN0b3JlQ3VzdG9tUGF0aHMpCiAgICAgRVhQ
RUNUX1NUUkVRKFtnZXROZXh0TWVzc2FnZSgpLmJvZHkgVVRGOFN0cmluZ10sICJFeGNlcHRpb246
IFF1b3RhRXhjZWVkZWRFcnJvciAoRE9NIEV4Y2VwdGlvbiAyMik6IFRoZSBxdW90YSBoYXMgYmVl
biBleGNlZWRlZC4iKTsKICAgICBFWFBFQ1RfU1RSRVEoW2dldE5leHRNZXNzYWdlKCkuYm9keSBV
VEY4U3RyaW5nXSwgIlN1Y2Nlc3Mgb3BlbmluZyBpbmRleGVkIGRhdGFiYXNlIik7CiAKLSAgICBF
WFBFQ1RfVFJVRShbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGZpbGVFeGlzdHNBdFBh
dGg6c3FsUGF0aC5wYXRoXSk7Ci0gICAgRVhQRUNUX1RSVUUoW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1
bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOmxvY2FsU3RvcmFnZVBhdGgucGF0aF0pOworICAg
IFtbW3dlYlZpZXcgY29uZmlndXJhdGlvbl0gcHJvY2Vzc1Bvb2xdIF9zeW5jTmV0d29ya1Byb2Nl
c3NDb29raWVzXTsKIAotICAgIEVYUEVDVF9UUlVFKFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFu
YWdlcl0gZmlsZUV4aXN0c0F0UGF0aDppZGJQYXRoLnBhdGhdKTsKLSAgICBFWFBFQ1RfVFJVRShb
W05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGZpbGVFeGlzdHNBdFBhdGg6ZGVmYXVsdElE
QlBhdGgucGF0aF0pOworICAgIC8vIEZvcmNpYmx5IHNodXQgZG93biBldmVyeXRoaW5nIG9mIFdl
YktpdCB0aGF0IHdlIGNhbi4KKyAgICBbW1t3ZWJWaWV3IGNvbmZpZ3VyYXRpb25dIHByb2Nlc3NQ
b29sXSBfdGVybWluYXRlRGF0YWJhc2VQcm9jZXNzXTsKKyAgICBhdXRvIHBpZCA9IFt3ZWJWaWV3
IF93ZWJQcm9jZXNzSWRlbnRpZmllcl07CisgICAgaWYgKHBpZCkKKyAgICAgICAga2lsbChwaWQs
IFNJR0tJTEwpOwogCi0gICAgW1tbd2ViVmlldyBjb25maWd1cmF0aW9uXSBwcm9jZXNzUG9vbF0g
X3N5bmNOZXR3b3JrUHJvY2Vzc0Nvb2tpZXNdOworICAgIHdlYlZpZXcgPSBuaWw7CisgICAgaGFu
ZGxlciA9IG5pbDsKKyAgICBjb25maWd1cmF0aW9uID0gbmlsOworCisgICAgRVhQRUNUX1RSVUUo
W1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOnNxbFBhdGgu
cGF0aF0pOworICAgIEVYUEVDVF9UUlVFKFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0g
ZmlsZUV4aXN0c0F0UGF0aDpsb2NhbFN0b3JhZ2VQYXRoLnBhdGhdKTsKIAogI2lmIFBMQVRGT1JN
KElPUykgfHwgKF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDEzMDApCiAgICAg
RVhQRUNUX1RSVUUoW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQ
YXRoOmNvb2tpZVN0b3JhZ2VGaWxlLnBhdGhdKTsKQEAgLTE0NSw2ICsxNTEsMjUgQEAgVEVTVChX
ZWJLaXQyLCBXZWJzaXRlRGF0YVN0b3JlQ3VzdG9tUGF0aHMpCiAgICAgRVhQRUNUX1RSVUUoW1tO
U0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOmRlZmF1bHRTUUxQ
YXRoLnBhdGhdKTsKICAgICBFWFBFQ1RfVFJVRShbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFn
ZXJdIGZpbGVFeGlzdHNBdFBhdGg6ZGVmYXVsdExvY2FsU3RvcmFnZVBhdGgucGF0aF0pOwogI2Vu
ZGlmCisKKyAgICBFWFBFQ1RfVFJVRShbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGZp
bGVFeGlzdHNBdFBhdGg6aWRiUGF0aC5wYXRoXSk7CisgICAgRVhQRUNUX1RSVUUoW1tOU0ZpbGVN
YW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOmRlZmF1bHRJREJQYXRoLnBh
dGhdKTsKKyAgICBSZXRhaW5QdHI8TlNVUkw+IGZpbGVJREJQYXRoID0gW2lkYlBhdGggVVJMQnlB
cHBlbmRpbmdQYXRoQ29tcG9uZW50OkAiZmlsZV9fMCJdOworICAgIEVYUEVDVF9UUlVFKFtbTlNG
aWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gZmlsZUV4aXN0c0F0UGF0aDpmaWxlSURCUGF0aC5n
ZXQoKS5wYXRoXSk7CisKKyAgICAvLyBEYXRhIHN0b3JlcyBjYW4ndCBkZWxldGUgYW55dGhpbmcg
dW5sZXNzIGEgV0tQcm9jZXNzUG9vbCBleGlzdHMsIHNvIG1ha2Ugc3VyZSB0aGUgc2hhcmVkIGRh
dGEgc3RvcmUgZXhpc3RzLgorICAgIGF1dG8gKnByb2Nlc3NQb29sID0gW1dLUHJvY2Vzc1Bvb2wg
X3NoYXJlZFByb2Nlc3NQb29sXTsKKyAgICBbcHJvY2Vzc1Bvb2wgX3Rlcm1pbmF0ZURhdGFiYXNl
UHJvY2Vzc107CisgICAgUmV0YWluUHRyPFdLV2Vic2l0ZURhdGFTdG9yZT4gZGF0YVN0b3JlID0g
W1tXS1dlYnNpdGVEYXRhU3RvcmUgYWxsb2NdIF9pbml0V2l0aENvbmZpZ3VyYXRpb246d2Vic2l0
ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uZ2V0KCldOworICAgIFJldGFpblB0cjxOU1NldD4gdHlw
ZXMgPSBhZG9wdE5TKFtbTlNTZXQgYWxsb2NdIGluaXRXaXRoT2JqZWN0czpXS1dlYnNpdGVEYXRh
VHlwZUluZGV4ZWREQkRhdGFiYXNlcywgbmlsXSk7CisKKyAgICByZWNlaXZlZFNjcmlwdE1lc3Nh
Z2UgPSBmYWxzZTsKKyAgICBbZGF0YVN0b3JlIHJlbW92ZURhdGFPZlR5cGVzOnR5cGVzLmdldCgp
IG1vZGlmaWVkU2luY2U6W05TRGF0ZSBkaXN0YW50UGFzdF0gY29tcGxldGlvbkhhbmRsZXI6W10o
KSB7CisgICAgICAgIHJlY2VpdmVkU2NyaXB0TWVzc2FnZSA9IHRydWU7CisgICAgfV07CisgICAg
VGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZyZWNlaXZlZFNjcmlwdE1lc3NhZ2UpOworCisgICAg
RVhQRUNUX0ZBTFNFKFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gZmlsZUV4aXN0c0F0
UGF0aDpmaWxlSURCUGF0aC5nZXQoKS5wYXRoXSk7CiB9CiAKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>309815</attachid>
            <date>2017-05-11 16:26:41 -0700</date>
            <delta_ts>2017-05-11 16:44:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171994-20170511162640.patch</filename>
            <type>text/plain</type>
            <size>15383</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE2NjkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDEzZmU4Mzc3MmNiMTY4
M2MyOGMwN2JiYTEwMWE0MDhhZWRlMzIxMy4uYmIwNTI5NTRhN2QwOTMxMzg3Yjg3ZTQyYzIyMjMy
ZDUyYWYzYjQwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE3LTA1LTExICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBbV0tXZWJzaXRlRGF0YVN0
b3JlIHJlbW92ZURhdGFPZlR5cGVzOi4uLl0gZG9lc24ndCB3b3JrIGZvciBJbmRleGVkREIgaWYg
dGhlIGRhdGEgc3RvcmUgaGFzIGEgY3VzdG9tIElEQiBwYXRoLgorICAgICAgICA8cmRhcjovL3By
b2JsZW0vMzA2MTI0NjM+IGFuZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTcxOTk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBEYXRhYmFzZVByb2Nlc3MvRGF0YWJhc2VQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6RGF0YWJhc2VQcm9jZXNzOjpkZWxldGVXZWJzaXRlRGF0YSk6IEluc3RlYWQgb2YgYWNjZXNz
aW5nIHRoZSBtX2lkYlNlcnZlcnMgc2V0IGRpcmVjdGx5LCBtYWtlCisgICAgICAgICAgdGhlIG1l
dGhvZCBjYWxsIHRoYXQgY3JlYXRlcyB0aGUgc2VydmVyIG9uIGRlbWFuZC4KKyAgICAgICAgKFdl
YktpdDo6RGF0YWJhc2VQcm9jZXNzOjpkZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMpOiBEaXR0
by4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlByb2Nlc3NQb29sOjplbnN1cmVEYXRhYmFzZVByb2Nlc3NBbmRXZWJzaXRlRGF0
YVN0b3JlKTogTm90IG9ubHkgY3JlYXRlIHRoZSBEYXRhYmFzZVByb2Nlc3MgaWYgbmVjZXNzYXJ5
LAorICAgICAgICAgIGJ1dCBhbHNvIG5vdGlmeSBpdCBhYm91dCB0aGUgcGFzc2VkLWluIFdlYnNp
dGVEYXRhU3RvcmUuCisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpnZXREYXRhYmFz
ZVByb2Nlc3NDb25uZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmVu
c3VyZURhdGFiYXNlUHJvY2Vzcyk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmg6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpzZW5kVG9EYXRh
YmFzZVByb2Nlc3NSZWxhdW5jaGluZ0lmTmVjZXNzYXJ5KToKKworICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
c2l0ZURhdGFTdG9yZTo6ZmV0Y2hEYXRhKToKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFT
dG9yZTo6cmVtb3ZlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6OmRh
dGFiYXNlUHJvY2Vzc1BhcmFtZXRlcnMpOgorCiAyMDE3LTA1LTExICBBbmR5IEVzdGVzICA8YWVz
dGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggYSBzcGVsbGluZyBtaXN0YWtlIGluIEFwcGxl
UGF5RXJyb3JDb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3Mv
RGF0YWJhc2VQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9EYXRh
YmFzZVByb2Nlc3MuY3BwCmluZGV4IDdkMTYyYmMwNTMzNjhjZDNjYmM2M2Y5YWRkNTA0MmJjZGRi
OTYzYjAuLmJmZmMzODIxMjA3ODI5MWEyMWE2M2ZkYzE1OWY5OTY0ZTAwMTAxOTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVByb2Nlc3MuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVByb2Nlc3MuY3BwCkBA
IC0yMTksMTMgKzIxOSwxMiBAQCB2b2lkIERhdGFiYXNlUHJvY2Vzczo6ZGVsZXRlV2Vic2l0ZURh
dGEoV2ViQ29yZTo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PAogICAgICAgICBwYXJl
bnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpEYXRhYmFzZVByb2Nlc3NQcm94
eTo6RGlkRGVsZXRlV2Vic2l0ZURhdGEoY2FsbGJhY2tJRCksIDApOwogICAgIH07CiAKLSAgICBh
dXRvKiBzZXJ2ZXIgPSBtX2lkYlNlcnZlcnMuZ2V0KHNlc3Npb25JRCk7Ci0gICAgaWYgKCFzZXJ2
ZXIgfHwgIXdlYnNpdGVEYXRhVHlwZXMuY29udGFpbnMoV2Vic2l0ZURhdGFUeXBlOjpJbmRleGVk
REJEYXRhYmFzZXMpKSB7CisgICAgaWYgKCF3ZWJzaXRlRGF0YVR5cGVzLmNvbnRhaW5zKFdlYnNp
dGVEYXRhVHlwZTo6SW5kZXhlZERCRGF0YWJhc2VzKSkgewogICAgICAgICBjb21wbGV0aW9uSGFu
ZGxlcigpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgc2VydmVyLT5jbG9zZUFuZERl
bGV0ZURhdGFiYXNlc01vZGlmaWVkU2luY2UobW9kaWZpZWRTaW5jZSwgV1RGTW92ZShjb21wbGV0
aW9uSGFuZGxlcikpOworICAgIGlkYlNlcnZlcihzZXNzaW9uSUQpLmNsb3NlQW5kRGVsZXRlRGF0
YWJhc2VzTW9kaWZpZWRTaW5jZShtb2RpZmllZFNpbmNlLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKSk7CiAjZW5kaWYKIH0KIApAQCAtMjM2LDEzICsyMzUsMTIgQEAgdm9pZCBEYXRhYmFzZVBy
b2Nlc3M6OmRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhXZWJDb3JlOjpTZXNzaW9uSUQgc2Vz
c2lvbklELAogICAgICAgICBwYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2Vz
OjpEYXRhYmFzZVByb2Nlc3NQcm94eTo6RGlkRGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKGNh
bGxiYWNrSUQpLCAwKTsKICAgICB9OwogCi0gICAgYXV0byogc2VydmVyID0gbV9pZGJTZXJ2ZXJz
LmdldChzZXNzaW9uSUQpOwotICAgIGlmICghc2VydmVyIHx8ICF3ZWJzaXRlRGF0YVR5cGVzLmNv
bnRhaW5zKFdlYnNpdGVEYXRhVHlwZTo6SW5kZXhlZERCRGF0YWJhc2VzKSkgeworICAgIGlmICgh
d2Vic2l0ZURhdGFUeXBlcy5jb250YWlucyhXZWJzaXRlRGF0YVR5cGU6OkluZGV4ZWREQkRhdGFi
YXNlcykpIHsKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIAotICAgIHNlcnZlci0+Y2xvc2VBbmREZWxldGVEYXRhYmFzZXNGb3JPcmlnaW5zKHNl
Y3VyaXR5T3JpZ2luRGF0YXMsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKKyAgICBpZGJT
ZXJ2ZXIoc2Vzc2lvbklEKS5jbG9zZUFuZERlbGV0ZURhdGFiYXNlc0Zvck9yaWdpbnMoc2VjdXJp
dHlPcmlnaW5EYXRhcywgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogI2VuZGlmCiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IDFhOWM5
MzM5OGY5ZDMyMjIyMzhmMWM5ZjI4NGMxZDdiYTE0Y2JkY2MuLjMyODU2NDQ3MjMzYWY4OTczMmMy
ODNhNmRkOWQ3OWY1MjI2OGVlNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmNwcApAQCAtNTA0LDMyICs1MDQsMzggQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6
Z2V0TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKFJlZjxNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5
OjoKIH0KIAogI2lmIEVOQUJMRShEQVRBQkFTRV9QUk9DRVNTKQotdm9pZCBXZWJQcm9jZXNzUG9v
bDo6ZW5zdXJlRGF0YWJhc2VQcm9jZXNzKCkKK3ZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmVuc3VyZURh
dGFiYXNlUHJvY2Vzc0FuZFdlYnNpdGVEYXRhU3RvcmUoV2Vic2l0ZURhdGFTdG9yZSogcmVsZXZh
bnREYXRhU3RvcmUpCiB7Ci0gICAgaWYgKG1fZGF0YWJhc2VQcm9jZXNzKQotICAgICAgICByZXR1
cm47Ci0KLSAgICBtX2RhdGFiYXNlUHJvY2VzcyA9IERhdGFiYXNlUHJvY2Vzc1Byb3h5OjpjcmVh
dGUodGhpcyk7Ci0KICAgICAvLyAqKioqKioqKioKICAgICAvLyBJTVBPUlRBTlQ6IERvIG5vdCBj
aGFuZ2UgdGhlIGRpcmVjdG9yeSBzdHJ1Y3R1cmUgZm9yIGluZGV4ZWQgZGF0YWJhc2VzIG9uIGRp
c2sgd2l0aG91dCBmaXJzdCBjb25zdWx0aW5nIGEgcmV2aWV3ZXIgZnJvbSBBcHBsZSAoPHJkYXI6
Ly9wcm9ibGVtLzE3NDU0NzEyPikKICAgICAvLyAqKioqKioqKioKLSAgICBEYXRhYmFzZVByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMgcGFyYW1ldGVyczsKKworICAgIGlmICghbV9kYXRhYmFzZVBy
b2Nlc3MpIHsKKyAgICAgICAgbV9kYXRhYmFzZVByb2Nlc3MgPSBEYXRhYmFzZVByb2Nlc3NQcm94
eTo6Y3JlYXRlKHRoaXMpOworCisgICAgICAgIERhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycyBwYXJhbWV0ZXJzOwogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQotICAgIEFTU0VS
VCghbV9jb25maWd1cmF0aW9uLT5pbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeSgpLmlzRW1wdHko
KSk7CisgICAgICAgIEFTU0VSVCghbV9jb25maWd1cmF0aW9uLT5pbmRleGVkREJEYXRhYmFzZURp
cmVjdG9yeSgpLmlzRW1wdHkoKSk7CiAKLSAgICBwYXJhbWV0ZXJzLnNlc3Npb25JRCA9IHdlYnNp
dGVEYXRhU3RvcmUoKS53ZWJzaXRlRGF0YVN0b3JlKCkuc2Vzc2lvbklEKCk7Ci0gICAgcGFyYW1l
dGVycy5pbmRleGVkRGF0YWJhc2VEaXJlY3RvcnkgPSBtX2NvbmZpZ3VyYXRpb24tPmluZGV4ZWRE
QkRhdGFiYXNlRGlyZWN0b3J5KCk7Ci0gICAgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxl
Rm9yUmVhZFdyaXRlRGlyZWN0b3J5KHBhcmFtZXRlcnMuaW5kZXhlZERhdGFiYXNlRGlyZWN0b3J5
LCBwYXJhbWV0ZXJzLmluZGV4ZWREYXRhYmFzZURpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZSk7Cisg
ICAgICAgIHBhcmFtZXRlcnMuc2Vzc2lvbklEID0gd2Vic2l0ZURhdGFTdG9yZSgpLndlYnNpdGVE
YXRhU3RvcmUoKS5zZXNzaW9uSUQoKTsKKyAgICAgICAgcGFyYW1ldGVycy5pbmRleGVkRGF0YWJh
c2VEaXJlY3RvcnkgPSBtX2NvbmZpZ3VyYXRpb24tPmluZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5
KCk7CisgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvclJlYWRXcml0ZURp
cmVjdG9yeShwYXJhbWV0ZXJzLmluZGV4ZWREYXRhYmFzZURpcmVjdG9yeSwgcGFyYW1ldGVycy5p
bmRleGVkRGF0YWJhc2VEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGUpOwogI2VuZGlmCiAKLSAgICBB
U1NFUlQoIXBhcmFtZXRlcnMuaW5kZXhlZERhdGFiYXNlRGlyZWN0b3J5LmlzRW1wdHkoKSk7Cisg
ICAgICAgIEFTU0VSVCghcGFyYW1ldGVycy5pbmRleGVkRGF0YWJhc2VEaXJlY3RvcnkuaXNFbXB0
eSgpKTsKKyAgICAgICAgbV9kYXRhYmFzZVByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OkRhdGFiYXNl
UHJvY2Vzczo6SW5pdGlhbGl6ZVdlYnNpdGVEYXRhU3RvcmUocGFyYW1ldGVycyksIDApOworICAg
IH0KKworICAgIGlmICghcmVsZXZhbnREYXRhU3RvcmUgfHwgcmVsZXZhbnREYXRhU3RvcmUgPT0g
JndlYnNpdGVEYXRhU3RvcmUoKS53ZWJzaXRlRGF0YVN0b3JlKCkpCisgICAgICAgIHJldHVybjsK
KworICAgIGF1dG8gcGFyYW1ldGVycyA9IHJlbGV2YW50RGF0YVN0b3JlLT5kYXRhYmFzZVByb2Nl
c3NQYXJhbWV0ZXJzKCk7CiAgICAgbV9kYXRhYmFzZVByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OkRh
dGFiYXNlUHJvY2Vzczo6SW5pdGlhbGl6ZVdlYnNpdGVEYXRhU3RvcmUocGFyYW1ldGVycyksIDAp
OwogfQogCiB2b2lkIFdlYlByb2Nlc3NQb29sOjpnZXREYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9u
KFJlZjxNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXREYXRhYmFzZVByb2Nlc3NDb25uZWN0
aW9uOjpEZWxheWVkUmVwbHk+JiYgcmVwbHkpCiB7Ci0gICAgZW5zdXJlRGF0YWJhc2VQcm9jZXNz
KCk7CisgICAgZW5zdXJlRGF0YWJhc2VQcm9jZXNzQW5kV2Vic2l0ZURhdGFTdG9yZShudWxscHRy
KTsKIAogICAgIG1fZGF0YWJhc2VQcm9jZXNzLT5nZXREYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9u
KFdURk1vdmUocmVwbHkpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUG9vbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmgKaW5kZXggMjJiNWUxYjE4MjgzYzg5ZWY1YzEyNDAwMmM1MGM2N2VhYTU3OWMwNC4uYjI0
MmE2Mzc5MjgwMmNiYTA5ZWIyOTkzNmM4NDI5OWY2ZWFmZDQ5MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKQEAgLTMxOSw3ICszMTksNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBnZXROZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oUmVmPE1lc3NhZ2VzOjpXZWJQcm9j
ZXNzUHJveHk6OkdldE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6RGVsYXllZFJlcGx5PiYmKTsK
IAogI2lmIEVOQUJMRShEQVRBQkFTRV9QUk9DRVNTKQotICAgIHZvaWQgZW5zdXJlRGF0YWJhc2VQ
cm9jZXNzKCk7CisgICAgdm9pZCBlbnN1cmVEYXRhYmFzZVByb2Nlc3NBbmRXZWJzaXRlRGF0YVN0
b3JlKFdlYnNpdGVEYXRhU3RvcmUqIHJlbGV2YW50RGF0YVN0b3JlKTsKICAgICBEYXRhYmFzZVBy
b2Nlc3NQcm94eSogZGF0YWJhc2VQcm9jZXNzKCkgeyByZXR1cm4gbV9kYXRhYmFzZVByb2Nlc3Mu
Z2V0KCk7IH0KICAgICB2b2lkIGdldERhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb24oUmVmPE1lc3Nh
Z2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldERhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb246OkRlbGF5
ZWRSZXBseT4mJik7CiAgICAgdm9pZCBkYXRhYmFzZVByb2Nlc3NDcmFzaGVkKERhdGFiYXNlUHJv
Y2Vzc1Byb3h5Kik7CkBAIC02NDYsNyArNjQ2LDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KIHZv
aWQgV2ViUHJvY2Vzc1Bvb2w6OnNlbmRUb0RhdGFiYXNlUHJvY2Vzc1JlbGF1bmNoaW5nSWZOZWNl
c3NhcnkoVCYmIG1lc3NhZ2UpCiB7CiAjaWYgRU5BQkxFKERBVEFCQVNFX1BST0NFU1MpCi0gICAg
ZW5zdXJlRGF0YWJhc2VQcm9jZXNzKCk7CisgICAgZW5zdXJlRGF0YWJhc2VQcm9jZXNzQW5kV2Vi
c2l0ZURhdGFTdG9yZShudWxscHRyKTsKICAgICBtX2RhdGFiYXNlUHJvY2Vzcy0+c2VuZChzdGQ6
OmZvcndhcmQ8VD4obWVzc2FnZSksIDApOwogI2Vsc2UKICAgICBzZW5kVG9BbGxQcm9jZXNzZXNS
ZWxhdW5jaGluZ1RoZW1JZk5lY2Vzc2FyeShzdGQ6OmZvcndhcmQ8VD4obWVzc2FnZSkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRh
U3RvcmUuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVE
YXRhU3RvcmUuY3BwCmluZGV4IDVjZDFlNTg2NTBhOTFlYjYxOWZlMzg5NzM0NDhjOGJlMTkwYzU1
YWMuLmNhMTRiMjI4Njk4OTk0NzFlMWUxN2VhYzExOTA4ZjcwN2E2OTBlNWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFT
dG9yZS5jcHAKQEAgLTQxOSw3ICs0MTksNyBAQCB2b2lkIFdlYnNpdGVEYXRhU3RvcmU6OmZldGNo
RGF0YShPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiBkYXRhVHlwZXMsIE9wdGlvblNldAogI2lm
IEVOQUJMRShEQVRBQkFTRV9QUk9DRVNTKQogICAgIGlmIChkYXRhVHlwZXMuY29udGFpbnMoV2Vi
c2l0ZURhdGFUeXBlOjpJbmRleGVkREJEYXRhYmFzZXMpICYmIGlzUGVyc2lzdGVudCgpKSB7CiAg
ICAgICAgIGZvciAoYXV0byYgcHJvY2Vzc1Bvb2wgOiBwcm9jZXNzUG9vbHMoKSkgewotICAgICAg
ICAgICAgcHJvY2Vzc1Bvb2wtPmVuc3VyZURhdGFiYXNlUHJvY2VzcygpOworICAgICAgICAgICAg
cHJvY2Vzc1Bvb2wtPmVuc3VyZURhdGFiYXNlUHJvY2Vzc0FuZFdlYnNpdGVEYXRhU3RvcmUodGhp
cyk7CiAKICAgICAgICAgICAgIGNhbGxiYWNrQWdncmVnYXRvci0+YWRkUGVuZGluZ0NhbGxiYWNr
KCk7CiAgICAgICAgICAgICBwcm9jZXNzUG9vbC0+ZGF0YWJhc2VQcm9jZXNzKCktPmZldGNoV2Vi
c2l0ZURhdGEobV9zZXNzaW9uSUQsIGRhdGFUeXBlcywgW2NhbGxiYWNrQWdncmVnYXRvciwgcHJv
Y2Vzc1Bvb2xdKFdlYnNpdGVEYXRhIHdlYnNpdGVEYXRhKSB7CkBAIC02OTEsNyArNjkxLDcgQEAg
dm9pZCBXZWJzaXRlRGF0YVN0b3JlOjpyZW1vdmVEYXRhKE9wdGlvblNldDxXZWJzaXRlRGF0YVR5
cGU+IGRhdGFUeXBlcywgc3RkOjpjaHIKICNpZiBFTkFCTEUoREFUQUJBU0VfUFJPQ0VTUykKICAg
ICBpZiAoZGF0YVR5cGVzLmNvbnRhaW5zKFdlYnNpdGVEYXRhVHlwZTo6SW5kZXhlZERCRGF0YWJh
c2VzKSAmJiBpc1BlcnNpc3RlbnQoKSkgewogICAgICAgICBmb3IgKGF1dG8mIHByb2Nlc3NQb29s
IDogcHJvY2Vzc1Bvb2xzKCkpIHsKLSAgICAgICAgICAgIHByb2Nlc3NQb29sLT5lbnN1cmVEYXRh
YmFzZVByb2Nlc3MoKTsKKyAgICAgICAgICAgIHByb2Nlc3NQb29sLT5lbnN1cmVEYXRhYmFzZVBy
b2Nlc3NBbmRXZWJzaXRlRGF0YVN0b3JlKHRoaXMpOwogCiAgICAgICAgICAgICBjYWxsYmFja0Fn
Z3JlZ2F0b3ItPmFkZFBlbmRpbmdDYWxsYmFjaygpOwogICAgICAgICAgICAgcHJvY2Vzc1Bvb2wt
PmRhdGFiYXNlUHJvY2VzcygpLT5kZWxldGVXZWJzaXRlRGF0YShtX3Nlc3Npb25JRCwgZGF0YVR5
cGVzLCBtb2RpZmllZFNpbmNlLCBbY2FsbGJhY2tBZ2dyZWdhdG9yLCBwcm9jZXNzUG9vbF0gewpA
QCAtOTU5LDcgKzk1OSw3IEBAIHZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6cmVtb3ZlRGF0YShPcHRp
b25TZXQ8V2Vic2l0ZURhdGFUeXBlPiBkYXRhVHlwZXMsIGNvbnN0IFZlCiAjaWYgRU5BQkxFKERB
VEFCQVNFX1BST0NFU1MpCiAgICAgaWYgKGRhdGFUeXBlcy5jb250YWlucyhXZWJzaXRlRGF0YVR5
cGU6OkluZGV4ZWREQkRhdGFiYXNlcykgJiYgaXNQZXJzaXN0ZW50KCkpIHsKICAgICAgICAgZm9y
IChhdXRvJiBwcm9jZXNzUG9vbCA6IHByb2Nlc3NQb29scygpKSB7Ci0gICAgICAgICAgICBwcm9j
ZXNzUG9vbC0+ZW5zdXJlRGF0YWJhc2VQcm9jZXNzKCk7CisgICAgICAgICAgICBwcm9jZXNzUG9v
bC0+ZW5zdXJlRGF0YWJhc2VQcm9jZXNzQW5kV2Vic2l0ZURhdGFTdG9yZSh0aGlzKTsKIAogICAg
ICAgICAgICAgY2FsbGJhY2tBZ2dyZWdhdG9yLT5hZGRQZW5kaW5nQ2FsbGJhY2soKTsKICAgICAg
ICAgICAgIHByb2Nlc3NQb29sLT5kYXRhYmFzZVByb2Nlc3MoKS0+ZGVsZXRlV2Vic2l0ZURhdGFG
b3JPcmlnaW5zKG1fc2Vzc2lvbklELCBkYXRhVHlwZXMsIG9yaWdpbnMsIFtjYWxsYmFja0FnZ3Jl
Z2F0b3IsIHByb2Nlc3NQb29sXSB7CkBAIC0xMjUwLDYgKzEyNTAsOCBAQCB2b2lkIFdlYnNpdGVE
YXRhU3RvcmU6OnJlZ2lzdGVyU2hhcmVkUmVzb3VyY2VMb2FkT2JzZXJ2ZXIoKQogCiBEYXRhYmFz
ZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgV2Vic2l0ZURhdGFTdG9yZTo6ZGF0YWJhc2VQcm9j
ZXNzUGFyYW1ldGVycygpCiB7CisgICAgcmVzb2x2ZURpcmVjdG9yaWVzSWZOZWNlc3NhcnkoKTsK
KwogICAgIERhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyBwYXJhbWV0ZXJzOwogCiAg
ICAgcGFyYW1ldGVycy5zZXNzaW9uSUQgPSBtX3Nlc3Npb25JRDsKZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3ZGZmNGNmNTZiNmRlOTk3NmUzNDgy
NjQ2NGFmYWIzYTAwMmM0OWQwLi45ZjhjOTNmMTJmYWIyMTg2NmU0YWYzMzI4MjMzZDlhOWQ1YzYw
ZjY2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMTctMDUtMTEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUu
Y29tPgorCisgICAgICAgIFtXS1dlYnNpdGVEYXRhU3RvcmUgcmVtb3ZlRGF0YU9mVHlwZXM6Li4u
XSBkb2Vzbid0IHdvcmsgZm9yIEluZGV4ZWREQiBpZiB0aGUgZGF0YSBzdG9yZSBoYXMgYSBjdXN0
b20gSURCIHBhdGguCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDYxMjQ2Mz4gYW5kIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzE5OTQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0MkNvY29hL1dlYnNpdGVEYXRhU3RvcmVDdXN0b21QYXRocy5tbToKKyAgICAgICAgKFRF
U1QpOgorCiAyMDE3LTA1LTExICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBp
Z2FsaWEuY29tPgogCiAgICAgICAgIEFkZCBXUEUgcmVsZWFzZSBib3RzCmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9XZWJzaXRlRGF0YVN0b3JlQ3Vz
dG9tUGF0aHMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9XZWJz
aXRlRGF0YVN0b3JlQ3VzdG9tUGF0aHMubW0KaW5kZXggOTBmMDQ5MTcyYWQ2NTcxYWZiNjllYTdm
YjJlMjEzMDJhMGM4NmZmOC4uMTI3ZDlmOTIzNjE2MjViNGM4YThjNzQ2MDIzMzNmZmM0ZTI4NTQ0
NSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvV2Vi
c2l0ZURhdGFTdG9yZUN1c3RvbVBhdGhzLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0MkNvY29hL1dlYnNpdGVEYXRhU3RvcmVDdXN0b21QYXRocy5tbQpAQCAtOTksMTQg
Kzk5LDEzIEBAIFRFU1QoV2ViS2l0MiwgV2Vic2l0ZURhdGFTdG9yZUN1c3RvbVBhdGhzKQogICAg
IEVYUEVDVF9GQUxTRShbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGZpbGVFeGlzdHNB
dFBhdGg6ZGVmYXVsdElEQlBhdGgucGF0aF0pOwogICAgIEVYUEVDVF9GQUxTRShbW05TRmlsZU1h
bmFnZXIgZGVmYXVsdE1hbmFnZXJdIGZpbGVFeGlzdHNBdFBhdGg6ZGVmYXVsdExvY2FsU3RvcmFn
ZVBhdGgucGF0aF0pOwogCi0gICAgX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24gKndl
YnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uID0gW1tfV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmln
dXJhdGlvbiBhbGxvY10gaW5pdF07Ci0gICAgd2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24u
X3dlYlNRTERhdGFiYXNlRGlyZWN0b3J5ID0gc3FsUGF0aDsKLSAgICB3ZWJzaXRlRGF0YVN0b3Jl
Q29uZmlndXJhdGlvbi5faW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkgPSBpZGJQYXRoOwotICAg
IHdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLl93ZWJTdG9yYWdlRGlyZWN0b3J5ID0gbG9j
YWxTdG9yYWdlUGF0aDsKLSAgICB3ZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5fY29va2ll
U3RvcmFnZUZpbGUgPSBjb29raWVTdG9yYWdlRmlsZTsKKyAgICBSZXRhaW5QdHI8X1dLV2Vic2l0
ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24+IHdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uID0g
YWRvcHROUyhbW19XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7
CisgICAgd2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uZ2V0KCkuX3dlYlNRTERhdGFiYXNl
RGlyZWN0b3J5ID0gc3FsUGF0aDsKKyAgICB3ZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5n
ZXQoKS5faW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkgPSBpZGJQYXRoOworICAgIHdlYnNpdGVE
YXRhU3RvcmVDb25maWd1cmF0aW9uLmdldCgpLl93ZWJTdG9yYWdlRGlyZWN0b3J5ID0gbG9jYWxT
dG9yYWdlUGF0aDsKKyAgICB3ZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5nZXQoKS5fY29v
a2llU3RvcmFnZUZpbGUgPSBjb29raWVTdG9yYWdlRmlsZTsKIAotICAgIGNvbmZpZ3VyYXRpb24u
Z2V0KCkud2Vic2l0ZURhdGFTdG9yZSA9IFtbV0tXZWJzaXRlRGF0YVN0b3JlIGFsbG9jXSBfaW5p
dFdpdGhDb25maWd1cmF0aW9uOndlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uXTsKLSAgICBb
d2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24gcmVsZWFzZV07CisgICAgY29uZmlndXJhdGlv
bi5nZXQoKS53ZWJzaXRlRGF0YVN0b3JlID0gW1tbV0tXZWJzaXRlRGF0YVN0b3JlIGFsbG9jXSBf
aW5pdFdpdGhDb25maWd1cmF0aW9uOndlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmdldCgp
XSBhdXRvcmVsZWFzZV07CiAKICAgICBSZXRhaW5QdHI8V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRv
cHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgw
MCwgNjAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCldKTsKIApAQCAtMTE5LDEz
ICsxMTgsMjAgQEAgVEVTVChXZWJLaXQyLCBXZWJzaXRlRGF0YVN0b3JlQ3VzdG9tUGF0aHMpCiAg
ICAgRVhQRUNUX1NUUkVRKFtnZXROZXh0TWVzc2FnZSgpLmJvZHkgVVRGOFN0cmluZ10sICJFeGNl
cHRpb246IFF1b3RhRXhjZWVkZWRFcnJvciAoRE9NIEV4Y2VwdGlvbiAyMik6IFRoZSBxdW90YSBo
YXMgYmVlbiBleGNlZWRlZC4iKTsKICAgICBFWFBFQ1RfU1RSRVEoW2dldE5leHRNZXNzYWdlKCku
Ym9keSBVVEY4U3RyaW5nXSwgIlN1Y2Nlc3Mgb3BlbmluZyBpbmRleGVkIGRhdGFiYXNlIik7CiAK
LSAgICBFWFBFQ1RfVFJVRShbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGZpbGVFeGlz
dHNBdFBhdGg6c3FsUGF0aC5wYXRoXSk7Ci0gICAgRVhQRUNUX1RSVUUoW1tOU0ZpbGVNYW5hZ2Vy
IGRlZmF1bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOmxvY2FsU3RvcmFnZVBhdGgucGF0aF0p
OworICAgIFtbW3dlYlZpZXcgY29uZmlndXJhdGlvbl0gcHJvY2Vzc1Bvb2xdIF9zeW5jTmV0d29y
a1Byb2Nlc3NDb29raWVzXTsKIAotICAgIEVYUEVDVF9UUlVFKFtbTlNGaWxlTWFuYWdlciBkZWZh
dWx0TWFuYWdlcl0gZmlsZUV4aXN0c0F0UGF0aDppZGJQYXRoLnBhdGhdKTsKLSAgICBFWFBFQ1Rf
VFJVRShbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGZpbGVFeGlzdHNBdFBhdGg6ZGVm
YXVsdElEQlBhdGgucGF0aF0pOworICAgIC8vIEZvcmNpYmx5IHNodXQgZG93biBldmVyeXRoaW5n
IG9mIFdlYktpdCB0aGF0IHdlIGNhbi4KKyAgICBbW1t3ZWJWaWV3IGNvbmZpZ3VyYXRpb25dIHBy
b2Nlc3NQb29sXSBfdGVybWluYXRlRGF0YWJhc2VQcm9jZXNzXTsKKyAgICBhdXRvIHBpZCA9IFt3
ZWJWaWV3IF93ZWJQcm9jZXNzSWRlbnRpZmllcl07CisgICAgaWYgKHBpZCkKKyAgICAgICAga2ls
bChwaWQsIFNJR0tJTEwpOwogCi0gICAgW1tbd2ViVmlldyBjb25maWd1cmF0aW9uXSBwcm9jZXNz
UG9vbF0gX3N5bmNOZXR3b3JrUHJvY2Vzc0Nvb2tpZXNdOworICAgIHdlYlZpZXcgPSBuaWw7Cisg
ICAgaGFuZGxlciA9IG5pbDsKKyAgICBjb25maWd1cmF0aW9uID0gbmlsOworCisgICAgRVhQRUNU
X1RSVUUoW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOnNx
bFBhdGgucGF0aF0pOworICAgIEVYUEVDVF9UUlVFKFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFu
YWdlcl0gZmlsZUV4aXN0c0F0UGF0aDpsb2NhbFN0b3JhZ2VQYXRoLnBhdGhdKTsKIAogI2lmIFBM
QVRGT1JNKElPUykgfHwgKF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDEzMDAp
CiAgICAgRVhQRUNUX1RSVUUoW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBmaWxlRXhp
c3RzQXRQYXRoOmNvb2tpZVN0b3JhZ2VGaWxlLnBhdGhdKTsKQEAgLTE0NSw2ICsxNTEsMjUgQEAg
VEVTVChXZWJLaXQyLCBXZWJzaXRlRGF0YVN0b3JlQ3VzdG9tUGF0aHMpCiAgICAgRVhQRUNUX1RS
VUUoW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOmRlZmF1
bHRTUUxQYXRoLnBhdGhdKTsKICAgICBFWFBFQ1RfVFJVRShbW05TRmlsZU1hbmFnZXIgZGVmYXVs
dE1hbmFnZXJdIGZpbGVFeGlzdHNBdFBhdGg6ZGVmYXVsdExvY2FsU3RvcmFnZVBhdGgucGF0aF0p
OwogI2VuZGlmCisKKyAgICBFWFBFQ1RfVFJVRShbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFn
ZXJdIGZpbGVFeGlzdHNBdFBhdGg6aWRiUGF0aC5wYXRoXSk7CisgICAgRVhQRUNUX1RSVUUoW1tO
U0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOmRlZmF1bHRJREJQ
YXRoLnBhdGhdKTsKKyAgICBSZXRhaW5QdHI8TlNVUkw+IGZpbGVJREJQYXRoID0gW2lkYlBhdGgg
VVJMQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50OkAiZmlsZV9fMCJdOworICAgIEVYUEVDVF9UUlVF
KFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gZmlsZUV4aXN0c0F0UGF0aDpmaWxlSURC
UGF0aC5nZXQoKS5wYXRoXSk7CisKKyAgICAvLyBEYXRhIHN0b3JlcyBjYW4ndCBkZWxldGUgYW55
dGhpbmcgdW5sZXNzIGEgV0tQcm9jZXNzUG9vbCBleGlzdHMsIHNvIG1ha2Ugc3VyZSB0aGUgc2hh
cmVkIGRhdGEgc3RvcmUgZXhpc3RzLgorICAgIGF1dG8gKnByb2Nlc3NQb29sID0gW1dLUHJvY2Vz
c1Bvb2wgX3NoYXJlZFByb2Nlc3NQb29sXTsKKyAgICBbcHJvY2Vzc1Bvb2wgX3Rlcm1pbmF0ZURh
dGFiYXNlUHJvY2Vzc107CisgICAgUmV0YWluUHRyPFdLV2Vic2l0ZURhdGFTdG9yZT4gZGF0YVN0
b3JlID0gW1tXS1dlYnNpdGVEYXRhU3RvcmUgYWxsb2NdIF9pbml0V2l0aENvbmZpZ3VyYXRpb246
d2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uZ2V0KCldOworICAgIFJldGFpblB0cjxOU1Nl
dD4gdHlwZXMgPSBhZG9wdE5TKFtbTlNTZXQgYWxsb2NdIGluaXRXaXRoT2JqZWN0czpXS1dlYnNp
dGVEYXRhVHlwZUluZGV4ZWREQkRhdGFiYXNlcywgbmlsXSk7CisKKyAgICByZWNlaXZlZFNjcmlw
dE1lc3NhZ2UgPSBmYWxzZTsKKyAgICBbZGF0YVN0b3JlIHJlbW92ZURhdGFPZlR5cGVzOnR5cGVz
LmdldCgpIG1vZGlmaWVkU2luY2U6W05TRGF0ZSBkaXN0YW50UGFzdF0gY29tcGxldGlvbkhhbmRs
ZXI6W10oKSB7CisgICAgICAgIHJlY2VpdmVkU2NyaXB0TWVzc2FnZSA9IHRydWU7CisgICAgfV07
CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZyZWNlaXZlZFNjcmlwdE1lc3NhZ2UpOwor
CisgICAgRVhQRUNUX0ZBTFNFKFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gZmlsZUV4
aXN0c0F0UGF0aDpmaWxlSURCUGF0aC5nZXQoKS5wYXRoXSk7CiB9CiAKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>309822</attachid>
            <date>2017-05-11 16:44:34 -0700</date>
            <delta_ts>2017-05-11 17:49:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171994-20170511164433.patch</filename>
            <type>text/plain</type>
            <size>15524</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE2NjkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDEzZmU4Mzc3MmNiMTY4
M2MyOGMwN2JiYTEwMWE0MDhhZWRlMzIxMy4uNzMwMDc0MTM4NGJlNmE0M2I0ZTg3MzdiZmQ4ZjBm
ZGI1NmIyMWIwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE3LTA1LTExICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBbV0tXZWJzaXRlRGF0YVN0
b3JlIHJlbW92ZURhdGFPZlR5cGVzOi4uLl0gZG9lc24ndCB3b3JrIGZvciBJbmRleGVkREIgaWYg
dGhlIGRhdGEgc3RvcmUgaGFzIGEgY3VzdG9tIElEQiBwYXRoLgorICAgICAgICA8cmRhcjovL3By
b2JsZW0vMzA2MTI0NjM+IGFuZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTcxOTk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW5keSBFc3Rlcy4KKyAgICAgICAgSW5m
b3JtYWwgcmV2aWV3IGJ5IE1hdXJlZW4gRGF1bS4KKworICAgICAgICAqIERhdGFiYXNlUHJvY2Vz
cy9EYXRhYmFzZVByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpEYXRhYmFzZVByb2Nlc3M6
OmRlbGV0ZVdlYnNpdGVEYXRhKTogSW5zdGVhZCBvZiBhY2Nlc3NpbmcgdGhlIG1faWRiU2VydmVy
cyBzZXQgZGlyZWN0bHksIG1ha2UKKyAgICAgICAgICB0aGUgbWV0aG9kIGNhbGwgdGhhdCBjcmVh
dGVzIHRoZSBzZXJ2ZXIgb24gZGVtYW5kLgorICAgICAgICAoV2ViS2l0OjpEYXRhYmFzZVByb2Nl
c3M6OmRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyk6IERpdHRvLgorCisgICAgICAgICogVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bv
b2w6OmVuc3VyZURhdGFiYXNlUHJvY2Vzc0FuZFdlYnNpdGVEYXRhU3RvcmUpOiBOb3Qgb25seSBj
cmVhdGUgdGhlIERhdGFiYXNlUHJvY2VzcyBpZiBuZWNlc3NhcnksCisgICAgICAgICAgYnV0IGFs
c28gbm90aWZ5IGl0IGFib3V0IHRoZSBwYXNzZWQtaW4gV2Vic2l0ZURhdGFTdG9yZS4KKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmdldERhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb24p
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6ZW5zdXJlRGF0YWJhc2VQcm9jZXNz
KTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnNlbmRUb0RhdGFiYXNlUHJvY2Vzc1JlbGF1bmNo
aW5nSWZOZWNlc3NhcnkpOgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNp
dGVEYXRhU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpmZXRj
aERhdGEpOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpyZW1vdmVEYXRhKToK
KyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZTo6ZGF0YWJhc2VQcm9jZXNzUGFyYW1l
dGVycyk6CisKIDIwMTctMDUtMTEgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAg
ICAgICAgIEZpeCBhIHNwZWxsaW5nIG1pc3Rha2UgaW4gQXBwbGVQYXlFcnJvckNvZGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVByb2Nlc3MuY3Bw
IGIvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0RhdGFiYXNlUHJvY2Vzcy5jcHAKaW5k
ZXggN2QxNjJiYzA1MzM2OGNkM2NiYzYzZjlhZGQ1MDQyYmNkZGI5NjNiMC4uYmZmYzM4MjEyMDc4
MjkxYTIxYTYzZmRjMTU5Zjk5NjRlMDAxMDE5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
RGF0YWJhc2VQcm9jZXNzL0RhdGFiYXNlUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
RGF0YWJhc2VQcm9jZXNzL0RhdGFiYXNlUHJvY2Vzcy5jcHAKQEAgLTIxOSwxMyArMjE5LDEyIEBA
IHZvaWQgRGF0YWJhc2VQcm9jZXNzOjpkZWxldGVXZWJzaXRlRGF0YShXZWJDb3JlOjpTZXNzaW9u
SUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8CiAgICAgICAgIHBhcmVudFByb2Nlc3NDb25uZWN0aW9u
KCktPnNlbmQoTWVzc2FnZXM6OkRhdGFiYXNlUHJvY2Vzc1Byb3h5OjpEaWREZWxldGVXZWJzaXRl
RGF0YShjYWxsYmFja0lEKSwgMCk7CiAgICAgfTsKIAotICAgIGF1dG8qIHNlcnZlciA9IG1faWRi
U2VydmVycy5nZXQoc2Vzc2lvbklEKTsKLSAgICBpZiAoIXNlcnZlciB8fCAhd2Vic2l0ZURhdGFU
eXBlcy5jb250YWlucyhXZWJzaXRlRGF0YVR5cGU6OkluZGV4ZWREQkRhdGFiYXNlcykpIHsKKyAg
ICBpZiAoIXdlYnNpdGVEYXRhVHlwZXMuY29udGFpbnMoV2Vic2l0ZURhdGFUeXBlOjpJbmRleGVk
REJEYXRhYmFzZXMpKSB7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKLSAgICBzZXJ2ZXItPmNsb3NlQW5kRGVsZXRlRGF0YWJhc2VzTW9kaWZp
ZWRTaW5jZShtb2RpZmllZFNpbmNlLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CisgICAg
aWRiU2VydmVyKHNlc3Npb25JRCkuY2xvc2VBbmREZWxldGVEYXRhYmFzZXNNb2RpZmllZFNpbmNl
KG1vZGlmaWVkU2luY2UsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKICNlbmRpZgogfQog
CkBAIC0yMzYsMTMgKzIzNSwxMiBAQCB2b2lkIERhdGFiYXNlUHJvY2Vzczo6ZGVsZXRlV2Vic2l0
ZURhdGFGb3JPcmlnaW5zKFdlYkNvcmU6OlNlc3Npb25JRCBzZXNzaW9uSUQsCiAgICAgICAgIHBh
cmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OkRhdGFiYXNlUHJvY2Vzc1By
b3h5OjpEaWREZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoY2FsbGJhY2tJRCksIDApOwogICAg
IH07CiAKLSAgICBhdXRvKiBzZXJ2ZXIgPSBtX2lkYlNlcnZlcnMuZ2V0KHNlc3Npb25JRCk7Ci0g
ICAgaWYgKCFzZXJ2ZXIgfHwgIXdlYnNpdGVEYXRhVHlwZXMuY29udGFpbnMoV2Vic2l0ZURhdGFU
eXBlOjpJbmRleGVkREJEYXRhYmFzZXMpKSB7CisgICAgaWYgKCF3ZWJzaXRlRGF0YVR5cGVzLmNv
bnRhaW5zKFdlYnNpdGVEYXRhVHlwZTo6SW5kZXhlZERCRGF0YWJhc2VzKSkgewogICAgICAgICBj
b21wbGV0aW9uSGFuZGxlcigpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgc2VydmVy
LT5jbG9zZUFuZERlbGV0ZURhdGFiYXNlc0Zvck9yaWdpbnMoc2VjdXJpdHlPcmlnaW5EYXRhcywg
V1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOworICAgIGlkYlNlcnZlcihzZXNzaW9uSUQpLmNs
b3NlQW5kRGVsZXRlRGF0YWJhc2VzRm9yT3JpZ2lucyhzZWN1cml0eU9yaWdpbkRhdGFzLCBXVEZN
b3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXggMWE5YzkzMzk4ZjlkMzIyMjIzOGYxYzlm
Mjg0YzFkN2JhMTRjYmRjYy4uMWMwYjBkN2U5YzBiYjRkMzZhZDZiZTE4YTIyYmQ0MTk4NmU0NTFk
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC01
MDQsMzIgKzUwNCwzNyBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpnZXROZXR3b3JrUHJvY2Vzc0Nv
bm5lY3Rpb24oUmVmPE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OgogfQogCiAjaWYgRU5BQkxF
KERBVEFCQVNFX1BST0NFU1MpCi12b2lkIFdlYlByb2Nlc3NQb29sOjplbnN1cmVEYXRhYmFzZVBy
b2Nlc3MoKQordm9pZCBXZWJQcm9jZXNzUG9vbDo6ZW5zdXJlRGF0YWJhc2VQcm9jZXNzQW5kV2Vi
c2l0ZURhdGFTdG9yZShXZWJzaXRlRGF0YVN0b3JlKiByZWxldmFudERhdGFTdG9yZSkKIHsKLSAg
ICBpZiAobV9kYXRhYmFzZVByb2Nlc3MpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fZGF0YWJh
c2VQcm9jZXNzID0gRGF0YWJhc2VQcm9jZXNzUHJveHk6OmNyZWF0ZSh0aGlzKTsKLQogICAgIC8v
ICoqKioqKioqKgogICAgIC8vIElNUE9SVEFOVDogRG8gbm90IGNoYW5nZSB0aGUgZGlyZWN0b3J5
IHN0cnVjdHVyZSBmb3IgaW5kZXhlZCBkYXRhYmFzZXMgb24gZGlzayB3aXRob3V0IGZpcnN0IGNv
bnN1bHRpbmcgYSByZXZpZXdlciBmcm9tIEFwcGxlICg8cmRhcjovL3Byb2JsZW0vMTc0NTQ3MTI+
KQogICAgIC8vICoqKioqKioqKgotICAgIERhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cyBwYXJhbWV0ZXJzOworCisgICAgaWYgKCFtX2RhdGFiYXNlUHJvY2VzcykgeworICAgICAgICBt
X2RhdGFiYXNlUHJvY2VzcyA9IERhdGFiYXNlUHJvY2Vzc1Byb3h5OjpjcmVhdGUodGhpcyk7CisK
KyAgICAgICAgRGF0YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHBhcmFtZXRlcnM7CiAj
aWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCi0gICAgQVNTRVJUKCFtX2NvbmZpZ3VyYXRpb24t
PmluZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5KCkuaXNFbXB0eSgpKTsKKyAgICAgICAgQVNTRVJU
KCFtX2NvbmZpZ3VyYXRpb24tPmluZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5KCkuaXNFbXB0eSgp
KTsKIAotICAgIHBhcmFtZXRlcnMuc2Vzc2lvbklEID0gd2Vic2l0ZURhdGFTdG9yZSgpLndlYnNp
dGVEYXRhU3RvcmUoKS5zZXNzaW9uSUQoKTsKLSAgICBwYXJhbWV0ZXJzLmluZGV4ZWREYXRhYmFz
ZURpcmVjdG9yeSA9IG1fY29uZmlndXJhdGlvbi0+aW5kZXhlZERCRGF0YWJhc2VEaXJlY3Rvcnko
KTsKLSAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JSZWFkV3JpdGVEaXJlY3Rv
cnkocGFyYW1ldGVycy5pbmRleGVkRGF0YWJhc2VEaXJlY3RvcnksIHBhcmFtZXRlcnMuaW5kZXhl
ZERhdGFiYXNlRGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxlKTsKKyAgICAgICAgcGFyYW1ldGVycy5z
ZXNzaW9uSUQgPSB3ZWJzaXRlRGF0YVN0b3JlKCkud2Vic2l0ZURhdGFTdG9yZSgpLnNlc3Npb25J
RCgpOworICAgICAgICBwYXJhbWV0ZXJzLmluZGV4ZWREYXRhYmFzZURpcmVjdG9yeSA9IG1fY29u
ZmlndXJhdGlvbi0+aW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkoKTsKKyAgICAgICAgU2FuZGJv
eEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yUmVhZFdyaXRlRGlyZWN0b3J5KHBhcmFtZXRlcnMu
aW5kZXhlZERhdGFiYXNlRGlyZWN0b3J5LCBwYXJhbWV0ZXJzLmluZGV4ZWREYXRhYmFzZURpcmVj
dG9yeUV4dGVuc2lvbkhhbmRsZSk7CiAjZW5kaWYKIAotICAgIEFTU0VSVCghcGFyYW1ldGVycy5p
bmRleGVkRGF0YWJhc2VEaXJlY3RvcnkuaXNFbXB0eSgpKTsKLSAgICBtX2RhdGFiYXNlUHJvY2Vz
cy0+c2VuZChNZXNzYWdlczo6RGF0YWJhc2VQcm9jZXNzOjpJbml0aWFsaXplV2Vic2l0ZURhdGFT
dG9yZShwYXJhbWV0ZXJzKSwgMCk7CisgICAgICAgIEFTU0VSVCghcGFyYW1ldGVycy5pbmRleGVk
RGF0YWJhc2VEaXJlY3RvcnkuaXNFbXB0eSgpKTsKKyAgICAgICAgbV9kYXRhYmFzZVByb2Nlc3Mt
PnNlbmQoTWVzc2FnZXM6OkRhdGFiYXNlUHJvY2Vzczo6SW5pdGlhbGl6ZVdlYnNpdGVEYXRhU3Rv
cmUocGFyYW1ldGVycyksIDApOworICAgIH0KKworICAgIGlmICghcmVsZXZhbnREYXRhU3RvcmUg
fHwgcmVsZXZhbnREYXRhU3RvcmUgPT0gJndlYnNpdGVEYXRhU3RvcmUoKS53ZWJzaXRlRGF0YVN0
b3JlKCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1fZGF0YWJhc2VQcm9jZXNzLT5zZW5kKE1l
c3NhZ2VzOjpEYXRhYmFzZVByb2Nlc3M6OkluaXRpYWxpemVXZWJzaXRlRGF0YVN0b3JlKHJlbGV2
YW50RGF0YVN0b3JlLT5kYXRhYmFzZVByb2Nlc3NQYXJhbWV0ZXJzKCkpLCAwKTsKIH0KIAogdm9p
ZCBXZWJQcm9jZXNzUG9vbDo6Z2V0RGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbihSZWY8TWVzc2Fn
ZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0RGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbjo6RGVsYXll
ZFJlcGx5PiYmIHJlcGx5KQogewotICAgIGVuc3VyZURhdGFiYXNlUHJvY2VzcygpOworICAgIGVu
c3VyZURhdGFiYXNlUHJvY2Vzc0FuZFdlYnNpdGVEYXRhU3RvcmUobnVsbHB0cik7CiAKICAgICBt
X2RhdGFiYXNlUHJvY2Vzcy0+Z2V0RGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbihXVEZNb3ZlKHJl
cGx5KSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCmluZGV4
IDIyYjVlMWIxODI4M2M4OWVmNWMxMjQwMDJjNTBjNjdlYWE1NzljMDQuLmIyNDJhNjM3OTI4MDJj
YmEwOWViMjk5MzZjODQyOTlmNmVhZmQ0OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUG9vbC5oCkBAIC0zMTksNyArMzE5LDcgQEAgcHVibGljOgogICAgIHZvaWQgZ2V0
TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKFJlZjxNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpH
ZXROZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OkRlbGF5ZWRSZXBseT4mJik7CiAKICNpZiBFTkFC
TEUoREFUQUJBU0VfUFJPQ0VTUykKLSAgICB2b2lkIGVuc3VyZURhdGFiYXNlUHJvY2VzcygpOwor
ICAgIHZvaWQgZW5zdXJlRGF0YWJhc2VQcm9jZXNzQW5kV2Vic2l0ZURhdGFTdG9yZShXZWJzaXRl
RGF0YVN0b3JlKiByZWxldmFudERhdGFTdG9yZSk7CiAgICAgRGF0YWJhc2VQcm9jZXNzUHJveHkq
IGRhdGFiYXNlUHJvY2VzcygpIHsgcmV0dXJuIG1fZGF0YWJhc2VQcm9jZXNzLmdldCgpOyB9CiAg
ICAgdm9pZCBnZXREYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uKFJlZjxNZXNzYWdlczo6V2ViUHJv
Y2Vzc1Byb3h5OjpHZXREYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uOjpEZWxheWVkUmVwbHk+JiYp
OwogICAgIHZvaWQgZGF0YWJhc2VQcm9jZXNzQ3Jhc2hlZChEYXRhYmFzZVByb2Nlc3NQcm94eSop
OwpAQCAtNjQ2LDcgKzY0Niw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiB2b2lkIFdlYlByb2Nl
c3NQb29sOjpzZW5kVG9EYXRhYmFzZVByb2Nlc3NSZWxhdW5jaGluZ0lmTmVjZXNzYXJ5KFQmJiBt
ZXNzYWdlKQogewogI2lmIEVOQUJMRShEQVRBQkFTRV9QUk9DRVNTKQotICAgIGVuc3VyZURhdGFi
YXNlUHJvY2VzcygpOworICAgIGVuc3VyZURhdGFiYXNlUHJvY2Vzc0FuZFdlYnNpdGVEYXRhU3Rv
cmUobnVsbHB0cik7CiAgICAgbV9kYXRhYmFzZVByb2Nlc3MtPnNlbmQoc3RkOjpmb3J3YXJkPFQ+
KG1lc3NhZ2UpLCAwKTsKICNlbHNlCiAgICAgc2VuZFRvQWxsUHJvY2Vzc2VzUmVsYXVuY2hpbmdU
aGVtSWZOZWNlc3Nhcnkoc3RkOjpmb3J3YXJkPFQ+KG1lc3NhZ2UpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNw
cAppbmRleCA1Y2QxZTU4NjUwYTkxZWI2MTlmZTM4OTczNDQ4YzhiZTE5MGM1NWFjLi5jYTE0YjIy
ODY5ODk5NDcxZTFlMTdlYWMxMTkwOGY3MDdhNjkwZTVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCkBA
IC00MTksNyArNDE5LDcgQEAgdm9pZCBXZWJzaXRlRGF0YVN0b3JlOjpmZXRjaERhdGEoT3B0aW9u
U2V0PFdlYnNpdGVEYXRhVHlwZT4gZGF0YVR5cGVzLCBPcHRpb25TZXQKICNpZiBFTkFCTEUoREFU
QUJBU0VfUFJPQ0VTUykKICAgICBpZiAoZGF0YVR5cGVzLmNvbnRhaW5zKFdlYnNpdGVEYXRhVHlw
ZTo6SW5kZXhlZERCRGF0YWJhc2VzKSAmJiBpc1BlcnNpc3RlbnQoKSkgewogICAgICAgICBmb3Ig
KGF1dG8mIHByb2Nlc3NQb29sIDogcHJvY2Vzc1Bvb2xzKCkpIHsKLSAgICAgICAgICAgIHByb2Nl
c3NQb29sLT5lbnN1cmVEYXRhYmFzZVByb2Nlc3MoKTsKKyAgICAgICAgICAgIHByb2Nlc3NQb29s
LT5lbnN1cmVEYXRhYmFzZVByb2Nlc3NBbmRXZWJzaXRlRGF0YVN0b3JlKHRoaXMpOwogCiAgICAg
ICAgICAgICBjYWxsYmFja0FnZ3JlZ2F0b3ItPmFkZFBlbmRpbmdDYWxsYmFjaygpOwogICAgICAg
ICAgICAgcHJvY2Vzc1Bvb2wtPmRhdGFiYXNlUHJvY2VzcygpLT5mZXRjaFdlYnNpdGVEYXRhKG1f
c2Vzc2lvbklELCBkYXRhVHlwZXMsIFtjYWxsYmFja0FnZ3JlZ2F0b3IsIHByb2Nlc3NQb29sXShX
ZWJzaXRlRGF0YSB3ZWJzaXRlRGF0YSkgewpAQCAtNjkxLDcgKzY5MSw3IEBAIHZvaWQgV2Vic2l0
ZURhdGFTdG9yZTo6cmVtb3ZlRGF0YShPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiBkYXRhVHlw
ZXMsIHN0ZDo6Y2hyCiAjaWYgRU5BQkxFKERBVEFCQVNFX1BST0NFU1MpCiAgICAgaWYgKGRhdGFU
eXBlcy5jb250YWlucyhXZWJzaXRlRGF0YVR5cGU6OkluZGV4ZWREQkRhdGFiYXNlcykgJiYgaXNQ
ZXJzaXN0ZW50KCkpIHsKICAgICAgICAgZm9yIChhdXRvJiBwcm9jZXNzUG9vbCA6IHByb2Nlc3NQ
b29scygpKSB7Ci0gICAgICAgICAgICBwcm9jZXNzUG9vbC0+ZW5zdXJlRGF0YWJhc2VQcm9jZXNz
KCk7CisgICAgICAgICAgICBwcm9jZXNzUG9vbC0+ZW5zdXJlRGF0YWJhc2VQcm9jZXNzQW5kV2Vi
c2l0ZURhdGFTdG9yZSh0aGlzKTsKIAogICAgICAgICAgICAgY2FsbGJhY2tBZ2dyZWdhdG9yLT5h
ZGRQZW5kaW5nQ2FsbGJhY2soKTsKICAgICAgICAgICAgIHByb2Nlc3NQb29sLT5kYXRhYmFzZVBy
b2Nlc3MoKS0+ZGVsZXRlV2Vic2l0ZURhdGEobV9zZXNzaW9uSUQsIGRhdGFUeXBlcywgbW9kaWZp
ZWRTaW5jZSwgW2NhbGxiYWNrQWdncmVnYXRvciwgcHJvY2Vzc1Bvb2xdIHsKQEAgLTk1OSw3ICs5
NTksNyBAQCB2b2lkIFdlYnNpdGVEYXRhU3RvcmU6OnJlbW92ZURhdGEoT3B0aW9uU2V0PFdlYnNp
dGVEYXRhVHlwZT4gZGF0YVR5cGVzLCBjb25zdCBWZQogI2lmIEVOQUJMRShEQVRBQkFTRV9QUk9D
RVNTKQogICAgIGlmIChkYXRhVHlwZXMuY29udGFpbnMoV2Vic2l0ZURhdGFUeXBlOjpJbmRleGVk
REJEYXRhYmFzZXMpICYmIGlzUGVyc2lzdGVudCgpKSB7CiAgICAgICAgIGZvciAoYXV0byYgcHJv
Y2Vzc1Bvb2wgOiBwcm9jZXNzUG9vbHMoKSkgewotICAgICAgICAgICAgcHJvY2Vzc1Bvb2wtPmVu
c3VyZURhdGFiYXNlUHJvY2VzcygpOworICAgICAgICAgICAgcHJvY2Vzc1Bvb2wtPmVuc3VyZURh
dGFiYXNlUHJvY2Vzc0FuZFdlYnNpdGVEYXRhU3RvcmUodGhpcyk7CiAKICAgICAgICAgICAgIGNh
bGxiYWNrQWdncmVnYXRvci0+YWRkUGVuZGluZ0NhbGxiYWNrKCk7CiAgICAgICAgICAgICBwcm9j
ZXNzUG9vbC0+ZGF0YWJhc2VQcm9jZXNzKCktPmRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyht
X3Nlc3Npb25JRCwgZGF0YVR5cGVzLCBvcmlnaW5zLCBbY2FsbGJhY2tBZ2dyZWdhdG9yLCBwcm9j
ZXNzUG9vbF0gewpAQCAtMTI1MCw2ICsxMjUwLDggQEAgdm9pZCBXZWJzaXRlRGF0YVN0b3JlOjpy
ZWdpc3RlclNoYXJlZFJlc291cmNlTG9hZE9ic2VydmVyKCkKIAogRGF0YWJhc2VQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzIFdlYnNpdGVEYXRhU3RvcmU6OmRhdGFiYXNlUHJvY2Vzc1BhcmFtZXRl
cnMoKQogeworICAgIHJlc29sdmVEaXJlY3Rvcmllc0lmTmVjZXNzYXJ5KCk7CisKICAgICBEYXRh
YmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgcGFyYW1ldGVyczsKIAogICAgIHBhcmFtZXRl
cnMuc2Vzc2lvbklEID0gbV9zZXNzaW9uSUQ7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggN2RmZjRjZjU2YjZkZTk5NzZlMzQ4MjY0NjRhZmFiM2Ew
MDJjNDlkMC4uZWMzOTc2ZTFhNDE0MzEyZTBhOWRkNThjYWRiOWVhMTQyZmExYWQxYyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
IEBACisyMDE3LTA1LTExICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAg
ICAgICBbV0tXZWJzaXRlRGF0YVN0b3JlIHJlbW92ZURhdGFPZlR5cGVzOi4uLl0gZG9lc24ndCB3
b3JrIGZvciBJbmRleGVkREIgaWYgdGhlIGRhdGEgc3RvcmUgaGFzIGEgY3VzdG9tIElEQiBwYXRo
LgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzA2MTI0NjM+IGFuZCBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxOTk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW5k
eSBFc3Rlcy4KKyAgICAgICAgSW5mb3JtYWwgcmV2aWV3IGJ5IE1hdXJlZW4gRGF1bS4KKworICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1dlYnNpdGVEYXRhU3RvcmVD
dXN0b21QYXRocy5tbToKKyAgICAgICAgKFRFU1QpOgorCiAyMDE3LTA1LTExICBDYXJsb3MgQWxi
ZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIEFkZCBXUEUg
cmVsZWFzZSBib3RzCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dDJDb2NvYS9XZWJzaXRlRGF0YVN0b3JlQ3VzdG9tUGF0aHMubW0gYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9XZWJzaXRlRGF0YVN0b3JlQ3VzdG9tUGF0aHMubW0KaW5k
ZXggOTBmMDQ5MTcyYWQ2NTcxYWZiNjllYTdmYjJlMjEzMDJhMGM4NmZmOC4uMTI3ZDlmOTIzNjE2
MjViNGM4YThjNzQ2MDIzMzNmZmM0ZTI4NTQ0NSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvV2Vic2l0ZURhdGFTdG9yZUN1c3RvbVBhdGhzLm1tCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1dlYnNpdGVEYXRhU3Rv
cmVDdXN0b21QYXRocy5tbQpAQCAtOTksMTQgKzk5LDEzIEBAIFRFU1QoV2ViS2l0MiwgV2Vic2l0
ZURhdGFTdG9yZUN1c3RvbVBhdGhzKQogICAgIEVYUEVDVF9GQUxTRShbW05TRmlsZU1hbmFnZXIg
ZGVmYXVsdE1hbmFnZXJdIGZpbGVFeGlzdHNBdFBhdGg6ZGVmYXVsdElEQlBhdGgucGF0aF0pOwog
ICAgIEVYUEVDVF9GQUxTRShbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGZpbGVFeGlz
dHNBdFBhdGg6ZGVmYXVsdExvY2FsU3RvcmFnZVBhdGgucGF0aF0pOwogCi0gICAgX1dLV2Vic2l0
ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24gKndlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uID0g
W1tfV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF07Ci0gICAgd2Vi
c2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uX3dlYlNRTERhdGFiYXNlRGlyZWN0b3J5ID0gc3Fs
UGF0aDsKLSAgICB3ZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5faW5kZXhlZERCRGF0YWJh
c2VEaXJlY3RvcnkgPSBpZGJQYXRoOwotICAgIHdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9u
Ll93ZWJTdG9yYWdlRGlyZWN0b3J5ID0gbG9jYWxTdG9yYWdlUGF0aDsKLSAgICB3ZWJzaXRlRGF0
YVN0b3JlQ29uZmlndXJhdGlvbi5fY29va2llU3RvcmFnZUZpbGUgPSBjb29raWVTdG9yYWdlRmls
ZTsKKyAgICBSZXRhaW5QdHI8X1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24+IHdlYnNp
dGVEYXRhU3RvcmVDb25maWd1cmF0aW9uID0gYWRvcHROUyhbW19XS1dlYnNpdGVEYXRhU3RvcmVD
b25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgd2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3Vy
YXRpb24uZ2V0KCkuX3dlYlNRTERhdGFiYXNlRGlyZWN0b3J5ID0gc3FsUGF0aDsKKyAgICB3ZWJz
aXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5nZXQoKS5faW5kZXhlZERCRGF0YWJhc2VEaXJlY3Rv
cnkgPSBpZGJQYXRoOworICAgIHdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmdldCgpLl93
ZWJTdG9yYWdlRGlyZWN0b3J5ID0gbG9jYWxTdG9yYWdlUGF0aDsKKyAgICB3ZWJzaXRlRGF0YVN0
b3JlQ29uZmlndXJhdGlvbi5nZXQoKS5fY29va2llU3RvcmFnZUZpbGUgPSBjb29raWVTdG9yYWdl
RmlsZTsKIAotICAgIGNvbmZpZ3VyYXRpb24uZ2V0KCkud2Vic2l0ZURhdGFTdG9yZSA9IFtbV0tX
ZWJzaXRlRGF0YVN0b3JlIGFsbG9jXSBfaW5pdFdpdGhDb25maWd1cmF0aW9uOndlYnNpdGVEYXRh
U3RvcmVDb25maWd1cmF0aW9uXTsKLSAgICBbd2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24g
cmVsZWFzZV07CisgICAgY29uZmlndXJhdGlvbi5nZXQoKS53ZWJzaXRlRGF0YVN0b3JlID0gW1tb
V0tXZWJzaXRlRGF0YVN0b3JlIGFsbG9jXSBfaW5pdFdpdGhDb25maWd1cmF0aW9uOndlYnNpdGVE
YXRhU3RvcmVDb25maWd1cmF0aW9uLmdldCgpXSBhdXRvcmVsZWFzZV07CiAKICAgICBSZXRhaW5Q
dHI8V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdp
dGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3Vy
YXRpb24uZ2V0KCldKTsKIApAQCAtMTE5LDEzICsxMTgsMjAgQEAgVEVTVChXZWJLaXQyLCBXZWJz
aXRlRGF0YVN0b3JlQ3VzdG9tUGF0aHMpCiAgICAgRVhQRUNUX1NUUkVRKFtnZXROZXh0TWVzc2Fn
ZSgpLmJvZHkgVVRGOFN0cmluZ10sICJFeGNlcHRpb246IFF1b3RhRXhjZWVkZWRFcnJvciAoRE9N
IEV4Y2VwdGlvbiAyMik6IFRoZSBxdW90YSBoYXMgYmVlbiBleGNlZWRlZC4iKTsKICAgICBFWFBF
Q1RfU1RSRVEoW2dldE5leHRNZXNzYWdlKCkuYm9keSBVVEY4U3RyaW5nXSwgIlN1Y2Nlc3Mgb3Bl
bmluZyBpbmRleGVkIGRhdGFiYXNlIik7CiAKLSAgICBFWFBFQ1RfVFJVRShbW05TRmlsZU1hbmFn
ZXIgZGVmYXVsdE1hbmFnZXJdIGZpbGVFeGlzdHNBdFBhdGg6c3FsUGF0aC5wYXRoXSk7Ci0gICAg
RVhQRUNUX1RSVUUoW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQ
YXRoOmxvY2FsU3RvcmFnZVBhdGgucGF0aF0pOworICAgIFtbW3dlYlZpZXcgY29uZmlndXJhdGlv
bl0gcHJvY2Vzc1Bvb2xdIF9zeW5jTmV0d29ya1Byb2Nlc3NDb29raWVzXTsKIAotICAgIEVYUEVD
VF9UUlVFKFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gZmlsZUV4aXN0c0F0UGF0aDpp
ZGJQYXRoLnBhdGhdKTsKLSAgICBFWFBFQ1RfVFJVRShbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1h
bmFnZXJdIGZpbGVFeGlzdHNBdFBhdGg6ZGVmYXVsdElEQlBhdGgucGF0aF0pOworICAgIC8vIEZv
cmNpYmx5IHNodXQgZG93biBldmVyeXRoaW5nIG9mIFdlYktpdCB0aGF0IHdlIGNhbi4KKyAgICBb
W1t3ZWJWaWV3IGNvbmZpZ3VyYXRpb25dIHByb2Nlc3NQb29sXSBfdGVybWluYXRlRGF0YWJhc2VQ
cm9jZXNzXTsKKyAgICBhdXRvIHBpZCA9IFt3ZWJWaWV3IF93ZWJQcm9jZXNzSWRlbnRpZmllcl07
CisgICAgaWYgKHBpZCkKKyAgICAgICAga2lsbChwaWQsIFNJR0tJTEwpOwogCi0gICAgW1tbd2Vi
VmlldyBjb25maWd1cmF0aW9uXSBwcm9jZXNzUG9vbF0gX3N5bmNOZXR3b3JrUHJvY2Vzc0Nvb2tp
ZXNdOworICAgIHdlYlZpZXcgPSBuaWw7CisgICAgaGFuZGxlciA9IG5pbDsKKyAgICBjb25maWd1
cmF0aW9uID0gbmlsOworCisgICAgRVhQRUNUX1RSVUUoW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRN
YW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOnNxbFBhdGgucGF0aF0pOworICAgIEVYUEVDVF9UUlVF
KFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gZmlsZUV4aXN0c0F0UGF0aDpsb2NhbFN0
b3JhZ2VQYXRoLnBhdGhdKTsKIAogI2lmIFBMQVRGT1JNKElPUykgfHwgKF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPCAxMDEzMDApCiAgICAgRVhQRUNUX1RSVUUoW1tOU0ZpbGVNYW5h
Z2VyIGRlZmF1bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOmNvb2tpZVN0b3JhZ2VGaWxlLnBh
dGhdKTsKQEAgLTE0NSw2ICsxNTEsMjUgQEAgVEVTVChXZWJLaXQyLCBXZWJzaXRlRGF0YVN0b3Jl
Q3VzdG9tUGF0aHMpCiAgICAgRVhQRUNUX1RSVUUoW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5h
Z2VyXSBmaWxlRXhpc3RzQXRQYXRoOmRlZmF1bHRTUUxQYXRoLnBhdGhdKTsKICAgICBFWFBFQ1Rf
VFJVRShbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGZpbGVFeGlzdHNBdFBhdGg6ZGVm
YXVsdExvY2FsU3RvcmFnZVBhdGgucGF0aF0pOwogI2VuZGlmCisKKyAgICBFWFBFQ1RfVFJVRShb
W05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGZpbGVFeGlzdHNBdFBhdGg6aWRiUGF0aC5w
YXRoXSk7CisgICAgRVhQRUNUX1RSVUUoW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBm
aWxlRXhpc3RzQXRQYXRoOmRlZmF1bHRJREJQYXRoLnBhdGhdKTsKKyAgICBSZXRhaW5QdHI8TlNV
Ukw+IGZpbGVJREJQYXRoID0gW2lkYlBhdGggVVJMQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50OkAi
ZmlsZV9fMCJdOworICAgIEVYUEVDVF9UUlVFKFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdl
cl0gZmlsZUV4aXN0c0F0UGF0aDpmaWxlSURCUGF0aC5nZXQoKS5wYXRoXSk7CisKKyAgICAvLyBE
YXRhIHN0b3JlcyBjYW4ndCBkZWxldGUgYW55dGhpbmcgdW5sZXNzIGEgV0tQcm9jZXNzUG9vbCBl
eGlzdHMsIHNvIG1ha2Ugc3VyZSB0aGUgc2hhcmVkIGRhdGEgc3RvcmUgZXhpc3RzLgorICAgIGF1
dG8gKnByb2Nlc3NQb29sID0gW1dLUHJvY2Vzc1Bvb2wgX3NoYXJlZFByb2Nlc3NQb29sXTsKKyAg
ICBbcHJvY2Vzc1Bvb2wgX3Rlcm1pbmF0ZURhdGFiYXNlUHJvY2Vzc107CisgICAgUmV0YWluUHRy
PFdLV2Vic2l0ZURhdGFTdG9yZT4gZGF0YVN0b3JlID0gW1tXS1dlYnNpdGVEYXRhU3RvcmUgYWxs
b2NdIF9pbml0V2l0aENvbmZpZ3VyYXRpb246d2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24u
Z2V0KCldOworICAgIFJldGFpblB0cjxOU1NldD4gdHlwZXMgPSBhZG9wdE5TKFtbTlNTZXQgYWxs
b2NdIGluaXRXaXRoT2JqZWN0czpXS1dlYnNpdGVEYXRhVHlwZUluZGV4ZWREQkRhdGFiYXNlcywg
bmlsXSk7CisKKyAgICByZWNlaXZlZFNjcmlwdE1lc3NhZ2UgPSBmYWxzZTsKKyAgICBbZGF0YVN0
b3JlIHJlbW92ZURhdGFPZlR5cGVzOnR5cGVzLmdldCgpIG1vZGlmaWVkU2luY2U6W05TRGF0ZSBk
aXN0YW50UGFzdF0gY29tcGxldGlvbkhhbmRsZXI6W10oKSB7CisgICAgICAgIHJlY2VpdmVkU2Ny
aXB0TWVzc2FnZSA9IHRydWU7CisgICAgfV07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVu
KCZyZWNlaXZlZFNjcmlwdE1lc3NhZ2UpOworCisgICAgRVhQRUNUX0ZBTFNFKFtbTlNGaWxlTWFu
YWdlciBkZWZhdWx0TWFuYWdlcl0gZmlsZUV4aXN0c0F0UGF0aDpmaWxlSURCUGF0aC5nZXQoKS5w
YXRoXSk7CiB9CiAKICNlbmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>