<?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>174371</bug_id>
          
          <creation_ts>2017-07-11 10:37:58 -0700</creation_ts>
          <short_desc>Remove unused OpenGL files</short_desc>
          <delta_ts>2017-07-11 13:21:54 -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>WebCore Misc.</component>
          <version>WebKit Local Build</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Timothy Hatcher">timothy</reporter>
          <assigned_to name="Timothy Hatcher">timothy</assigned_to>
          <cc>buildbot</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>graouts</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>magomez</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>noam</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1327562</commentid>
    <comment_count>0</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2017-07-11 10:37:58 -0700</bug_when>
    <thetext>GLPlatformContext.cpp fails to find the EGLContext.h and GLXContext.h headers which where removed in https://trac.webkit.org/changeset/212705/webkit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327563</commentid>
    <comment_count>1</comment_count>
      <attachid>315127</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2017-07-11 10:39:09 -0700</bug_when>
    <thetext>Created attachment 315127
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327564</commentid>
    <comment_count>2</comment_count>
      <attachid>315128</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2017-07-11 10:39:43 -0700</bug_when>
    <thetext>Created attachment 315128
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327633</commentid>
    <comment_count>3</comment_count>
      <attachid>315128</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-07-11 11:57:07 -0700</bug_when>
    <thetext>Comment on attachment 315128
Patch

Looks like this entire file is dead code upstream. We should remove it, and you&apos;ll have to maintain it downstream if you need it. Sorry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327639</commentid>
    <comment_count>4</comment_count>
      <attachid>315141</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-07-11 12:07:16 -0700</bug_when>
    <thetext>Created attachment 315141
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327641</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-07-11 12:20:04 -0700</bug_when>
    <thetext>By the way, consider using the graphics code from the WPE port, or even basing your port off of the WPE port. We&apos;d love to know why if it doesn&apos;t meet your requirements.

Bug #172104 might be relevant.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327652</commentid>
    <comment_count>6</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2017-07-11 12:43:16 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #5)
&gt; By the way, consider using the graphics code from the WPE port, or even
&gt; basing your port off of the WPE port. We&apos;d love to know why if it doesn&apos;t
&gt; meet your requirements.
&gt; 
&gt; Bug #172104 might be relevant.

Yes, I am looking at WPE again now that it is upstream.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327660</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-07-11 12:54:24 -0700</bug_when>
    <thetext>Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327679</commentid>
    <comment_count>8</comment_count>
      <attachid>315141</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-07-11 13:21:52 -0700</bug_when>
    <thetext>Comment on attachment 315141
Patch

Clearing flags on attachment: 315141

Committed r219356: &lt;http://trac.webkit.org/changeset/219356&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327680</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-07-11 13:21:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>315127</attachid>
            <date>2017-07-11 10:39:09 -0700</date>
            <delta_ts>2017-07-11 10:39:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174371-20170711103908.patch</filename>
            <type>text/plain</type>
            <size>1656</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE5MzM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzUyNzgwYjljODNlNjg1
MzVlODc3ZjcwMWFmM2M5MjAxNDE3OWNkNi4uZmRiMjc0MTBlZDJmYTViNmI2ZmY0YTQzZDhiYjI5
NDdkOWQyMzNjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE3LTA3LTExICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGhhdGNoZXIubmFtZT4KKworICAgICAgICBCdWlsZCBicm9r
ZW4gZHVlIHRvIG1pc3NpbmcgRUdMQ29udGV4dC5oIGFuZCBHTFhDb250ZXh0LmggaGVhZGVycy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NDM3MQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3Mvb3BlbmdsL0dMUGxhdGZvcm1Db250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmNyZWF0ZU9mZlNjcmVlbkNvbnRleHQpOgorCiAyMDE3LTA3LTExICBBbGV4IENocmlzdGVu
c2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVkdWNlIFVSTCBzaXpl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR0xQ
bGF0Zm9ybUNvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Bl
bmdsL0dMUGxhdGZvcm1Db250ZXh0LmNwcAppbmRleCA1MjE5YTIzOTExMzFmNmE2MmJjYjI0NjVk
MGEzZTc2YTU1NjhhYjA0Li4yNTNlYjM5OTFhNWVmYTIzMjRmZDliMzljZWJjODU3YzM0ZDM4Yzcx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR0xQ
bGF0Zm9ybUNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L29wZW5nbC9HTFBsYXRmb3JtQ29udGV4dC5jcHAKQEAgLTI4LDEyICsyOCw2IEBACiAjaWYgRU5B
QkxFKEdSQVBISUNTX0NPTlRFWFRfM0QpCiAjaW5jbHVkZSAiR0xQbGF0Zm9ybUNvbnRleHQuaCIK
IAotI2lmIFVTRShHTFgpCi0jaW5jbHVkZSAiR0xYQ29udGV4dC5oIgotI2VsaWYgVVNFKEVHTCkK
LSNpbmNsdWRlICJFR0xDb250ZXh0LmgiCi0jZW5kaWYKLQogI2luY2x1ZGUgIk5vdEltcGxlbWVu
dGVkLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTY3LDEzICs2MSw4IEBAIHB1YmxpYzoK
IAogc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxHTFBsYXRmb3JtQ29udGV4dD4gY3JlYXRlT2ZmU2Ny
ZWVuQ29udGV4dCgpCiB7Ci0jaWYgVVNFKEdMWCkKLSAgICByZXR1cm4gc3RkOjptYWtlX3VuaXF1
ZTxHTFhPZmZTY3JlZW5Db250ZXh0PigpOwotI2VsaWYgVVNFKEVHTCkKLSAgICByZXR1cm4gc3Rk
OjptYWtlX3VuaXF1ZTxFR0xPZmZTY3JlZW5Db250ZXh0PigpOwotI2Vsc2UKKyAgICBub3RJbXBs
ZW1lbnRlZCgpOwogICAgIHJldHVybiBudWxscHRyOwotI2VuZGlmCiB9CiAKIHN0YXRpYyBIYXNo
U2V0PFN0cmluZz4gcGFyc2VFeHRlbnNpb25zKGNvbnN0IFN0cmluZyYgZXh0ZW5zaW9uc1N0cmlu
ZykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>315128</attachid>
            <date>2017-07-11 10:39:43 -0700</date>
            <delta_ts>2017-07-11 12:07:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174371-20170711103942.patch</filename>
            <type>text/plain</type>
            <size>1660</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE5MzM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzUyNzgwYjljODNlNjg1
