<?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>216104</bug_id>
          
          <creation_ts>2020-09-02 15:48:54 -0700</creation_ts>
          <short_desc>[CG] Cache the last status of the image encoded data</short_desc>
          <delta_ts>2020-09-14 09:22:35 -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>Images</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Said Abou-Hallawa">sabouhallawa</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>peng.liu6</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1685036</commentid>
    <comment_count>0</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-09-02 15:48:54 -0700</bug_when>
    <thetext>In one of the WebKit traces, opening a Wikipedia page shows that CGImageSourceCopyPropertiesAtIndex() was called over 500 times. ImageDecoderCG::encodedDataStatus() keeps calling this function as long as the encoded data is not complete. This may happen if the network is slow. This case can be optimized by caching the last status of the image encoded data.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685052</commentid>
    <comment_count>1</comment_count>
      <attachid>407830</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-09-02 16:21:12 -0700</bug_when>
    <thetext>Created attachment 407830
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685060</commentid>
    <comment_count>2</comment_count>
      <attachid>407830</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-09-02 16:46:27 -0700</bug_when>
    <thetext>Comment on attachment 407830
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        can be made with calling system functions.

s/with/without/
Sounds like?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685075</commentid>
    <comment_count>3</comment_count>
      <attachid>407838</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-09-02 17:28:03 -0700</bug_when>
    <thetext>Created attachment 407838
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687174</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-09 15:49:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/68601184&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687481</commentid>
    <comment_count>5</comment_count>
      <attachid>407838</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-09-10 11:39:04 -0700</bug_when>
    <thetext>Comment on attachment 407838
Patch

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

&gt; Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp:-239
&gt; -        // Ragnaros yells: TOO SOON! You have awakened me TOO SOON, Executus!

This critical historical documentation must remain!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687511</commentid>
    <comment_count>6</comment_count>
      <attachid>408470</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-09-10 13:02:11 -0700</bug_when>
    <thetext>Created attachment 408470
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687512</commentid>
    <comment_count>7</comment_count>
      <attachid>407838</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-09-10 13:03:06 -0700</bug_when>
    <thetext>Comment on attachment 407838
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp:-239
&gt;&gt; -        // Ragnaros yells: TOO SOON! You have awakened me TOO SOON, Executus!
&gt; 
&gt; This critical historical documentation must remain!

I put it back :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687673</commentid>
    <comment_count>8</comment_count>
      <attachid>408470</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-09-11 00:07:48 -0700</bug_when>
    <thetext>Comment on attachment 408470
Patch

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

&gt; Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp:253
&gt; +            m_encodedDataStatus = EncodedDataStatus::Error;

Could be a one liner:
m_encodedDataStatus = !m_isAllDataReceived ? EncodedDataStatus::Unknown : EncodedDataStatus::Error;

&gt; Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp:260
&gt;          RetainPtr&lt;CFDictionaryRef&gt; image0Properties = adoptCF(CGImageSourceCopyPropertiesAtIndex(m_nativeDecoder.get(), 0, imageSourceOptions().get()));

auto

