<?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>133745</bug_id>
          
          <creation_ts>2014-06-11 10:21:05 -0700</creation_ts>
          <short_desc>use OpenGL ES 3 as backend for WebGL</short_desc>
          <delta_ts>2024-01-17 00:43:45 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>CONFIGURATION CHANGED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=133636</see_also>
          <bug_file_loc>http://codeflow.org/entries/2014/jun/08/some-issues-with-apples-ios-webgl-implementation/</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="Alex Christensen">achristensen</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>dino</cc>
    
    <cc>graouts</cc>
    
    <cc>jonlee</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>p_os</cc>
    
    <cc>pyalot</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1014792</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2014-06-11 10:21:05 -0700</bug_when>
    <thetext>WebGL 2.0 uses OpenGL ES 3.  We should be careful that code that uses gl.getExtension to query WebGL extensions does not break.  I&apos;m not sure how this will be dealt with in the WebGL 2.0 spec, but I think if something was an extension in WebGL 1.0 and is no longer an extension in WebGL 2.0, gl.getExtension should still return the same value to ensure backward compatibility.

see https://bugs.webkit.org/show_bug.cgi?id=133636</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016399</commentid>
    <comment_count>1</comment_count>
    <who name="Florian Bösch">pyalot</who>
    <bug_when>2014-06-18 00:21:26 -0700</bug_when>
    <thetext>iOS 8 Beta 2 still does not alleviate the artificial constraints.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1017480</commentid>
    <comment_count>2</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-06-22 21:25:17 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; iOS 8 Beta 2 still does not alleviate the artificial constraints.

I think you intended this comment for another bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1017528</commentid>
    <comment_count>3</comment_count>
    <who name="Florian Bösch">pyalot</who>
    <bug_when>2014-06-23 04:46:05 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; I think you intended this comment for another bug.

The original ticket https://bugs.webkit.org/show_bug.cgi?id=133636 has been marked as invalid and this ticket is now the tracking ticket for this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1178371</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-03-27 21:57:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/25382007&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1446391</commentid>
    <comment_count>5</comment_count>
      <attachid>346114</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-07-30 15:56:49 -0700</bug_when>
    <thetext>Created attachment 346114
Patch

WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1447029</commentid>
    <comment_count>6</comment_count>
      <attachid>346308</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-08-01 15:55:10 -0700</bug_when>
    <thetext>Created attachment 346308
Patch

WIP 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2005527</commentid>
    <comment_count>7</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2024-01-17 00:43:45 -0800</bug_when>
    <thetext>Metal is used now</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>346114</attachid>
            <date>2018-07-30 15:56:49 -0700</date>
            <delta_ts>2018-08-01 15:55:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133745-20180731085647.patch</filename>
            <type>text/plain</type>
            <size>12180</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM0MzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODE3MzZkODcyOGJkZWVk