MzVlODc3ZjcwMWFmM2M5MjAxNDE3OWNkNi4uMGZkOTNiYzZkNzc1Y2NkMWUyNTM2MGM1M2M5YzA0
NTdmNmQwZjJhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE3LTA3LTExICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGhhdGNoZXIubmFtZT4KKworICAgICAgICBGaXggYnJva2Vu
IGJ1aWxkIGR1ZSB0byBtaXNzaW5nIEVHTENvbnRleHQuaCBhbmQgR0xYQ29udGV4dC5oIGhlYWRl
cnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzQz
NzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HTFBsYXRmb3JtQ29udGV4dC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpjcmVhdGVPZmZTY3JlZW5Db250ZXh0KToKKwogMjAxNy0wNy0xMSAgQWxleCBDaHJp
c3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlZHVjZSBVUkwg
c2l6ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Blbmds
L0dMUGxhdGZvcm1Db250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L29wZW5nbC9HTFBsYXRmb3JtQ29udGV4dC5jcHAKaW5kZXggNTIxOWEyMzkxMTMxZjZhNjJiY2Iy
NDY1ZDBhM2U3NmE1NTY4YWIwNC4uMjUzZWIzOTkxYTVlZmEyMzI0ZmQ5YjM5Y2ViYzg1N2MzNGQz
OGM3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Blbmds
L0dMUGxhdGZvcm1Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9vcGVuZ2wvR0xQbGF0Zm9ybUNvbnRleHQuY3BwCkBAIC0yOCwxMiArMjgsNiBAQAogI2lm
IEVOQUJMRShHUkFQSElDU19DT05URVhUXzNEKQogI2luY2x1ZGUgIkdMUGxhdGZvcm1Db250ZXh0
LmgiCiAKLSNpZiBVU0UoR0xYKQotI2luY2x1ZGUgIkdMWENvbnRleHQuaCIKLSNlbGlmIFVTRShF
R0wpCi0jaW5jbHVkZSAiRUdMQ29udGV4dC5oIgotI2VuZGlmCi0KICNpbmNsdWRlICJOb3RJbXBs
ZW1lbnRlZC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02NywxMyArNjEsOCBAQCBwdWJs
aWM6CiAKIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8R0xQbGF0Zm9ybUNvbnRleHQ+IGNyZWF0ZU9m
ZlNjcmVlbkNvbnRleHQoKQogewotI2lmIFVTRShHTFgpCi0gICAgcmV0dXJuIHN0ZDo6bWFrZV91
bmlxdWU8R0xYT2ZmU2NyZWVuQ29udGV4dD4oKTsKLSNlbGlmIFVTRShFR0wpCi0gICAgcmV0dXJu
IHN0ZDo6bWFrZV91bmlxdWU8RUdMT2ZmU2NyZWVuQ29udGV4dD4oKTsKLSNlbHNlCisgICAgbm90
SW1wbGVtZW50ZWQoKTsKICAgICByZXR1cm4gbnVsbHB0cjsKLSNlbmRpZgogfQogCiBzdGF0aWMg
SGFzaFNldDxTdHJpbmc+IHBhcnNlRXh0ZW5zaW9ucyhjb25zdCBTdHJpbmcmIGV4dGVuc2lvbnNT
dHJpbmcpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>315141</attachid>
            <date>2017-07-11 12:07:16 -0700</date>
            <delta_ts>2017-07-11 13:21:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174371-20170711140715.patch</filename>
            <type>text/plain</type>
            <size>16150</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE5MzMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjA2MTY1YzJmMWM0ZGUz