&gt; Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp:266
&gt; +        if (!CFDictionaryContainsKey(image0Properties.get(), kCGImagePropertyPixelWidth) || !CFDictionaryContainsKey(image0Properties.get(), kCGImagePropertyPixelHeight)) {

You could group both this if and previous if in a single statement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688215</commentid>
    <comment_count>9</comment_count>
      <attachid>408694</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-09-14 02:41:43 -0700</bug_when>
    <thetext>Created attachment 408694
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688269</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-14 09:22:35 -0700</bug_when>
    <thetext>Committed r267016: &lt;https://trac.webkit.org/changeset/267016&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 408694.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407830</attachid>
            <date>2020-09-02 16:21:12 -0700</date>
            <delta_ts>2020-09-02 17:28:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216104-20200902162111.patch</filename>
            <type>text/plain</type>
            <size>4510</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NjQ5MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA5LTAyICBTYWlkIEFi
b3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgW0NHXSBDYWNo
ZSB0aGUgbGFzdCBzdGF0dXMgb2YgdGhlIGltYWdlIGVuY29kZWQgZGF0YQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2MTA0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2FjaGUgdGhlIGxhc3Qgc3RhdHVz
IG9mIHRoZSBpbWFnZSBlbmNvZGVkIGRhdGEgc3VjaCB0aGF0IGVhcmx5IGRlY2lzaW9ucworICAg
ICAgICBjYW4gYmUgbWFkZSB3aXRoIGNhbGxpbmcgc3lzdGVtIGZ1bmN0aW9ucy4KKworICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlRGVjb2RlckNHLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkltYWdlRGVjb2RlckNHOjplbmNvZGVkRGF0YVN0YXR1cyBjb25zdCk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VEZWNvZGVyQ0cuaDoKKwogMjAyMC0wOS0wMiAg
RGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgQ2hhbmdlIEFmZmluaXR5
IGludG8gYW4gZW51bSBjbGFzcwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2cvSW1hZ2VEZWNvZGVyQ0cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlRGVjb2RlckNHLmNwcAkocmV2aXNpb24gMjY2NDgzKQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VEZWNvZGVyQ0cuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yMjUsNDYgKzIyNSw1NSBAQCBTdHJpbmcgSW1hZ2VEZWNvZGVy
Q0c6OmZpbGVuYW1lRXh0ZW5zaW9uCiAKIEVuY29kZWREYXRhU3RhdHVzIEltYWdlRGVjb2RlckNH
OjplbmNvZGVkRGF0YVN0YXR1cygpIGNvbnN0CiB7CisgICAgaWYgKG1fZW5jb2RlZERhdGFTdGF0
dXMgPT0gRW5jb2RlZERhdGFTdGF0dXM6OkVycm9yIHx8IG1fZW5jb2RlZERhdGFTdGF0dXMgPT0g
RW5jb2RlZERhdGFTdGF0dXM6OkNvbXBsZXRlKQorICAgICAgICByZXR1cm4gbV9lbmNvZGVkRGF0
YVN0YXR1czsKKworICAgIC8vIFRoZSBpbWFnZSBzb3VyY2UgVVRJIGNhbiBiZSBjaGFuZ2VkIHdo
aWxlIHJlY2VpdmluZyBtb3JlIGVuY29kZWQgZGF0YS4KICAgICBTdHJpbmcgdXRpID0gdGhpcy0+
dXRpKCk7CiAgICAgaWYgKHV0aS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBFbmNvZGVkRGF0
YVN0YXR1czo6VW5rbm93bjsKIAorICAgIGlmICghaXNTdXBwb3J0ZWRJbWFnZVR5cGUodXRpKSkg
eworICAgICAgICBtX2VuY29kZWREYXRhU3RhdHVzID0gRW5jb2RlZERhdGFTdGF0dXM6OkVycm9y
OworICAgICAgICByZXR1cm4gbV9lbmNvZGVkRGF0YVN0YXR1czsKKyAgICB9CisKICAgICBzd2l0
Y2ggKENHSW1hZ2VTb3VyY2VHZXRTdGF0dXMobV9uYXRpdmVEZWNvZGVyLmdldCgpKSkgewogICAg
IGNhc2Uga0NHSW1hZ2VTdGF0dXNVbmtub3duVHlwZToKLSAgICAgICAgcmV0dXJuIEVuY29kZWRE
YXRhU3RhdHVzOjpFcnJvcjsKKyAgICAgICAgbV9lbmNvZGVkRGF0YVN0YXR1cyA9IEVuY29kZWRE
YXRhU3RhdHVzOjpFcnJvcjsKKyAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIGtDR0ltYWdlU3Rh
dHVzVW5leHBlY3RlZEVPRjoKICAgICBjYXNlIGtDR0ltYWdlU3RhdHVzSW52YWxpZERhdGE6CiAg
ICAgY2FzZSBrQ0dJbWFnZVN0YXR1c1JlYWRpbmdIZWFkZXI6Ci0gICAgICAgIC8vIFJhZ25hcm9z
IHllbGxzOiBUT08gU09PTiEgWW91IGhhdmUgYXdha2VuZWQgbWUgVE9PIFNPT04sIEV4ZWN1dHVz
IQotICAgICAgICBpZiAoIW1faXNBbGxEYXRhUmVjZWl2ZWQpCi0gICAgICAgICAgICByZXR1cm4g
RW5jb2RlZERhdGFTdGF0dXM6OlVua25vd247Ci0KLSAgICAgICAgcmV0dXJuIEVuY29kZWREYXRh
U3RhdHVzOjpFcnJvcjsKKyAgICAgICAgbV9lbmNvZGVkRGF0YVN0YXR1cyA9IG1faXNBbGxEYXRh
UmVjZWl2ZWQgPyBFbmNvZGVkRGF0YVN0YXR1czo6RXJyb3IgOiBFbmNvZGVkRGF0YVN0YXR1czo6
VW5rbm93bjsKKyAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIGtDR0ltYWdlU3RhdHVzSW5jb21w
bGV0ZTogewotICAgICAgICBpZiAoIWlzU3VwcG9ydGVkSW1hZ2VUeXBlKHV0aSkpCi0gICAgICAg
ICAgICByZXR1cm4gRW5jb2RlZERhdGFTdGF0dXM6OkVycm9yOworICAgICAgICBpZiAobV9lbmNv
ZGVkRGF0YVN0YXR1cyA9PSBFbmNvZGVkRGF0YVN0YXR1czo6U2l6ZUF2YWlsYWJsZSkKKyAgICAg
ICAgICAgIGJyZWFrOwogCiAgICAgICAgIFJldGFpblB0cjxDRkRpY3Rpb25hcnlSZWY+IGltYWdl
MFByb3BlcnRpZXMgPSBhZG9wdENGKENHSW1hZ2VTb3VyY2VDb3B5UHJvcGVydGllc0F0SW5kZXgo
bV9uYXRpdmVEZWNvZGVyLmdldCgpLCAwLCBpbWFnZVNvdXJjZU9wdGlvbnMoKS5nZXQoKSkpOwot
ICAgICAgICBpZiAoIWltYWdlMFByb3BlcnRpZXMpCi0gICAgICAgICAgICByZXR1cm4gRW5jb2Rl
ZERhdGFTdGF0dXM6OlR5cGVBdmFpbGFibGU7CisgICAgICAgIGlmICghaW1hZ2UwUHJvcGVydGll
cykgeworICAgICAgICAgICAgbV9lbmNvZGVkRGF0YVN0YXR1cyA9IEVuY29kZWREYXRhU3RhdHVz
OjpUeXBlQXZhaWxhYmxlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICAgICAg
Ci0gICAgICAgIGlmICghQ0ZEaWN0aW9uYXJ5Q29udGFpbnNLZXkoaW1hZ2UwUHJvcGVydGllcy5n
ZXQoKSwga0NHSW1hZ2VQcm9wZXJ0eVBpeGVsV2lkdGgpIHx8ICFDRkRpY3Rpb25hcnlDb250YWlu
c0tleShpbWFnZTBQcm9wZXJ0aWVzLmdldCgpLCBrQ0dJbWFnZVByb3BlcnR5UGl4ZWxIZWlnaHQp
KQotICAgICAgICAgICAgcmV0dXJuIEVuY29kZWREYXRhU3RhdHVzOjpUeXBlQXZhaWxhYmxlOwor
ICAgICAgICBpZiAoIUNGRGljdGlvbmFyeUNvbnRhaW5zS2V5KGltYWdlMFByb3BlcnRpZXMuZ2V0
KCksIGtDR0ltYWdlUHJvcGVydHlQaXhlbFdpZHRoKSB8fCAhQ0ZEaWN0aW9uYXJ5Q29udGFpbnNL
ZXkoaW1hZ2UwUHJvcGVydGllcy5nZXQoKSwga0NHSW1hZ2VQcm9wZXJ0eVBpeGVsSGVpZ2h0KSkg
eworICAgICAgICAgICAgbV9lbmNvZGVkRGF0YVN0YXR1cyA9IEVuY29kZWREYXRhU3RhdHVzOjpU
eXBlQXZhaWxhYmxlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICAgICAgCi0g
ICAgICAgIHJldHVybiBFbmNvZGVkRGF0YVN0YXR1czo6U2l6ZUF2YWlsYWJsZTsKKyAgICAgICAg
bV9lbmNvZGVkRGF0YVN0YXR1cyA9IEVuY29kZWREYXRhU3RhdHVzOjpTaXplQXZhaWxhYmxlOwor
ICAgICAgICBicmVhazsKICAgICB9CiAKICAgICBjYXNlIGtDR0ltYWdlU3RhdHVzQ29tcGxldGU6
Ci0gICAgICAgIGlmICghaXNTdXBwb3J0ZWRJbWFnZVR5cGUodXRpKSkKLSAgICAgICAgICAgIHJl
dHVybiBFbmNvZGVkRGF0YVN0YXR1czo6RXJyb3I7Ci0KLSAgICAgICAgcmV0dXJuIEVuY29kZWRE
YXRhU3RhdHVzOjpDb21wbGV0ZTsKKyAgICAgICAgbV9lbmNvZGVkRGF0YVN0YXR1cyA9IEVuY29k
ZWREYXRhU3RhdHVzOjpDb21wbGV0ZTsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogCi0gICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIEVuY29kZWREYXRhU3RhdHVzOjpVbmtub3du
OworICAgIHJldHVybiBtX2VuY29kZWREYXRhU3RhdHVzOyAKIH0KIAogc2l6ZV90IEltYWdlRGVj
b2RlckNHOjpmcmFtZUNvdW50KCkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NnL0ltYWdlRGVjb2RlckNHLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VEZWNvZGVyQ0cuaAkocmV2aXNpb24gMjY2NDgz
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VEZWNvZGVyQ0cu
aAkod29ya2luZyBjb3B5KQpAQCAtNjksNiArNjksNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAg
ICAgYm9vbCBtX2lzQWxsRGF0YVJlY2VpdmVkIHsgZmFsc2UgfTsKKyAgICBtdXRhYmxlIEVuY29k
ZWREYXRhU3RhdHVzIG1fZW5jb2RlZERhdGFTdGF0dXMgeyBFbmNvZGVkRGF0YVN0YXR1czo6VW5r
bm93biB9OwogICAgIFJldGFpblB0cjxDR0ltYWdlU291cmNlUmVmPiBtX25hdGl2ZURlY29kZXI7
CiB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407838</attachid>
            <date>2020-09-02 17:28:03 -0700</date>
            <delta_ts>2020-09-10 13:02:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216104-20200902172802.patch</filename>
            <type>text/plain</type>
            <size>4513</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NjQ5MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA5LTAyICBTYWlkIEFi
b3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgW0NHXSBDYWNo
ZSB0aGUgbGFzdCBzdGF0dXMgb2YgdGhlIGltYWdlIGVuY29kZWQgZGF0YQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2MTA0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2FjaGUgdGhlIGxhc3Qgc3RhdHVz
IG9mIHRoZSBpbWFnZSBlbmNvZGVkIGRhdGEgc3VjaCB0aGF0IGVhcmx5IGRlY2lzaW9ucworICAg
ICAgICBjYW4gYmUgbWFkZSB3aXRob3V0IGNhbGxpbmcgc3lzdGVtIGZ1bmN0aW9ucy4KKworICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlRGVjb2RlckNHLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkltYWdlRGVjb2RlckNHOjplbmNvZGVkRGF0YVN0YXR1cyBjb25zdCk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VEZWNvZGVyQ0cuaDoKKwogMjAyMC0wOS0w
MiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgQ2hhbmdlIEFmZmlu
aXR5IGludG8gYW4gZW51bSBjbGFzcwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvSW1hZ2VEZWNvZGVyQ0cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlRGVjb2RlckNHLmNwcAkocmV2aXNpb24gMjY2NDgz
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VEZWNvZGVyQ0cu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMjUsNDYgKzIyNSw1NSBAQCBTdHJpbmcgSW1hZ2VEZWNv
ZGVyQ0c6OmZpbGVuYW1lRXh0ZW5zaW9uCiAKIEVuY29kZWREYXRhU3RhdHVzIEltYWdlRGVjb2Rl
ckNHOjplbmNvZGVkRGF0YVN0YXR1cygpIGNvbnN0CiB7CisgICAgaWYgKG1fZW5jb2RlZERhdGFT
dGF0dXMgPT0gRW5jb2RlZERhdGFTdGF0dXM6OkVycm9yIHx8IG1fZW5jb2RlZERhdGFTdGF0dXMg
PT0gRW5jb2RlZERhdGFTdGF0dXM6OkNvbXBsZXRlKQorICAgICAgICByZXR1cm4gbV9lbmNvZGVk
RGF0YVN0YXR1czsKKworICAgIC8vIFRoZSBpbWFnZSBzb3VyY2UgVVRJIGNhbiBiZSBjaGFuZ2Vk
IHdoaWxlIHJlY2VpdmluZyBtb3JlIGVuY29kZWQgZGF0YS4KICAgICBTdHJpbmcgdXRpID0gdGhp
cy0+dXRpKCk7CiAgICAgaWYgKHV0aS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBFbmNvZGVk
RGF0YVN0YXR1czo6VW5rbm93bjsKIAorICAgIGlmICghaXNTdXBwb3J0ZWRJbWFnZVR5cGUodXRp
KSkgeworICAgICAgICBtX2VuY29kZWREYXRhU3RhdHVzID0gRW5jb2RlZERhdGFTdGF0dXM6OkVy
cm9yOworICAgICAgICByZXR1cm4gbV9lbmNvZGVkRGF0YVN0YXR1czsKKyAgICB9CisKICAgICBz
d2l0Y2ggKENHSW1hZ2VTb3VyY2VHZXRTdGF0dXMobV9uYXRpdmVEZWNvZGVyLmdldCgpKSkgewog
ICAgIGNhc2Uga0NHSW1hZ2VTdGF0dXNVbmtub3duVHlwZToKLSAgICAgICAgcmV0dXJuIEVuY29k
ZWREYXRhU3RhdHVzOjpFcnJvcjsKKyAgICAgICAgbV9lbmNvZGVkRGF0YVN0YXR1cyA9IEVuY29k
ZWREYXRhU3RhdHVzOjpFcnJvcjsKKyAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIGtDR0ltYWdl
U3RhdHVzVW5leHBlY3RlZEVPRjoKICAgICBjYXNlIGtDR0ltYWdlU3RhdHVzSW52YWxpZERhdGE6
CiAgICAgY2FzZSBrQ0dJbWFnZVN0YXR1c1JlYWRpbmdIZWFkZXI6Ci0gICAgICAgIC8vIFJhZ25h
cm9zIHllbGxzOiBUT08gU09PTiEgWW91IGhhdmUgYXdha2VuZWQgbWUgVE9PIFNPT04sIEV4ZWN1
dHVzIQotICAgICAgICBpZiAoIW1faXNBbGxEYXRhUmVjZWl2ZWQpCi0gICAgICAgICAgICByZXR1
cm4gRW5jb2RlZERhdGFTdGF0dXM6OlVua25vd247Ci0KLSAgICAgICAgcmV0dXJuIEVuY29kZWRE
YXRhU3RhdHVzOjpFcnJvcjsKKyAgICAgICAgbV9lbmNvZGVkRGF0YVN0YXR1cyA9IG1faXNBbGxE
YXRhUmVjZWl2ZWQgPyBFbmNvZGVkRGF0YVN0YXR1czo6RXJyb3IgOiBFbmNvZGVkRGF0YVN0YXR1
czo6VW5rbm93bjsKKyAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIGtDR0ltYWdlU3RhdHVzSW5j
b21wbGV0ZTogewotICAgICAgICBpZiAoIWlzU3VwcG9ydGVkSW1hZ2VUeXBlKHV0aSkpCi0gICAg
ICAgICAgICByZXR1cm4gRW5jb2RlZERhdGFTdGF0dXM6OkVycm9yOworICAgICAgICBpZiAobV9l
bmNvZGVkRGF0YVN0YXR1cyA9PSBFbmNvZGVkRGF0YVN0YXR1czo6U2l6ZUF2YWlsYWJsZSkKKyAg
ICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIFJldGFpblB0cjxDRkRpY3Rpb25hcnlSZWY+IGlt
YWdlMFByb3BlcnRpZXMgPSBhZG9wdENGKENHSW1hZ2VTb3VyY2VDb3B5UHJvcGVydGllc0F0SW5k
ZXgobV9uYXRpdmVEZWNvZGVyLmdldCgpLCAwLCBpbWFnZVNvdXJjZU9wdGlvbnMoKS5nZXQoKSkp
OwotICAgICAgICBpZiAoIWltYWdlMFByb3BlcnRpZXMpCi0gICAgICAgICAgICByZXR1cm4gRW5j
b2RlZERhdGFTdGF0dXM6OlR5cGVBdmFpbGFibGU7CisgICAgICAgIGlmICghaW1hZ2UwUHJvcGVy
dGllcykgeworICAgICAgICAgICAgbV9lbmNvZGVkRGF0YVN0YXR1cyA9IEVuY29kZWREYXRhU3Rh
dHVzOjpUeXBlQXZhaWxhYmxlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICAg
ICAgCi0gICAgICAgIGlmICghQ0ZEaWN0aW9uYXJ5Q29udGFpbnNLZXkoaW1hZ2UwUHJvcGVydGll
cy5nZXQoKSwga0NHSW1hZ2VQcm9wZXJ0eVBpeGVsV2lkdGgpIHx8ICFDRkRpY3Rpb25hcnlDb250
YWluc0tleShpbWFnZTBQcm9wZXJ0aWVzLmdldCgpLCBrQ0dJbWFnZVByb3BlcnR5UGl4ZWxIZWln
aHQpKQotICAgICAgICAgICAgcmV0dXJuIEVuY29kZWREYXRhU3RhdHVzOjpUeXBlQXZhaWxhYmxl
OworICAgICAgICBpZiAoIUNGRGljdGlvbmFyeUNvbnRhaW5zS2V5KGltYWdlMFByb3BlcnRpZXMu
Z2V0KCksIGtDR0ltYWdlUHJvcGVydHlQaXhlbFdpZHRoKSB8fCAhQ0ZEaWN0aW9uYXJ5Q29udGFp
bnNLZXkoaW1hZ2UwUHJvcGVydGllcy5nZXQoKSwga0NHSW1hZ2VQcm9wZXJ0eVBpeGVsSGVpZ2h0
KSkgeworICAgICAgICAgICAgbV9lbmNvZGVkRGF0YVN0YXR1cyA9IEVuY29kZWREYXRhU3RhdHVz
OjpUeXBlQXZhaWxhYmxlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICAgICAg
Ci0gICAgICAgIHJldHVybiBFbmNvZGVkRGF0YVN0YXR1czo6U2l6ZUF2YWlsYWJsZTsKKyAgICAg
ICAgbV9lbmNvZGVkRGF0YVN0YXR1cyA9IEVuY29kZWREYXRhU3RhdHVzOjpTaXplQXZhaWxhYmxl
OworICAgICAgICBicmVhazsKICAgICB9CiAKICAgICBjYXNlIGtDR0ltYWdlU3RhdHVzQ29tcGxl
dGU6Ci0gICAgICAgIGlmICghaXNTdXBwb3J0ZWRJbWFnZVR5cGUodXRpKSkKLSAgICAgICAgICAg
IHJldHVybiBFbmNvZGVkRGF0YVN0YXR1czo6RXJyb3I7Ci0KLSAgICAgICAgcmV0dXJuIEVuY29k
ZWREYXRhU3RhdHVzOjpDb21wbGV0ZTsKKyAgICAgICAgbV9lbmNvZGVkRGF0YVN0YXR1cyA9IEVu
Y29kZWREYXRhU3RhdHVzOjpDb21wbGV0ZTsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogCi0gICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIEVuY29kZWREYXRhU3RhdHVzOjpVbmtu
b3duOworICAgIHJldHVybiBtX2VuY29kZWREYXRhU3RhdHVzOyAKIH0KIAogc2l6ZV90IEltYWdl
RGVjb2RlckNHOjpmcmFtZUNvdW50KCkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NnL0ltYWdlRGVjb2RlckNHLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VEZWNvZGVyQ0cuaAkocmV2aXNpb24gMjY2
NDgzKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VEZWNvZGVy
Q0cuaAkod29ya2luZyBjb3B5KQpAQCAtNjksNiArNjksNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6
CiAgICAgYm9vbCBtX2lzQWxsRGF0YVJlY2VpdmVkIHsgZmFsc2UgfTsKKyAgICBtdXRhYmxlIEVu
Y29kZWREYXRhU3RhdHVzIG1fZW5jb2RlZERhdGFTdGF0dXMgeyBFbmNvZGVkRGF0YVN0YXR1czo6
VW5rbm93biB9OwogICAgIFJldGFpblB0cjxDR0ltYWdlU291cmNlUmVmPiBtX25hdGl2ZURlY29k
ZXI7CiB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408470</attachid>
            <date>2020-09-10 13:02:11 -0700</date>
            <delta_ts>2020-09-11 00:07:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216104-20200910130210.patch</filename>
            <type>text/plain</type>
            <size>4762</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2ODg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjE2MThiMGI3MjdhNDE0
NTRmMTA0YjIyMTFhNTM4Nzg1MjZkNzJmZS4uYzExZmM5ZGZkNzkzZmE0ODRhNWIyZDI0YzcxYzIx
YmJiZGM2ODRkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA5LTEwICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgW0NHXSBD
YWNoZSB0aGUgbGFzdCBzdGF0dXMgb2YgdGhlIGltYWdlIGVuY29kZWQgZGF0YQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2MTA0CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2FjaGUgdGhlIGxhc3Qgc3Rh
dHVzIG9mIHRoZSBpbWFnZSBlbmNvZGVkIGRhdGEgc3VjaCB0aGF0IGVhcmx5IGRlY2lzaW9ucwor
ICAgICAgICBjYW4gYmUgbWFkZSB3aXRob3V0IGNhbGxpbmcgc3lzdGVtIGZ1bmN0aW9ucy4KKwor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlRGVjb2RlckNHLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkltYWdlRGVjb2RlckNHOjplbmNvZGVkRGF0YVN0YXR1cyBjb25zdCk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VEZWNvZGVyQ0cuaDoKKwogMjAyMC0w
OS0xMCAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIElu
c3BlY3RvcjogbW9kZXJuaXplIGdlbmVyYXRlZCBiYWNrZW5kIHByb3RvY29sIGNvZGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlRGVjb2RlckNH
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlRGVjb2RlckNH
LmNwcAppbmRleCA5YjI3N2VkZDA5OTdiYmZmYzEwNGI4ODk4ODlkNzBlNzYxNmQ3MjE1Li4wNTc1
NTZlN2JmODQxMGY3YWJiOGViMjhjOGMxZDZmZjI3MDY0NWE3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZURlY29kZXJDRy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VEZWNvZGVyQ0cuY3BwCkBAIC0y
MjUsNDYgKzIyNSw1OSBAQCBTdHJpbmcgSW1hZ2VEZWNvZGVyQ0c6OmZpbGVuYW1lRXh0ZW5zaW9u
KCkgY29uc3QKIAogRW5jb2RlZERhdGFTdGF0dXMgSW1hZ2VEZWNvZGVyQ0c6OmVuY29kZWREYXRh
U3RhdHVzKCkgY29uc3QKIHsKKyAgICBpZiAobV9lbmNvZGVkRGF0YVN0YXR1cyA9PSBFbmNvZGVk
RGF0YVN0YXR1czo6RXJyb3IgfHwgbV9lbmNvZGVkRGF0YVN0YXR1cyA9PSBFbmNvZGVkRGF0YVN0
YXR1czo6Q29tcGxldGUpCisgICAgICAgIHJldHVybiBtX2VuY29kZWREYXRhU3RhdHVzOworCisg
ICAgLy8gVGhlIGltYWdlIHNvdXJjZSBVVEkgY2FuIGJlIGNoYW5nZWQgd2hpbGUgcmVjZWl2aW5n
IG1vcmUgZW5jb2RlZCBkYXRhLgogICAgIFN0cmluZyB1dGkgPSB0aGlzLT51dGkoKTsKICAgICBp
ZiAodXRpLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIEVuY29kZWREYXRhU3RhdHVzOjpVbmtu
b3duOwogCisgICAgaWYgKCFpc1N1cHBvcnRlZEltYWdlVHlwZSh1dGkpKSB7CisgICAgICAgIG1f
ZW5jb2RlZERhdGFTdGF0dXMgPSBFbmNvZGVkRGF0YVN0YXR1czo6RXJyb3I7CisgICAgICAgIHJl
dHVybiBtX2VuY29kZWREYXRhU3RhdHVzOworICAgIH0KKwogICAgIHN3aXRjaCAoQ0dJbWFnZVNv
dXJjZUdldFN0YXR1cyhtX25hdGl2ZURlY29kZXIuZ2V0KCkpKSB7CiAgICAgY2FzZSBrQ0dJbWFn
ZVN0YXR1c1Vua25vd25UeXBlOgotICAgICAgICByZXR1cm4gRW5jb2RlZERhdGFTdGF0dXM6OkVy
cm9yOworICAgICAgICBtX2VuY29kZWREYXRhU3RhdHVzID0gRW5jb2RlZERhdGFTdGF0dXM6OkVy
cm9yOworICAgICAgICBicmVhazsKIAogICAgIGNhc2Uga0NHSW1hZ2VTdGF0dXNVbmV4cGVjdGVk
RU9GOgogICAgIGNhc2Uga0NHSW1hZ2VTdGF0dXNJbnZhbGlkRGF0YToKICAgICBjYXNlIGtDR0lt
YWdlU3RhdHVzUmVhZGluZ0hlYWRlcjoKICAgICAgICAgLy8gUmFnbmFyb3MgeWVsbHM6IFRPTyBT
T09OISBZb3UgaGF2ZSBhd2FrZW5lZCBtZSBUT08gU09PTiwgRXhlY3V0dXMhCiAgICAgICAgIGlm
ICghbV9pc0FsbERhdGFSZWNlaXZlZCkKLSAgICAgICAgICAgIHJldHVybiBFbmNvZGVkRGF0YVN0
YXR1czo6VW5rbm93bjsKLQotICAgICAgICByZXR1cm4gRW5jb2RlZERhdGFTdGF0dXM6OkVycm9y
OworICAgICAgICAgICAgbV9lbmNvZGVkRGF0YVN0YXR1cyA9IEVuY29kZWREYXRhU3RhdHVzOjpV
bmtub3duOworICAgICAgICBlbHNlCisgICAgICAgICAgICBtX2VuY29kZWREYXRhU3RhdHVzID0g
RW5jb2RlZERhdGFTdGF0dXM6OkVycm9yOworICAgICAgICBicmVhazsKIAogICAgIGNhc2Uga0NH
SW1hZ2VTdGF0dXNJbmNvbXBsZXRlOiB7Ci0gICAgICAgIGlmICghaXNTdXBwb3J0ZWRJbWFnZVR5
cGUodXRpKSkKLSAgICAgICAgICAgIHJldHVybiBFbmNvZGVkRGF0YVN0YXR1czo6RXJyb3I7Cisg
ICAgICAgIGlmIChtX2VuY29kZWREYXRhU3RhdHVzID09IEVuY29kZWREYXRhU3RhdHVzOjpTaXpl
QXZhaWxhYmxlKQorICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgUmV0YWluUHRyPENGRGlj
dGlvbmFyeVJlZj4gaW1hZ2UwUHJvcGVydGllcyA9IGFkb3B0Q0YoQ0dJbWFnZVNvdXJjZUNvcHlQ
cm9wZXJ0aWVzQXRJbmRleChtX25hdGl2ZURlY29kZXIuZ2V0KCksIDAsIGltYWdlU291cmNlT3B0
aW9ucygpLmdldCgpKSk7Ci0gICAgICAgIGlmICghaW1hZ2UwUHJvcGVydGllcykKLSAgICAgICAg
ICAgIHJldHVybiBFbmNvZGVkRGF0YVN0YXR1czo6VHlwZUF2YWlsYWJsZTsKLSAgICAgICAgCi0g
ICAgICAgIGlmICghQ0ZEaWN0aW9uYXJ5Q29udGFpbnNLZXkoaW1hZ2UwUHJvcGVydGllcy5nZXQo
KSwga0NHSW1hZ2VQcm9wZXJ0eVBpeGVsV2lkdGgpIHx8ICFDRkRpY3Rpb25hcnlDb250YWluc0tl
eShpbWFnZTBQcm9wZXJ0aWVzLmdldCgpLCBrQ0dJbWFnZVByb3BlcnR5UGl4ZWxIZWlnaHQpKQot
ICAgICAgICAgICAgcmV0dXJuIEVuY29kZWREYXRhU3RhdHVzOjpUeXBlQXZhaWxhYmxlOwotICAg
ICAgICAKLSAgICAgICAgcmV0dXJuIEVuY29kZWREYXRhU3RhdHVzOjpTaXplQXZhaWxhYmxlOwor
ICAgICAgICBpZiAoIWltYWdlMFByb3BlcnRpZXMpIHsKKyAgICAgICAgICAgIG1fZW5jb2RlZERh
dGFTdGF0dXMgPSBFbmNvZGVkRGF0YVN0YXR1czo6VHlwZUF2YWlsYWJsZTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCFDRkRpY3Rpb25hcnlDb250YWluc0tl
eShpbWFnZTBQcm9wZXJ0aWVzLmdldCgpLCBrQ0dJbWFnZVByb3BlcnR5UGl4ZWxXaWR0aCkgfHwg
IUNGRGljdGlvbmFyeUNvbnRhaW5zS2V5KGltYWdlMFByb3BlcnRpZXMuZ2V0KCksIGtDR0ltYWdl
UHJvcGVydHlQaXhlbEhlaWdodCkpIHsKKyAgICAgICAgICAgIG1fZW5jb2RlZERhdGFTdGF0dXMg
PSBFbmNvZGVkRGF0YVN0YXR1czo6VHlwZUF2YWlsYWJsZTsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICB9CisKKyAgICAgICAgbV9lbmNvZGVkRGF0YVN0YXR1cyA9IEVuY29kZWREYXRhU3Rh
dHVzOjpTaXplQXZhaWxhYmxlOworICAgICAgICBicmVhazsKICAgICB9CiAKICAgICBjYXNlIGtD
R0ltYWdlU3RhdHVzQ29tcGxldGU6Ci0gICAgICAgIGlmICghaXNTdXBwb3J0ZWRJbWFnZVR5cGUo
dXRpKSkKLSAgICAgICAgICAgIHJldHVybiBFbmNvZGVkRGF0YVN0YXR1czo6RXJyb3I7Ci0KLSAg
ICAgICAgcmV0dXJuIEVuY29kZWREYXRhU3RhdHVzOjpDb21wbGV0ZTsKKyAgICAgICAgbV9lbmNv
ZGVkRGF0YVN0YXR1cyA9IEVuY29kZWREYXRhU3RhdHVzOjpDb21wbGV0ZTsKKyAgICAgICAgYnJl
YWs7CiAgICAgfQogCi0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIEVuY29k
ZWREYXRhU3RhdHVzOjpVbmtub3duOworICAgIHJldHVybiBtX2VuY29kZWREYXRhU3RhdHVzOyAK
IH0KIAogc2l6ZV90IEltYWdlRGVjb2RlckNHOjpmcmFtZUNvdW50KCkgY29uc3QKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlRGVjb2RlckNHLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZURlY29kZXJDRy5oCmlu
ZGV4IDQ0ODc1M2RmYWE0NTI4MmVlYjkyNmQwOGJkZDU1NzY5MzA2NTYxMGMuLjVjYzA2MmIxOGRk
NGI1ODQ5OTQyZjM0NjAwOTQ1ZGU0ZWJhMGMwYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlRGVjb2RlckNHLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VEZWNvZGVyQ0cuaApAQCAtNjksNiArNjksNyBA
QCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzQWxsRGF0YVJlY2VpdmVkIHsgZmFs
c2UgfTsKKyAgICBtdXRhYmxlIEVuY29kZWREYXRhU3RhdHVzIG1fZW5jb2RlZERhdGFTdGF0dXMg
eyBFbmNvZGVkRGF0YVN0YXR1czo6VW5rbm93biB9OwogICAgIFJldGFpblB0cjxDR0ltYWdlU291
cmNlUmVmPiBtX25hdGl2ZURlY29kZXI7CiB9OwogCg==
</data>
<flag name="review"
          id="423896"
          type_id="1"
          status="+"
          setter="youennf"
    />
    <flag name="commit-queue"
          id="423903"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408694</attachid>
            <date>2020-09-14 02:41:43 -0700</date>
            <delta_ts>2020-09-14 09:22:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216104-20200914024142.patch</filename>
            <type>text/plain</type>
            <size>4788</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3MDA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGNiYzE2NmFlM2U0YTE4
NTExMzNhYmEzMzBlNjdjMmI5M2UxNDA5Ny4uN2M3NTMzNjI1Mjc2ZWZmOTZlNDEyNGI3MDIzOThi
MGY4ZjI1YWI5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA5LTE0ICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgW0NHXSBD
YWNoZSB0aGUgbGFzdCBzdGF0dXMgb2YgdGhlIGltYWdlIGVuY29kZWQgZGF0YQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2MTA0CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICBDYWNoZSB0aGUgbGFzdCBzdGF0
dXMgb2YgdGhlIGltYWdlIGVuY29kZWQgZGF0YSBzdWNoIHRoYXQgZWFybHkgZGVjaXNpb25zCisg
ICAgICAgIGNhbiBiZSBtYWRlIHdpdGhvdXQgY2FsbGluZyBzeXN0ZW0gZnVuY3Rpb25zLgorCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VEZWNvZGVyQ0cuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VEZWNvZGVyQ0c6OmVuY29kZWREYXRhU3RhdHVzIGNvbnN0KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZURlY29kZXJDRy5oOgorCiAyMDIwLTA5
LTE0ICBDaHJpcyBMb3JkICA8Y2xvcmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBDU1MgcGFyc2lu
Zy1yZWxhdGVkIHNpbmdsZXRvbnMgc2hvdWxkIG9ubHkgYmUgdXNlZCBvbiB0aGUgbWFpbiB0aHJl
YWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdl
RGVjb2RlckNHLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdl
RGVjb2RlckNHLmNwcAppbmRleCA5YjI3N2VkZDA5OTdiYmZmYzEwNGI4ODk4ODlkNzBlNzYxNmQ3
MjE1Li4wOTIyYTNiN2Y2YWM0MzY0ZmNmYjY5MDAzMmI3ZGU4NDBlZWZlZWRkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZURlY29kZXJDRy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VEZWNvZGVyQ0cu
Y3BwCkBAIC0yMjUsNDYgKzIyNSw1NCBAQCBTdHJpbmcgSW1hZ2VEZWNvZGVyQ0c6OmZpbGVuYW1l
RXh0ZW5zaW9uKCkgY29uc3QKIAogRW5jb2RlZERhdGFTdGF0dXMgSW1hZ2VEZWNvZGVyQ0c6OmVu
Y29kZWREYXRhU3RhdHVzKCkgY29uc3QKIHsKKyAgICBpZiAobV9lbmNvZGVkRGF0YVN0YXR1cyA9
PSBFbmNvZGVkRGF0YVN0YXR1czo6RXJyb3IgfHwgbV9lbmNvZGVkRGF0YVN0YXR1cyA9PSBFbmNv
ZGVkRGF0YVN0YXR1czo6Q29tcGxldGUpCisgICAgICAgIHJldHVybiBtX2VuY29kZWREYXRhU3Rh
dHVzOworCisgICAgLy8gVGhlIGltYWdlIHNvdXJjZSBVVEkgY2FuIGJlIGNoYW5nZWQgd2hpbGUg
cmVjZWl2aW5nIG1vcmUgZW5jb2RlZCBkYXRhLgogICAgIFN0cmluZyB1dGkgPSB0aGlzLT51dGko
KTsKICAgICBpZiAodXRpLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIEVuY29kZWREYXRhU3Rh
dHVzOjpVbmtub3duOwogCisgICAgaWYgKCFpc1N1cHBvcnRlZEltYWdlVHlwZSh1dGkpKSB7Cisg
ICAgICAgIG1fZW5jb2RlZERhdGFTdGF0dXMgPSBFbmNvZGVkRGF0YVN0YXR1czo6RXJyb3I7Cisg
ICAgICAgIHJldHVybiBtX2VuY29kZWREYXRhU3RhdHVzOworICAgIH0KKwogICAgIHN3aXRjaCAo
Q0dJbWFnZVNvdXJjZUdldFN0YXR1cyhtX25hdGl2ZURlY29kZXIuZ2V0KCkpKSB7CiAgICAgY2Fz
ZSBrQ0dJbWFnZVN0YXR1c1Vua25vd25UeXBlOgotICAgICAgICByZXR1cm4gRW5jb2RlZERhdGFT
dGF0dXM6OkVycm9yOworICAgICAgICBtX2VuY29kZWREYXRhU3RhdHVzID0gRW5jb2RlZERhdGFT
dGF0dXM6OkVycm9yOworICAgICAgICBicmVhazsKIAogICAgIGNhc2Uga0NHSW1hZ2VTdGF0dXNV
bmV4cGVjdGVkRU9GOgogICAgIGNhc2Uga0NHSW1hZ2VTdGF0dXNJbnZhbGlkRGF0YToKICAgICBj
YXNlIGtDR0ltYWdlU3RhdHVzUmVhZGluZ0hlYWRlcjoKICAgICAgICAgLy8gUmFnbmFyb3MgeWVs
bHM6IFRPTyBTT09OISBZb3UgaGF2ZSBhd2FrZW5lZCBtZSBUT08gU09PTiwgRXhlY3V0dXMhCiAg
ICAgICAgIGlmICghbV9pc0FsbERhdGFSZWNlaXZlZCkKLSAgICAgICAgICAgIHJldHVybiBFbmNv
ZGVkRGF0YVN0YXR1czo6VW5rbm93bjsKLQotICAgICAgICByZXR1cm4gRW5jb2RlZERhdGFTdGF0
dXM6OkVycm9yOworICAgICAgICAgICAgbV9lbmNvZGVkRGF0YVN0YXR1cyA9IEVuY29kZWREYXRh
U3RhdHVzOjpVbmtub3duOworICAgICAgICBlbHNlCisgICAgICAgICAgICBtX2VuY29kZWREYXRh
U3RhdHVzID0gRW5jb2RlZERhdGFTdGF0dXM6OkVycm9yOworICAgICAgICBicmVhazsKIAogICAg
IGNhc2Uga0NHSW1hZ2VTdGF0dXNJbmNvbXBsZXRlOiB7Ci0gICAgICAgIGlmICghaXNTdXBwb3J0
ZWRJbWFnZVR5cGUodXRpKSkKLSAgICAgICAgICAgIHJldHVybiBFbmNvZGVkRGF0YVN0YXR1czo6
RXJyb3I7CisgICAgICAgIGlmIChtX2VuY29kZWREYXRhU3RhdHVzID09IEVuY29kZWREYXRhU3Rh
dHVzOjpTaXplQXZhaWxhYmxlKQorICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgUmV0YWlu
UHRyPENGRGljdGlvbmFyeVJlZj4gaW1hZ2UwUHJvcGVydGllcyA9IGFkb3B0Q0YoQ0dJbWFnZVNv
dXJjZUNvcHlQcm9wZXJ0aWVzQXRJbmRleChtX25hdGl2ZURlY29kZXIuZ2V0KCksIDAsIGltYWdl
U291cmNlT3B0aW9ucygpLmdldCgpKSk7Ci0gICAgICAgIGlmICghaW1hZ2UwUHJvcGVydGllcykK
LSAgICAgICAgICAgIHJldHVybiBFbmNvZGVkRGF0YVN0YXR1czo6VHlwZUF2YWlsYWJsZTsKLSAg
ICAgICAgCi0gICAgICAgIGlmICghQ0ZEaWN0aW9uYXJ5Q29udGFpbnNLZXkoaW1hZ2UwUHJvcGVy
dGllcy5nZXQoKSwga0NHSW1hZ2VQcm9wZXJ0eVBpeGVsV2lkdGgpIHx8ICFDRkRpY3Rpb25hcnlD
b250YWluc0tleShpbWFnZTBQcm9wZXJ0aWVzLmdldCgpLCBrQ0dJbWFnZVByb3BlcnR5UGl4ZWxI
ZWlnaHQpKQotICAgICAgICAgICAgcmV0dXJuIEVuY29kZWREYXRhU3RhdHVzOjpUeXBlQXZhaWxh
YmxlOwotICAgICAgICAKLSAgICAgICAgcmV0dXJuIEVuY29kZWREYXRhU3RhdHVzOjpTaXplQXZh
aWxhYmxlOworICAgICAgICBhdXRvIGltYWdlMFByb3BlcnRpZXMgPSBhZG9wdENGKENHSW1hZ2VT
b3VyY2VDb3B5UHJvcGVydGllc0F0SW5kZXgobV9uYXRpdmVEZWNvZGVyLmdldCgpLCAwLCBpbWFn
ZVNvdXJjZU9wdGlvbnMoKS5nZXQoKSkpOworICAgICAgICBpZiAoIWltYWdlMFByb3BlcnRpZXMg
fHwgIUNGRGljdGlvbmFyeUNvbnRhaW5zS2V5KGltYWdlMFByb3BlcnRpZXMuZ2V0KCksIGtDR0lt
YWdlUHJvcGVydHlQaXhlbFdpZHRoKSB8fCAhQ0ZEaWN0aW9uYXJ5Q29udGFpbnNLZXkoaW1hZ2Uw
UHJvcGVydGllcy5nZXQoKSwga0NHSW1hZ2VQcm9wZXJ0eVBpeGVsSGVpZ2h0KSkgeworICAgICAg
ICAgICAgbV9lbmNvZGVkRGF0YVN0YXR1cyA9IEVuY29kZWREYXRhU3RhdHVzOjpUeXBlQXZhaWxh
YmxlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBtX2VuY29kZWRE
YXRhU3RhdHVzID0gRW5jb2RlZERhdGFTdGF0dXM6OlNpemVBdmFpbGFibGU7CisgICAgICAgIGJy
ZWFrOwogICAgIH0KIAogICAgIGNhc2Uga0NHSW1hZ2VTdGF0dXNDb21wbGV0ZToKLSAgICAgICAg
aWYgKCFpc1N1cHBvcnRlZEltYWdlVHlwZSh1dGkpKQotICAgICAgICAgICAgcmV0dXJuIEVuY29k
ZWREYXRhU3RhdHVzOjpFcnJvcjsKLQotICAgICAgICByZXR1cm4gRW5jb2RlZERhdGFTdGF0dXM6
OkNvbXBsZXRlOworICAgICAgICBtX2VuY29kZWREYXRhU3RhdHVzID0gRW5jb2RlZERhdGFTdGF0
dXM6OkNvbXBsZXRlOworICAgICAgICBicmVhazsKICAgICB9CiAKLSAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKLSAgICByZXR1cm4gRW5jb2RlZERhdGFTdGF0dXM6OlVua25vd247CisgICAgcmV0
dXJuIG1fZW5jb2RlZERhdGFTdGF0dXM7IAogfQogCiBzaXplX3QgSW1hZ2VEZWNvZGVyQ0c6OmZy
YW1lQ291bnQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvSW1hZ2VEZWNvZGVyQ0cuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NnL0ltYWdlRGVjb2RlckNHLmgKaW5kZXggNDQ4NzUzZGZhYTQ1MjgyZWViOTI2ZDA4YmRk
NTU3NjkzMDY1NjEwYy4uNWNjMDYyYjE4ZGQ0YjU4NDk5NDJmMzQ2MDA5NDVkZTRlYmEwYzBiNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VEZWNv
ZGVyQ0cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZURl
Y29kZXJDRy5oCkBAIC02OSw2ICs2OSw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBib29s
IG1faXNBbGxEYXRhUmVjZWl2ZWQgeyBmYWxzZSB9OworICAgIG11dGFibGUgRW5jb2RlZERhdGFT
dGF0dXMgbV9lbmNvZGVkRGF0YVN0YXR1cyB7IEVuY29kZWREYXRhU3RhdHVzOjpVbmtub3duIH07
CiAgICAgUmV0YWluUHRyPENHSW1hZ2VTb3VyY2VSZWY+IG1fbmF0aXZlRGVjb2RlcjsKIH07CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>