MjUxNjAyMGJkZTM2ODU1YmE3MDZlNmRlMC4uM2E2MzUwMTg4ZTM5ODQyYTgyMmVlZDZmMGI4NTIz
ZDI2ZGE4M2ExZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE4LTA3LTMwICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICB1c2UgT3BlbkdMIEVTIDMgYXMg
YmFja2VuZCBmb3IgV2ViR0wKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEzMzc0NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAgICogaHRtbC9jYW52YXMv
V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlOjppbml0aWFsaXplTmV3Q29udGV4dCk6CisgICAgICAgIChXZWJD
b3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpzZXR1cEZsYWdzKToKKyAgICAgICAgKFdl
YkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnZhbGlkYXRlTlBPVFRleHR1cmVMZXZl
bCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpkcmF3QXJy
YXlzKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmRyYXdF
bGVtZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpj
b3B5VGV4SW1hZ2UyRCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRC
YXNlOjpkcmF3QXJyYXlzSW5zdGFuY2VkKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2U6OmRyYXdFbGVtZW50c0luc3RhbmNlZCk6CisgICAgICAgICogaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
R0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6aXNHTEVTMkNvbXBsaWFudCBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpyZXF1aXJlc1N0cmljdEdMRVMy
TlBPVFZhbGlkYXRpb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZTo6aXNEZXB0aFN0ZW5jaWxTdXBwb3J0ZWQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6aXNHTEVTMkNvbXBsaWFudCk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjppc0dMRVMy
TlBPVFN0cmljdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0Nv
bnRleHRCYXNlOjppc0RlcHRoU3RlbmNpbFN1cHBvcnRlZCk6IERlbGV0ZWQuCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRleHQzRENvY29hLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OkdyYXBoaWNzQ29udGV4dDNEKToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjpyZXF1aXJlc1N0cmljdEdMRVMyTlBPVFZhbGlkYXRp
b24pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQz
RE9wZW5HTC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6cmVuZGVy
YnVmZmVyU3RvcmFnZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBo
aWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dDNEOjpyZXF1aXJlc1N0cmljdEdMRVMyTlBPVFZhbGlkYXRpb24pOgorCiAyMDE4LTA3
LTI3ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAg
W1dJTl0gQ3Jhc2ggd2hlbiB0cnlpbmcgdG8gYWNjZXNzIHN0b3JlIHBhZ2VzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2Uu
Y3BwCmluZGV4IDE5MTgxZTQ0YzEzMzVjOGUyOGJhYWEzZjA4OWI3MWJmZDI0ZWVlM2YuLjNiYWVk
NjQzOWM1NTYxZGJjY2ViM2Q2NmE3NTc3NjdmZmUyZDE2NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwCkBA
IC03ODksNyArNzg5LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjppbml0aWFs
aXplTmV3Q29udGV4dCgpCiAgICAgCiAgICAgbV92ZXJ0ZXhBdHRyaWJWYWx1ZS5yZXNpemUobV9t
YXhWZXJ0ZXhBdHRyaWJzKTsKIAotICAgIGlmICghaXNHTEVTMk5QT1RTdHJpY3QoKSkKKyAgICBp
ZiAocmVxdWlyZXNTdHJpY3RHTEVTMk5QT1RWYWxpZGF0aW9uKCkpCiAgICAgICAgIGNyZWF0ZUZh
bGxiYWNrQmxhY2tUZXh0dXJlczF4MSgpOwogCiAgICAgSW50U2l6ZSBjYW52YXNTaXplID0gY2xh
bXBlZENhbnZhc1NpemUoKTsKQEAgLTgxMiwxMyArODEyLDExIEBAIHZvaWQgV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZTo6c2V0dXBGbGFncygpCiAgICAgfQogCiAgICAgbV9pc0dMRVMyQ29tcGxp
YW50ID0gbV9jb250ZXh0LT5pc0dMRVMyQ29tcGxpYW50KCk7Ci0gICAgaWYgKG1faXNHTEVTMkNv
bXBsaWFudCkgewotICAgICAgICBtX2lzR0xFUzJOUE9UU3RyaWN0ID0gIW1fY29udGV4dC0+Z2V0
RXh0ZW5zaW9ucygpLmlzRW5hYmxlZCgiR0xfT0VTX3RleHR1cmVfbnBvdCIpOworICAgIG1fcmVx
dWlyZXNTdHJpY3RHTEVTMk5QT1RWYWxpZGF0aW9uID0gbV9jb250ZXh0LT5yZXF1aXJlc1N0cmlj
dEdMRVMyTlBPVFZhbGlkYXRpb24oKTsKKyAgICBpZiAobV9pc0dMRVMyQ29tcGxpYW50KQogICAg
ICAgICBtX2lzRGVwdGhTdGVuY2lsU3VwcG9ydGVkID0gbV9jb250ZXh0LT5nZXRFeHRlbnNpb25z
KCkuaXNFbmFibGVkKCJHTF9PRVNfcGFja2VkX2RlcHRoX3N0ZW5jaWwiKTsKLSAgICB9IGVsc2Ug
ewotICAgICAgICBtX2lzR0xFUzJOUE9UU3RyaWN0ID0gIW1fY29udGV4dC0+Z2V0RXh0ZW5zaW9u
cygpLmlzRW5hYmxlZCgiR0xfQVJCX3RleHR1cmVfbm9uX3Bvd2VyX29mX3R3byIpOworICAgIGVs
c2UKICAgICAgICAgbV9pc0RlcHRoU3RlbmNpbFN1cHBvcnRlZCA9IG1fY29udGV4dC0+Z2V0RXh0
ZW5zaW9ucygpLmlzRW5hYmxlZCgiR0xfRVhUX3BhY2tlZF9kZXB0aF9zdGVuY2lsIik7Ci0gICAg
fQogICAgIG1faXNSb2J1c3RuZXNzRVhUU3VwcG9ydGVkID0gbV9jb250ZXh0LT5nZXRFeHRlbnNp
b25zKCkuaXNFbmFibGVkKCJHTF9FWFRfcm9idXN0bmVzcyIpOwogfQogCkBAIC0xOTExLDcgKzE5
MDksNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmRpc2FibGVWZXJ0ZXhBdHRy
aWJBcnJheShHQzNEdWludCBpbmRleCkKIAogYm9vbCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
Ojp2YWxpZGF0ZU5QT1RUZXh0dXJlTGV2ZWwoR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVp
Z2h0LCBHQzNEaW50IGxldmVsLCBjb25zdCBjaGFyKiBmdW5jdGlvbk5hbWUpCiB7Ci0gICAgaWYg
KCFpc0dMRVMyTlBPVFN0cmljdCgpICYmIGxldmVsICYmIFdlYkdMVGV4dHVyZTo6aXNOUE9UKHdp
ZHRoLCBoZWlnaHQpKSB7CisgICAgaWYgKHJlcXVpcmVzU3RyaWN0R0xFUzJOUE9UVmFsaWRhdGlv
bigpICYmIGxldmVsICYmIFdlYkdMVGV4dHVyZTo6aXNOUE9UKHdpZHRoLCBoZWlnaHQpKSB7CiAg
ICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX1ZBTFVF
LCBmdW5jdGlvbk5hbWUsICJsZXZlbCA+IDAgbm90IHBvd2VyIG9mIDIiKTsKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIH0KQEAgLTIyNDQsNyArMjI0Miw3IEBAIHZvaWQgV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZTo6ZHJhd0FycmF5cyhHQzNEZW51bSBtb2RlLCBHQzNEaW50IGZpcnN0LCBH
QzNEc2l6CiAgICAgICAgIHZlcnRleEF0dHJpYjBTaW11bGF0ZWQgPSBzaW11bGF0ZVZlcnRleEF0
dHJpYjBTdGF0dXMudmFsdWUoKTsKICAgICB9CiAgICAgYm9vbCB1c2VzRmFsbGJhY2tUZXh0dXJl
ID0gZmFsc2U7Ci0gICAgaWYgKCFpc0dMRVMyTlBPVFN0cmljdCgpKQorICAgIGlmIChyZXF1aXJl
c1N0cmljdEdMRVMyTlBPVFZhbGlkYXRpb24oKSkKICAgICAgICAgdXNlc0ZhbGxiYWNrVGV4dHVy
ZSA9IGNoZWNrVGV4dHVyZUNvbXBsZXRlbmVzcygiZHJhd0FycmF5cyIsIHRydWUpOwogCiAgICAg
ewpAQCAtMjI4NSw3ICsyMjgzLDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpk
cmF3RWxlbWVudHMoR0MzRGVudW0gbW9kZSwgR0MzRHNpemVpIGNvdW50LCBHQzMKICAgICB9CiAK
ICAgICBib29sIHVzZXNGYWxsYmFja1RleHR1cmUgPSBmYWxzZTsKLSAgICBpZiAoIWlzR0xFUzJO
UE9UU3RyaWN0KCkpCisgICAgaWYgKHJlcXVpcmVzU3RyaWN0R0xFUzJOUE9UVmFsaWRhdGlvbigp
KQogICAgICAgICB1c2VzRmFsbGJhY2tUZXh0dXJlID0gY2hlY2tUZXh0dXJlQ29tcGxldGVuZXNz
KCJkcmF3RWxlbWVudHMiLCB0cnVlKTsKIAogICAgIHsKQEAgLTQzMzcsNyArNDMzNSw3IEBAIHZv
aWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Y29weVRleEltYWdlMkQoR0MzRGVudW0gdGFy
Z2V0LCBHQzNEaW50IGxldmVsLCBHCiAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNz
Q29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTiwgImNvcHlUZXhJbWFnZTJEIiwgImZyYW1lYnVm
ZmVyIGlzIGluY29tcGF0aWJsZSBmb3JtYXQiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAg
ICBpZiAoIWlzR0xFUzJOUE9UU3RyaWN0KCkgJiYgbGV2ZWwgJiYgV2ViR0xUZXh0dXJlOjppc05Q
T1Qod2lkdGgsIGhlaWdodCkpIHsKKyAgICBpZiAocmVxdWlyZXNTdHJpY3RHTEVTMk5QT1RWYWxp
ZGF0aW9uKCkgJiYgbGV2ZWwgJiYgV2ViR0xUZXh0dXJlOjppc05QT1Qod2lkdGgsIGhlaWdodCkp
IHsKICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURf
VkFMVUUsICJjb3B5VGV4SW1hZ2UyRCIsICJsZXZlbCA+IDAgbm90IHBvd2VyIG9mIDIiKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTYyOTUsMTQgKzYyOTMsMTQgQEAgdm9pZCBXZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlOjpkcmF3QXJyYXlzSW5zdGFuY2VkKEdDM0RlbnVtIG1vZGUsIEdD
M0RpbnQgZmlyc3QKICAgICAgICAgfQogICAgICAgICB2ZXJ0ZXhBdHRyaWIwU2ltdWxhdGVkID0g
c2ltdWxhdGVWZXJ0ZXhBdHRyaWIwU3RhdHVzLnZhbHVlKCk7CiAgICAgfQotICAgIGlmICghaXNH
TEVTMk5QT1RTdHJpY3QoKSkKKyAgICBpZiAocmVxdWlyZXNTdHJpY3RHTEVTMk5QT1RWYWxpZGF0
aW9uKCkpCiAgICAgICAgIGNoZWNrVGV4dHVyZUNvbXBsZXRlbmVzcygiZHJhd0FycmF5c0luc3Rh
bmNlZCIsIHRydWUpOwogCiAgICAgbV9jb250ZXh0LT5kcmF3QXJyYXlzSW5zdGFuY2VkKG1vZGUs
IGZpcnN0LCBjb3VudCwgcHJpbWNvdW50KTsKIAogICAgIGlmICghaXNHTEVTMkNvbXBsaWFudCgp
ICYmIHZlcnRleEF0dHJpYjBTaW11bGF0ZWQpCiAgICAgICAgIHJlc3RvcmVTdGF0ZXNBZnRlclZl
cnRleEF0dHJpYjBTaW11bGF0aW9uKCk7Ci0gICAgaWYgKCFpc0dMRVMyTlBPVFN0cmljdCgpKQor
ICAgIGlmIChyZXF1aXJlc1N0cmljdEdMRVMyTlBPVFZhbGlkYXRpb24oKSkKICAgICAgICAgY2hl
Y2tUZXh0dXJlQ29tcGxldGVuZXNzKCJkcmF3QXJyYXlzSW5zdGFuY2VkIiwgZmFsc2UpOwogICAg
IG1hcmtDb250ZXh0Q2hhbmdlZEFuZE5vdGlmeUNhbnZhc09ic2VydmVyKCk7CiB9CkBAIC02MzMy
LDE0ICs2MzMwLDE0IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6ZHJhd0VsZW1l
bnRzSW5zdGFuY2VkKEdDM0RlbnVtIG1vZGUsIEdDM0RzaXplaSBjCiAgICAgICAgIH0KICAgICAg
ICAgdmVydGV4QXR0cmliMFNpbXVsYXRlZCA9IHNpbXVsYXRlVmVydGV4QXR0cmliMFN0YXR1cy52
YWx1ZSgpOwogICAgIH0KLSAgICBpZiAoIWlzR0xFUzJOUE9UU3RyaWN0KCkpCisgICAgaWYgKHJl
cXVpcmVzU3RyaWN0R0xFUzJOUE9UVmFsaWRhdGlvbigpKQogICAgICAgICBjaGVja1RleHR1cmVD
b21wbGV0ZW5lc3MoImRyYXdFbGVtZW50c0luc3RhbmNlZCIsIHRydWUpOwogCiAgICAgbV9jb250
ZXh0LT5kcmF3RWxlbWVudHNJbnN0YW5jZWQobW9kZSwgY291bnQsIHR5cGUsIHN0YXRpY19jYXN0
PEdDM0RpbnRwdHI+KG9mZnNldCksIHByaW1jb3VudCk7CiAKICAgICBpZiAoIWlzR0xFUzJDb21w
bGlhbnQoKSAmJiB2ZXJ0ZXhBdHRyaWIwU2ltdWxhdGVkKQogICAgICAgICByZXN0b3JlU3RhdGVz
QWZ0ZXJWZXJ0ZXhBdHRyaWIwU2ltdWxhdGlvbigpOwotICAgIGlmICghaXNHTEVTMk5QT1RTdHJp
Y3QoKSkKKyAgICBpZiAocmVxdWlyZXNTdHJpY3RHTEVTMk5QT1RWYWxpZGF0aW9uKCkpCiAgICAg
ICAgIGNoZWNrVGV4dHVyZUNvbXBsZXRlbmVzcygiZHJhd0VsZW1lbnRzSW5zdGFuY2VkIiwgZmFs
c2UpOwogICAgIG1hcmtDb250ZXh0Q2hhbmdlZEFuZE5vdGlmeUNhbnZhc09ic2VydmVyKCk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0Nv
bnRleHRCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0Nv
bnRleHRCYXNlLmgKaW5kZXggNzFiMGQ1NDNjMjI5NDI5OGU0YzkwZTQyZTM2ZjZjMWQ4NWM4MWQ4
NC4uMjg2NzdmYzI1OWM4MDk0MDk4MmE2MWJmOGRmNWRjYmNiZDZmZGU3YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2Uu
aApAQCAtMzk4LDExICszOTgsMTEgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgcmVtb3ZlQWN0aXZp
dHlTdGF0ZUNoYW5nZU9ic2VydmVyKCk7CiAKICAgICAvLyBRdWVyeSB3aGV0aGVyIGl0IGlzIGJ1
aWx0IG9uIHRvcCBvZiBjb21wbGlhbnQgR0xFUzIgaW1wbGVtZW50YXRpb24uCi0gICAgYm9vbCBp
c0dMRVMyQ29tcGxpYW50KCkgeyByZXR1cm4gbV9pc0dMRVMyQ29tcGxpYW50OyB9CisgICAgYm9v
bCBpc0dMRVMyQ29tcGxpYW50KCkgY29uc3QgeyByZXR1cm4gbV9pc0dMRVMyQ29tcGxpYW50OyB9
CiAgICAgLy8gUXVlcnkgaWYgdGhlIEdMIGltcGxlbWVudGF0aW9uIGlzIE5QT1Qgc3RyaWN0Lgot
ICAgIGJvb2wgaXNHTEVTMk5QT1RTdHJpY3QoKSB7IHJldHVybiBtX2lzR0xFUzJOUE9UU3RyaWN0
OyB9CisgICAgYm9vbCByZXF1aXJlc1N0cmljdEdMRVMyTlBPVFZhbGlkYXRpb24oKSBjb25zdCB7
IHJldHVybiBtX3JlcXVpcmVzU3RyaWN0R0xFUzJOUE9UVmFsaWRhdGlvbjsgfQogICAgIC8vIFF1
ZXJ5IGlmIGRlcHRoX3N0ZW5jaWwgYnVmZmVyIGlzIHN1cHBvcnRlZC4KLSAgICBib29sIGlzRGVw
dGhTdGVuY2lsU3VwcG9ydGVkKCkgeyByZXR1cm4gbV9pc0RlcHRoU3RlbmNpbFN1cHBvcnRlZDsg
fQorICAgIGJvb2wgaXNEZXB0aFN0ZW5jaWxTdXBwb3J0ZWQoKSBjb25zdCB7IHJldHVybiBtX2lz
RGVwdGhTdGVuY2lsU3VwcG9ydGVkOyB9CiAKICAgICAvLyBIZWxwZXIgdG8gcmV0dXJuIHRoZSBz
aXplIGluIGJ5dGVzIG9mIE9wZW5HTCBkYXRhIHR5cGVzCiAgICAgLy8gbGlrZSBHTF9GTE9BVCwg
R0xfSU5ULCBldGMuCkBAIC01NjAsNyArNTYwLDcgQEAgcHJvdGVjdGVkOgogICAgIEdDM0R1aW50
IG1fc3RlbmNpbEZ1bmNNYXNrLCBtX3N0ZW5jaWxGdW5jTWFza0JhY2s7CiAKICAgICBib29sIG1f
aXNHTEVTMkNvbXBsaWFudDsKLSAgICBib29sIG1faXNHTEVTMk5QT1RTdHJpY3Q7CisgICAgYm9v
bCBtX3JlcXVpcmVzU3RyaWN0R0xFUzJOUE9UVmFsaWRhdGlvbjsKICAgICBib29sIG1faXNEZXB0
aFN0ZW5jaWxTdXBwb3J0ZWQ7CiAgICAgYm9vbCBtX2lzUm9idXN0bmVzc0VYVFN1cHBvcnRlZDsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3ND
b250ZXh0M0QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29u
dGV4dDNELmgKaW5kZXggNDMwOGFjZjE0MjUyMmFiOWRhMzAwNjFjN2E4MzY1YjZhMjkwZmVlNy4u
NjlhMTdjZmM2MjM2OTU1ZTk2OTE2MzI1MGZiMDc4Yjk5MGU2YzFjMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCkBAIC03
NTUsNiArNzU1LDggQEAgcHVibGljOgogICAgIFBsYXRmb3JtTGF5ZXIqIHBsYXRmb3JtTGF5ZXIo
KSBjb25zdDsKICNlbmRpZgogCisgICAgYm9vbCByZXF1aXJlc1N0cmljdEdMRVMyTlBPVFZhbGlk
YXRpb24oKTsKKwogICAgIGJvb2wgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgdm9pZCBzZXRX
ZWJHTENvbnRleHQoV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZSogYmFzZSkgeyBtX3dlYmdsQ29u
dGV4dCA9IGJhc2U7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0M0RDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dDNEQ29jb2EubW0KaW5kZXggOTU5
OTE5ZGJhNTAxYTNjNzgzYzAzNWIzYWEwZjBlMjUwYjY0MmMyNC4uZTc1NjEyY2FjZWQ3NTZkOGVk
NDEyNDkwMjgwNTk5YmJmNTlkYjJjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0M0RDb2NvYS5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRleHQzRENvY29hLm1t
CkBAIC0yMTgsNyArMjE4LDggQEAgR3JhcGhpY3NDb250ZXh0M0Q6OkdyYXBoaWNzQ29udGV4dDNE
KEdyYXBoaWNzQ29udGV4dDNEQXR0cmlidXRlcyBhdHRycywgSG9zdFdpbmQKIHsKICNpZiBVU0Uo
T1BFTkdMX0VTKQogICAgIFVOVVNFRF9QQVJBTShob3N0V2luZG93KTsKLSAgICBFQUdMUmVuZGVy
aW5nQVBJIGFwaSA9IG1fYXR0cnMudXNlR0xFUzMgPyBrRUFHTFJlbmRlcmluZ0FQSU9wZW5HTEVT
MyA6IGtFQUdMUmVuZGVyaW5nQVBJT3BlbkdMRVMyOworLy8gICAgRUFHTFJlbmRlcmluZ0FQSSBh
cGkgPSBtX2F0dHJzLnVzZUdMRVMzID8ga0VBR0xSZW5kZXJpbmdBUElPcGVuR0xFUzMgOiBrRUFH
TFJlbmRlcmluZ0FQSU9wZW5HTEVTMjsKKyAgICBFQUdMUmVuZGVyaW5nQVBJIGFwaSA9IGtFQUdM
UmVuZGVyaW5nQVBJT3BlbkdMRVMzOwogICAgIGlmICghc2hhcmVkQ29udGV4dCkKICAgICAgICAg
bV9jb250ZXh0T2JqID0gW1tFQUdMQ29udGV4dCBhbGxvY10gaW5pdFdpdGhBUEk6YXBpXTsKICAg
ICBlbHNlCkBAIC00OTEsNiArNDkyLDE2IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OmNoZWNr
R1BVU3RhdHVzKCkKICNlbmRpZgogfQogCitib29sIEdyYXBoaWNzQ29udGV4dDNEOjpyZXF1aXJl
c1N0cmljdEdMRVMyTlBPVFZhbGlkYXRpb24oKQoreworI2lmIFVTRShPUEVOR0xfRVMpCisgICAg
Ly8gV2UncmUgdXNpbmcgYW4gT3BlbkdMIEVTIDMuMCBjb250ZXh0LCB3aGljaCBhY2NlcHRzIG1v
cmUgTlBPVCB0ZXh0dXJlcy4KKyAgICByZXR1cm4gdHJ1ZTsKKyNlbHNlCisgICAgcmV0dXJuICFn
ZXRFeHRlbnNpb25zKCkuaXNFbmFibGVkKCJHTF9BUkJfdGV4dHVyZV9ub25fcG93ZXJfb2ZfdHdv
Iik7CisjZW5kaWYKK30KKwogI2lmIFVTRShPUEVOR0xfRVMpCiB2b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjpwcmVzZW50UmVuZGVyYnVmZmVyKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RP
cGVuR0wuY3BwCmluZGV4IGE2ZmZmZDAxMjgwZmU2Y2ZlNzE1MDJiODI4OGNlYTllOGY1ODZiYWYu
LjFkOGM4MmU4MjI4N2M0Y2FiZjBhNGRkZTJjYTM4MmIwOWNmMmFhM2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9w
ZW5HTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dy
YXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcApAQCAtMjkwLDYgKzI5MCwxMiBAQCB2b2lkIEdyYXBo
aWNzQ29udGV4dDNEOjpyZW5kZXJidWZmZXJTdG9yYWdlKEdDM0RlbnVtIHRhcmdldCwgR0MzRGVu
dW0gaW50ZXJuYWxmbwogICAgICAgICBpbnRlcm5hbGZvcm1hdCA9IEdMX1JHQjsKICAgICAgICAg
YnJlYWs7CiAgICAgfQorI2VuZGlmCisjaWYgVVNFKE9QRU5HTF9FUykKKyAgICAvLyBPcGVuR0wg
RVMgMyBjb250ZXh0cywgZXNwZWNpYWxseSBvbiBpT1MsIG1hcmsgZnJhbWVidWZmZXJzIGluIFJH
QjVfQTEgYXMgaW5jb21wbGV0ZS4gVXBncmFkZSB0aGVtIHRvIFJHQkE4LgorICAgIC8vIE5vdGU6
IHRoaXMgdGVzdCBpcyBleHBsaWNpdGx5IHNraXBwZWQgaW4gdGhlIFdlYkdMIDIuMCBjb25mb3Jt
YW5jZSBzdWl0ZS4KKyAgICBpZiAoaW50ZXJuYWxmb3JtYXQgPT0gUkdCNV9BMSkKKyAgICAgICAg
aW50ZXJuYWxmb3JtYXQgPSBHTF9SR0JBODsKICNlbmRpZgogICAgIDo6Z2xSZW5kZXJidWZmZXJT
dG9yYWdlRVhUKHRhcmdldCwgaW50ZXJuYWxmb3JtYXQsIHdpZHRoLCBoZWlnaHQpOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNz
Q29udGV4dDNET3BlbkdMQ29tbW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTENvbW1vbi5jcHAKaW5kZXggMzQzNzk1
MjAwM2VhNzViZTkyMmFmNmY0OWRmYmVmYWE3OTU3OGExMy4uNTYzODU5Njk0MWJkMTMxNmY1Mjdm
MTkxOTIwYTVkMGE2OGFmODdjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RP
cGVuR0xDb21tb24uY3BwCkBAIC0xMzksNiArMTM5LDE2IEBAIHN0YXRpYyB1aW50NjRfdCBuYW1l
SGFzaEZvclNoYWRlcihjb25zdCBjaGFyKiBuYW1lLCBzaXplX3QgbGVuZ3RoKQogICAgIHJldHVy
biByZXN1bHQ7CiB9CiAKKyNpZiAhUExBVEZPUk0oQ09DT0EpCitib29sIEdyYXBoaWNzQ29udGV4
dDNEOjpyZXF1aXJlc1N0cmljdEdMRVMyTlBPVFZhbGlkYXRpb24oKQoreworICAgIGlmIChpc0dM
RVMyQ29tcGxpYW50KCkpCisgICAgICAgIHJldHVybiAhZ2V0RXh0ZW5zaW9ucygpLmlzRW5hYmxl
ZCgiR0xfT0VTX3RleHR1cmVfbnBvdCIpOworICAgIGVsc2UKKyAgICAgICAgcmV0dXJuICFnZXRF
eHRlbnNpb25zKCkuaXNFbmFibGVkKCJHTF9BUkJfdGV4dHVyZV9ub25fcG93ZXJfb2ZfdHdvIik7
Cit9CisjZW5kaWYKKwogdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dmFsaWRhdGVEZXB0aFN0ZW5j
aWwoY29uc3QgY2hhciogcGFja2VkRGVwdGhTdGVuY2lsRXh0ZW5zaW9uKQogewogICAgIEV4dGVu
c2lvbnMzRCYgZXh0ZW5zaW9ucyA9IGdldEV4dGVuc2lvbnMoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>346308</attachid>
            <date>2018-08-01 15:55:10 -0700</date>
            <delta_ts>2018-08-01 15:55:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133745-20180802085508.patch</filename>
            <type>text/plain</type>
            <size>12953</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM0MzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODE3MzZkODcyOGJkZWVk