MWJiMTQ1MzIzMGI2OWYyZGU5OGFhMjIwNi4uZThlNTYxYTk3YmY1ZmZhNWM1YTFmNjNhMDg5NTA4
ZjRjM2ZlMjg3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE3LTA3LTExICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBSZW1vdmUg
dW51c2VkIE9wZW5HTCBmaWxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTc0MzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR0xQbGF0Zm9ybUNvbnRleHQu
Y3BwOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HTFBsYXRm
b3JtQ29udGV4dC5oOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5n
bC9HTFBsYXRmb3JtU3VyZmFjZS5oOiBSZW1vdmVkLgorCiAyMDE3LTA3LTExICBDYXJsb3MgQWxi
ZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIFNw
aW4gYnV0dG9ucyBvbiBpbnB1dCB0eXBlIG51bWJlciBhcHBlYXIgb3ZlciB0aGUgdmFsdWUgaXRz
ZWxmIGZvciBzbWFsbCB3aWR0aHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL29wZW5nbC9HTFBsYXRmb3JtQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR0xQbGF0Zm9ybUNvbnRleHQuY3BwCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA1MjE5YTIzOTExMzFmNmE2MmJjYjI0NjVkMGEzZTc2YTU1Njhh
YjA0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HTFBsYXRmb3JtQ29udGV4dC5jcHAK
KysrIC9kZXYvbnVsbApAQCAtMSwyNzMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
MiBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lu
Y2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKEdSQVBISUNTX0NPTlRFWFRfM0QpCi0jaW5j
bHVkZSAiR0xQbGF0Zm9ybUNvbnRleHQuaCIKLQotI2lmIFVTRShHTFgpCi0jaW5jbHVkZSAiR0xY
Q29udGV4dC5oIgotI2VsaWYgVVNFKEVHTCkKLSNpbmNsdWRlICJFR0xDb250ZXh0LmgiCi0jZW5k
aWYKLQotI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LQotI2lmIFVTRShPUEVOR0xfRVNfMikKLXN0YXRpYyBQRk5HTEdFVEdSQVBISUNTUkVTRVRTVEFU
VVNFWFRQUk9DIGdsR2V0R3JhcGhpY3NSZXNldFN0YXR1cyA9IDA7Ci0jZWxzZQotc3RhdGljIFBG
TkdMR0VUR1JBUEhJQ1NSRVNFVFNUQVRVU0FSQlBST0MgZ2xHZXRHcmFwaGljc1Jlc2V0U3RhdHVz
ID0gMDsKLSNlbmRpZgotCi1jbGFzcyBHTEN1cnJlbnRDb250ZXh0V3JhcHBlciA6IHB1YmxpYyBH
TFBsYXRmb3JtQ29udGV4dCB7Ci0KLXB1YmxpYzoKLSAgICBHTEN1cnJlbnRDb250ZXh0V3JhcHBl
cigpCi0gICAgICAgIDogR0xQbGF0Zm9ybUNvbnRleHQoKQotICAgIHsKLSNpZiBVU0UoR0xYKQot
ICAgICAgICBtX2NvbnRleHRIYW5kbGUgPSBnbFhHZXRDdXJyZW50Q29udGV4dCgpOwotI2VsaWYg
VVNFKEVHTCkKLSAgICAgICAgbV9jb250ZXh0SGFuZGxlID0gZWdsR2V0Q3VycmVudENvbnRleHQo
KTsKLSNlbmRpZgotICAgIH0KLQotICAgIHZpcnR1YWwgfkdMQ3VycmVudENvbnRleHRXcmFwcGVy
KCkgeyB9Ci0KLSAgICBib29sIGlzQ3VycmVudENvbnRleHQoKSBjb25zdCBvdmVycmlkZQotICAg
IHsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotfTsKLQotc3RhdGljIHN0ZDo6dW5pcXVl
X3B0cjxHTFBsYXRmb3JtQ29udGV4dD4gY3JlYXRlT2ZmU2NyZWVuQ29udGV4dCgpCi17Ci0jaWYg
VVNFKEdMWCkKLSAgICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxHTFhPZmZTY3JlZW5Db250ZXh0
PigpOwotI2VsaWYgVVNFKEVHTCkKLSAgICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxFR0xPZmZT
Y3JlZW5Db250ZXh0PigpOwotI2Vsc2UKLSAgICByZXR1cm4gbnVsbHB0cjsKLSNlbmRpZgotfQot
Ci1zdGF0aWMgSGFzaFNldDxTdHJpbmc+IHBhcnNlRXh0ZW5zaW9ucyhjb25zdCBTdHJpbmcmIGV4
dGVuc2lvbnNTdHJpbmcpCi17Ci0gICAgVmVjdG9yPFN0cmluZz4gZXh0TmFtZXM7Ci0gICAgZXh0
ZW5zaW9uc1N0cmluZy5zcGxpdCgnICcsIGV4dE5hbWVzKTsKLSAgICBIYXNoU2V0PFN0cmluZz4g
c3BsaXRFeHROYW1lczsKLSAgICB1bnNpZ25lZCBzaXplID0gZXh0TmFtZXMuc2l6ZSgpOwotICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBzaXplOyArK2kpCi0gICAgICAgIHNwbGl0RXh0TmFt
ZXMuYWRkKGV4dE5hbWVzW2ldKTsKLSAgICBleHROYW1lcy5jbGVhcigpOwotCi0gICAgcmV0dXJu
IHNwbGl0RXh0TmFtZXM7Ci19Ci0KLXN0YXRpYyB2b2lkIHJlc29sdmVSZXNldFN0YXR1c0V4dGVu
c2lvbigpCi17Ci0gICAgc3RhdGljIGJvb2wgcmVzb2x2ZWRSb2J1c3RuZXNzRXh0ZW5zaW9uID0g
ZmFsc2U7Ci0gICAgaWYgKCFyZXNvbHZlZFJvYnVzdG5lc3NFeHRlbnNpb24pIHsKLSAgICAgICAg
cmVzb2x2ZWRSb2J1c3RuZXNzRXh0ZW5zaW9uID0gdHJ1ZTsKLSNpZiBVU0UoT1BFTkdMX0VTXzIp
Ci0gICAgICAgIGdsR2V0R3JhcGhpY3NSZXNldFN0YXR1cyA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZO
R0xHRVRHUkFQSElDU1JFU0VUU1RBVFVTRVhUUFJPQz4oZWdsR2V0UHJvY0FkZHJlc3MoImdsR2V0
R3JhcGhpY3NSZXNldFN0YXR1c0VYVCIpKTsKLSNlbGlmIFVTRShFR0wpCi0gICAgICAgIGdsR2V0
R3JhcGhpY3NSZXNldFN0YXR1cyA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xHRVRHUkFQSElDU1JF
U0VUU1RBVFVTQVJCUFJPQz4oZWdsR2V0UHJvY0FkZHJlc3MoImdsR2V0R3JhcGhpY3NSZXNldFN0
YXR1c0FSQiIpKTsKLSNlbGlmIFVTRShHTFgpCi0gICAgICAgIGdsR2V0R3JhcGhpY3NSZXNldFN0
YXR1cyA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xHRVRHUkFQSElDU1JFU0VUU1RBVFVTQVJCUFJP
Qz4oZ2xYR2V0UHJvY0FkZHJlc3NBUkIocmVpbnRlcnByZXRfY2FzdDxjb25zdCBHTHVieXRlKj4o
ImdsR2V0R3JhcGhpY3NSZXNldFN0YXR1c0FSQiIpKSk7Ci0jZW5kaWYKLSAgICB9Ci19Ci0KLXN0
ZDo6dW5pcXVlX3B0cjxHTFBsYXRmb3JtQ29udGV4dD4gR0xQbGF0Zm9ybUNvbnRleHQ6OmNyZWF0
ZUNvbnRleHQoR3JhcGhpY3NDb250ZXh0M0Q6OlJlbmRlclN0eWxlIHJlbmRlclN0eWxlKQotewot
I2lmICFVU0UoT1BFTkdMX0VTXzIpCi0gICAgaWYgKCFpbml0aWFsaXplT3BlbkdMU2hpbXMoKSkK
LSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0jZW5kaWYKLQotICAgIHN3aXRjaCAocmVuZGVyU3R5
bGUpIHsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSZW5kZXJPZmZzY3JlZW46Ci0gICAg
ICAgIHJldHVybiBjcmVhdGVPZmZTY3JlZW5Db250ZXh0KCk7Ci0gICAgY2FzZSBHcmFwaGljc0Nv
bnRleHQzRDo6UmVuZGVyVG9DdXJyZW50R0xDb250ZXh0OgotICAgICAgICByZXR1cm4gc3RkOjpt
YWtlX3VuaXF1ZTxHTEN1cnJlbnRDb250ZXh0V3JhcHBlcj4oKTsKLSAgICBjYXNlIEdyYXBoaWNz
Q29udGV4dDNEOjpSZW5kZXJEaXJlY3RseVRvSG9zdFdpbmRvdzoKLSAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLQotICAgIHJldHVybiBudWxscHRy
OwotfQotCi1ib29sIEdMUGxhdGZvcm1Db250ZXh0OjpzdXBwb3J0c0dMRXh0ZW5zaW9uKGNvbnN0
IFN0cmluZyYgbmFtZSkKLXsKLSAgICBzdGF0aWMgSGFzaFNldDxTdHJpbmc+IHN1cHBvcnRlZEV4
dGVuc2lvbnM7Ci0KLSAgICBpZiAoIXN1cHBvcnRlZEV4dGVuc2lvbnMuc2l6ZSgpKSB7Ci0gICAg
ICAgIFN0cmluZyByYXdFeHRlbnNpb25zID0gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4o
OjpnbEdldFN0cmluZyhHTF9FWFRFTlNJT05TKSk7Ci0gICAgICAgIHN1cHBvcnRlZEV4dGVuc2lv
bnMgPSBwYXJzZUV4dGVuc2lvbnMocmF3RXh0ZW5zaW9ucyk7Ci0gICAgfQotCi0gICAgaWYgKHN1
cHBvcnRlZEV4dGVuc2lvbnMuY29udGFpbnMobmFtZSkpCi0gICAgICAgIHJldHVybiB0cnVlOwot
Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCi0jaWYgVVNFKEVHTCkKLWJvb2wgR0xQbGF0Zm9ybUNv
bnRleHQ6OnN1cHBvcnRzRUdMRXh0ZW5zaW9uKEVHTERpc3BsYXkgZGlzcGxheSwgY29uc3QgU3Ry
aW5nJiBuYW1lKQotewotICAgIHN0YXRpYyBIYXNoU2V0PFN0cmluZz4gc3VwcG9ydGVkRXh0ZW5z
aW9uczsKLQotICAgIGlmICghc3VwcG9ydGVkRXh0ZW5zaW9ucy5zaXplKCkpIHsKLSAgICAgICAg
aWYgKGRpc3BsYXkgPT0gRUdMX05PX0RJU1BMQVkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7
Ci0KLSAgICAgICAgU3RyaW5nIHJhd0V4dGVuc2lvbnMgPSByZWludGVycHJldF9jYXN0PGNvbnN0
IGNoYXIqPihlZ2xRdWVyeVN0cmluZyhkaXNwbGF5LCBFR0xfRVhURU5TSU9OUykpOwotICAgICAg
ICBzdXBwb3J0ZWRFeHRlbnNpb25zID0gcGFyc2VFeHRlbnNpb25zKHJhd0V4dGVuc2lvbnMpOwot
ICAgIH0KLQotICAgIGlmIChzdXBwb3J0ZWRFeHRlbnNpb25zLmNvbnRhaW5zKG5hbWUpKQotICAg
ICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIHJldHVybiBmYWxzZTsKLX0KLSNlbmRpZgotCi0jaWYg
VVNFKEdMWCkKLWJvb2wgR0xQbGF0Zm9ybUNvbnRleHQ6OnN1cHBvcnRzR0xYRXh0ZW5zaW9uKERp
c3BsYXkqIGRpc3BsYXksIGNvbnN0IFN0cmluZyYgbmFtZSkKLXsKLSAgICBzdGF0aWMgSGFzaFNl
dDxTdHJpbmc+IHN1cHBvcnRlZEV4dGVuc2lvbnM7Ci0KLSAgICBpZiAoIXN1cHBvcnRlZEV4dGVu
c2lvbnMuc2l6ZSgpKSB7Ci0gICAgICAgIGlmICghZGlzcGxheSkKLSAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLQotICAgICAgICBTdHJpbmcgcmF3RXh0ZW5zaW9ucyA9IGdsWFF1ZXJ5RXh0ZW5z
aW9uc1N0cmluZyhkaXNwbGF5LCBEZWZhdWx0U2NyZWVuKGRpc3BsYXkpKTsKLSAgICAgICAgc3Vw
cG9ydGVkRXh0ZW5zaW9ucyA9IHBhcnNlRXh0ZW5zaW9ucyhyYXdFeHRlbnNpb25zKTsKLSAgICB9
Ci0KLSAgICBpZiAoc3VwcG9ydGVkRXh0ZW5zaW9ucy5jb250YWlucyhuYW1lKSkKLSAgICAgICAg
cmV0dXJuIHRydWU7Ci0KLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0jZW5kaWYKLQotR0xQbGF0Zm9y
bUNvbnRleHQ6OkdMUGxhdGZvcm1Db250ZXh0KCkKLSAgICA6IG1fY29udGV4dEhhbmRsZSgwKQot
ICAgICwgbV9yZXNldExvc3RDb250ZXh0KGZhbHNlKQotewotfQotCi1HTFBsYXRmb3JtQ29udGV4
dDo6fkdMUGxhdGZvcm1Db250ZXh0KCkKLXsKLX0KLQotYm9vbCBHTFBsYXRmb3JtQ29udGV4dDo6
bWFrZUN1cnJlbnQoR0xQbGF0Zm9ybVN1cmZhY2UqIHN1cmZhY2UpCi17Ci0gICAgbV9jb250ZXh0
TG9zdCA9IGZhbHNlOwotCi0gICAgaWYgKGlzQ3VycmVudENvbnRleHQoKSAmJiAoIXN1cmZhY2Ug
fHwgc3VyZmFjZS0+aXNDdXJyZW50RHJhd2FibGUoKSkpCi0gICAgICAgIHJldHVybiB0cnVlOwot
Ci0gICAgR0xQbGF0Zm9ybUNvbnRleHQqIGN1cnJlbnRDb250ZXh0ID0gMDsKLQotICAgIGlmICgh
c3VyZmFjZSB8fCAoc3VyZmFjZSAmJiAhc3VyZmFjZS0+ZHJhd2FibGUoKSkpCi0gICAgICAgIHBs
YXRmb3JtUmVsZWFzZUN1cnJlbnQoKTsKLSAgICBlbHNlIGlmIChwbGF0Zm9ybU1ha2VDdXJyZW50
KHN1cmZhY2UpKSB7Ci0gICAgICAgIGN1cnJlbnRDb250ZXh0ID0gdGhpczsKLSAgICAgICAgc3Vy
ZmFjZS0+b25NYWtlQ3VycmVudCgpOwotICAgIH0KLQotICAgIGlmIChtX3Jlc2V0TG9zdENvbnRl
eHQpIHsKLSAgICAgICAgcmVzb2x2ZVJlc2V0U3RhdHVzRXh0ZW5zaW9uKCk7Ci0KLSAgICAgICAg
aWYgKGdsR2V0R3JhcGhpY3NSZXNldFN0YXR1cykgewotICAgICAgICAgICAgR0xlbnVtIHN0YXR1
cyA9IGdsR2V0R3JhcGhpY3NSZXNldFN0YXR1cygpOwotCi0gICAgICAgICAgICBzd2l0Y2ggKHN0
YXR1cykgewotICAgICAgICAgICAgY2FzZSBQTEFURk9STUNPTlRFWFRfTk9fRVJST1I6Ci0gICAg
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIFBMQVRGT1JNQ09OVEVYVF9HVUlM
VFlfQ09OVEVYVF9SRVNFVDoKLSAgICAgICAgICAgICAgICBtX2NvbnRleHRMb3N0ID0gdHJ1ZTsK
LSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgUExBVEZPUk1DT05URVhU
X0lOTk9DRU5UX0NPTlRFWFRfUkVTRVQ6Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICBjYXNlIFBMQVRGT1JNQ09OVEVYVF9VTktOT1dOX0NPTlRFWFRfUkVTRVQ6Ci0gICAgICAg
ICAgICAgICAgbV9jb250ZXh0TG9zdCA9IHRydWU7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg
fQotICAgICAgICB9Ci0gICAgfQotCi0gICAgcmV0dXJuIGN1cnJlbnRDb250ZXh0OwotfQotCi1i
b29sIEdMUGxhdGZvcm1Db250ZXh0Ojppc1ZhbGlkKCkgY29uc3QKLXsKLSAgICByZXR1cm4gIW1f
Y29udGV4dExvc3Q7Ci19Ci0KLXZvaWQgR0xQbGF0Zm9ybUNvbnRleHQ6OnJlbGVhc2VDdXJyZW50
KCkKLXsKLSAgICBpZiAoaXNDdXJyZW50Q29udGV4dCgpKQotICAgICAgICBwbGF0Zm9ybVJlbGVh
c2VDdXJyZW50KCk7Ci19Ci0KLVBsYXRmb3JtQ29udGV4dCBHTFBsYXRmb3JtQ29udGV4dDo6aGFu
ZGxlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9jb250ZXh0SGFuZGxlOwotfQotCi1ib29sIEdM
UGxhdGZvcm1Db250ZXh0Ojppbml0aWFsaXplKEdMUGxhdGZvcm1TdXJmYWNlKiwgUGxhdGZvcm1D
b250ZXh0KQotewotICAgIHJldHVybiB0cnVlOwotfQotCi1ib29sIEdMUGxhdGZvcm1Db250ZXh0
OjpwbGF0Zm9ybU1ha2VDdXJyZW50KEdMUGxhdGZvcm1TdXJmYWNlKikKLXsKLSAgICByZXR1cm4g
dHJ1ZTsKLX0KLQotdm9pZCBHTFBsYXRmb3JtQ29udGV4dDo6cGxhdGZvcm1SZWxlYXNlQ3VycmVu
dCgpCi17Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLX0KLQotdm9pZCBHTFBsYXRmb3JtQ29udGV4
dDo6ZGVzdHJveSgpCi17Ci0gICAgbV9jb250ZXh0SGFuZGxlID0gMDsKLSAgICBtX3Jlc2V0TG9z
dENvbnRleHQgPSBmYWxzZTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HTFBs
YXRmb3JtQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Blbmds
L0dMUGxhdGZvcm1Db250ZXh0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE5OTlj
YzBjZjIzZTVjMzI1Y2ZkMDk3MjZmMzg5YWQ4N2I1MmY0NTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvb3BlbmdsL0dMUGxhdGZvcm1Db250ZXh0LmgKKysrIC9kZXYvbnVsbApAQCAtMSw5NCArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIEdMUGxhdGZvcm1Db250ZXh0X2gKLSNk
ZWZpbmUgR0xQbGF0Zm9ybUNvbnRleHRfaAotCi0jaW5jbHVkZSAiR0xEZWZzLmgiCi0jaW5jbHVk
ZSAiR0xQbGF0Zm9ybVN1cmZhY2UuaCIKLSNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQzRC5oIgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgotCi0vLyBFbmNhcHN1bGF0ZXMgYW4gT3BlbkdM
IGNvbnRleHQsIGhpZGluZyBwbGF0Zm9ybSBzcGVjaWZpYyBtYW5hZ2VtZW50LgotbmFtZXNwYWNl
IFdlYkNvcmUgewotCi1jbGFzcyBHTFBsYXRmb3JtQ29udGV4dCB7Ci0gICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoR0xQbGF0Zm9ybUNvbnRleHQpOwotCi1wdWJsaWM6Ci0gICAgLy8gRnJvbSBodHRw
Oi8vd3d3Lmtocm9ub3Mub3JnL3JlZ2lzdHJ5L2dsZXMvZXh0ZW5zaW9ucy9FWFQvRVhUX3JvYnVz
dG5lc3MudHh0Ci0gICAgZW51bSBQbGF0Zm9ybUNvbnRleHRSZXNldCB7Ci0gICAgICAgIFBMQVRG
T1JNQ09OVEVYVF9OT19FUlJPUiA9IDB4MDAwMCwKLSAgICAgICAgUExBVEZPUk1DT05URVhUX0dV
SUxUWV9DT05URVhUX1JFU0VUID0gMHg4MjUzLAotICAgICAgICBQTEFURk9STUNPTlRFWFRfSU5O
T0NFTlRfQ09OVEVYVF9SRVNFVCA9IDB4ODI1NCwKLSAgICAgICAgUExBVEZPUk1DT05URVhUX1VO
S05PV05fQ09OVEVYVF9SRVNFVCA9IDB4ODI1NSwKLSAgICB9OwotCi0gICAgc3RhdGljIHN0ZDo6
dW5pcXVlX3B0cjxHTFBsYXRmb3JtQ29udGV4dD4gY3JlYXRlQ29udGV4dChHcmFwaGljc0NvbnRl
eHQzRDo6UmVuZGVyU3R5bGUpOwotCi0gICAgc3RhdGljIGJvb2wgc3VwcG9ydHNHTEV4dGVuc2lv
bihjb25zdCBTdHJpbmcmKTsKLQotI2lmIFVTRShFR0wpCi0gICAgc3RhdGljIGJvb2wgc3VwcG9y
dHNFR0xFeHRlbnNpb24oRUdMRGlzcGxheSwgY29uc3QgU3RyaW5nJik7Ci0jZW5kaWYKLQotI2lm
IFVTRShHTFgpCi0gICAgc3RhdGljIGJvb2wgc3VwcG9ydHNHTFhFeHRlbnNpb24oRGlzcGxheSos
IGNvbnN0IFN0cmluZyYpOwotI2VuZGlmCi0KLSAgICB2aXJ0dWFsIH5HTFBsYXRmb3JtQ29udGV4
dCgpOwotCi0gICAgdmlydHVhbCBib29sIGluaXRpYWxpemUoR0xQbGF0Zm9ybVN1cmZhY2UqLCBQ
bGF0Zm9ybUNvbnRleHQgPSAwKTsKLQotICAgIC8vIE1ha2VzIHRoaXMgYW5kIHN1cmZhY2UgYXMg
Y3VycmVudCBjb250ZXh0IGFuZCBkcmF3YWJsZS4KLSAgICAvLyBDYWxsaW5nIHRoaXMgZnVuY3Rp
b24gd2l0aCBubyBzdXJmYWNlIGlzIHNhbWUgYXMgY2FsbGluZyByZWxlYXNlQ3VycmVudC4KLSAg
ICAvLyBEb2VzIG5vdGhpbmcgaWYgdGhpcyBpcyBhbHJlYWR5IGN1cnJlbnQgQ29udGV4dC4KLSAg
ICBib29sIG1ha2VDdXJyZW50KEdMUGxhdGZvcm1TdXJmYWNlKiA9IDApOwotCi0gICAgLy8gU2V0
cyBDdXJyZW50IENvbnRleHQgYW5kIERyYXdhYmxlIGFzIE51bGwuCi0gICAgLy8gRG9lc24ndCBo
YXZlIGFueSBlZmZlY3QgaWYgdGhpcyBpcyBub3QgdGhlIGN1cnJlbnQgQ29udGV4dC4KLSAgICB2
b2lkIHJlbGVhc2VDdXJyZW50KCk7Ci0KLSAgICB2aXJ0dWFsIFBsYXRmb3JtQ29udGV4dCBoYW5k
bGUoKSBjb25zdDsKLQotICAgIHZpcnR1YWwgYm9vbCBpc0N1cnJlbnRDb250ZXh0KCkgY29uc3Qg
PSAwOwotCi0gICAgYm9vbCBpc1ZhbGlkKCkgY29uc3Q7Ci0KLSAgICAvLyBEZXN0cm95cyBhbnkg
R0wgcmVzb3VyY2VzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNvbnRleHQuCi0gICAgdmlydHVhbCB2
b2lkIGRlc3Ryb3koKTsKLQotcHJvdGVjdGVkOgotICAgIEdMUGxhdGZvcm1Db250ZXh0KCk7Ci0g
ICAgdmlydHVhbCBib29sIHBsYXRmb3JtTWFrZUN1cnJlbnQoR0xQbGF0Zm9ybVN1cmZhY2UqKTsK
LSAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1SZWxlYXNlQ3VycmVudCgpOwotICAgIFBsYXRmb3Jt
Q29udGV4dCBtX2NvbnRleHRIYW5kbGU7Ci0gICAgYm9vbCBtX3Jlc2V0TG9zdENvbnRleHQ7Ci0g
ICAgYm9vbCBtX2NvbnRleHRMb3N0OwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0j
ZW5kaWYgLy8gR0xOYXRpdmVDb250ZXh0X0gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HTFBsYXRmb3JtU3VyZmFjZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dMUGxhdGZvcm1TdXJmYWNlLmgKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJkOTlkNmYyZGFiNzBmMmIxMjExOTQ4NDJiZjkxOGNhNzYx
MTRmMGMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dMUGxhdGZvcm1TdXJmYWNlLmgK
KysrIC9kZXYvbnVsbApAQCAtMSw5MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEy
IEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZu
ZGVmIEdMUGxhdGZvcm1TdXJmYWNlX2gKLSNkZWZpbmUgR0xQbGF0Zm9ybVN1cmZhY2VfaAotCi0j
aW5jbHVkZSAiR0xEZWZzLmgiCi0jaW5jbHVkZSAiSW50UmVjdC5oIgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgotCi0vLyBFbmNhcHN1bGF0ZXMgYSBzdXJmYWNlIHRoYXQgY2FuIGJlIHJl
bmRlcmVkIHRvIHdpdGggR0wsIGhpZGluZyBwbGF0Zm9ybQotLy8gc3BlY2lmaWMgbWFuYWdlbWVu
dC4KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgR0xQbGF0Zm9ybVN1cmZhY2UgewotICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEdMUGxhdGZvcm1TdXJmYWNlKTsKLQotcHVibGljOgotICAg
IGVudW0gQXR0cmlidXRlcyB7Ci0gICAgICAgIERlZmF1bHQgPSAweDAwLCAvLyBObyBBbHBoYSBj
aGFubmVsLiBPbmx5IFIsRyxCIHZhbHVlcyBzZXQuCi0gICAgICAgIFN1cHBvcnRBbHBoYSA9IDB4
MDEsCi0gICAgICAgIERvdWJsZUJ1ZmZlcmVkID0gMHgwMgotICAgIH07Ci0KLSAgICB0eXBlZGVm
IHVuc2lnbmVkIFN1cmZhY2VBdHRyaWJ1dGVzOwotICAgIC8vIENyZWF0ZXMgYSBHTCBzdXJmYWNl
IHVzZWQgZm9yIG9mZnNjcmVlbiByZW5kZXJpbmcuCi0gICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0
cjxHTFBsYXRmb3JtU3VyZmFjZT4gY3JlYXRlT2ZmU2NyZWVuU3VyZmFjZShTdXJmYWNlQXR0cmli
dXRlcyA9IEdMUGxhdGZvcm1TdXJmYWNlOjpEZWZhdWx0KTsKLQotICAgIHZpcnR1YWwgfkdMUGxh
dGZvcm1TdXJmYWNlKCk7Ci0KLSAgICBjb25zdCBJbnRSZWN0JiBnZW9tZXRyeSgpIGNvbnN0Owot
Ci0gICAgLy8gR2V0IHRoZSB1bmRlcmx5aW5nIHBsYXRmb3JtIHNwZWNpZmljIGJ1ZmZlciBoYW5k
bGUuCi0gICAgLy8gVGhlIGhhbmRsZSB3aWxsIGJlIG51bGwgaWYgc3VyZmFjZSBkb2Vzbid0IHN1
cHBvcnQKLSAgICAvLyBidWZmZXIgc2hhcmluZy4KLSAgICBQbGF0Zm9ybUJ1ZmZlckhhbmRsZSBo
YW5kbGUoKSBjb25zdDsKLQotICAgIFBsYXRmb3JtRHJhd2FibGUgZHJhd2FibGUoKSBjb25zdDsK
LQotICAgIHZpcnR1YWwgU3VyZmFjZUF0dHJpYnV0ZXMgYXR0cmlidXRlcygpIGNvbnN0OwotCi0g
ICAgdmlydHVhbCB2b2lkIHN3YXBCdWZmZXJzKCk7Ci0KLSAgICB2aXJ0dWFsIGJvb2wgaXNDdXJy
ZW50RHJhd2FibGUoKSBjb25zdCA9IDA7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgb25NYWtlQ3VycmVu
dCgpOwotCi0gICAgLy8gQ29udmVuaWVuY2UgRnVuY3Rpb24gdG8gdXBkYXRlIHN1cmZhY2UgYmFj
a2J1ZmZlciB3aXRoIHRleHR1cmUgY29udGVudHMuCi0gICAgLy8gTm90ZSB0aGF0IHRoZSBmdW5j
dGlvbiBkb2Vzbid0IHRyYWNrIG9yIHJlc3RvcmUgYW55IEdMIHN0YXRlcy4KLSAgICAvLyBGdW5j
dGlvbiBkb2VzIHRoZSBmb2xsb3dpbmcoaW4gb3JkZXIpOgotICAgIC8vIGEpIEJsaXRzIHRleHR1
cmUgY29udGVudHMgdG8gYmFjayBidWZmZXIuCi0gICAgLy8gYikgQ2FsbHMgU3dhcCBCdWZmZXJz
LgotICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVDb250ZW50cyhjb25zdCB1aW50MzJfdCk7Ci0KLSAg
ICB2aXJ0dWFsIHZvaWQgc2V0R2VvbWV0cnkoY29uc3QgSW50UmVjdCYpOwotCi0gICAgdmlydHVh
bCBQbGF0Zm9ybVN1cmZhY2VDb25maWcgY29uZmlndXJhdGlvbigpOwotCi0gICAgdmlydHVhbCB2
b2lkIGRlc3Ryb3koKTsKLQotcHJvdGVjdGVkOgotICAgIEdMUGxhdGZvcm1TdXJmYWNlKFN1cmZh
Y2VBdHRyaWJ1dGVzKTsKLQotICAgIFBsYXRmb3JtRHJhd2FibGUgbV9kcmF3YWJsZTsKLSAgICBQ
bGF0Zm9ybUJ1ZmZlckhhbmRsZSBtX2J1ZmZlckhhbmRsZTsKLSAgICBJbnRSZWN0IG1fcmVjdDsK
LX07Ci0KLX0KLQotI2VuZGlmCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>