<?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>160455</bug_id>
          
          <creation_ts>2016-08-02 10:14:59 -0700</creation_ts>
          <short_desc>[WebIDL] Extend new overload resolution algorithm support to constructors</short_desc>
          <delta_ts>2016-08-02 14:45:53 -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>Bindings</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>160394</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ggaren</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1216518</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-08-02 10:14:59 -0700</bug_when>
    <thetext>Extend new overload resolution algorithm support to constructors as well. It is currently only used for operations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1216576</commentid>
    <comment_count>1</comment_count>
      <attachid>285129</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-08-02 13:18:27 -0700</bug_when>
    <thetext>Created attachment 285129
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1216591</commentid>
    <comment_count>2</comment_count>
      <attachid>285134</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-08-02 13:43:51 -0700</bug_when>
    <thetext>Created attachment 285134
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1216608</commentid>
    <comment_count>3</comment_count>
      <attachid>285134</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-08-02 14:45:47 -0700</bug_when>
    <thetext>Comment on attachment 285134
Patch

Clearing flags on attachment: 285134

Committed r204043: &lt;http://trac.webkit.org/changeset/204043&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1216609</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-08-02 14:45:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285129</attachid>
            <date>2016-08-02 13:18:27 -0700</date>
            <delta_ts>2016-08-02 13:41:11 -0700</delta_ts>
            <desc>WIP Patch</desc>
            <filename>160455_constructors_overload_WIP.patch</filename>
            <type>text/plain</type>
            <size>15084</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ci5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQpp
bmRleCBmMGNiMDg5Li4yZjVhYTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCkBAIC02MTQsNiArNjE0LDEzIEBAIHN1YiBMaW5rT3Zl
cmxvYWRlZEZ1bmN0aW9ucwogICAgICAgICAkZnVuY3Rpb24tPntvdmVybG9hZHN9ID0gJG5hbWVU
b0Z1bmN0aW9uc01hcHskbmFtZX07CiAgICAgICAgICRmdW5jdGlvbi0+e292ZXJsb2FkSW5kZXh9
ID0gQHskbmFtZVRvRnVuY3Rpb25zTWFweyRuYW1lfX07CiAgICAgfQorCisgICAgbXkgJGluZGV4
ID0gMTsKKyAgICBmb3JlYWNoIG15ICRjb25zdHJ1Y3RvciAoQHskaW50ZXJmYWNlLT5jb25zdHJ1
Y3RvcnN9KSB7CisgICAgICAgICRjb25zdHJ1Y3Rvci0+e292ZXJsb2Fkc30gPSAkaW50ZXJmYWNl
LT5jb25zdHJ1Y3RvcnM7CisgICAgICAgICRjb25zdHJ1Y3Rvci0+e292ZXJsb2FkSW5kZXh9ID0g
JGluZGV4OworICAgICAgICAkaW5kZXgrKzsKKyAgICB9CiB9CiAKIHN1YiBBdHRyaWJ1dGVOYW1l
Rm9yR2V0dGVyQW5kU2V0dGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IDMwNDdlMWMuLjMzOTRiOTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0x
NzgyLDE0ICsxNzgyLDIwIEBAIHN1YiBHZXRPdmVybG9hZFRoYXRNYXRjaGVzCiAKICMgSW1wbGVt
ZW50cyB0aGUgb3ZlcmxvYWQgcmVzb2x1dGlvbiBhbGdvcml0aG0sIGFzIGRlZmluZWQgaW4gdGhl
IFdlYiBJREwgc3BlY2lmaWNhdGlvbjoKICMgaHR0cDovL2hleWNhbS5naXRodWIuaW8vd2ViaWRs
LyNlcy1vdmVybG9hZHMKLXN1YiBHZW5lcmF0ZU92ZXJsb2FkZWRGdW5jdGlvbgorc3ViIEdlbmVy
YXRlT3ZlcmxvYWRlZEZ1bmN0aW9uT3JDb25zdHJ1Y3RvcgogewotICAgIG15ICgkZnVuY3Rpb24s
ICRpbnRlcmZhY2UpID0gQF87CisgICAgbXkgKCRmdW5jdGlvbiwgJGludGVyZmFjZSwgJGlzQ29u
c3RydWN0b3IpID0gQF87CiAgICAgbXkgJWFsbFNldHMgPSBDb21wdXRlRWZmZWN0aXZlT3Zlcmxv
YWRTZXQoJGZ1bmN0aW9uLT57b3ZlcmxvYWRzfSk7CiAKLSAgICBteSAka2luZCA9ICRmdW5jdGlv
bi0+aXNTdGF0aWMgPyAiQ29uc3RydWN0b3IiIDogKE9wZXJhdGlvblNob3VsZEJlT25JbnN0YW5j
ZSgkaW50ZXJmYWNlLCAkZnVuY3Rpb24pID8gIkluc3RhbmNlIiA6ICJQcm90b3R5cGUiKTsKICAg
ICBteSAkaW50ZXJmYWNlTmFtZSA9ICRpbnRlcmZhY2UtPm5hbWU7Ci0gICAgbXkgJGZ1bmN0aW9u
TmFtZSA9ICJqcyR7aW50ZXJmYWNlTmFtZX0ke2tpbmR9RnVuY3Rpb24iIC4gJGNvZGVHZW5lcmF0
b3ItPldLX3VjZmlyc3QoJGZ1bmN0aW9uLT5zaWduYXR1cmUtPm5hbWUpOworICAgIG15ICRjbGFz
c05hbWUgPSAiSlMkaW50ZXJmYWNlTmFtZSI7CisgICAgbXkgJGZ1bmN0aW9uTmFtZTsKKyAgICBp
ZiAoJGlzQ29uc3RydWN0b3IpIHsKKyAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICJjb25zdHJ1Y3Qk
e2NsYXNzTmFtZX0iOworICAgIH0gZWxzZSB7CisgICAgICAgIG15ICRraW5kID0gJGZ1bmN0aW9u
LT5pc1N0YXRpYyA/ICJDb25zdHJ1Y3RvciIgOiAoT3BlcmF0aW9uU2hvdWxkQmVPbkluc3RhbmNl
KCRpbnRlcmZhY2UsICRmdW5jdGlvbikgPyAiSW5zdGFuY2UiIDogIlByb3RvdHlwZSIpOworICAg
ICAgICAkZnVuY3Rpb25OYW1lID0gImpzJHtpbnRlcmZhY2VOYW1lfSR7a2luZH1GdW5jdGlvbiIg
LiAkY29kZUdlbmVyYXRvci0+V0tfdWNmaXJzdCgkZnVuY3Rpb24tPnNpZ25hdHVyZS0+bmFtZSk7
CisgICAgfQogCiAgICAgbXkgJGdlbmVyYXRlT3ZlcmxvYWRDYWxsSWZOZWNlc3NhcnkgPSBzdWIg
ewogICAgICAgICBteSAoJG92ZXJsb2FkLCAkY29uZGl0aW9uKSA9IEBfOwpAQCAtMTg1OSw4ICsx
ODY1LDEyIEBAIHN1YiBHZW5lcmF0ZU92ZXJsb2FkZWRGdW5jdGlvbgogCiAgICAgbXkgJG1heEFy
Z0NvdW50ID0gTGVuZ3RoT2ZMb25nZXN0RnVuY3Rpb25QYXJhbWV0ZXJMaXN0KCRmdW5jdGlvbi0+
e292ZXJsb2Fkc30pOwogCisgICAgaWYgKCRpc0NvbnN0cnVjdG9yKSB7CisgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAidGVtcGxhdGU8PiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMICR7
Y2xhc3NOYW1lfUNvbnN0cnVjdG9yOjpjb25zdHJ1Y3QoRXhlY1N0YXRlKiBzdGF0ZSlcbiIpOwor
ICAgIH0gZWxzZSB7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCAke2Z1bmN0aW9uTmFtZX0oRXhlY1N0YXRlKiBzdGF0ZSlcbiIpOworICAg
IH0KICAgICBwdXNoKEBpbXBsQ29udGVudCwgPDxFTkQpOyAgICAKLUVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgJHtmdW5jdGlvbk5hbWV9KEV4ZWNTdGF0ZSogc3RhdGUpCiB7CiAgICAgc2l6
ZV90IGFyZ3NDb3VudCA9IHN0ZDo6bWluPHNpemVfdD4oJG1heEFyZ0NvdW50LCBzdGF0ZS0+YXJn
dW1lbnRDb3VudCgpKTsKIEVORApAQCAtMTk0Miw1NiArMTk1Miw2IEBAIEVORAogICAgIHB1c2go
QGltcGxDb250ZW50LCAifVxuXG4iKTsKIH0KIAotc3ViIEdlbmVyYXRlUGFyYW1ldGVyc0NoZWNr
RXhwcmVzc2lvbgotewotICAgIG15ICRudW1QYXJhbWV0ZXJzID0gc2hpZnQ7Ci0gICAgbXkgJGZ1
bmN0aW9uID0gc2hpZnQ7Ci0KLSAgICBteSBAYW5kRXhwcmVzc2lvbiA9ICgpOwotICAgIHB1c2go
QGFuZEV4cHJlc3Npb24sICJhcmdzQ291bnQgPT0gJG51bVBhcmFtZXRlcnMiKTsKLSAgICBteSAk
cGFyYW1ldGVySW5kZXggPSAwOwotICAgIG15ICV1c2VkQXJndW1lbnRzID0gKCk7Ci0gICAgZm9y
ZWFjaCBteSAkcGFyYW1ldGVyIChAeyRmdW5jdGlvbi0+cGFyYW1ldGVyc30pIHsKLSAgICAgICAg
bGFzdCBpZiAkcGFyYW1ldGVySW5kZXggPj0gJG51bVBhcmFtZXRlcnM7Ci0gICAgICAgIG15ICR2
YWx1ZSA9ICJhcmckcGFyYW1ldGVySW5kZXgiOwotICAgICAgICBteSAkdHlwZSA9ICRwYXJhbWV0
ZXItPnR5cGU7Ci0KLSAgICAgICAgaWYgKCRjb2RlR2VuZXJhdG9yLT5Jc0NhbGxiYWNrSW50ZXJm
YWNlKCRwYXJhbWV0ZXItPnR5cGUpKSB7Ci0gICAgICAgICAgICAjIEZvciBDYWxsYmFja3Mgb25s
eSBjaGVja3MgaWYgdGhlIHZhbHVlIGlzIG51bGwgb3Igb2JqZWN0LgotICAgICAgICAgICAgaWYg
KCRjb2RlR2VuZXJhdG9yLT5Jc0Z1bmN0aW9uT25seUNhbGxiYWNrSW50ZXJmYWNlKCRwYXJhbWV0
ZXItPnR5cGUpKSB7Ci0gICAgICAgICAgICAgICAgcHVzaChAYW5kRXhwcmVzc2lvbiwgIigke3Zh
bHVlfS5pc051bGwoKSB8fCAke3ZhbHVlfS5pc0Z1bmN0aW9uKCkpIik7Ci0gICAgICAgICAgICB9
IGVsc2UgewotICAgICAgICAgICAgICAgIHB1c2goQGFuZEV4cHJlc3Npb24sICIoJHt2YWx1ZX0u
aXNOdWxsKCkgfHwgJHt2YWx1ZX0uaXNPYmplY3QoKSkiKTsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICR1c2VkQXJndW1lbnRzeyRwYXJhbWV0ZXJJbmRleH0gPSAxOwotICAgICAgICB9IGVs
c2lmICgkY29kZUdlbmVyYXRvci0+SXNEaWN0aW9uYXJ5VHlwZSgkcGFyYW1ldGVyLT50eXBlKSkg
ewotICAgICAgICAgICAgcHVzaChAYW5kRXhwcmVzc2lvbiwgIigke3ZhbHVlfS5pc1VuZGVmaW5l
ZE9yTnVsbCgpIHx8ICR7dmFsdWV9LmlzT2JqZWN0KCkpIik7Ci0gICAgICAgICAgICAkdXNlZEFy
Z3VtZW50c3skcGFyYW1ldGVySW5kZXh9ID0gMTsKLSAgICAgICAgfSBlbHNpZiAoKCRjb2RlR2Vu
ZXJhdG9yLT5HZXRBcnJheU9yU2VxdWVuY2VUeXBlKCR0eXBlKSB8fCAkY29kZUdlbmVyYXRvci0+
SXNUeXBlZEFycmF5VHlwZSgkdHlwZSkgfHwgJGNvZGVHZW5lcmF0b3ItPklzV3JhcHBlclR5cGUo
JHR5cGUpKSAmJiAkdHlwZSBuZSAiRXZlbnRMaXN0ZW5lciIpIHsKLSAgICAgICAgICAgIG15ICRj
b25kaXRpb24gPSAiIjsKLQotICAgICAgICAgICAgaWYgKCRwYXJhbWV0ZXItPmlzTnVsbGFibGUp
IHsKLSAgICAgICAgICAgICAgICAkY29uZGl0aW9uIC49ICIke3ZhbHVlfS5pc1VuZGVmaW5lZE9y
TnVsbCgpIHx8ICI7Ci0gICAgICAgICAgICB9IGVsc2lmICgkcGFyYW1ldGVyLT5pc09wdGlvbmFs
KSB7Ci0gICAgICAgICAgICAgICAgJGNvbmRpdGlvbiAuPSAiJHt2YWx1ZX0uaXNVbmRlZmluZWQo
KSB8fCAiOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoJGNvZGVHZW5lcmF0b3It
PkdldEFycmF5T3JTZXF1ZW5jZVR5cGUoJHR5cGUpKSB7Ci0gICAgICAgICAgICAgICAgIyBGSVhN
RTogQWRkIHByb3BlciBzdXBwb3J0IGZvciBUW10sIFRbXT8sIHNlcXVlbmNlPFQ+LgotICAgICAg
ICAgICAgICAgICRjb25kaXRpb24gLj0gIigke3ZhbHVlfS5pc09iamVjdCgpICYmIGlzSlNBcnJh
eSgke3ZhbHVlfSkpIjsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgJGNv
bmRpdGlvbiAuPSAiKCR7dmFsdWV9LmlzT2JqZWN0KCkgJiYgYXNPYmplY3QoJHt2YWx1ZX0pLT5p
bmhlcml0cyhKUyR7dHlwZX06OmluZm8oKSkpIjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IHB1c2goQGFuZEV4cHJlc3Npb24sICIoIiAuICRjb25kaXRpb24gLiAiKSIpOwotICAgICAgICAg
ICAgJHVzZWRBcmd1bWVudHN7JHBhcmFtZXRlckluZGV4fSA9IDE7Ci0gICAgICAgIH0KLSAgICAg
ICAgJHBhcmFtZXRlckluZGV4Kys7Ci0gICAgfQotICAgIG15ICRyZXMgPSBqb2luKCIgJiYgIiwg
QGFuZEV4cHJlc3Npb24pOwotICAgICRyZXMgPSAiKCRyZXMpIiBpZiBAYW5kRXhwcmVzc2lvbiA+
IDE7Ci0gICAgcmV0dXJuICgkcmVzLCBzb3J0IHskYSA8PT4gJGJ9IChrZXlzICV1c2VkQXJndW1l
bnRzKSk7Ci19Ci0KICMgQXMgcGVyIFdlYiBJREwgc3BlY2lmaWNhdGlvbiwgdGhlIGxlbmd0aCBv
ZiBhIGZ1bmN0aW9uIE9iamVjdCBpcyBpdHMgbnVtYmVyIG9mIG1hbmRhdG9yeSBwYXJhbWV0ZXJz
Lgogc3ViIEdldEZ1bmN0aW9uTGVuZ3RoCiB7CkBAIC0yMDE2LDM3ICsxOTc2LDYgQEAgc3ViIEdl
dEZ1bmN0aW9uTGVuZ3RoCiAgICAgcmV0dXJuICRsZW5ndGg7CiB9CiAKLXN1YiBHZW5lcmF0ZUZ1
bmN0aW9uUGFyYW1ldGVyc0NoZWNrCi17Ci0gICAgbXkgJGZ1bmN0aW9uID0gc2hpZnQ7Ci0KLSAg
ICBteSBAb3JFeHByZXNzaW9uID0gKCk7Ci0gICAgbXkgJG51bVBhcmFtZXRlcnMgPSAwOwotICAg
IG15IEBuZWVkZWRBcmd1bWVudHMgPSAoKTsKLSAgICBteSAkaGFzVmFyaWFkaWMgPSAwOwotICAg
IG15ICRudW1NYW5kYXRvcnlQYXJhbXMgPSBAeyRmdW5jdGlvbi0+cGFyYW1ldGVyc307Ci0KLSAg
ICBmb3JlYWNoIG15ICRwYXJhbWV0ZXIgKEB7JGZ1bmN0aW9uLT5wYXJhbWV0ZXJzfSkgewotICAg
ICAgICBpZiAoJHBhcmFtZXRlci0+aXNPcHRpb25hbCkgewotICAgICAgICAgICAgbXkgKCRleHBy
ZXNzaW9uLCBAdXNlZEFyZ3VtZW50cykgPSBHZW5lcmF0ZVBhcmFtZXRlcnNDaGVja0V4cHJlc3Np
b24oJG51bVBhcmFtZXRlcnMsICRmdW5jdGlvbik7Ci0gICAgICAgICAgICBwdXNoKEBvckV4cHJl
c3Npb24sICRleHByZXNzaW9uKTsKLSAgICAgICAgICAgIHB1c2goQG5lZWRlZEFyZ3VtZW50cywg
QHVzZWRBcmd1bWVudHMpOwotICAgICAgICAgICAgJG51bU1hbmRhdG9yeVBhcmFtcy0tOwotICAg
ICAgICB9Ci0gICAgICAgIGlmICgkcGFyYW1ldGVyLT5pc1ZhcmlhZGljKSB7Ci0gICAgICAgICAg
ICAkaGFzVmFyaWFkaWMgPSAxOwotICAgICAgICAgICAgbGFzdDsKLSAgICAgICAgfQotICAgICAg
ICAkbnVtUGFyYW1ldGVycysrOwotICAgIH0KLSAgICBpZiAoISRoYXNWYXJpYWRpYykgewotICAg
ICAgICBteSAoJGV4cHJlc3Npb24sIEB1c2VkQXJndW1lbnRzKSA9IEdlbmVyYXRlUGFyYW1ldGVy
c0NoZWNrRXhwcmVzc2lvbigkbnVtUGFyYW1ldGVycywgJGZ1bmN0aW9uKTsKLSAgICAgICAgcHVz
aChAb3JFeHByZXNzaW9uLCAkZXhwcmVzc2lvbik7Ci0gICAgICAgIHB1c2goQG5lZWRlZEFyZ3Vt
ZW50cywgQHVzZWRBcmd1bWVudHMpOwotICAgIH0KLSAgICByZXR1cm4gKCRudW1NYW5kYXRvcnlQ
YXJhbXMsIGpvaW4oIiB8fCAiLCBAb3JFeHByZXNzaW9uKSwgQG5lZWRlZEFyZ3VtZW50cyk7Ci19
Ci0KIHN1YiBMZW5ndGhPZkxvbmdlc3RGdW5jdGlvblBhcmFtZXRlckxpc3QKIHsKICAgICBteSAo
JG92ZXJsb2FkcykgPSBAXzsKQEAgLTM0NDgsNyArMzM3Nyw3IEBAIEVORAogICAgICAgICAgICAg
cHVzaChAaW1wbENvbnRlbnQsICIjZW5kaWZcblxuIikgaWYgJGNvbmRpdGlvbmFsOwogCiAgICAg
ICAgICAgICAjIEdlbmVyYXRlIGEgZnVuY3Rpb24gZGlzcGF0Y2hpbmcgY2FsbCB0byB0aGUgcmVz
dCBvZiB0aGUgb3ZlcmxvYWRzLgotICAgICAgICAgICAgR2VuZXJhdGVPdmVybG9hZGVkRnVuY3Rp
b24oJGZ1bmN0aW9uLCAkaW50ZXJmYWNlKSBpZiAhJGlzQ3VzdG9tICYmICRpc092ZXJsb2FkZWQg
JiYgJGZ1bmN0aW9uLT57b3ZlcmxvYWRJbmRleH0gPT0gQHskZnVuY3Rpb24tPntvdmVybG9hZHN9
fTsKKyAgICAgICAgICAgIEdlbmVyYXRlT3ZlcmxvYWRlZEZ1bmN0aW9uT3JDb25zdHJ1Y3Rvcigk
ZnVuY3Rpb24sICRpbnRlcmZhY2UsIDApIGlmICEkaXNDdXN0b20gJiYgJGlzT3ZlcmxvYWRlZCAm
JiAkZnVuY3Rpb24tPntvdmVybG9hZEluZGV4fSA9PSBAeyRmdW5jdGlvbi0+e292ZXJsb2Fkc319
OwogICAgICAgICB9CiAKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICRlbmRBcHBsZUNvcHly
aWdodCkgaWYgJGluQXBwbGVDb3B5cmlnaHQ7CkBAIC01MTg1LDcgKzUxMTQsNyBAQCBzdWIgR2Vu
ZXJhdGVDb25zdHJ1Y3RvckRlZmluaXRpb25zCiAgICAgICAgICAgICBmb3JlYWNoIG15ICRjb25z
dHJ1Y3RvciAoQGNvbnN0cnVjdG9ycykgewogICAgICAgICAgICAgICAgIEdlbmVyYXRlQ29uc3Ry
dWN0b3JEZWZpbml0aW9uKCRvdXRwdXRBcnJheSwgJGNsYXNzTmFtZSwgJHByb3RvQ2xhc3NOYW1l
LCAkdmlzaWJsZUludGVyZmFjZU5hbWUsICRpbnRlcmZhY2UsICRnZW5lcmF0aW5nTmFtZWRDb25z
dHJ1Y3RvciwgJGNvbnN0cnVjdG9yKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIEdlbmVy
YXRlT3ZlcmxvYWRlZENvbnN0cnVjdG9yRGVmaW5pdGlvbigkb3V0cHV0QXJyYXksICRjbGFzc05h
bWUsICRpbnRlcmZhY2UpOworICAgICAgICAgICAgR2VuZXJhdGVPdmVybG9hZGVkRnVuY3Rpb25P
ckNvbnN0cnVjdG9yKEB7JGludGVyZmFjZS0+Y29uc3RydWN0b3JzfVswXSwgJGludGVyZmFjZSwg
MSk7CiAgICAgICAgIH0gZWxzaWYgKEBjb25zdHJ1Y3RvcnMgPT0gMSkgewogICAgICAgICAgICAg
R2VuZXJhdGVDb25zdHJ1Y3RvckRlZmluaXRpb24oJG91dHB1dEFycmF5LCAkY2xhc3NOYW1lLCAk
cHJvdG9DbGFzc05hbWUsICR2aXNpYmxlSW50ZXJmYWNlTmFtZSwgJGludGVyZmFjZSwgJGdlbmVy
YXRpbmdOYW1lZENvbnN0cnVjdG9yLCAkY29uc3RydWN0b3JzWzBdKTsKICAgICAgICAgfSBlbHNl
IHsKQEAgLTUxOTYsNTEgKzUxMjUsNiBAQCBzdWIgR2VuZXJhdGVDb25zdHJ1Y3RvckRlZmluaXRp
b25zCiAgICAgR2VuZXJhdGVDb25zdHJ1Y3RvckhlbHBlck1ldGhvZHMoJG91dHB1dEFycmF5LCAk
Y2xhc3NOYW1lLCAkcHJvdG9DbGFzc05hbWUsICR2aXNpYmxlSW50ZXJmYWNlTmFtZSwgJGludGVy
ZmFjZSwgJGdlbmVyYXRpbmdOYW1lZENvbnN0cnVjdG9yKTsKIH0KIAotc3ViIEdlbmVyYXRlT3Zl
cmxvYWRlZENvbnN0cnVjdG9yRGVmaW5pdGlvbgotewotICAgIG15ICRvdXRwdXRBcnJheSA9IHNo
aWZ0OwotICAgIG15ICRjbGFzc05hbWUgPSBzaGlmdDsKLSAgICBteSAkaW50ZXJmYWNlID0gc2hp
ZnQ7Ci0KLSAgICAjIEZJWE1FOiBJbXBsZW1lbnQgc3VwcG9ydCBmb3Igb3ZlcmxvYWRlZCBjb25z
dHJ1Y3RvcnMgd2l0aCB2YXJpYWRpYyBhcmd1bWVudHMuCi0gICAgbXkgJGxlbmd0aE9mTG9uZ2Vz
dE92ZXJsb2FkZWRDb25zdHJ1Y3RvclBhcmFtZXRlckxpc3QgPSBMZW5ndGhPZkxvbmdlc3RGdW5j
dGlvblBhcmFtZXRlckxpc3QoJGludGVyZmFjZS0+Y29uc3RydWN0b3JzKTsKLQotICAgIHB1c2go
QCRvdXRwdXRBcnJheSwgPDxFTkQpOwotdGVtcGxhdGU8PiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMICR7Y2xhc3NOYW1lfUNvbnN0cnVjdG9yOjpjb25zdHJ1Y3QoRXhlY1N0YXRlKiBzdGF0
ZSkKLXsKLSAgICBzaXplX3QgYXJnc0NvdW50ID0gc3RkOjptaW48c2l6ZV90PigkbGVuZ3RoT2ZM
b25nZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yUGFyYW1ldGVyTGlzdCwgc3RhdGUtPmFyZ3VtZW50
Q291bnQoKSk7Ci1FTkQKLQotICAgIG15ICVmZXRjaGVkQXJndW1lbnRzID0gKCk7Ci0gICAgbXkg
JGxlYXN0TnVtTWFuZGF0b3J5UGFyYW1zID0gMjU1OwotCi0gICAgbXkgQGNvbnN0cnVjdG9ycyA9
IEB7JGludGVyZmFjZS0+Y29uc3RydWN0b3JzfTsKLSAgICBmb3JlYWNoIG15ICRvdmVybG9hZCAo
QGNvbnN0cnVjdG9ycykgewotICAgICAgICBteSAkZnVuY3Rpb25OYW1lID0gImNvbnN0cnVjdCR7
Y2xhc3NOYW1lfSI7Ci0gICAgICAgIG15ICgkbnVtTWFuZGF0b3J5UGFyYW1zLCAkcGFyYW1ldGVy
c0NoZWNrLCBAbmVlZGVkQXJndW1lbnRzKSA9IEdlbmVyYXRlRnVuY3Rpb25QYXJhbWV0ZXJzQ2hl
Y2soJG92ZXJsb2FkKTsKLSAgICAgICAgJGxlYXN0TnVtTWFuZGF0b3J5UGFyYW1zID0gJG51bU1h
bmRhdG9yeVBhcmFtcyBpZiAoJG51bU1hbmRhdG9yeVBhcmFtcyA8ICRsZWFzdE51bU1hbmRhdG9y
eVBhcmFtcyk7Ci0KLSAgICAgICAgZm9yZWFjaCBteSAkcGFyYW1ldGVySW5kZXggKEBuZWVkZWRB
cmd1bWVudHMpIHsKLSAgICAgICAgICAgIG5leHQgaWYgZXhpc3RzICRmZXRjaGVkQXJndW1lbnRz
eyRwYXJhbWV0ZXJJbmRleH07Ci0gICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAg
SlNWYWx1ZSBhcmckcGFyYW1ldGVySW5kZXgoc3RhdGUtPmFyZ3VtZW50KCRwYXJhbWV0ZXJJbmRl
eCkpO1xuIik7Ci0gICAgICAgICAgICAkZmV0Y2hlZEFyZ3VtZW50c3skcGFyYW1ldGVySW5kZXh9
ID0gMTsKLSAgICAgICAgfQotCi0gICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBpZiAo
JHBhcmFtZXRlcnNDaGVjaylcbiIpOwotICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAg
ICAgIHJldHVybiAke2Z1bmN0aW9uTmFtZX0kb3ZlcmxvYWQtPntvdmVybG9hZGVkSW5kZXh9KHN0
YXRlKTtcbiIpOwotICAgIH0KLQotICAgIGlmICgkbGVhc3ROdW1NYW5kYXRvcnlQYXJhbXMgPj0g
MSkgewotICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgaWYgKFVOTElLRUxZKGFyZ3ND
b3VudCA8ICRsZWFzdE51bU1hbmRhdG9yeVBhcmFtcykpXG4iKTsKLSAgICAgICAgcHVzaChAJG91
dHB1dEFycmF5LCAiICAgICAgICByZXR1cm4gdGhyb3dWTUVycm9yKHN0YXRlLCBjcmVhdGVOb3RF
bm91Z2hBcmd1bWVudHNFcnJvcihzdGF0ZSkpO1xuIik7Ci0gICAgfQotICAgIHB1c2goQCRvdXRw
dXRBcnJheSwgPDxFTkQpOwotICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKHN0YXRlKTsKLX0K
LQotRU5ECi19Ci0KIHN1YiBHZW5lcmF0ZUNvbnN0cnVjdG9yRGVmaW5pdGlvbgogewogICAgIG15
ICgkb3V0cHV0QXJyYXksICRjbGFzc05hbWUsICRwcm90b0NsYXNzTmFtZSwgJHZpc2libGVJbnRl
cmZhY2VOYW1lLCAkaW50ZXJmYWNlLCAkZ2VuZXJhdGluZ05hbWVkQ29uc3RydWN0b3IsICRmdW5j
dGlvbikgPSBAXzsKQEAgLTUzMzMsMTAgKzUyMTcsMTAgQEAgRU5ECiAgICAgICAgICAgICBwdXNo
KEAkb3V0cHV0QXJyYXksICIgICAgcmV0dXJuIGNvbnN0cnVjdCR7Y2xhc3NOYW1lfSgqZXhlYyk7
XG4iKTsKICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIn1cblxuIik7CiAgICAgICAg
ICB9IGVsc2lmICghSGFzQ3VzdG9tQ29uc3RydWN0b3IoJGludGVyZmFjZSkgJiYgKCEkaW50ZXJm
YWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiTmFtZWRDb25zdHJ1Y3RvciJ9IHx8ICRnZW5lcmF0
aW5nTmFtZWRDb25zdHJ1Y3RvcikpIHsKLSAgICAgICAgICAgIGlmICgkZnVuY3Rpb24tPntvdmVy
bG9hZGVkSW5kZXh9ICYmICRmdW5jdGlvbi0+e292ZXJsb2FkZWRJbmRleH0gPiAwKSB7Ci0gICAg
ICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAic3RhdGljIGlubGluZSBFbmNvZGVkSlNW
YWx1ZSBjb25zdHJ1Y3Qke2NsYXNzTmFtZX0kZnVuY3Rpb24tPntvdmVybG9hZGVkSW5kZXh9KEV4
ZWNTdGF0ZSogc3RhdGUpXG4iKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGVsc2Ugewor
ICAgICAgICAgICAgbXkgJGlzT3ZlcmxvYWRlZCA9ICRmdW5jdGlvbi0+e292ZXJsb2Fkc30gJiYg
QHskZnVuY3Rpb24tPntvdmVybG9hZHN9fSA+IDE7CisgICAgICAgICAgICBpZiAoJGlzT3Zlcmxv
YWRlZCkgeworICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgInN0YXRpYyBpbmxp
bmUgRW5jb2RlZEpTVmFsdWUgY29uc3RydWN0JHtjbGFzc05hbWV9JGZ1bmN0aW9uLT57b3Zlcmxv
YWRJbmRleH0oRXhlY1N0YXRlKiBzdGF0ZSlcbiIpOworICAgICAgICAgICAgfSBlbHNlIHsKICAg
ICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICJ0ZW1wbGF0ZTw+IEVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwgJHtjb25zdHJ1Y3RvckNsYXNzTmFtZX06OmNvbnN0cnVjdChFeGVj
U3RhdGUqIHN0YXRlKVxuIik7CiAgICAgICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMUGFyc2VyLnBtIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG0KaW5kZXggOTNkNGYwYS4uNTA0MzExMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG0KKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG0KQEAgLTIzMDYsNyAr
MjMwNiw2IEBAIHN1YiBhcHBseUV4dGVuZGVkQXR0cmlidXRlTGlzdAogICAgICAgICAgICAgJGNv
bnN0cnVjdG9yLT5zaWduYXR1cmUtPm5hbWUoIkNvbnN0cnVjdG9yIik7CiAgICAgICAgICAgICAk
Y29uc3RydWN0b3ItPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzKCRleHRlbmRlZEF0dHJp
YnV0ZUxpc3QpOwogICAgICAgICAgICAgJGNvbnN0cnVjdG9yLT5wYXJhbWV0ZXJzKCRwYXJhbSk7
Ci0gICAgICAgICAgICAkY29uc3RydWN0b3ItPntvdmVybG9hZGVkSW5kZXh9ID0gJGluZGV4Kys7
CiAgICAgICAgICAgICBwdXNoKEB7JGludGVyZmFjZS0+Y29uc3RydWN0b3JzfSwgJGNvbnN0cnVj
dG9yKTsKICAgICAgICAgfQogICAgICAgICBkZWxldGUgJGV4dGVuZGVkQXR0cmlidXRlTGlzdC0+
eyJDb25zdHJ1Y3RvcnMifTsKQEAgLTIzMzIsNyArMjMzMSw2IEBAIHN1YiBhcHBseUV4dGVuZGVk
QXR0cmlidXRlTGlzdAogICAgICAgICAgICAgJGN1c3RvbUNvbnN0cnVjdG9yLT5zaWduYXR1cmUt
Pm5hbWUoIkN1c3RvbUNvbnN0cnVjdG9yIik7CiAgICAgICAgICAgICAkY3VzdG9tQ29uc3RydWN0
b3ItPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzKCRleHRlbmRlZEF0dHJpYnV0ZUxpc3Qp
OwogICAgICAgICAgICAgJGN1c3RvbUNvbnN0cnVjdG9yLT5wYXJhbWV0ZXJzKCRwYXJhbSk7Ci0g
ICAgICAgICAgICAkY3VzdG9tQ29uc3RydWN0b3ItPntvdmVybG9hZGVkSW5kZXh9ID0gJGluZGV4
Kys7CiAgICAgICAgICAgICBwdXNoKEB7JGludGVyZmFjZS0+Y3VzdG9tQ29uc3RydWN0b3JzfSwg
JGN1c3RvbUNvbnN0cnVjdG9yKTsKICAgICAgICAgfQogICAgICAgICBkZWxldGUgJGV4dGVuZGVk
QXR0cmlidXRlTGlzdC0+eyJDdXN0b21Db25zdHJ1Y3RvcnMifTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3Ry
dWN0b3JzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcAppbmRleCAxZmExZWRhLi5jNjg0NjYzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3Zl
cmxvYWRlZENvbnN0cnVjdG9ycy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwCkBAIC0xMzAsMTkg
KzEzMCwyMSBAQCBzdGF0aWMgaW5saW5lIEVuY29kZWRKU1ZhbHVlIGNvbnN0cnVjdEpTVGVzdE92
ZXJsb2FkZWRDb25zdHJ1Y3RvcnM1KEV4ZWNTdGF0ZSogcwogdGVtcGxhdGU8PiBFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNDb25zdHJ1Y3Rv
cjo6Y29uc3RydWN0KEV4ZWNTdGF0ZSogc3RhdGUpCiB7CiAgICAgc2l6ZV90IGFyZ3NDb3VudCA9
IHN0ZDo6bWluPHNpemVfdD4oMSwgc3RhdGUtPmFyZ3VtZW50Q291bnQoKSk7Ci0gICAgSlNWYWx1
ZSBhcmcwKHN0YXRlLT5hcmd1bWVudCgwKSk7Ci0gICAgaWYgKChhcmdzQ291bnQgPT0gMSAmJiAo
KGFyZzAuaXNPYmplY3QoKSAmJiBhc09iamVjdChhcmcwKS0+aW5oZXJpdHMoSlNBcnJheUJ1ZmZl
cjo6aW5mbygpKSkpKSkKLSAgICAgICAgcmV0dXJuIGNvbnN0cnVjdEpTVGVzdE92ZXJsb2FkZWRD
b25zdHJ1Y3RvcnMxKHN0YXRlKTsKLSAgICBpZiAoKGFyZ3NDb3VudCA9PSAxICYmICgoYXJnMC5p
c09iamVjdCgpICYmIGFzT2JqZWN0KGFyZzApLT5pbmhlcml0cyhKU0FycmF5QnVmZmVyVmlldzo6
aW5mbygpKSkpKSkKLSAgICAgICAgcmV0dXJuIGNvbnN0cnVjdEpTVGVzdE92ZXJsb2FkZWRDb25z
dHJ1Y3RvcnMyKHN0YXRlKTsKLSAgICBpZiAoKGFyZ3NDb3VudCA9PSAxICYmICgoYXJnMC5pc09i
amVjdCgpICYmIGFzT2JqZWN0KGFyZzApLT5pbmhlcml0cyhKU0Jsb2I6OmluZm8oKSkpKSkpCi0g
ICAgICAgIHJldHVybiBjb25zdHJ1Y3RKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzMyhzdGF0
ZSk7Ci0gICAgaWYgKGFyZ3NDb3VudCA9PSAxKQotICAgICAgICByZXR1cm4gY29uc3RydWN0SlNU
ZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yczQoc3RhdGUpOwotICAgIGlmICgpCisgICAgaWYgKGFy
Z3NDb3VudCA9PSAwKSB7CiAgICAgICAgIHJldHVybiBjb25zdHJ1Y3RKU1Rlc3RPdmVybG9hZGVk
Q29uc3RydWN0b3JzNShzdGF0ZSk7Ci0gICAgaWYgKFVOTElLRUxZKGFyZ3NDb3VudCA8IDEpKQot
ICAgICAgICByZXR1cm4gdGhyb3dWTUVycm9yKHN0YXRlLCBjcmVhdGVOb3RFbm91Z2hBcmd1bWVu
dHNFcnJvcihzdGF0ZSkpOworICAgIH0KKyAgICBpZiAoYXJnc0NvdW50ID09IDEpIHsKKyAgICAg
ICAgSlNWYWx1ZSBkaXN0aW5ndWlzaGluZ0FyZyA9IHN0YXRlLT51bmNoZWNrZWRBcmd1bWVudCgw
KTsKKyAgICAgICAgaWYgKGRpc3Rpbmd1aXNoaW5nQXJnLmlzT2JqZWN0KCkgJiYgYXNPYmplY3Qo
ZGlzdGluZ3Vpc2hpbmdBcmcpLT5pbmhlcml0cyhKU0FycmF5QnVmZmVyOjppbmZvKCkpKQorICAg
ICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMxKHN0
YXRlKTsKKyAgICAgICAgaWYgKGRpc3Rpbmd1aXNoaW5nQXJnLmlzT2JqZWN0KCkgJiYgYXNPYmpl
Y3QoZGlzdGluZ3Vpc2hpbmdBcmcpLT5pbmhlcml0cyhKU0FycmF5QnVmZmVyVmlldzo6aW5mbygp
KSkKKyAgICAgICAgICAgIHJldHVybiBjb25zdHJ1Y3RKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0
b3JzMihzdGF0ZSk7CisgICAgICAgIGlmIChkaXN0aW5ndWlzaGluZ0FyZy5pc09iamVjdCgpICYm
IGFzT2JqZWN0KGRpc3Rpbmd1aXNoaW5nQXJnKS0+aW5oZXJpdHMoSlNCbG9iOjppbmZvKCkpKQor
ICAgICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMz
KHN0YXRlKTsKKyAgICAgICAgaWYgKGRpc3Rpbmd1aXNoaW5nQXJnLmlzTnVtYmVyKCkpCisgICAg
ICAgICAgICByZXR1cm4gY29uc3RydWN0SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yczUoc3Rh
dGUpOworICAgICAgICByZXR1cm4gY29uc3RydWN0SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9y
czQoc3RhdGUpOworICAgIH0KICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihzdGF0ZSk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0
T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuaWRsCmluZGV4IGJkZGIxYjguLjdl
NzQ0YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9U
ZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmlkbApAQCAtMzAsNiAr
MzAsNiBAQAogICAgIENvbnN0cnVjdG9yKEFycmF5QnVmZmVyVmlldyBhcnJheUJ1ZmZlclZpZXcp
LAogICAgIENvbnN0cnVjdG9yKEJsb2IgYmxvYiksCiAgICAgQ29uc3RydWN0b3IoRE9NU3RyaW5n
IHN0cmluZyksCi0gICAgQ29uc3RydWN0b3IobG9uZy4uLiBsb25nQXJncykgLy8gRklYTUU6IElt
cGxlbWVudCBzdXBwb3J0IGZvciBvdmVybG9hZGVkIGNvbnN0cnVjdG9ycyB3aXRoIHZhcmlhZGlj
IGFyZ3VtZW50cy4KKyAgICBDb25zdHJ1Y3Rvcihsb25nLi4uIGxvbmdBcmdzKQogXSBpbnRlcmZh
Y2UgVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMgewogfTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285134</attachid>
            <date>2016-08-02 13:43:51 -0700</date>
            <delta_ts>2016-08-02 14:45:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160455-20160802134229.patch</filename>
            <type>text/plain</type>
            <size>27623</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0MDM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWJhZWY0MTgzM2Y1OThk