MjUxNjAyMGJkZTM2ODU1YmE3MDZlNmRlMC4uM2E2MzUwMTg4ZTM5ODQyYTgyMmVlZDZmMGI4NTIz
ZDI2ZGE4M2ExZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE4LTA3LTMwICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICB1c2UgT3BlbkdMIEVTIDMgYXMg
YmFja2VuZCBmb3IgV2ViR0wKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEzMzc0NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAgICogaHRtbC9jYW52YXMv
V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlOjppbml0aWFsaXplTmV3Q29udGV4dCk6CisgICAgICAgIChXZWJD
b3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpzZXR1cEZsYWdzKToKKyAgICAgICAgKFdl
YkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnZhbGlkYXRlTlBPVFRleHR1cmVMZXZl
bCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpkcmF3QXJy
YXlzKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmRyYXdF
bGVtZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpj
b3B5VGV4SW1hZ2UyRCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRC
YXNlOjpkcmF3QXJyYXlzSW5zdGFuY2VkKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2U6OmRyYXdFbGVtZW50c0luc3RhbmNlZCk6CisgICAgICAgICogaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
R0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6aXNHTEVTMkNvbXBsaWFudCBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpyZXF1aXJlc1N0cmljdEdMRVMy
TlBPVFZhbGlkYXRpb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZTo6aXNEZXB0aFN0ZW5jaWxTdXBwb3J0ZWQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6aXNHTEVTMkNvbXBsaWFudCk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjppc0dMRVMy
TlBPVFN0cmljdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0Nv
bnRleHRCYXNlOjppc0RlcHRoU3RlbmNpbFN1cHBvcnRlZCk6IERlbGV0ZWQuCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRleHQzRENvY29hLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OkdyYXBoaWNzQ29udGV4dDNEKToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjpyZXF1aXJlc1N0cmljdEdMRVMyTlBPVFZhbGlkYXRp
b24pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQz
RE9wZW5HTC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6cmVuZGVy
YnVmZmVyU3RvcmFnZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBo
aWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dDNEOjpyZXF1aXJlc1N0cmljdEdMRVMyTlBPVFZhbGlkYXRpb24pOgorCiAyMDE4LTA3
LTI3ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAg
W1dJTl0gQ3Jhc2ggd2hlbiB0cnlpbmcgdG8gYWNjZXNzIHN0b3JlIHBhZ2VzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2Uu
Y3BwCmluZGV4IDE5MTgxZTQ0YzEzMzVjOGUyOGJhYWEzZjA4OWI3MWJmZDI0ZWVlM2YuLjNiYWVk
NjQzOWM1NTYxZGJjY2ViM2Q2NmE3NTc3NjdmZmUyZDE2NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwCkBA
IC03ODksNyArNzg5LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjppbml0aWFs
aXplTmV3Q29udGV4dCgpCiAgICAgCiAgICAgbV92ZXJ0ZXhBdHRyaWJWYWx1ZS5yZXNpemUobV9t
YXhWZXJ0ZXhBdHRyaWJzKTsKIAotICAgIGlmICghaXNHTEVTMk5QT1RTdHJpY3QoKSkKKyAgICBp
ZiAocmVxdWlyZXNTdHJpY3RHTEVTMk5QT1RWYWxpZGF0aW9uKCkpCiAgICAgICAgIGNyZWF0ZUZh
bGxiYWNrQmxhY2tUZXh0dXJlczF4MSgpOwogCiAgICAgSW50U2l6ZSBjYW52YXNTaXplID0gY2xh
bXBlZENhbnZhc1NpemUoKTsKQEAgLTgxMiwxMyArODEyLDExIEBAIHZvaWQgV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZTo6c2V0dXBGbGFncygpCiAgICAgfQogCiAgICAgbV9pc0dMRVMyQ29tcGxp
YW50ID0gbV9jb250ZXh0LT5pc0dMRVMyQ29tcGxpYW50KCk7Ci0gICAgaWYgKG1faXNHTEVTMkNv
bXBsaWFudCkgewotICAgICAgICBtX2lzR0xFUzJOUE9UU3RyaWN0ID0gIW1fY29udGV4dC0+Z2V0
RXh0ZW5zaW9ucygpLmlzRW5hYmxlZCgiR0xfT0VTX3RleHR1cmVfbnBvdCIpOworICAgIG1fcmVx
dWlyZXNTdHJpY3RHTEVTMk5QT1RWYWxpZGF0aW9uID0gbV9jb250ZXh0LT5yZXF1aXJlc1N0cmlj
dEdMRVMyTlBPVFZhbGlkYXRpb24oKTsKKyAgICBpZiAobV9pc0dMRVMyQ29tcGxpYW50KQogICAg
ICAgICBtX2lzRGVwdGhTdGVuY2lsU3VwcG9ydGVkID0gbV9jb250ZXh0LT5nZXRFeHRlbnNpb25z
KCkuaXNFbmFibGVkKCJHTF9PRVNfcGFja2VkX2RlcHRoX3N0ZW5jaWwiKTsKLSAgICB9IGVsc2Ug
ewotICAgICAgICBtX2lzR0xFUzJOUE9UU3RyaWN0ID0gIW1fY29udGV4dC0+Z2V0RXh0ZW5zaW9u
cygpLmlzRW5hYmxlZCgiR0xfQVJCX3RleHR1cmVfbm9uX3Bvd2VyX29mX3R3byIpOworICAgIGVs
c2UKICAgICAgICAgbV9pc0RlcHRoU3RlbmNpbFN1cHBvcnRlZCA9IG1fY29udGV4dC0+Z2V0RXh0
ZW5zaW9ucygpLmlzRW5hYmxlZCgiR0xfRVhUX3BhY2tlZF9kZXB0aF9zdGVuY2lsIik7Ci0gICAg
fQogICAgIG1faXNSb2J1c3RuZXNzRVhUU3VwcG9ydGVkID0gbV9jb250ZXh0LT5nZXRFeHRlbnNp
b25zKCkuaXNFbmFibGVkKCJHTF9FWFRfcm9idXN0bmVzcyIpOwogfQogCkBAIC0xOTExLDcgKzE5
MDksNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmRpc2FibGVWZXJ0ZXhBdHRy
aWJBcnJheShHQzNEdWludCBpbmRleCkKIAogYm9vbCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
Ojp2YWxpZGF0ZU5QT1RUZXh0dXJlTGV2ZWwoR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVp
Z2h0LCBHQzNEaW50IGxldmVsLCBjb25zdCBjaGFyKiBmdW5jdGlvbk5hbWUpCiB7Ci0gICAgaWYg
KCFpc0dMRVMyTlBPVFN0cmljdCgpICYmIGxldmVsICYmIFdlYkdMVGV4dHVyZTo6aXNOUE9UKHdp
ZHRoLCBoZWlnaHQpKSB7CisgICAgaWYgKHJlcXVpcmVzU3RyaWN0R0xFUzJOUE9UVmFsaWRhdGlv
bigpICYmIGxldmVsICYmIFdlYkdMVGV4dHVyZTo6aXNOUE9UKHdpZHRoLCBoZWlnaHQpKSB7CiAg
ICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX1ZBTFVF
LCBmdW5jdGlvbk5hbWUsICJsZXZlbCA+IDAgbm90IHBvd2VyIG9mIDIiKTsKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIH0KQEAgLTIyNDQsNyArMjI0Miw3IEBAIHZvaWQgV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZTo6ZHJhd0FycmF5cyhHQzNEZW51bSBtb2RlLCBHQzNEaW50IGZpcnN0LCBH
QzNEc2l6CiAgICAgICAgIHZlcnRleEF0dHJpYjBTaW11bGF0ZWQgPSBzaW11bGF0ZVZlcnRleEF0
dHJpYjBTdGF0dXMudmFsdWUoKTsKICAgICB9CiAgICAgYm9vbCB1c2VzRmFsbGJhY2tUZXh0dXJl
ID0gZmFsc2U7Ci0gICAgaWYgKCFpc0dMRVMyTlBPVFN0cmljdCgpKQorICAgIGlmIChyZXF1aXJl
c1N0cmljdEdMRVMyTlBPVFZhbGlkYXRpb24oKSkKICAgICAgICAgdXNlc0ZhbGxiYWNrVGV4dHVy
ZSA9IGNoZWNrVGV4dHVyZUNvbXBsZXRlbmVzcygiZHJhd0FycmF5cyIsIHRydWUpOwogCiAgICAg
ewpAQCAtMjI4NSw3ICsyMjgzLDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpk
cmF3RWxlbWVudHMoR0MzRGVudW0gbW9kZSwgR0MzRHNpemVpIGNvdW50LCBHQzMKICAgICB9CiAK
ICAgICBib29sIHVzZXNGYWxsYmFja1RleHR1cmUgPSBmYWxzZTsKLSAgICBpZiAoIWlzR0xFUzJO
UE9UU3RyaWN0KCkpCisgICAgaWYgKHJlcXVpcmVzU3RyaWN0R0xFUzJOUE9UVmFsaWRhdGlvbigp
KQogICAgICAgICB1c2VzRmFsbGJhY2tUZXh0dXJlID0gY2hlY2tUZXh0dXJlQ29tcGxldGVuZXNz
KCJkcmF3RWxlbWVudHMiLCB0cnVlKTsKIAogICAgIHsKQEAgLTQzMzcsNyArNDMzNSw3IEBAIHZv
aWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Y29weVRleEltYWdlMkQoR0MzRGVudW0gdGFy
Z2V0LCBHQzNEaW50IGxldmVsLCBHCiAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNz
Q29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTiwgImNvcHlUZXhJbWFnZTJEIiwgImZyYW1lYnVm
ZmVyIGlzIGluY29tcGF0aWJsZSBmb3JtYXQiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAg
ICBpZiAoIWlzR0xFUzJOUE9UU3RyaWN0KCkgJiYgbGV2ZWwgJiYgV2ViR0xUZXh0dXJlOjppc05Q
T1Qod2lkdGgsIGhlaWdodCkpIHsKKyAgICBpZiAocmVxdWlyZXNTdHJpY3RHTEVTMk5QT1RWYWxp
ZGF0aW9uKCkgJiYgbGV2ZWwgJiYgV2ViR0xUZXh0dXJlOjppc05QT1Qod2lkdGgsIGhlaWdodCkp
IHsKICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURf
VkFMVUUsICJjb3B5VGV4SW1hZ2UyRCIsICJsZXZlbCA+IDAgbm90IHBvd2VyIG9mIDIiKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTYyOTUsMTQgKzYyOTMsMTQgQEAgdm9pZCBXZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlOjpkcmF3QXJyYXlzSW5zdGFuY2VkKEdDM0RlbnVtIG1vZGUsIEdD
M0RpbnQgZmlyc3QKICAgICAgICAgfQogICAgICAgICB2ZXJ0ZXhBdHRyaWIwU2ltdWxhdGVkID0g
c2ltdWxhdGVWZXJ0ZXhBdHRyaWIwU3RhdHVzLnZhbHVlKCk7CiAgICAgfQotICAgIGlmICghaXNH
TEVTMk5QT1RTdHJpY3QoKSkKKyAgICBpZiAocmVxdWlyZXNTdHJpY3RHTEVTMk5QT1RWYWxpZGF0
aW9uKCkpCiAgICAgICAgIGNoZWNrVGV4dHVyZUNvbXBsZXRlbmVzcygiZHJhd0FycmF5c0luc3Rh
bmNlZCIsIHRydWUpOwogCiAgICAgbV9jb250ZXh0LT5kcmF3QXJyYXlzSW5zdGFuY2VkKG1vZGUs
IGZpcnN0LCBjb3VudCwgcHJpbWNvdW50KTsKIAogICAgIGlmICghaXNHTEVTMkNvbXBsaWFudCgp
ICYmIHZlcnRleEF0dHJpYjBTaW11bGF0ZWQpCiAgICAgICAgIHJlc3RvcmVTdGF0ZXNBZnRlclZl
cnRleEF0dHJpYjBTaW11bGF0aW9uKCk7Ci0gICAgaWYgKCFpc0dMRVMyTlBPVFN0cmljdCgpKQor
ICAgIGlmIChyZXF1aXJlc1N0cmljdEdMRVMyTlBPVFZhbGlkYXRpb24oKSkKICAgICAgICAgY2hl
Y2tUZXh0dXJlQ29tcGxldGVuZXNzKCJkcmF3QXJyYXlzSW5zdGFuY2VkIiwgZmFsc2UpOwogICAg
IG1hcmtDb250ZXh0Q2hhbmdlZEFuZE5vdGlmeUNhbnZhc09ic2VydmVyKCk7CiB9CkBAIC02MzMy
LDE0ICs2MzMwLDE0IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6ZHJhd0VsZW1l
bnRzSW5zdGFuY2VkKEdDM0RlbnVtIG1vZGUsIEdDM0RzaXplaSBjCiAgICAgICAgIH0KICAgICAg
ICAgdmVydGV4QXR0cmliMFNpbXVsYXRlZCA9IHNpbXVsYXRlVmVydGV4QXR0cmliMFN0YXR1cy52
YWx1ZSgpOwogICAgIH0KLSAgICBpZiAoIWlzR0xFUzJOUE9UU3RyaWN0KCkpCisgICAgaWYgKHJl
cXVpcmVzU3RyaWN0R0xFUzJOUE9UVmFsaWRhdGlvbigpKQogICAgICAgICBjaGVja1RleHR1cmVD
b21wbGV0ZW5lc3MoImRyYXdFbGVtZW50c0luc3RhbmNlZCIsIHRydWUpOwogCiAgICAgbV9jb250
ZXh0LT5kcmF3RWxlbWVudHNJbnN0YW5jZWQobW9kZSwgY291bnQsIHR5cGUsIHN0YXRpY19jYXN0
PEdDM0RpbnRwdHI+KG9mZnNldCksIHByaW1jb3VudCk7CiAKICAgICBpZiAoIWlzR0xFUzJDb21w
bGlhbnQoKSAmJiB2ZXJ0ZXhBdHRyaWIwU2ltdWxhdGVkKQogICAgICAgICByZXN0b3JlU3RhdGVz
QWZ0ZXJWZXJ0ZXhBdHRyaWIwU2ltdWxhdGlvbigpOwotICAgIGlmICghaXNHTEVTMk5QT1RTdHJp
Y3QoKSkKKyAgICBpZiAocmVxdWlyZXNTdHJpY3RHTEVTMk5QT1RWYWxpZGF0aW9uKCkpCiAgICAg
ICAgIGNoZWNrVGV4dHVyZUNvbXBsZXRlbmVzcygiZHJhd0VsZW1lbnRzSW5zdGFuY2VkIiwgZmFs
c2UpOwogICAgIG1hcmtDb250ZXh0Q2hhbmdlZEFuZE5vdGlmeUNhbnZhc09ic2VydmVyKCk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0Nv
bnRleHRCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0Nv
bnRleHRCYXNlLmgKaW5kZXggNzFiMGQ1NDNjMjI5NDI5OGU0YzkwZTQyZTM2ZjZjMWQ4NWM4MWQ4
NC4uMjg2NzdmYzI1OWM4MDk0MDk4MmE2MWJmOGRmNWRjYmNiZDZmZGU3YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2Uu
aApAQCAtMzk4LDExICszOTgsMTEgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgcmVtb3ZlQWN0aXZp
dHlTdGF0ZUNoYW5nZU9ic2VydmVyKCk7CiAKICAgICAvLyBRdWVyeSB3aGV0aGVyIGl0IGlzIGJ1
aWx0IG9uIHRvcCBvZiBjb21wbGlhbnQgR0xFUzIgaW1wbGVtZW50YXRpb24uCi0gICAgYm9vbCBp
c0dMRVMyQ29tcGxpYW50KCkgeyByZXR1cm4gbV9pc0dMRVMyQ29tcGxpYW50OyB9CisgICAgYm9v
bCBpc0dMRVMyQ29tcGxpYW50KCkgY29uc3QgeyByZXR1cm4gbV9pc0dMRVMyQ29tcGxpYW50OyB9
CiAgICAgLy8gUXVlcnkgaWYgdGhlIEdMIGltcGxlbWVudGF0aW9uIGlzIE5QT1Qgc3RyaWN0Lgot
ICAgIGJvb2wgaXNHTEVTMk5QT1RTdHJpY3QoKSB7IHJldHVybiBtX2lzR0xFUzJOUE9UU3RyaWN0
OyB9CisgICAgYm9vbCByZXF1aXJlc1N0cmljdEdMRVMyTlBPVFZhbGlkYXRpb24oKSBjb25zdCB7
IHJldHVybiBtX3JlcXVpcmVzU3RyaWN0R0xFUzJOUE9UVmFsaWRhdGlvbjsgfQogICAgIC8vIFF1
ZXJ5IGlmIGRlcHRoX3N0ZW5jaWwgYnVmZmVyIGlzIHN1cHBvcnRlZC4KLSAgICBib29sIGlzRGVw
dGhTdGVuY2lsU3VwcG9ydGVkKCkgeyByZXR1cm4gbV9pc0RlcHRoU3RlbmNpbFN1cHBvcnRlZDsg
fQorICAgIGJvb2wgaXNEZXB0aFN0ZW5jaWxTdXBwb3J0ZWQoKSBjb25zdCB7IHJldHVybiBtX2lz
RGVwdGhTdGVuY2lsU3VwcG9ydGVkOyB9CiAKICAgICAvLyBIZWxwZXIgdG8gcmV0dXJuIHRoZSBz
aXplIGluIGJ5dGVzIG9mIE9wZW5HTCBkYXRhIHR5cGVzCiAgICAgLy8gbGlrZSBHTF9GTE9BVCwg
R0xfSU5ULCBldGMuCkBAIC01NjAsNyArNTYwLDcgQEAgcHJvdGVjdGVkOgogICAgIEdDM0R1aW50
IG1fc3RlbmNpbEZ1bmNNYXNrLCBtX3N0ZW5jaWxGdW5jTWFza0JhY2s7CiAKICAgICBib29sIG1f
aXNHTEVTMkNvbXBsaWFudDsKLSAgICBib29sIG1faXNHTEVTMk5QT1RTdHJpY3Q7CisgICAgYm9v
bCBtX3JlcXVpcmVzU3RyaWN0R0xFUzJOUE9UVmFsaWRhdGlvbjsKICAgICBib29sIG1faXNEZXB0
aFN0ZW5jaWxTdXBwb3J0ZWQ7CiAgICAgYm9vbCBtX2lzUm9idXN0bmVzc0VYVFN1cHBvcnRlZDsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3ND
b250ZXh0M0QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29u
dGV4dDNELmgKaW5kZXggNDMwOGFjZjE0MjUyMmFiOWRhMzAwNjFjN2E4MzY1YjZhMjkwZmVlNy4u
NmQwZTE5MGM0YWEyZDMzNzc0ODI0OTI0Y2U2MWUyNWZhNDI0NjA0NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCkBAIC03
NTUsNiArNzU1LDggQEAgcHVibGljOgogICAgIFBsYXRmb3JtTGF5ZXIqIHBsYXRmb3JtTGF5ZXIo
KSBjb25zdDsKICNlbmRpZgogCisgICAgYm9vbCByZXF1aXJlc1N0cmljdEdMRVMyTlBPVFZhbGlk
YXRpb24oKTsKKwogICAgIGJvb2wgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgdm9pZCBzZXRX
ZWJHTENvbnRleHQoV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZSogYmFzZSkgeyBtX3dlYmdsQ29u
dGV4dCA9IGJhc2U7IH0KIApAQCAtNzc2LDYgKzc3OCw3IEBAIHB1YmxpYzoKICAgICBib29sIHRl
eEltYWdlMkRSZXNvdXJjZVNhZmUoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNE
ZW51bSBpbnRlcm5hbGZvcm1hdCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBH
QzNEaW50IGJvcmRlciwgR0MzRGVudW0gZm9ybWF0LCBHQzNEZW51bSB0eXBlLCBHQzNEaW50IGFs
aWdubWVudCA9IDQpOwogCiAgICAgYm9vbCBpc0dMRVMyQ29tcGxpYW50KCkgY29uc3Q7CisgICAg
Ym9vbCBpc0ZvcldlYkdMMigpIGNvbnN0IHsgcmV0dXJuIG1faXNGb3JXZWJHTDI7IH0KIAogICAg
IC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQogICAgIC8vIEhlbHBlcnMgZm9yIHRleHR1cmUgdXBsb2FkaW5nIGFu
ZCBwaXhlbCByZWFkYmFjay4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dDNEQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRleHQzRENvY29hLm1tCmluZGV4IDk1
OTkxOWRiYTUwMWEzYzc4M2MwMzViM2FhMGYwZTI1MGI2NDJjMjQuLmU3NTYxMmNhY2VkNzU2ZDhl
ZDQxMjQ5MDI4MDU5OWJiZjU5ZGIyY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dDNEQ29jb2EubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0M0RDb2NvYS5t
bQpAQCAtMjE4LDcgKzIxOCw4IEBAIEdyYXBoaWNzQ29udGV4dDNEOjpHcmFwaGljc0NvbnRleHQz
RChHcmFwaGljc0NvbnRleHQzREF0dHJpYnV0ZXMgYXR0cnMsIEhvc3RXaW5kCiB7CiAjaWYgVVNF
KE9QRU5HTF9FUykKICAgICBVTlVTRURfUEFSQU0oaG9zdFdpbmRvdyk7Ci0gICAgRUFHTFJlbmRl
cmluZ0FQSSBhcGkgPSBtX2F0dHJzLnVzZUdMRVMzID8ga0VBR0xSZW5kZXJpbmdBUElPcGVuR0xF
UzMgOiBrRUFHTFJlbmRlcmluZ0FQSU9wZW5HTEVTMjsKKy8vICAgIEVBR0xSZW5kZXJpbmdBUEkg
YXBpID0gbV9hdHRycy51c2VHTEVTMyA/IGtFQUdMUmVuZGVyaW5nQVBJT3BlbkdMRVMzIDoga0VB
R0xSZW5kZXJpbmdBUElPcGVuR0xFUzI7CisgICAgRUFHTFJlbmRlcmluZ0FQSSBhcGkgPSBrRUFH
TFJlbmRlcmluZ0FQSU9wZW5HTEVTMzsKICAgICBpZiAoIXNoYXJlZENvbnRleHQpCiAgICAgICAg
IG1fY29udGV4dE9iaiA9IFtbRUFHTENvbnRleHQgYWxsb2NdIGluaXRXaXRoQVBJOmFwaV07CiAg
ICAgZWxzZQpAQCAtNDkxLDYgKzQ5MiwxNiBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjpjaGVj
a0dQVVN0YXR1cygpCiAjZW5kaWYKIH0KIAorYm9vbCBHcmFwaGljc0NvbnRleHQzRDo6cmVxdWly
ZXNTdHJpY3RHTEVTMk5QT1RWYWxpZGF0aW9uKCkKK3sKKyNpZiBVU0UoT1BFTkdMX0VTKQorICAg
IC8vIFdlJ3JlIHVzaW5nIGFuIE9wZW5HTCBFUyAzLjAgY29udGV4dCwgd2hpY2ggYWNjZXB0cyBt
b3JlIE5QT1QgdGV4dHVyZXMuCisgICAgcmV0dXJuIHRydWU7CisjZWxzZQorICAgIHJldHVybiAh
Z2V0RXh0ZW5zaW9ucygpLmlzRW5hYmxlZCgiR0xfQVJCX3RleHR1cmVfbm9uX3Bvd2VyX29mX3R3
byIpOworI2VuZGlmCit9CisKICNpZiBVU0UoT1BFTkdMX0VTKQogdm9pZCBHcmFwaGljc0NvbnRl
eHQzRDo6cHJlc2VudFJlbmRlcmJ1ZmZlcigpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNE
T3BlbkdMLmNwcAppbmRleCBhNmZmZmQwMTI4MGZlNmNmZTcxNTAyYjgyODhjZWE5ZThmNTg2YmFm
Li44NTAxMDk3OWNiYTVkMWIzZmI0MzA4ODAwMWY3ZTc3OTQzNGQ3OGJhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RP
cGVuR0wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9H
cmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHAKQEAgLTI5MCw2ICsyOTAsMjcgQEAgdm9pZCBHcmFw
aGljc0NvbnRleHQzRDo6cmVuZGVyYnVmZmVyU3RvcmFnZShHQzNEZW51bSB0YXJnZXQsIEdDM0Rl
bnVtIGludGVybmFsZm8KICAgICAgICAgaW50ZXJuYWxmb3JtYXQgPSBHTF9SR0I7CiAgICAgICAg
IGJyZWFrOwogICAgIH0KKyNlbmRpZgorI2lmIFVTRShPUEVOR0xfRVMpCisgICAgLy8gQXNzdW1l
IHdlJ3JlIGJhY2tlZCBieSBhbiBPcGVuR0wgRVMgMy4wIGNvbnRleHQsIHNvIHdlIGhhdmUgdG8g
dXBncmFkZSBzb21lIG9mIHRoZQorICAgIC8vIFdlYkdMIDEgZm9ybWF0cy4KKyAgICBpZiAoIWlz
Rm9yV2ViR0wyKCkpIHsKKyAgICAgICAgc3dpdGNoIChpbnRlcm5hbGZvcm1hdCkgeworICAgICAg
ICBjYXNlIERFUFRIX1NURU5DSUw6CisgICAgICAgICAgICBpbnRlcm5hbGZvcm1hdCA9IEdMX0RF
UFRIMjRfU1RFTkNJTDg7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBERVBUSF9D
T01QT05FTlQxNjoKKyAgICAgICAgICAgIGludGVybmFsZm9ybWF0ID0gR0xfREVQVEhfQ09NUE9O
RU5UMTY7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBSR0JBNDoKKyAgICAgICAg
Y2FzZSBSR0I1X0ExOgorICAgICAgICAgICAgaW50ZXJuYWxmb3JtYXQgPSBHTF9SR0JBODsKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFJHQjU2NToKKyAgICAgICAgICAgIGludGVy
bmFsZm9ybWF0ID0gR0xfUkdCODsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAg
fQogI2VuZGlmCiAgICAgOjpnbFJlbmRlcmJ1ZmZlclN0b3JhZ2VFWFQodGFyZ2V0LCBpbnRlcm5h
bGZvcm1hdCwgd2lkdGgsIGhlaWdodCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0xDb21tb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4
dDNET3BlbkdMQ29tbW9uLmNwcAppbmRleCAzNDM3OTUyMDAzZWE3NWJlOTIyYWY2ZjQ5ZGZiZWZh
YTc5NTc4YTEzLi41NjM4NTk2OTQxYmQxMzE2ZjUyN2YxOTE5MjBhNWQwYTY4YWY4N2M2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3ND
b250ZXh0M0RPcGVuR0xDb21tb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTENvbW1vbi5jcHAKQEAgLTEzOSw2
ICsxMzksMTYgQEAgc3RhdGljIHVpbnQ2NF90IG5hbWVIYXNoRm9yU2hhZGVyKGNvbnN0IGNoYXIq
IG5hbWUsIHNpemVfdCBsZW5ndGgpCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorI2lmICFQTEFU
Rk9STShDT0NPQSkKK2Jvb2wgR3JhcGhpY3NDb250ZXh0M0Q6OnJlcXVpcmVzU3RyaWN0R0xFUzJO
UE9UVmFsaWRhdGlvbigpCit7CisgICAgaWYgKGlzR0xFUzJDb21wbGlhbnQoKSkKKyAgICAgICAg
cmV0dXJuICFnZXRFeHRlbnNpb25zKCkuaXNFbmFibGVkKCJHTF9PRVNfdGV4dHVyZV9ucG90Iik7
CisgICAgZWxzZQorICAgICAgICByZXR1cm4gIWdldEV4dGVuc2lvbnMoKS5pc0VuYWJsZWQoIkdM
X0FSQl90ZXh0dXJlX25vbl9wb3dlcl9vZl90d28iKTsKK30KKyNlbmRpZgorCiB2b2lkIEdyYXBo
aWNzQ29udGV4dDNEOjp2YWxpZGF0ZURlcHRoU3RlbmNpbChjb25zdCBjaGFyKiBwYWNrZWREZXB0
aFN0ZW5jaWxFeHRlbnNpb24pCiB7CiAgICAgRXh0ZW5zaW9uczNEJiBleHRlbnNpb25zID0gZ2V0
RXh0ZW5zaW9ucygpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>