MWRmY2I1MTIyNWI2ZmY0MWQ1OGZjMjM5ZC4uYjFlZjgwMGM3MjcyNjlkZTg5ZDlkOGEzZGQ2OTI1
YzJiMDgwY2Q4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQxIEBACiAyMDE2LTA4LTAyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgW1dlYklETF0gRXh0ZW5kIG5l
dyBvdmVybG9hZCByZXNvbHV0aW9uIGFsZ29yaXRobSBzdXBwb3J0IHRvIGNvbnN0cnVjdG9ycwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYwNDU1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXh0ZW5kIG5l
dyBvdmVybG9hZCByZXNvbHV0aW9uIGFsZ29yaXRobSBzdXBwb3J0IChhZGRlZCBpbiByMjA0MDI4
KSB0bworICAgICAgICBjb25zdHJ1Y3RvcnMgYXMgd2VsbC4gSXQgd2FzIG9ubHkgdXNlZCBmb3Ig
b3BlcmF0aW9ucy4gUmVtb3ZlIGNvZGUgdGhhdAorICAgICAgICBpcyBub3cgZGVhZCBmcm9tIHRo
ZSBiaW5kaW5ncyBnZW5lcmF0b3IuCisKKyAgICAgICAgV2Ugbm93IHNoYXJlIHRoZSBzYW1lIGNv
ZGUgb2YgZ2VuZXJhdGluZyB0aGUgb3ZlcmxvYWQgcmVzb2x1dGlvbiBjb2RlCisgICAgICAgIGZv
ciBvcGVyYXRpb25zIGFuZCBjb25zdHJ1Y3RvcnMuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBy
ZWJhc2VsaW5lZCBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvci5wbToKKyAgICAgICAgKExpbmtPdmVybG9hZGVkRnVuY3Rpb25zKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdl
bmVyYXRlT3ZlcmxvYWRlZEZ1bmN0aW9uT3JDb25zdHJ1Y3Rvcik6CisgICAgICAgIChHZW5lcmF0
ZUltcGxlbWVudGF0aW9uKToKKyAgICAgICAgKEdlbmVyYXRlQ29uc3RydWN0b3JEZWZpbml0aW9u
cyk6CisgICAgICAgIChHZW5lcmF0ZUNvbnN0cnVjdG9yRGVmaW5pdGlvbik6CisgICAgICAgIChH
ZXRGdW5jdGlvbkxlbmd0aCk6IERlbGV0ZWQuCisgICAgICAgIChMZW5ndGhPZkxvbmdlc3RGdW5j
dGlvblBhcmFtZXRlckxpc3QpOiBEZWxldGVkLgorICAgICAgICAoR2V0TmF0aXZlVHlwZUZvckNv
bnZlcnNpb25zKTogRGVsZXRlZC4KKyAgICAgICAgKEdldEdudVZUYWJsZU5hbWVGb3JJbnRlcmZh
Y2UpOiBEZWxldGVkLgorICAgICAgICAoR2V0R251TWFuZ2xlZE5hbWVGb3JJbnRlcmZhY2UpOiBE
ZWxldGVkLgorICAgICAgICAoR2V0R251VlRhYmxlT2Zmc2V0Rm9yVHlwZSk6IERlbGV0ZWQuCisg
ICAgICAgIChHZW5lcmF0ZUNvbnN0cnVjdG9ySGVscGVyTWV0aG9kcyk6IERlbGV0ZWQuCisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG06CisgICAgICAgIChhcHBseUV4dGVu
ZGVkQXR0cmlidXRlTGlzdCk6IERlbGV0ZWQuCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc0NvbnN0cnVjdG9yOjpjb25zdHJ1Y3QpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9y
cy5pZGw6CisKKzIwMTYtMDgtMDIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwog
ICAgICAgICBIVE1MQ29sbGVjdGlvbidzIG5hbWVkIGdldHRlciBzaG91bGQgb25seSBkbyAnbmFt
ZScgYXR0cmlidXRlIG1hdGNoaW5nIGZvciBIVE1MRWxlbWVudHMKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDQ1NgogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0gYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KaW5kZXggZjBjYjA4OTkxMjNm
YjUxZjA5MjkxOGE4YzA2MDcxYjE1M2NlOTMyNy4uMmY1YWEwYzMzZmY4NjFlMjY1NTAyMTk1YjU0
MGQ2MmY0N2ExOWE2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9yLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvci5wbQpAQCAtNjE0LDYgKzYxNCwxMyBAQCBzdWIgTGlua092ZXJsb2FkZWRG
dW5jdGlvbnMKICAgICAgICAgJGZ1bmN0aW9uLT57b3ZlcmxvYWRzfSA9ICRuYW1lVG9GdW5jdGlv
bnNNYXB7JG5hbWV9OwogICAgICAgICAkZnVuY3Rpb24tPntvdmVybG9hZEluZGV4fSA9IEB7JG5h
bWVUb0Z1bmN0aW9uc01hcHskbmFtZX19OwogICAgIH0KKworICAgIG15ICRpbmRleCA9IDE7Cisg
ICAgZm9yZWFjaCBteSAkY29uc3RydWN0b3IgKEB7JGludGVyZmFjZS0+Y29uc3RydWN0b3JzfSkg
eworICAgICAgICAkY29uc3RydWN0b3ItPntvdmVybG9hZHN9ID0gJGludGVyZmFjZS0+Y29uc3Ry
dWN0b3JzOworICAgICAgICAkY29uc3RydWN0b3ItPntvdmVybG9hZEluZGV4fSA9ICRpbmRleDsK
KyAgICAgICAgJGluZGV4Kys7CisgICAgfQogfQogCiBzdWIgQXR0cmlidXRlTmFtZUZvckdldHRl
ckFuZFNldHRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbQppbmRleCAzMDQ3ZTFjYzIyNjkyZTliZWE2ODA1MDQ0ODNhMGIwYTk1MTkx
N2Q0Li4zMzk0Yjk3OTM3YjlkMmMzMTJhMmM0MjNjNWFlZGQ3MmQzODVjMTYxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAt
MTc4MiwxNCArMTc4MiwyMCBAQCBzdWIgR2V0T3ZlcmxvYWRUaGF0TWF0Y2hlcwogCiAjIEltcGxl
bWVudHMgdGhlIG92ZXJsb2FkIHJlc29sdXRpb24gYWxnb3JpdGhtLCBhcyBkZWZpbmVkIGluIHRo
ZSBXZWIgSURMIHNwZWNpZmljYXRpb246CiAjIGh0dHA6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlk
bC8jZXMtb3ZlcmxvYWRzCi1zdWIgR2VuZXJhdGVPdmVybG9hZGVkRnVuY3Rpb24KK3N1YiBHZW5l
cmF0ZU92ZXJsb2FkZWRGdW5jdGlvbk9yQ29uc3RydWN0b3IKIHsKLSAgICBteSAoJGZ1bmN0aW9u
LCAkaW50ZXJmYWNlKSA9IEBfOworICAgIG15ICgkZnVuY3Rpb24sICRpbnRlcmZhY2UsICRpc0Nv
bnN0cnVjdG9yKSA9IEBfOwogICAgIG15ICVhbGxTZXRzID0gQ29tcHV0ZUVmZmVjdGl2ZU92ZXJs
b2FkU2V0KCRmdW5jdGlvbi0+e292ZXJsb2Fkc30pOwogCi0gICAgbXkgJGtpbmQgPSAkZnVuY3Rp
b24tPmlzU3RhdGljID8gIkNvbnN0cnVjdG9yIiA6IChPcGVyYXRpb25TaG91bGRCZU9uSW5zdGFu
Y2UoJGludGVyZmFjZSwgJGZ1bmN0aW9uKSA/ICJJbnN0YW5jZSIgOiAiUHJvdG90eXBlIik7CiAg
ICAgbXkgJGludGVyZmFjZU5hbWUgPSAkaW50ZXJmYWNlLT5uYW1lOwotICAgIG15ICRmdW5jdGlv
bk5hbWUgPSAianMke2ludGVyZmFjZU5hbWV9JHtraW5kfUZ1bmN0aW9uIiAuICRjb2RlR2VuZXJh
dG9yLT5XS191Y2ZpcnN0KCRmdW5jdGlvbi0+c2lnbmF0dXJlLT5uYW1lKTsKKyAgICBteSAkY2xh
c3NOYW1lID0gIkpTJGludGVyZmFjZU5hbWUiOworICAgIG15ICRmdW5jdGlvbk5hbWU7CisgICAg
aWYgKCRpc0NvbnN0cnVjdG9yKSB7CisgICAgICAgICRmdW5jdGlvbk5hbWUgPSAiY29uc3RydWN0
JHtjbGFzc05hbWV9IjsKKyAgICB9IGVsc2UgeworICAgICAgICBteSAka2luZCA9ICRmdW5jdGlv
bi0+aXNTdGF0aWMgPyAiQ29uc3RydWN0b3IiIDogKE9wZXJhdGlvblNob3VsZEJlT25JbnN0YW5j
ZSgkaW50ZXJmYWNlLCAkZnVuY3Rpb24pID8gIkluc3RhbmNlIiA6ICJQcm90b3R5cGUiKTsKKyAg
ICAgICAgJGZ1bmN0aW9uTmFtZSA9ICJqcyR7aW50ZXJmYWNlTmFtZX0ke2tpbmR9RnVuY3Rpb24i
IC4gJGNvZGVHZW5lcmF0b3ItPldLX3VjZmlyc3QoJGZ1bmN0aW9uLT5zaWduYXR1cmUtPm5hbWUp
OworICAgIH0KIAogICAgIG15ICRnZW5lcmF0ZU92ZXJsb2FkQ2FsbElmTmVjZXNzYXJ5ID0gc3Vi
IHsKICAgICAgICAgbXkgKCRvdmVybG9hZCwgJGNvbmRpdGlvbikgPSBAXzsKQEAgLTE4NTksOCAr
MTg2NSwxMiBAQCBzdWIgR2VuZXJhdGVPdmVybG9hZGVkRnVuY3Rpb24KIAogICAgIG15ICRtYXhB
cmdDb3VudCA9IExlbmd0aE9mTG9uZ2VzdEZ1bmN0aW9uUGFyYW1ldGVyTGlzdCgkZnVuY3Rpb24t
PntvdmVybG9hZHN9KTsKIAorICAgIGlmICgkaXNDb25zdHJ1Y3RvcikgeworICAgICAgICBwdXNo
KEBpbXBsQ29udGVudCwgInRlbXBsYXRlPD4gRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCAk
e2NsYXNzTmFtZX1Db25zdHJ1Y3Rvcjo6Y29uc3RydWN0KEV4ZWNTdGF0ZSogc3RhdGUpXG4iKTsK
KyAgICB9IGVsc2UgeworICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIkVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgJHtmdW5jdGlvbk5hbWV9KEV4ZWNTdGF0ZSogc3RhdGUpXG4iKTsKKyAg
ICB9CiAgICAgcHVzaChAaW1wbENvbnRlbnQsIDw8RU5EKTsgICAgCi1FbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMICR7ZnVuY3Rpb25OYW1lfShFeGVjU3RhdGUqIHN0YXRlKQogewogICAgIHNp
emVfdCBhcmdzQ291bnQgPSBzdGQ6Om1pbjxzaXplX3Q+KCRtYXhBcmdDb3VudCwgc3RhdGUtPmFy
Z3VtZW50Q291bnQoKSk7CiBFTkQKQEAgLTE5NDIsNTYgKzE5NTIsNiBAQCBFTkQKICAgICBwdXNo
KEBpbXBsQ29udGVudCwgIn1cblxuIik7CiB9CiAKLXN1YiBHZW5lcmF0ZVBhcmFtZXRlcnNDaGVj
a0V4cHJlc3Npb24KLXsKLSAgICBteSAkbnVtUGFyYW1ldGVycyA9IHNoaWZ0OwotICAgIG15ICRm
dW5jdGlvbiA9IHNoaWZ0OwotCi0gICAgbXkgQGFuZEV4cHJlc3Npb24gPSAoKTsKLSAgICBwdXNo
KEBhbmRFeHByZXNzaW9uLCAiYXJnc0NvdW50ID09ICRudW1QYXJhbWV0ZXJzIik7Ci0gICAgbXkg
JHBhcmFtZXRlckluZGV4ID0gMDsKLSAgICBteSAldXNlZEFyZ3VtZW50cyA9ICgpOwotICAgIGZv
cmVhY2ggbXkgJHBhcmFtZXRlciAoQHskZnVuY3Rpb24tPnBhcmFtZXRlcnN9KSB7Ci0gICAgICAg
IGxhc3QgaWYgJHBhcmFtZXRlckluZGV4ID49ICRudW1QYXJhbWV0ZXJzOwotICAgICAgICBteSAk
dmFsdWUgPSAiYXJnJHBhcmFtZXRlckluZGV4IjsKLSAgICAgICAgbXkgJHR5cGUgPSAkcGFyYW1l
dGVyLT50eXBlOwotCi0gICAgICAgIGlmICgkY29kZUdlbmVyYXRvci0+SXNDYWxsYmFja0ludGVy
ZmFjZSgkcGFyYW1ldGVyLT50eXBlKSkgewotICAgICAgICAgICAgIyBGb3IgQ2FsbGJhY2tzIG9u
bHkgY2hlY2tzIGlmIHRoZSB2YWx1ZSBpcyBudWxsIG9yIG9iamVjdC4KLSAgICAgICAgICAgIGlm
ICgkY29kZUdlbmVyYXRvci0+SXNGdW5jdGlvbk9ubHlDYWxsYmFja0ludGVyZmFjZSgkcGFyYW1l
dGVyLT50eXBlKSkgewotICAgICAgICAgICAgICAgIHB1c2goQGFuZEV4cHJlc3Npb24sICIoJHt2
YWx1ZX0uaXNOdWxsKCkgfHwgJHt2YWx1ZX0uaXNGdW5jdGlvbigpKSIpOwotICAgICAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgICAgICBwdXNoKEBhbmRFeHByZXNzaW9uLCAiKCR7dmFsdWV9
LmlzTnVsbCgpIHx8ICR7dmFsdWV9LmlzT2JqZWN0KCkpIik7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAkdXNlZEFyZ3VtZW50c3skcGFyYW1ldGVySW5kZXh9ID0gMTsKLSAgICAgICAgfSBl
bHNpZiAoJGNvZGVHZW5lcmF0b3ItPklzRGljdGlvbmFyeVR5cGUoJHBhcmFtZXRlci0+dHlwZSkp
IHsKLSAgICAgICAgICAgIHB1c2goQGFuZEV4cHJlc3Npb24sICIoJHt2YWx1ZX0uaXNVbmRlZmlu
ZWRPck51bGwoKSB8fCAke3ZhbHVlfS5pc09iamVjdCgpKSIpOwotICAgICAgICAgICAgJHVzZWRB
cmd1bWVudHN7JHBhcmFtZXRlckluZGV4fSA9IDE7Ci0gICAgICAgIH0gZWxzaWYgKCgkY29kZUdl
bmVyYXRvci0+R2V0QXJyYXlPclNlcXVlbmNlVHlwZSgkdHlwZSkgfHwgJGNvZGVHZW5lcmF0b3It
PklzVHlwZWRBcnJheVR5cGUoJHR5cGUpIHx8ICRjb2RlR2VuZXJhdG9yLT5Jc1dyYXBwZXJUeXBl
KCR0eXBlKSkgJiYgJHR5cGUgbmUgIkV2ZW50TGlzdGVuZXIiKSB7Ci0gICAgICAgICAgICBteSAk
Y29uZGl0aW9uID0gIiI7Ci0KLSAgICAgICAgICAgIGlmICgkcGFyYW1ldGVyLT5pc051bGxhYmxl
KSB7Ci0gICAgICAgICAgICAgICAgJGNvbmRpdGlvbiAuPSAiJHt2YWx1ZX0uaXNVbmRlZmluZWRP
ck51bGwoKSB8fCAiOwotICAgICAgICAgICAgfSBlbHNpZiAoJHBhcmFtZXRlci0+aXNPcHRpb25h
bCkgewotICAgICAgICAgICAgICAgICRjb25kaXRpb24gLj0gIiR7dmFsdWV9LmlzVW5kZWZpbmVk
KCkgfHwgIjsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCRjb2RlR2VuZXJhdG9y
LT5HZXRBcnJheU9yU2VxdWVuY2VUeXBlKCR0eXBlKSkgewotICAgICAgICAgICAgICAgICMgRklY
TUU6IEFkZCBwcm9wZXIgc3VwcG9ydCBmb3IgVFtdLCBUW10/LCBzZXF1ZW5jZTxUPi4KLSAgICAg
ICAgICAgICAgICAkY29uZGl0aW9uIC49ICIoJHt2YWx1ZX0uaXNPYmplY3QoKSAmJiBpc0pTQXJy
YXkoJHt2YWx1ZX0pKSI7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICRj
b25kaXRpb24gLj0gIigke3ZhbHVlfS5pc09iamVjdCgpICYmIGFzT2JqZWN0KCR7dmFsdWV9KS0+
aW5oZXJpdHMoSlMke3R5cGV9OjppbmZvKCkpKSI7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAg
ICBwdXNoKEBhbmRFeHByZXNzaW9uLCAiKCIgLiAkY29uZGl0aW9uIC4gIikiKTsKLSAgICAgICAg
ICAgICR1c2VkQXJndW1lbnRzeyRwYXJhbWV0ZXJJbmRleH0gPSAxOwotICAgICAgICB9Ci0gICAg
ICAgICRwYXJhbWV0ZXJJbmRleCsrOwotICAgIH0KLSAgICBteSAkcmVzID0gam9pbigiICYmICIs
IEBhbmRFeHByZXNzaW9uKTsKLSAgICAkcmVzID0gIigkcmVzKSIgaWYgQGFuZEV4cHJlc3Npb24g
PiAxOwotICAgIHJldHVybiAoJHJlcywgc29ydCB7JGEgPD0+ICRifSAoa2V5cyAldXNlZEFyZ3Vt
ZW50cykpOwotfQotCiAjIEFzIHBlciBXZWIgSURMIHNwZWNpZmljYXRpb24sIHRoZSBsZW5ndGgg
b2YgYSBmdW5jdGlvbiBPYmplY3QgaXMgaXRzIG51bWJlciBvZiBtYW5kYXRvcnkgcGFyYW1ldGVy
cy4KIHN1YiBHZXRGdW5jdGlvbkxlbmd0aAogewpAQCAtMjAxNiwzNyArMTk3Niw2IEBAIHN1YiBH
ZXRGdW5jdGlvbkxlbmd0aAogICAgIHJldHVybiAkbGVuZ3RoOwogfQogCi1zdWIgR2VuZXJhdGVG
dW5jdGlvblBhcmFtZXRlcnNDaGVjawotewotICAgIG15ICRmdW5jdGlvbiA9IHNoaWZ0OwotCi0g
ICAgbXkgQG9yRXhwcmVzc2lvbiA9ICgpOwotICAgIG15ICRudW1QYXJhbWV0ZXJzID0gMDsKLSAg
ICBteSBAbmVlZGVkQXJndW1lbnRzID0gKCk7Ci0gICAgbXkgJGhhc1ZhcmlhZGljID0gMDsKLSAg
ICBteSAkbnVtTWFuZGF0b3J5UGFyYW1zID0gQHskZnVuY3Rpb24tPnBhcmFtZXRlcnN9OwotCi0g
ICAgZm9yZWFjaCBteSAkcGFyYW1ldGVyIChAeyRmdW5jdGlvbi0+cGFyYW1ldGVyc30pIHsKLSAg
ICAgICAgaWYgKCRwYXJhbWV0ZXItPmlzT3B0aW9uYWwpIHsKLSAgICAgICAgICAgIG15ICgkZXhw
cmVzc2lvbiwgQHVzZWRBcmd1bWVudHMpID0gR2VuZXJhdGVQYXJhbWV0ZXJzQ2hlY2tFeHByZXNz
aW9uKCRudW1QYXJhbWV0ZXJzLCAkZnVuY3Rpb24pOwotICAgICAgICAgICAgcHVzaChAb3JFeHBy
ZXNzaW9uLCAkZXhwcmVzc2lvbik7Ci0gICAgICAgICAgICBwdXNoKEBuZWVkZWRBcmd1bWVudHMs
IEB1c2VkQXJndW1lbnRzKTsKLSAgICAgICAgICAgICRudW1NYW5kYXRvcnlQYXJhbXMtLTsKLSAg
ICAgICAgfQotICAgICAgICBpZiAoJHBhcmFtZXRlci0+aXNWYXJpYWRpYykgewotICAgICAgICAg
ICAgJGhhc1ZhcmlhZGljID0gMTsKLSAgICAgICAgICAgIGxhc3Q7Ci0gICAgICAgIH0KLSAgICAg
ICAgJG51bVBhcmFtZXRlcnMrKzsKLSAgICB9Ci0gICAgaWYgKCEkaGFzVmFyaWFkaWMpIHsKLSAg
ICAgICAgbXkgKCRleHByZXNzaW9uLCBAdXNlZEFyZ3VtZW50cykgPSBHZW5lcmF0ZVBhcmFtZXRl
cnNDaGVja0V4cHJlc3Npb24oJG51bVBhcmFtZXRlcnMsICRmdW5jdGlvbik7Ci0gICAgICAgIHB1
c2goQG9yRXhwcmVzc2lvbiwgJGV4cHJlc3Npb24pOwotICAgICAgICBwdXNoKEBuZWVkZWRBcmd1
bWVudHMsIEB1c2VkQXJndW1lbnRzKTsKLSAgICB9Ci0gICAgcmV0dXJuICgkbnVtTWFuZGF0b3J5
UGFyYW1zLCBqb2luKCIgfHwgIiwgQG9yRXhwcmVzc2lvbiksIEBuZWVkZWRBcmd1bWVudHMpOwot
fQotCiBzdWIgTGVuZ3RoT2ZMb25nZXN0RnVuY3Rpb25QYXJhbWV0ZXJMaXN0CiB7CiAgICAgbXkg
KCRvdmVybG9hZHMpID0gQF87CkBAIC0zNDQ4LDcgKzMzNzcsNyBAQCBFTkQKICAgICAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAiI2VuZGlmXG5cbiIpIGlmICRjb25kaXRpb25hbDsKIAogICAg
ICAgICAgICAgIyBHZW5lcmF0ZSBhIGZ1bmN0aW9uIGRpc3BhdGNoaW5nIGNhbGwgdG8gdGhlIHJl
c3Qgb2YgdGhlIG92ZXJsb2Fkcy4KLSAgICAgICAgICAgIEdlbmVyYXRlT3ZlcmxvYWRlZEZ1bmN0
aW9uKCRmdW5jdGlvbiwgJGludGVyZmFjZSkgaWYgISRpc0N1c3RvbSAmJiAkaXNPdmVybG9hZGVk
ICYmICRmdW5jdGlvbi0+e292ZXJsb2FkSW5kZXh9ID09IEB7JGZ1bmN0aW9uLT57b3ZlcmxvYWRz
fX07CisgICAgICAgICAgICBHZW5lcmF0ZU92ZXJsb2FkZWRGdW5jdGlvbk9yQ29uc3RydWN0b3Io
JGZ1bmN0aW9uLCAkaW50ZXJmYWNlLCAwKSBpZiAhJGlzQ3VzdG9tICYmICRpc092ZXJsb2FkZWQg
JiYgJGZ1bmN0aW9uLT57b3ZlcmxvYWRJbmRleH0gPT0gQHskZnVuY3Rpb24tPntvdmVybG9hZHN9
fTsKICAgICAgICAgfQogCiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAkZW5kQXBwbGVDb3B5
cmlnaHQpIGlmICRpbkFwcGxlQ29weXJpZ2h0OwpAQCAtNTE4NSw3ICs1MTE0LDcgQEAgc3ViIEdl
bmVyYXRlQ29uc3RydWN0b3JEZWZpbml0aW9ucwogICAgICAgICAgICAgZm9yZWFjaCBteSAkY29u
c3RydWN0b3IgKEBjb25zdHJ1Y3RvcnMpIHsKICAgICAgICAgICAgICAgICBHZW5lcmF0ZUNvbnN0
cnVjdG9yRGVmaW5pdGlvbigkb3V0cHV0QXJyYXksICRjbGFzc05hbWUsICRwcm90b0NsYXNzTmFt
ZSwgJHZpc2libGVJbnRlcmZhY2VOYW1lLCAkaW50ZXJmYWNlLCAkZ2VuZXJhdGluZ05hbWVkQ29u
c3RydWN0b3IsICRjb25zdHJ1Y3Rvcik7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBHZW5l
cmF0ZU92ZXJsb2FkZWRDb25zdHJ1Y3RvckRlZmluaXRpb24oJG91dHB1dEFycmF5LCAkY2xhc3NO
YW1lLCAkaW50ZXJmYWNlKTsKKyAgICAgICAgICAgIEdlbmVyYXRlT3ZlcmxvYWRlZEZ1bmN0aW9u
T3JDb25zdHJ1Y3RvcihAeyRpbnRlcmZhY2UtPmNvbnN0cnVjdG9yc31bMF0sICRpbnRlcmZhY2Us
IDEpOwogICAgICAgICB9IGVsc2lmIChAY29uc3RydWN0b3JzID09IDEpIHsKICAgICAgICAgICAg
IEdlbmVyYXRlQ29uc3RydWN0b3JEZWZpbml0aW9uKCRvdXRwdXRBcnJheSwgJGNsYXNzTmFtZSwg
JHByb3RvQ2xhc3NOYW1lLCAkdmlzaWJsZUludGVyZmFjZU5hbWUsICRpbnRlcmZhY2UsICRnZW5l
cmF0aW5nTmFtZWRDb25zdHJ1Y3RvciwgJGNvbnN0cnVjdG9yc1swXSk7CiAgICAgICAgIH0gZWxz
ZSB7CkBAIC01MTk2LDUxICs1MTI1LDYgQEAgc3ViIEdlbmVyYXRlQ29uc3RydWN0b3JEZWZpbml0
aW9ucwogICAgIEdlbmVyYXRlQ29uc3RydWN0b3JIZWxwZXJNZXRob2RzKCRvdXRwdXRBcnJheSwg
JGNsYXNzTmFtZSwgJHByb3RvQ2xhc3NOYW1lLCAkdmlzaWJsZUludGVyZmFjZU5hbWUsICRpbnRl
cmZhY2UsICRnZW5lcmF0aW5nTmFtZWRDb25zdHJ1Y3Rvcik7CiB9CiAKLXN1YiBHZW5lcmF0ZU92
ZXJsb2FkZWRDb25zdHJ1Y3RvckRlZmluaXRpb24KLXsKLSAgICBteSAkb3V0cHV0QXJyYXkgPSBz
aGlmdDsKLSAgICBteSAkY2xhc3NOYW1lID0gc2hpZnQ7Ci0gICAgbXkgJGludGVyZmFjZSA9IHNo
aWZ0OwotCi0gICAgIyBGSVhNRTogSW1wbGVtZW50IHN1cHBvcnQgZm9yIG92ZXJsb2FkZWQgY29u
c3RydWN0b3JzIHdpdGggdmFyaWFkaWMgYXJndW1lbnRzLgotICAgIG15ICRsZW5ndGhPZkxvbmdl
c3RPdmVybG9hZGVkQ29uc3RydWN0b3JQYXJhbWV0ZXJMaXN0ID0gTGVuZ3RoT2ZMb25nZXN0RnVu
Y3Rpb25QYXJhbWV0ZXJMaXN0KCRpbnRlcmZhY2UtPmNvbnN0cnVjdG9ycyk7Ci0KLSAgICBwdXNo
KEAkb3V0cHV0QXJyYXksIDw8RU5EKTsKLXRlbXBsYXRlPD4gRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCAke2NsYXNzTmFtZX1Db25zdHJ1Y3Rvcjo6Y29uc3RydWN0KEV4ZWNTdGF0ZSogc3Rh
dGUpCi17Ci0gICAgc2l6ZV90IGFyZ3NDb3VudCA9IHN0ZDo6bWluPHNpemVfdD4oJGxlbmd0aE9m
TG9uZ2VzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvclBhcmFtZXRlckxpc3QsIHN0YXRlLT5hcmd1bWVu
dENvdW50KCkpOwotRU5ECi0KLSAgICBteSAlZmV0Y2hlZEFyZ3VtZW50cyA9ICgpOwotICAgIG15
ICRsZWFzdE51bU1hbmRhdG9yeVBhcmFtcyA9IDI1NTsKLQotICAgIG15IEBjb25zdHJ1Y3RvcnMg
PSBAeyRpbnRlcmZhY2UtPmNvbnN0cnVjdG9yc307Ci0gICAgZm9yZWFjaCBteSAkb3ZlcmxvYWQg
KEBjb25zdHJ1Y3RvcnMpIHsKLSAgICAgICAgbXkgJGZ1bmN0aW9uTmFtZSA9ICJjb25zdHJ1Y3Qk
e2NsYXNzTmFtZX0iOwotICAgICAgICBteSAoJG51bU1hbmRhdG9yeVBhcmFtcywgJHBhcmFtZXRl
cnNDaGVjaywgQG5lZWRlZEFyZ3VtZW50cykgPSBHZW5lcmF0ZUZ1bmN0aW9uUGFyYW1ldGVyc0No
ZWNrKCRvdmVybG9hZCk7Ci0gICAgICAgICRsZWFzdE51bU1hbmRhdG9yeVBhcmFtcyA9ICRudW1N
YW5kYXRvcnlQYXJhbXMgaWYgKCRudW1NYW5kYXRvcnlQYXJhbXMgPCAkbGVhc3ROdW1NYW5kYXRv
cnlQYXJhbXMpOwotCi0gICAgICAgIGZvcmVhY2ggbXkgJHBhcmFtZXRlckluZGV4IChAbmVlZGVk
QXJndW1lbnRzKSB7Ci0gICAgICAgICAgICBuZXh0IGlmIGV4aXN0cyAkZmV0Y2hlZEFyZ3VtZW50
c3skcGFyYW1ldGVySW5kZXh9OwotICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAg
IEpTVmFsdWUgYXJnJHBhcmFtZXRlckluZGV4KHN0YXRlLT5hcmd1bWVudCgkcGFyYW1ldGVySW5k
ZXgpKTtcbiIpOwotICAgICAgICAgICAgJGZldGNoZWRBcmd1bWVudHN7JHBhcmFtZXRlckluZGV4
fSA9IDE7Ci0gICAgICAgIH0KLQotICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgaWYg
KCRwYXJhbWV0ZXJzQ2hlY2spXG4iKTsKLSAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAg
ICAgICByZXR1cm4gJHtmdW5jdGlvbk5hbWV9JG92ZXJsb2FkLT57b3ZlcmxvYWRlZEluZGV4fShz
dGF0ZSk7XG4iKTsKLSAgICB9Ci0KLSAgICBpZiAoJGxlYXN0TnVtTWFuZGF0b3J5UGFyYW1zID49
IDEpIHsKLSAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIGlmIChVTkxJS0VMWShhcmdz
Q291bnQgPCAkbGVhc3ROdW1NYW5kYXRvcnlQYXJhbXMpKVxuIik7Ci0gICAgICAgIHB1c2goQCRv
dXRwdXRBcnJheSwgIiAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihzdGF0ZSwgY3JlYXRlTm90
RW5vdWdoQXJndW1lbnRzRXJyb3Ioc3RhdGUpKTtcbiIpOwotICAgIH0KLSAgICBwdXNoKEAkb3V0
cHV0QXJyYXksIDw8RU5EKTsKLSAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihzdGF0ZSk7Ci19
Ci0KLUVORAotfQotCiBzdWIgR2VuZXJhdGVDb25zdHJ1Y3RvckRlZmluaXRpb24KIHsKICAgICBt
eSAoJG91dHB1dEFycmF5LCAkY2xhc3NOYW1lLCAkcHJvdG9DbGFzc05hbWUsICR2aXNpYmxlSW50
ZXJmYWNlTmFtZSwgJGludGVyZmFjZSwgJGdlbmVyYXRpbmdOYW1lZENvbnN0cnVjdG9yLCAkZnVu
Y3Rpb24pID0gQF87CkBAIC01MzMzLDEwICs1MjE3LDEwIEBAIEVORAogICAgICAgICAgICAgcHVz
aChAJG91dHB1dEFycmF5LCAiICAgIHJldHVybiBjb25zdHJ1Y3Qke2NsYXNzTmFtZX0oKmV4ZWMp
O1xuIik7CiAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICJ9XG5cbiIpOwogICAgICAg
ICAgfSBlbHNpZiAoIUhhc0N1c3RvbUNvbnN0cnVjdG9yKCRpbnRlcmZhY2UpICYmICghJGludGVy
ZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik5hbWVkQ29uc3RydWN0b3IifSB8fCAkZ2VuZXJh
dGluZ05hbWVkQ29uc3RydWN0b3IpKSB7Ci0gICAgICAgICAgICBpZiAoJGZ1bmN0aW9uLT57b3Zl
cmxvYWRlZEluZGV4fSAmJiAkZnVuY3Rpb24tPntvdmVybG9hZGVkSW5kZXh9ID4gMCkgewotICAg
ICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgInN0YXRpYyBpbmxpbmUgRW5jb2RlZEpT
VmFsdWUgY29uc3RydWN0JHtjbGFzc05hbWV9JGZ1bmN0aW9uLT57b3ZlcmxvYWRlZEluZGV4fShF
eGVjU3RhdGUqIHN0YXRlKVxuIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbHNlIHsK
KyAgICAgICAgICAgIG15ICRpc092ZXJsb2FkZWQgPSAkZnVuY3Rpb24tPntvdmVybG9hZHN9ICYm
IEB7JGZ1bmN0aW9uLT57b3ZlcmxvYWRzfX0gPiAxOworICAgICAgICAgICAgaWYgKCRpc092ZXJs
b2FkZWQpIHsKKyAgICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICJzdGF0aWMgaW5s
aW5lIEVuY29kZWRKU1ZhbHVlIGNvbnN0cnVjdCR7Y2xhc3NOYW1lfSRmdW5jdGlvbi0+e292ZXJs
b2FkSW5kZXh9KEV4ZWNTdGF0ZSogc3RhdGUpXG4iKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CiAg
ICAgICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAidGVtcGxhdGU8PiBFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMICR7Y29uc3RydWN0b3JDbGFzc05hbWV9Ojpjb25zdHJ1Y3QoRXhl
Y1N0YXRlKiBzdGF0ZSlcbiIpOwogICAgICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETFBhcnNlci5wbSBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvSURMUGFyc2VyLnBtCmluZGV4IDkzZDRmMGFiZDZkMjI1YmM1ZTU4NGFh
NzgzYmQ1MmY2MjNkYTk1MTYuLjUwNDMxMTIyM2YxZGM2OTQwNzc2YTllMTAxZGE0MDg3Mjc1ODJh
MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMUGFyc2Vy
LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMUGFyc2VyLnBtCkBA
IC0yMzA2LDcgKzIzMDYsNiBAQCBzdWIgYXBwbHlFeHRlbmRlZEF0dHJpYnV0ZUxpc3QKICAgICAg
ICAgICAgICRjb25zdHJ1Y3Rvci0+c2lnbmF0dXJlLT5uYW1lKCJDb25zdHJ1Y3RvciIpOwogICAg
ICAgICAgICAgJGNvbnN0cnVjdG9yLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcygkZXh0
ZW5kZWRBdHRyaWJ1dGVMaXN0KTsKICAgICAgICAgICAgICRjb25zdHJ1Y3Rvci0+cGFyYW1ldGVy
cygkcGFyYW0pOwotICAgICAgICAgICAgJGNvbnN0cnVjdG9yLT57b3ZlcmxvYWRlZEluZGV4fSA9
ICRpbmRleCsrOwogICAgICAgICAgICAgcHVzaChAeyRpbnRlcmZhY2UtPmNvbnN0cnVjdG9yc30s
ICRjb25zdHJ1Y3Rvcik7CiAgICAgICAgIH0KICAgICAgICAgZGVsZXRlICRleHRlbmRlZEF0dHJp
YnV0ZUxpc3QtPnsiQ29uc3RydWN0b3JzIn07CkBAIC0yMzMyLDcgKzIzMzEsNiBAQCBzdWIgYXBw
bHlFeHRlbmRlZEF0dHJpYnV0ZUxpc3QKICAgICAgICAgICAgICRjdXN0b21Db25zdHJ1Y3Rvci0+
c2lnbmF0dXJlLT5uYW1lKCJDdXN0b21Db25zdHJ1Y3RvciIpOwogICAgICAgICAgICAgJGN1c3Rv
bUNvbnN0cnVjdG9yLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcygkZXh0ZW5kZWRBdHRy
aWJ1dGVMaXN0KTsKICAgICAgICAgICAgICRjdXN0b21Db25zdHJ1Y3Rvci0+cGFyYW1ldGVycygk
cGFyYW0pOwotICAgICAgICAgICAgJGN1c3RvbUNvbnN0cnVjdG9yLT57b3ZlcmxvYWRlZEluZGV4
fSA9ICRpbmRleCsrOwogICAgICAgICAgICAgcHVzaChAeyRpbnRlcmZhY2UtPmN1c3RvbUNvbnN0
cnVjdG9yc30sICRjdXN0b21Db25zdHJ1Y3Rvcik7CiAgICAgICAgIH0KICAgICAgICAgZGVsZXRl
ICRleHRlbmRlZEF0dHJpYnV0ZUxpc3QtPnsiQ3VzdG9tQ29uc3RydWN0b3JzIn07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3Zlcmxv
YWRlZENvbnN0cnVjdG9ycy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAKaW5kZXggMWZhMWVkYWQ3OGJk
NDhmNTNhZWE0OWUwOWI2YTI3YjkyOWEwMGY1NC4uYzY4NDY2MzgzM2U4OTgwNTM2MzNmNjAwMjAw
NTg3OTgzYzllOWRkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0
b3JzLmNwcApAQCAtMTMwLDE5ICsxMzAsMjEgQEAgc3RhdGljIGlubGluZSBFbmNvZGVkSlNWYWx1
ZSBjb25zdHJ1Y3RKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzNShFeGVjU3RhdGUqIHMKIHRl
bXBsYXRlPD4gRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBKU1Rlc3RPdmVybG9hZGVkQ29u
c3RydWN0b3JzQ29uc3RydWN0b3I6OmNvbnN0cnVjdChFeGVjU3RhdGUqIHN0YXRlKQogewogICAg
IHNpemVfdCBhcmdzQ291bnQgPSBzdGQ6Om1pbjxzaXplX3Q+KDEsIHN0YXRlLT5hcmd1bWVudENv
dW50KCkpOwotICAgIEpTVmFsdWUgYXJnMChzdGF0ZS0+YXJndW1lbnQoMCkpOwotICAgIGlmICgo
YXJnc0NvdW50ID09IDEgJiYgKChhcmcwLmlzT2JqZWN0KCkgJiYgYXNPYmplY3QoYXJnMCktPmlu
aGVyaXRzKEpTQXJyYXlCdWZmZXI6OmluZm8oKSkpKSkpCi0gICAgICAgIHJldHVybiBjb25zdHJ1
Y3RKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzMShzdGF0ZSk7Ci0gICAgaWYgKChhcmdzQ291
bnQgPT0gMSAmJiAoKGFyZzAuaXNPYmplY3QoKSAmJiBhc09iamVjdChhcmcwKS0+aW5oZXJpdHMo
SlNBcnJheUJ1ZmZlclZpZXc6OmluZm8oKSkpKSkpCi0gICAgICAgIHJldHVybiBjb25zdHJ1Y3RK
U1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzMihzdGF0ZSk7Ci0gICAgaWYgKChhcmdzQ291bnQg
PT0gMSAmJiAoKGFyZzAuaXNPYmplY3QoKSAmJiBhc09iamVjdChhcmcwKS0+aW5oZXJpdHMoSlNC
bG9iOjppbmZvKCkpKSkpKQotICAgICAgICByZXR1cm4gY29uc3RydWN0SlNUZXN0T3ZlcmxvYWRl
ZENvbnN0cnVjdG9yczMoc3RhdGUpOwotICAgIGlmIChhcmdzQ291bnQgPT0gMSkKLSAgICAgICAg
cmV0dXJuIGNvbnN0cnVjdEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM0KHN0YXRlKTsKLSAg
ICBpZiAoKQorICAgIGlmIChhcmdzQ291bnQgPT0gMCkgewogICAgICAgICByZXR1cm4gY29uc3Ry
dWN0SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yczUoc3RhdGUpOwotICAgIGlmIChVTkxJS0VM
WShhcmdzQ291bnQgPCAxKSkKLSAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihzdGF0ZSwgY3Jl
YXRlTm90RW5vdWdoQXJndW1lbnRzRXJyb3Ioc3RhdGUpKTsKKyAgICB9CisgICAgaWYgKGFyZ3ND
b3VudCA9PSAxKSB7CisgICAgICAgIEpTVmFsdWUgZGlzdGluZ3Vpc2hpbmdBcmcgPSBzdGF0ZS0+
dW5jaGVja2VkQXJndW1lbnQoMCk7CisgICAgICAgIGlmIChkaXN0aW5ndWlzaGluZ0FyZy5pc09i
amVjdCgpICYmIGFzT2JqZWN0KGRpc3Rpbmd1aXNoaW5nQXJnKS0+aW5oZXJpdHMoSlNBcnJheUJ1
ZmZlcjo6aW5mbygpKSkKKyAgICAgICAgICAgIHJldHVybiBjb25zdHJ1Y3RKU1Rlc3RPdmVybG9h
ZGVkQ29uc3RydWN0b3JzMShzdGF0ZSk7CisgICAgICAgIGlmIChkaXN0aW5ndWlzaGluZ0FyZy5p
c09iamVjdCgpICYmIGFzT2JqZWN0KGRpc3Rpbmd1aXNoaW5nQXJnKS0+aW5oZXJpdHMoSlNBcnJh
eUJ1ZmZlclZpZXc6OmluZm8oKSkpCisgICAgICAgICAgICByZXR1cm4gY29uc3RydWN0SlNUZXN0
T3ZlcmxvYWRlZENvbnN0cnVjdG9yczIoc3RhdGUpOworICAgICAgICBpZiAoZGlzdGluZ3Vpc2hp
bmdBcmcuaXNPYmplY3QoKSAmJiBhc09iamVjdChkaXN0aW5ndWlzaGluZ0FyZyktPmluaGVyaXRz
KEpTQmxvYjo6aW5mbygpKSkKKyAgICAgICAgICAgIHJldHVybiBjb25zdHJ1Y3RKU1Rlc3RPdmVy
bG9hZGVkQ29uc3RydWN0b3JzMyhzdGF0ZSk7CisgICAgICAgIGlmIChkaXN0aW5ndWlzaGluZ0Fy
Zy5pc051bWJlcigpKQorICAgICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdEpTVGVzdE92ZXJsb2Fk
ZWRDb25zdHJ1Y3RvcnM1KHN0YXRlKTsKKyAgICAgICAgcmV0dXJuIGNvbnN0cnVjdEpTVGVzdE92
ZXJsb2FkZWRDb25zdHJ1Y3RvcnM0KHN0YXRlKTsKKyAgICB9CiAgICAgcmV0dXJuIHRocm93Vk1U
eXBlRXJyb3Ioc3RhdGUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuaWRsIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmlk
bAppbmRleCBiZGRiMWI4NDAzMWYzNTMxNzA4MmYzYzNkYzZmZjg2NTAyOGNiMmUzLi43ZTc0NGFj
NDZiMjhmZTViNGUwNTE1ZTM4ODZlYjA3NmJiYzMyMzBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T3ZlcmxvYWRl
ZENvbnN0cnVjdG9ycy5pZGwKQEAgLTMwLDYgKzMwLDYgQEAKICAgICBDb25zdHJ1Y3RvcihBcnJh
eUJ1ZmZlclZpZXcgYXJyYXlCdWZmZXJWaWV3KSwKICAgICBDb25zdHJ1Y3RvcihCbG9iIGJsb2Ip
LAogICAgIENvbnN0cnVjdG9yKERPTVN0cmluZyBzdHJpbmcpLAotICAgIENvbnN0cnVjdG9yKGxv
bmcuLi4gbG9uZ0FyZ3MpIC8vIEZJWE1FOiBJbXBsZW1lbnQgc3VwcG9ydCBmb3Igb3ZlcmxvYWRl
ZCBjb25zdHJ1Y3RvcnMgd2l0aCB2YXJpYWRpYyBhcmd1bWVudHMuCisgICAgQ29uc3RydWN0b3Io
bG9uZy4uLiBsb25nQXJncykKIF0gaW50ZXJmYWNlIFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3Jz
IHsKIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggZjgwZDVmMDEwZDEzZjQwZDhiY2JhNzEzN2I1NWI3MjkxYzUxZDA1Ny4u
ODc2NDFmMmE1MjgzNGVmMjAyM2NhMGVlNDY0YmUzZjUwMGIwZWVjZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSw1ICsx
LDE4IEBACiAyMDE2LTA4LTAyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAg
ICAgICAgW1dlYklETF0gRXh0ZW5kIG5ldyBvdmVybG9hZCByZXNvbHV0aW9uIGFsZ29yaXRobSBz
dXBwb3J0IHRvIGNvbnN0cnVjdG9ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTYwNDU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVXBkYXRlIC8gcmViYXNlbGluZSBleGlzdGluZyB0ZXN0IGFzIHdlIG5v
dyBwcm92aWRlIHNsaWdodGx5IGRpZmZlcmVudAorICAgICAgICBleGNlcHRpb24gbWVzc2FnZXMg
d2hlbiBnaXZlbiBiYWQgb3ZlcmxvYWRlZCBjb25zdHJ1Y3RvciBwYXJhbWV0ZXJzLgorCisgICAg
ICAgICogZmFzdC9jYW52YXMvY2FudmFzLWltYWdlRGF0YS1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZhcy1pbWFnZURhdGEuanM6CisKKzIwMTYt
MDgtMDIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBbV2ViSURM
XSBJbXBsZW1lbnQgb3ZlcmxvYWQgcmVzb2x1dGlvbiBhbGdvcml0aG0KICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDM5NAogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtaW1hZ2VEYXRhLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1pbWFnZURhdGEtZXhwZWN0ZWQudHh0CmluZGV4
IDhkYjRmMDBmMzI2NDlmNGM3MmJlYjM1OGFlOTQ2YzMyZmM3MzFhMDIuLjBiZDBkODNmYTk5MzEx
NjA5YWZiN2VmMWEzZmI3NmY4NWQzZTAzNGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL2NhbnZhcy1pbWFnZURhdGEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvY2FudmFzL2NhbnZhcy1pbWFnZURhdGEtZXhwZWN0ZWQudHh0CkBAIC0xNCwyMCArMTQsMjAg
QEAgUEFTUyBuZXcgSW1hZ2VEYXRhKC0yMCwgMjApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IFR5cGUgZXJyb3IuCiBQQVNTIG5ldyBJbWFnZURhdGEoMjAsIC0yMCkgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogVHlwZSBlcnJvci4KIFBBU1MgbmV3IEltYWdlRGF0YShudWxsLCAyMCkgdGhy
ZXcgZXhjZXB0aW9uIEluZGV4U2l6ZUVycm9yIChET00gRXhjZXB0aW9uIDEpOiBUaGUgaW5kZXgg
aXMgbm90IGluIHRoZSBhbGxvd2VkIHJhbmdlLi4KIFBBU1MgbmV3IEltYWdlRGF0YSgzMjc2OCwg
MzI3NjgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5ldyBJ
bWFnZURhdGEobnVsbCwgMjAsIDIwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVy
cm9yLgotUEFTUyBuZXcgSW1hZ2VEYXRhKGltYWdlRGF0YSwgMjAsIDIwKSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBuZXcgSW1hZ2VEYXRhKG51bGwsIDIwLCAy
MCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ2RhdGEnKSB0byB0aGUg
SW1hZ2VEYXRhIGNvbnN0cnVjdG9yIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgVWludDhDbGFtcGVk
QXJyYXkuCitQQVNTIG5ldyBJbWFnZURhdGEoaW1hZ2VEYXRhLCAyMCwgMjApIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdkYXRhJykgdG8gdGhlIEltYWdlRGF0YSBjb25z
dHJ1Y3RvciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFVpbnQ4Q2xhbXBlZEFycmF5LgogUEFTUyBu
ZXcgSW1hZ2VEYXRhKGltYWdlRGF0YSwgMCkgdGhyZXcgZXhjZXB0aW9uIEluZGV4U2l6ZUVycm9y
IChET00gRXhjZXB0aW9uIDEpOiBUaGUgaW5kZXggaXMgbm90IGluIHRoZSBhbGxvd2VkIHJhbmdl
Li4KLVBBU1MgbmV3IEltYWdlRGF0YShpbWFnZURhdGEsIDIwLCAwKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuZXcgSW1hZ2VEYXRhKGltYWdlRGF0YSwgMCwg
MjApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5ldyBJbWFn
ZURhdGEoaW1hZ2VEYXRhLCAxMCwgNSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBl
cnJvci4KK1BBU1MgbmV3IEltYWdlRGF0YShpbWFnZURhdGEsIDIwLCAwKSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnZGF0YScpIHRvIHRoZSBJbWFnZURhdGEgY29uc3Ry
dWN0b3IgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBVaW50OENsYW1wZWRBcnJheS4KK1BBU1MgbmV3
IEltYWdlRGF0YShpbWFnZURhdGEsIDAsIDIwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBB
cmd1bWVudCAxICgnZGF0YScpIHRvIHRoZSBJbWFnZURhdGEgY29uc3RydWN0b3IgbXVzdCBiZSBh
biBpbnN0YW5jZSBvZiBVaW50OENsYW1wZWRBcnJheS4KK1BBU1MgbmV3IEltYWdlRGF0YShpbWFn
ZURhdGEsIDEwLCA1KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnZGF0
YScpIHRvIHRoZSBJbWFnZURhdGEgY29uc3RydWN0b3IgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBV
aW50OENsYW1wZWRBcnJheS4KIFBBU1MgbmV3IEltYWdlRGF0YShpbWFnZURhdGEuZGF0YSwgMTAs
IDUpIHRocmV3IGV4Y2VwdGlvbiBJbmRleFNpemVFcnJvciAoRE9NIEV4Y2VwdGlvbiAxKTogVGhl
IGluZGV4IGlzIG5vdCBpbiB0aGUgYWxsb3dlZCByYW5nZS4uCiBQQVNTIG5ldyBJbWFnZURhdGEo
aW1hZ2VEYXRhLmRhdGEsIC0xMCwgNSkgdGhyZXcgZXhjZXB0aW9uIEludmFsaWRTdGF0ZUVycm9y
IChET00gRXhjZXB0aW9uIDExKTogVGhlIG9iamVjdCBpcyBpbiBhbiBpbnZhbGlkIHN0YXRlLi4K
IFBBU1MgbmV3IEltYWdlRGF0YShpbWFnZURhdGEuZGF0YSwgMTAsIC0xMCkgdGhyZXcgZXhjZXB0
aW9uIEluZGV4U2l6ZUVycm9yIChET00gRXhjZXB0aW9uIDEpOiBUaGUgaW5kZXggaXMgbm90IGlu
IHRoZSBhbGxvd2VkIHJhbmdlLi4KIFBBU1MgbmV3IEltYWdlRGF0YShuZXcgVWludDhDbGFtcGVk
QXJyYXkoWzEsMiwzLDQsNSw2LDcsOF0pLDUzNjg3MDkxMywyKTsgdGhyZXcgZXhjZXB0aW9uIElu
dmFsaWRTdGF0ZUVycm9yIChET00gRXhjZXB0aW9uIDExKTogVGhlIG9iamVjdCBpcyBpbiBhbiBp
bnZhbGlkIHN0YXRlLi4KLVBBU1MgbmV3IEltYWdlRGF0YSh7fSwyLDIpOyB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuZXcgSW1hZ2VEYXRhKHVuZGVmaW5lZCwy
LDIpOyB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuZXcgSW1h
Z2VEYXRhKCJub25lIiwyLDIpOyB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9y
LgotUEFTUyBuZXcgSW1hZ2VEYXRhKDAsMiwyKTsgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
VHlwZSBlcnJvci4KK1BBU1MgbmV3IEltYWdlRGF0YSh7fSwyLDIpOyB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBBcmd1bWVudCAxICgnZGF0YScpIHRvIHRoZSBJbWFnZURhdGEgY29uc3RydWN0
b3IgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBVaW50OENsYW1wZWRBcnJheS4KK1BBU1MgbmV3IElt
YWdlRGF0YSh1bmRlZmluZWQsMiwyKTsgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1l
bnQgMSAoJ2RhdGEnKSB0byB0aGUgSW1hZ2VEYXRhIGNvbnN0cnVjdG9yIG11c3QgYmUgYW4gaW5z
dGFuY2Ugb2YgVWludDhDbGFtcGVkQXJyYXkuCitQQVNTIG5ldyBJbWFnZURhdGEoIm5vbmUiLDIs
Mik7IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdkYXRhJykgdG8gdGhl
IEltYWdlRGF0YSBjb25zdHJ1Y3RvciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFVpbnQ4Q2xhbXBl
ZEFycmF5LgorUEFTUyBuZXcgSW1hZ2VEYXRhKDAsMiwyKTsgdGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogQXJndW1lbnQgMSAoJ2RhdGEnKSB0byB0aGUgSW1hZ2VEYXRhIGNvbnN0cnVjdG9yIG11
c3QgYmUgYW4gaW5zdGFuY2Ugb2YgVWludDhDbGFtcGVkQXJyYXkuCiBQQVNTIG5ldyBJbWFnZURh
dGEoaW1hZ2VEYXRhLmRhdGEsIDMyNzY4LCAzMjc2OCkgdGhyZXcgZXhjZXB0aW9uIEludmFsaWRT
dGF0ZUVycm9yIChET00gRXhjZXB0aW9uIDExKTogVGhlIG9iamVjdCBpcyBpbiBhbiBpbnZhbGlk
IHN0YXRlLi4KIFBBU1MgbmV3IEltYWdlRGF0YShpbWFnZURhdGEuZGF0YSwgSW5maW5pdHksIElu
ZmluaXR5KSB0aHJldyBleGNlcHRpb24gSW5kZXhTaXplRXJyb3IgKERPTSBFeGNlcHRpb24gMSk6
IFRoZSBpbmRleCBpcyBub3QgaW4gdGhlIGFsbG93ZWQgcmFuZ2UuLgogUEFTUyBuZXcgSW1hZ2VE
YXRhKGltYWdlRGF0YS5kYXRhLCBOYU4sIE5hTikgdGhyZXcgZXhjZXB0aW9uIEluZGV4U2l6ZUVy
cm9yIChET00gRXhjZXB0aW9uIDEpOiBUaGUgaW5kZXggaXMgbm90IGluIHRoZSBhbGxvd2VkIHJh
bmdlLi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9j
YW52YXMtaW1hZ2VEYXRhLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0LXRlc3Rz
L2NhbnZhcy1pbWFnZURhdGEuanMKaW5kZXggODQ3NTE0YzU4ZTk1Yzc2NTU0NmJhYTI5ZmFhNDg5
MDU4N2NlZmEyNy4uZWYwYjhkOWJmYjZhZGFhMDlhZmE1OWQzYTA1NDc3YzA2MDNjZDMyNSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZhcy1pbWFn
ZURhdGEuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZh
cy1pbWFnZURhdGEuanMKQEAgLTYsMzMgKzYsMzMgQEAgY3R4LmZpbGxSZWN0KDAsMCwxMCwxMCk7
CiB2YXIgaW1hZ2VEYXRhID0gY3R4LmdldEltYWdlRGF0YSgwLDAsMTAsMTApOwogCiBkZWJ1Zygn
VGVzdCBpbnZhbGlkIEltYWdlRGF0YSBjb25zdHJ1Y3RvciBhcmd1bWVudHMuJykKLXNob3VsZFRo
cm93KCduZXcgSW1hZ2VEYXRhKCknLCAnIlR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMi
Jyk7Ci1zaG91bGRUaHJvdygnbmV3IEltYWdlRGF0YSgxKScsICciVHlwZUVycm9yOiBOb3QgZW5v
dWdoIGFyZ3VtZW50cyInKTsKLXNob3VsZFRocm93KCduZXcgSW1hZ2VEYXRhKG5ldyBVaW50OENs
YW1wZWRBcnJheShbMSwyLDMsNF0pKTsnLCAnIlR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVu
dHMiJyk7Ci1zaG91bGRUaHJvdygnbmV3IEltYWdlRGF0YSgwLCAwKScsICciSW5kZXhTaXplRXJy
b3IgKERPTSBFeGNlcHRpb24gMSk6IFRoZSBpbmRleCBpcyBub3QgaW4gdGhlIGFsbG93ZWQgcmFu
Z2UuIicpOwotc2hvdWxkVGhyb3coJ25ldyBJbWFnZURhdGEoMjAsIDApJywgJyJJbmRleFNpemVF
cnJvciAoRE9NIEV4Y2VwdGlvbiAxKTogVGhlIGluZGV4IGlzIG5vdCBpbiB0aGUgYWxsb3dlZCBy
YW5nZS4iJyk7Ci1zaG91bGRUaHJvdygnbmV3IEltYWdlRGF0YSgwLCAyMCknLCAnIkluZGV4U2l6
ZUVycm9yIChET00gRXhjZXB0aW9uIDEpOiBUaGUgaW5kZXggaXMgbm90IGluIHRoZSBhbGxvd2Vk
IHJhbmdlLiInKTsKLXNob3VsZFRocm93KCduZXcgSW1hZ2VEYXRhKC0yMCwgMjApJywgJyJUeXBl
RXJyb3I6IFR5cGUgZXJyb3IiJyk7Ci1zaG91bGRUaHJvdygnbmV3IEltYWdlRGF0YSgyMCwgLTIw
KScsICciVHlwZUVycm9yOiBUeXBlIGVycm9yIicpOwotc2hvdWxkVGhyb3coJ25ldyBJbWFnZURh
dGEobnVsbCwgMjApJywgJyJJbmRleFNpemVFcnJvciAoRE9NIEV4Y2VwdGlvbiAxKTogVGhlIGlu
ZGV4IGlzIG5vdCBpbiB0aGUgYWxsb3dlZCByYW5nZS4iJyk7Ci1zaG91bGRUaHJvdygnbmV3IElt
YWdlRGF0YSgzMjc2OCwgMzI3NjgpJywgJyJUeXBlRXJyb3I6IFR5cGUgZXJyb3IiJyk7Ci1zaG91
bGRUaHJvdygnbmV3IEltYWdlRGF0YShudWxsLCAyMCwgMjApJywgJyJUeXBlRXJyb3I6IFR5cGUg
ZXJyb3IiJyk7Ci1zaG91bGRUaHJvdygnbmV3IEltYWdlRGF0YShpbWFnZURhdGEsIDIwLCAyMCkn
LCAnIlR5cGVFcnJvcjogVHlwZSBlcnJvciInKTsKLXNob3VsZFRocm93KCduZXcgSW1hZ2VEYXRh
KGltYWdlRGF0YSwgMCknLCAnIkluZGV4U2l6ZUVycm9yIChET00gRXhjZXB0aW9uIDEpOiBUaGUg
aW5kZXggaXMgbm90IGluIHRoZSBhbGxvd2VkIHJhbmdlLiInKTsKLXNob3VsZFRocm93KCduZXcg
SW1hZ2VEYXRhKGltYWdlRGF0YSwgMjAsIDApJywgJyJUeXBlRXJyb3I6IFR5cGUgZXJyb3IiJyk7
Ci1zaG91bGRUaHJvdygnbmV3IEltYWdlRGF0YShpbWFnZURhdGEsIDAsIDIwKScsICciVHlwZUVy
cm9yOiBUeXBlIGVycm9yIicpOwotc2hvdWxkVGhyb3coJ25ldyBJbWFnZURhdGEoaW1hZ2VEYXRh
LCAxMCwgNSknLCAnIlR5cGVFcnJvcjogVHlwZSBlcnJvciInKTsKLXNob3VsZFRocm93KCduZXcg
SW1hZ2VEYXRhKGltYWdlRGF0YS5kYXRhLCAxMCwgNSknLCAnIkluZGV4U2l6ZUVycm9yIChET00g
RXhjZXB0aW9uIDEpOiBUaGUgaW5kZXggaXMgbm90IGluIHRoZSBhbGxvd2VkIHJhbmdlLiInKTsK
LXNob3VsZFRocm93KCduZXcgSW1hZ2VEYXRhKGltYWdlRGF0YS5kYXRhLCAtMTAsIDUpJywgJyJJ
bnZhbGlkU3RhdGVFcnJvciAoRE9NIEV4Y2VwdGlvbiAxMSk6IFRoZSBvYmplY3QgaXMgaW4gYW4g
aW52YWxpZCBzdGF0ZS4iJyk7Ci1zaG91bGRUaHJvdygnbmV3IEltYWdlRGF0YShpbWFnZURhdGEu
ZGF0YSwgMTAsIC0xMCknLCAnIkluZGV4U2l6ZUVycm9yIChET00gRXhjZXB0aW9uIDEpOiBUaGUg
aW5kZXggaXMgbm90IGluIHRoZSBhbGxvd2VkIHJhbmdlLiInKTsKLXNob3VsZFRocm93KCduZXcg
SW1hZ2VEYXRhKG5ldyBVaW50OENsYW1wZWRBcnJheShbMSwyLDMsNCw1LDYsNyw4XSksNTM2ODcw
OTEzLDIpOycsICciSW52YWxpZFN0YXRlRXJyb3IgKERPTSBFeGNlcHRpb24gMTEpOiBUaGUgb2Jq
ZWN0IGlzIGluIGFuIGludmFsaWQgc3RhdGUuIicpOwotc2hvdWxkVGhyb3coJ25ldyBJbWFnZURh
dGEoe30sMiwyKTsnLCAnIlR5cGVFcnJvcjogVHlwZSBlcnJvciInKTsKLXNob3VsZFRocm93KCdu
ZXcgSW1hZ2VEYXRhKHVuZGVmaW5lZCwyLDIpOycsICciVHlwZUVycm9yOiBUeXBlIGVycm9yIicp
Owotc2hvdWxkVGhyb3coJ25ldyBJbWFnZURhdGEoIm5vbmUiLDIsMik7JywgJyJUeXBlRXJyb3I6
IFR5cGUgZXJyb3IiJyk7Ci1zaG91bGRUaHJvdygnbmV3IEltYWdlRGF0YSgwLDIsMik7JywgJyJU
eXBlRXJyb3I6IFR5cGUgZXJyb3IiJyk7Ci1zaG91bGRUaHJvdygnbmV3IEltYWdlRGF0YShpbWFn
ZURhdGEuZGF0YSwgMzI3NjgsIDMyNzY4KScsICciSW52YWxpZFN0YXRlRXJyb3IgKERPTSBFeGNl
cHRpb24gMTEpOiBUaGUgb2JqZWN0IGlzIGluIGFuIGludmFsaWQgc3RhdGUuIicpOwotc2hvdWxk
VGhyb3coJ25ldyBJbWFnZURhdGEoaW1hZ2VEYXRhLmRhdGEsIEluZmluaXR5LCBJbmZpbml0eSkn
LCAnIkluZGV4U2l6ZUVycm9yIChET00gRXhjZXB0aW9uIDEpOiBUaGUgaW5kZXggaXMgbm90IGlu
IHRoZSBhbGxvd2VkIHJhbmdlLiInKTsKLXNob3VsZFRocm93KCduZXcgSW1hZ2VEYXRhKGltYWdl
RGF0YS5kYXRhLCBOYU4sIE5hTiknLCAnIkluZGV4U2l6ZUVycm9yIChET00gRXhjZXB0aW9uIDEp
OiBUaGUgaW5kZXggaXMgbm90IGluIHRoZSBhbGxvd2VkIHJhbmdlLiInKTsKK3Nob3VsZFRocm93
RXJyb3JOYW1lKCduZXcgSW1hZ2VEYXRhKCknLCAnVHlwZUVycm9yJyk7CitzaG91bGRUaHJvd0Vy
cm9yTmFtZSgnbmV3IEltYWdlRGF0YSgxKScsICdUeXBlRXJyb3InKTsKK3Nob3VsZFRocm93RXJy
b3JOYW1lKCduZXcgSW1hZ2VEYXRhKG5ldyBVaW50OENsYW1wZWRBcnJheShbMSwyLDMsNF0pKTsn
LCAnVHlwZUVycm9yJyk7CitzaG91bGRUaHJvd0Vycm9yTmFtZSgnbmV3IEltYWdlRGF0YSgwLCAw
KScsICdJbmRleFNpemVFcnJvcicpOworc2hvdWxkVGhyb3dFcnJvck5hbWUoJ25ldyBJbWFnZURh
dGEoMjAsIDApJywgJ0luZGV4U2l6ZUVycm9yJyk7CitzaG91bGRUaHJvd0Vycm9yTmFtZSgnbmV3
IEltYWdlRGF0YSgwLCAyMCknLCAnSW5kZXhTaXplRXJyb3InKTsKK3Nob3VsZFRocm93RXJyb3JO
YW1lKCduZXcgSW1hZ2VEYXRhKC0yMCwgMjApJywgJ1R5cGVFcnJvcicpOworc2hvdWxkVGhyb3dF
cnJvck5hbWUoJ25ldyBJbWFnZURhdGEoMjAsIC0yMCknLCAnVHlwZUVycm9yJyk7CitzaG91bGRU
aHJvd0Vycm9yTmFtZSgnbmV3IEltYWdlRGF0YShudWxsLCAyMCknLCAnSW5kZXhTaXplRXJyb3In
KTsKK3Nob3VsZFRocm93RXJyb3JOYW1lKCduZXcgSW1hZ2VEYXRhKDMyNzY4LCAzMjc2OCknLCAn
VHlwZUVycm9yJyk7CitzaG91bGRUaHJvd0Vycm9yTmFtZSgnbmV3IEltYWdlRGF0YShudWxsLCAy
MCwgMjApJywgJ1R5cGVFcnJvcicpOworc2hvdWxkVGhyb3dFcnJvck5hbWUoJ25ldyBJbWFnZURh
dGEoaW1hZ2VEYXRhLCAyMCwgMjApJywgJ1R5cGVFcnJvcicpOworc2hvdWxkVGhyb3dFcnJvck5h
bWUoJ25ldyBJbWFnZURhdGEoaW1hZ2VEYXRhLCAwKScsICdJbmRleFNpemVFcnJvcicpOworc2hv
dWxkVGhyb3dFcnJvck5hbWUoJ25ldyBJbWFnZURhdGEoaW1hZ2VEYXRhLCAyMCwgMCknLCAnVHlw
ZUVycm9yJyk7CitzaG91bGRUaHJvd0Vycm9yTmFtZSgnbmV3IEltYWdlRGF0YShpbWFnZURhdGEs
IDAsIDIwKScsICdUeXBlRXJyb3InKTsKK3Nob3VsZFRocm93RXJyb3JOYW1lKCduZXcgSW1hZ2VE
YXRhKGltYWdlRGF0YSwgMTAsIDUpJywgJ1R5cGVFcnJvcicpOworc2hvdWxkVGhyb3dFcnJvck5h
bWUoJ25ldyBJbWFnZURhdGEoaW1hZ2VEYXRhLmRhdGEsIDEwLCA1KScsICdJbmRleFNpemVFcnJv
cicpOworc2hvdWxkVGhyb3dFcnJvck5hbWUoJ25ldyBJbWFnZURhdGEoaW1hZ2VEYXRhLmRhdGEs
IC0xMCwgNSknLCAnSW52YWxpZFN0YXRlRXJyb3InKTsKK3Nob3VsZFRocm93RXJyb3JOYW1lKCdu
ZXcgSW1hZ2VEYXRhKGltYWdlRGF0YS5kYXRhLCAxMCwgLTEwKScsICdJbmRleFNpemVFcnJvcicp
Oworc2hvdWxkVGhyb3dFcnJvck5hbWUoJ25ldyBJbWFnZURhdGEobmV3IFVpbnQ4Q2xhbXBlZEFy
cmF5KFsxLDIsMyw0LDUsNiw3LDhdKSw1MzY4NzA5MTMsMik7JywgJ0ludmFsaWRTdGF0ZUVycm9y
Jyk7CitzaG91bGRUaHJvd0Vycm9yTmFtZSgnbmV3IEltYWdlRGF0YSh7fSwyLDIpOycsICdUeXBl
RXJyb3InKTsKK3Nob3VsZFRocm93RXJyb3JOYW1lKCduZXcgSW1hZ2VEYXRhKHVuZGVmaW5lZCwy
LDIpOycsICdUeXBlRXJyb3InKTsKK3Nob3VsZFRocm93RXJyb3JOYW1lKCduZXcgSW1hZ2VEYXRh
KCJub25lIiwyLDIpOycsICdUeXBlRXJyb3InKTsKK3Nob3VsZFRocm93RXJyb3JOYW1lKCduZXcg
SW1hZ2VEYXRhKDAsMiwyKTsnLCAnVHlwZUVycm9yJyk7CitzaG91bGRUaHJvd0Vycm9yTmFtZSgn
bmV3IEltYWdlRGF0YShpbWFnZURhdGEuZGF0YSwgMzI3NjgsIDMyNzY4KScsICdJbnZhbGlkU3Rh
dGVFcnJvcicpOworc2hvdWxkVGhyb3dFcnJvck5hbWUoJ25ldyBJbWFnZURhdGEoaW1hZ2VEYXRh
LmRhdGEsIEluZmluaXR5LCBJbmZpbml0eSknLCAnSW5kZXhTaXplRXJyb3InKTsKK3Nob3VsZFRo
cm93RXJyb3JOYW1lKCduZXcgSW1hZ2VEYXRhKGltYWdlRGF0YS5kYXRhLCBOYU4sIE5hTiknLCAn
SW5kZXhTaXplRXJyb3InKTsKIGRlYnVnKCcnKTsKIAogZGVidWcoJ1Rlc3QgdmFsaWQgSW1hZ2VE
YXRhIGNvbnN0cnVjdG9ycy4nKQpAQCAtNjEsNCArNjEsNCBAQCBmdW5jdGlvbiB0ZXN0VHJhbnNw
YXJlbnRCbGFjayhkYXRhKSB7CiB9CiAKIHZhciBpbWFnZURhdGEyID0gbmV3IEltYWdlRGF0YSgx
MDAsMTAwKTsKLXNob3VsZEJlVHJ1ZSgndGVzdFRyYW5zcGFyZW50QmxhY2soaW1hZ2VEYXRhMi5k
YXRhKScpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK3Nob3VsZEJlVHJ1ZSgndGVzdFRy
YW5zcGFyZW50QmxhY2soaW1hZ2VEYXRhMi5kYXRhKScpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>