<?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>213111</bug_id>
          
          <creation_ts>2020-06-11 20:53:21 -0700</creation_ts>
          <short_desc>[LFC][TFC] Add support for min/max-width</short_desc>
          <delta_ts>2020-06-12 08:56:23 -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>Layout and Rendering</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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1661847</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-06-11 20:53:21 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661848</commentid>
    <comment_count>1</comment_count>
      <attachid>401705</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-06-11 21:28:04 -0700</bug_when>
    <thetext>Created attachment 401705
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661927</commentid>
    <comment_count>2</comment_count>
      <attachid>401705</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-06-12 07:13:00 -0700</bug_when>
    <thetext>Comment on attachment 401705
Patch

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

&gt; Source/WebCore/layout/blockformatting/BlockFormattingContext.cpp:401
&gt; +ContentWidthAndMargin BlockFormattingContext::computedWidthAndMargin(const FloatingContext&amp; floatingContext, const Box&amp; layoutBox, const ConstraintsPair&amp; constraintsPair)

It is somewhat confusing to have both &apos;computeWidthAndMargin&apos; and &apos;computedWidthAndMargin&apos; functions.

Maybe this could be &apos;computeContentWidthAndMargin&apos; based on the return type?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661929</commentid>
    <comment_count>3</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-06-12 07:20:04 -0700</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #2)
&gt; Comment on attachment 401705 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=401705&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/layout/blockformatting/BlockFormattingContext.cpp:401
&gt; &gt; +ContentWidthAndMargin BlockFormattingContext::computedWidthAndMargin(const FloatingContext&amp; floatingContext, const Box&amp; layoutBox, const ConstraintsPair&amp; constraintsPair)
&gt; 
&gt; It is somewhat confusing to have both &apos;computeWidthAndMargin&apos; and
&gt; &apos;computedWidthAndMargin&apos; functions.
&gt; 
&gt; Maybe this could be &apos;computeContentWidthAndMargin&apos; based on the return type?
Good point. I think what I am going to do is move this function to geometry() where all the other computed* functions are. That would be inline with the current naming logic: *FormattingContext has the &quot;void compute*&quot; functions and they call the corresponding &quot;Type Geometry::computed*&quot; functions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661947</commentid>
    <comment_count>4</comment_count>
      <attachid>401728</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-06-12 08:16:47 -0700</bug_when>
    <thetext>Created attachment 401728
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661964</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-12 08:55:07 -0700</bug_when>
    <thetext>Committed r262951: &lt;https://trac.webkit.org/changeset/262951&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 401728.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661965</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-06-12 08:56:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/64298644&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401705</attachid>
            <date>2020-06-11 21:28:04 -0700</date>
            <delta_ts>2020-06-12 08:16:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213111-20200611212804.patch</filename>
            <type>text/plain</type>
            <size>14785</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyNDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjk2YWNiNWVkNmVmYjYw
OTEzZTI5YzY4OGRiMzEyZjMyZmI5NGM5YS4uNTI0ODU2Y2U4NWM5ZDEwMmRiM2E2ZjM2ZjA2ODdl
MjQzMzJmNGU4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIwLTA2LTExICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bVEZDXSBBZGQgc3Vw
cG9ydCBmb3IgbWluL21heC13aWR0aAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjEzMTExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQXBwbHkgbWluL21heC13aWR0aCB0byBjb25zdHJhaW4gdGhlIGF2YWls
YWJsZSB3aWR0aCBmb3IgdGhlIHRhYmxlIGNvbnRlbnQuIAorCisgICAgICAgIFRlc3Q6IGZhc3Qv
bGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvdGFibGUtbWluLW1heC13aWR0aC1zaW1wbGUuaHRtbAor
CisgICAgICAgICogbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6
Y29tcHV0ZVdpZHRoQW5kTWFyZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tG
b3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZWRXaWR0aEFuZE1hcmdpbik6CisgICAgICAgICogbGF5
b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0Lmg6CisgICAgICAgICog
bGF5b3V0L2Jsb2NrZm9ybWF0dGluZy90YWJsZXdyYXBwZXIvVGFibGVXcmFwcGVyQmxvY2tGb3Jt
YXR0aW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlV3JhcHBl
ckJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVXaWR0aEFuZE1hcmdpbkZvclRhYmxlQm94
KToKKwogMjAyMC0wNi0wOSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFtMRkNdW1RGQ10gQWRkIHN1cHBvcnQgZm9yIGVtcHR5IHRhYmxlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRl
eHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1h
dHRpbmdDb250ZXh0LmNwcAppbmRleCA0YmRkZDVhZjM1YjRjMTUyZTcwZmViODkwZGIzNzE1N2E2
MzIzMWM3Li45NzNmNTg5OTFlODJlZWUxNjU1Y2E1OGI2MTc2M2VkNDY4ZTk0NzlhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGlu
Z0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcv
QmxvY2tGb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTMyMCwzOSArMzIwLDcgQEAgdm9pZCBCbG9j
a0Zvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlVmVydGljYWxQb3NpdGlvbkZvckZsb2F0Q2xlYXIo
Y29uc3QgRmxvYXRpbmcKIAogdm9pZCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlV2lk
dGhBbmRNYXJnaW4oY29uc3QgRmxvYXRpbmdDb250ZXh0JiBmbG9hdGluZ0NvbnRleHQsIGNvbnN0
IEJveCYgbGF5b3V0Qm94LCBjb25zdCBDb25zdHJhaW50c1BhaXImIGNvbnN0cmFpbnRzUGFpcikK
IHsKLSAgICBhdXRvJiBob3Jpem9udGFsQ29uc3RyYWludHMgPSBjb25zdHJhaW50c1BhaXIuY29u
dGFpbmluZ0Jsb2NrLmhvcml6b250YWw7IAotICAgIGF1dG8gY29tcHV0ZSA9IFsmXShPcHRpb25h
bDxMYXlvdXRVbml0PiB1c2VkV2lkdGgpIC0+IENvbnRlbnRXaWR0aEFuZE1hcmdpbiB7Ci0gICAg
ICAgIGlmIChsYXlvdXRCb3guaXNGbG9hdGluZ1Bvc2l0aW9uZWQoKSkKLSAgICAgICAgICAgIHJl
dHVybiBnZW9tZXRyeSgpLmZsb2F0aW5nV2lkdGhBbmRNYXJnaW4obGF5b3V0Qm94LCBob3Jpem9u
dGFsQ29uc3RyYWludHMsIHsgdXNlZFdpZHRoLCB7IH0gfSk7Ci0KLSAgICAgICAgaWYgKGxheW91
dEJveC5pc0Zsb2F0QXZvaWRlcigpKSB7Ci0gICAgICAgICAgICBhdXRvIGF2YWlsYWJsZVdpZHRo
ID0gaG9yaXpvbnRhbENvbnN0cmFpbnRzLmxvZ2ljYWxXaWR0aDsKLSAgICAgICAgICAgIGlmIChs
YXlvdXRCb3guc3R5bGUoKS5sb2dpY2FsV2lkdGgoKS5pc0F1dG8oKSkKLSAgICAgICAgICAgICAg
ICBhdmFpbGFibGVXaWR0aCA9IHVzZWRBdmFpbGFibGVXaWR0aEZvckZsb2F0QXZvaWRlcihmbG9h
dGluZ0NvbnRleHQsIGxheW91dEJveCwgY29uc3RyYWludHNQYWlyKS52YWx1ZU9yKGF2YWlsYWJs
ZVdpZHRoKTsKLSAgICAgICAgICAgIHJldHVybiBnZW9tZXRyeSgpLmluRmxvd1dpZHRoQW5kTWFy
Z2luKGxheW91dEJveCwgeyBob3Jpem9udGFsQ29uc3RyYWludHMubG9naWNhbExlZnQsIGF2YWls
YWJsZVdpZHRoIH0sIHsgdXNlZFdpZHRoLCB7IH0gfSk7Ci0gICAgICAgIH0KLQotICAgICAgICBp
ZiAobGF5b3V0Qm94LmlzSW5GbG93KCkpCi0gICAgICAgICAgICByZXR1cm4gZ2VvbWV0cnkoKS5p
bkZsb3dXaWR0aEFuZE1hcmdpbihsYXlvdXRCb3gsIGhvcml6b250YWxDb25zdHJhaW50cywgeyB1
c2VkV2lkdGgsIHsgfSB9KTsKLQotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAg
ICAgcmV0dXJuIHsgfTsKLSAgICB9OwotCi0gICAgYXV0byBjb250ZW50V2lkdGhBbmRNYXJnaW4g
PSBjb21wdXRlKHsgfSk7Ci0KLSAgICBhdXRvIGF2YWlsYWJsZVdpZHRoID0gaG9yaXpvbnRhbENv
bnN0cmFpbnRzLmxvZ2ljYWxXaWR0aDsKLSAgICBpZiAoYXV0byBtYXhXaWR0aCA9IGdlb21ldHJ5
KCkuY29tcHV0ZWRNYXhXaWR0aChsYXlvdXRCb3gsIGF2YWlsYWJsZVdpZHRoKSkgewotICAgICAg
ICBhdXRvIG1heFdpZHRoQW5kTWFyZ2luID0gY29tcHV0ZShtYXhXaWR0aCk7Ci0gICAgICAgIGlm
IChjb250ZW50V2lkdGhBbmRNYXJnaW4uY29udGVudFdpZHRoID4gbWF4V2lkdGhBbmRNYXJnaW4u
Y29udGVudFdpZHRoKQotICAgICAgICAgICAgY29udGVudFdpZHRoQW5kTWFyZ2luID0gbWF4V2lk
dGhBbmRNYXJnaW47Ci0gICAgfQotCi0gICAgYXV0byBtaW5XaWR0aCA9IGdlb21ldHJ5KCkuY29t
cHV0ZWRNaW5XaWR0aChsYXlvdXRCb3gsIGF2YWlsYWJsZVdpZHRoKS52YWx1ZU9yKDApOwotICAg
IGF1dG8gbWluV2lkdGhBbmRNYXJnaW4gPSBjb21wdXRlKG1pbldpZHRoKTsKLSAgICBpZiAoY29u
dGVudFdpZHRoQW5kTWFyZ2luLmNvbnRlbnRXaWR0aCA8IG1pbldpZHRoQW5kTWFyZ2luLmNvbnRl
bnRXaWR0aCkKLSAgICAgICAgY29udGVudFdpZHRoQW5kTWFyZ2luID0gbWluV2lkdGhBbmRNYXJn
aW47Ci0KKyAgICBhdXRvIGNvbnRlbnRXaWR0aEFuZE1hcmdpbiA9IHRoaXMtPmNvbXB1dGVkV2lk
dGhBbmRNYXJnaW4oZmxvYXRpbmdDb250ZXh0LCBsYXlvdXRCb3gsIGNvbnN0cmFpbnRzUGFpcik7
CiAgICAgYXV0byYgZGlzcGxheUJveCA9IGZvcm1hdHRpbmdTdGF0ZSgpLmRpc3BsYXlCb3gobGF5
b3V0Qm94KTsKICAgICBkaXNwbGF5Qm94LnNldENvbnRlbnRCb3hXaWR0aChjb250ZW50V2lkdGhB
bmRNYXJnaW4uY29udGVudFdpZHRoKTsKICAgICBkaXNwbGF5Qm94LnNldEhvcml6b250YWxNYXJn
aW4oY29udGVudFdpZHRoQW5kTWFyZ2luLnVzZWRNYXJnaW4pOwpAQCAtNDMwLDYgKzM5OCw0MyBA
QCB2b2lkIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVIZWlnaHRBbmRNYXJnaW4oY29u
c3QgQm94JiBsYXlvdXRCb3gsIGNvbnN0CiAgICAgTWFyZ2luQ29sbGFwc2U6OnVwZGF0ZU1hcmdp
bkFmdGVyRm9yUHJldmlvdXNTaWJsaW5nKCp0aGlzLCBtYXJnaW5Db2xsYXBzZSwgbGF5b3V0Qm94
KTsKIH0KIAorQ29udGVudFdpZHRoQW5kTWFyZ2luIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OmNv
bXB1dGVkV2lkdGhBbmRNYXJnaW4oY29uc3QgRmxvYXRpbmdDb250ZXh0JiBmbG9hdGluZ0NvbnRl
eHQsIGNvbnN0IEJveCYgbGF5b3V0Qm94LCBjb25zdCBDb25zdHJhaW50c1BhaXImIGNvbnN0cmFp
bnRzUGFpcikKK3sKKyAgICBhdXRvJiBob3Jpem9udGFsQ29uc3RyYWludHMgPSBjb25zdHJhaW50
c1BhaXIuY29udGFpbmluZ0Jsb2NrLmhvcml6b250YWw7CisgICAgYXV0byBjb21wdXRlID0gWyZd
KE9wdGlvbmFsPExheW91dFVuaXQ+IHVzZWRXaWR0aCkgeworICAgICAgICBpZiAobGF5b3V0Qm94
LmlzRmxvYXRpbmdQb3NpdGlvbmVkKCkpCisgICAgICAgICAgICByZXR1cm4gZ2VvbWV0cnkoKS5m
bG9hdGluZ1dpZHRoQW5kTWFyZ2luKGxheW91dEJveCwgaG9yaXpvbnRhbENvbnN0cmFpbnRzLCB7
IHVzZWRXaWR0aCwgeyB9IH0pOworCisgICAgICAgIGlmIChsYXlvdXRCb3guaXNGbG9hdEF2b2lk
ZXIoKSkgeworICAgICAgICAgICAgYXV0byBhdmFpbGFibGVXaWR0aCA9IGhvcml6b250YWxDb25z
dHJhaW50cy5sb2dpY2FsV2lkdGg7CisgICAgICAgICAgICBpZiAobGF5b3V0Qm94LnN0eWxlKCku
bG9naWNhbFdpZHRoKCkuaXNBdXRvKCkpCisgICAgICAgICAgICAgICAgYXZhaWxhYmxlV2lkdGgg
PSB1c2VkQXZhaWxhYmxlV2lkdGhGb3JGbG9hdEF2b2lkZXIoZmxvYXRpbmdDb250ZXh0LCBsYXlv
dXRCb3gsIGNvbnN0cmFpbnRzUGFpcikudmFsdWVPcihhdmFpbGFibGVXaWR0aCk7CisgICAgICAg
ICAgICByZXR1cm4gZ2VvbWV0cnkoKS5pbkZsb3dXaWR0aEFuZE1hcmdpbihsYXlvdXRCb3gsIHsg
aG9yaXpvbnRhbENvbnN0cmFpbnRzLmxvZ2ljYWxMZWZ0LCBhdmFpbGFibGVXaWR0aCB9LCB7IHVz
ZWRXaWR0aCwgeyB9IH0pOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGxheW91dEJveC5pc0lu
RmxvdygpKQorICAgICAgICAgICAgcmV0dXJuIGdlb21ldHJ5KCkuaW5GbG93V2lkdGhBbmRNYXJn
aW4obGF5b3V0Qm94LCBob3Jpem9udGFsQ29uc3RyYWludHMsIHsgdXNlZFdpZHRoLCB7IH0gfSk7
CisKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBDb250ZW50
V2lkdGhBbmRNYXJnaW4geyB9OworICAgIH07CisKKyAgICBhdXRvIGNvbnRlbnRXaWR0aEFuZE1h
cmdpbiA9IGNvbXB1dGUoeyB9KTsKKworICAgIGF1dG8gYXZhaWxhYmxlV2lkdGggPSBob3Jpem9u
dGFsQ29uc3RyYWludHMubG9naWNhbFdpZHRoOworICAgIGlmIChhdXRvIG1heFdpZHRoID0gZ2Vv
bWV0cnkoKS5jb21wdXRlZE1heFdpZHRoKGxheW91dEJveCwgYXZhaWxhYmxlV2lkdGgpKSB7Cisg
ICAgICAgIGF1dG8gbWF4V2lkdGhBbmRNYXJnaW4gPSBjb21wdXRlKG1heFdpZHRoKTsKKyAgICAg
ICAgaWYgKGNvbnRlbnRXaWR0aEFuZE1hcmdpbi5jb250ZW50V2lkdGggPiBtYXhXaWR0aEFuZE1h
cmdpbi5jb250ZW50V2lkdGgpCisgICAgICAgICAgICBjb250ZW50V2lkdGhBbmRNYXJnaW4gPSBt
YXhXaWR0aEFuZE1hcmdpbjsKKyAgICB9CisKKyAgICBhdXRvIG1pbldpZHRoID0gZ2VvbWV0cnko
KS5jb21wdXRlZE1pbldpZHRoKGxheW91dEJveCwgYXZhaWxhYmxlV2lkdGgpLnZhbHVlT3IoMCk7
CisgICAgYXV0byBtaW5XaWR0aEFuZE1hcmdpbiA9IGNvbXB1dGUobWluV2lkdGgpOworICAgIGlm
IChjb250ZW50V2lkdGhBbmRNYXJnaW4uY29udGVudFdpZHRoIDwgbWluV2lkdGhBbmRNYXJnaW4u
Y29udGVudFdpZHRoKQorICAgICAgICBjb250ZW50V2lkdGhBbmRNYXJnaW4gPSBtaW5XaWR0aEFu
ZE1hcmdpbjsKKyAgICByZXR1cm4gY29udGVudFdpZHRoQW5kTWFyZ2luOworfQorCiBGb3JtYXR0
aW5nQ29udGV4dDo6SW50cmluc2ljV2lkdGhDb25zdHJhaW50cyBCbG9ja0Zvcm1hdHRpbmdDb250
ZXh0Ojpjb21wdXRlZEludHJpbnNpY1dpZHRoQ29uc3RyYWludHMoKQogewogICAgIGF1dG8mIGZv
cm1hdHRpbmdTdGF0ZSA9IHRoaXMtPmZvcm1hdHRpbmdTdGF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0
LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGlu
Z0NvbnRleHQuaAppbmRleCBjODllNjFkOWI1ZGYyZWE4ZjI5MGUyOTZiYTI5NjgyMmMyZTk5Mzhl
Li40MGE3Y2M4OGFlYzEwZmQ0MmRiYjVmNDAyOTI4OGE1NGMxZTY2MTVkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRl
eHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9y
bWF0dGluZ0NvbnRleHQuaApAQCAtNjgsNyArNjgsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBw
cmVjb21wdXRlVmVydGljYWxQb3NpdGlvbkZvckFuY2VzdG9ycyhjb25zdCBCb3gmLCBjb25zdCBD
b25zdHJhaW50c1BhaXImKTsKICAgICB2b2lkIHByZWNvbXB1dGVWZXJ0aWNhbFBvc2l0aW9uRm9y
Qm94QW5kQW5jZXN0b3JzKGNvbnN0IEJveCYsIGNvbnN0IENvbnN0cmFpbnRzUGFpciYpOwogCisg
ICAgQ29udGVudFdpZHRoQW5kTWFyZ2luIGNvbXB1dGVkV2lkdGhBbmRNYXJnaW4oY29uc3QgRmxv
YXRpbmdDb250ZXh0JiwgY29uc3QgQm94JiwgY29uc3QgQ29uc3RyYWludHNQYWlyJik7CiAgICAg
SW50cmluc2ljV2lkdGhDb25zdHJhaW50cyBjb21wdXRlZEludHJpbnNpY1dpZHRoQ29uc3RyYWlu
dHMoKSBvdmVycmlkZTsKKwogICAgIExheW91dFVuaXQgdmVydGljYWxQb3NpdGlvbldpdGhNYXJn
aW4oY29uc3QgQm94JiwgY29uc3QgVXNlZFZlcnRpY2FsTWFyZ2luJiwgY29uc3QgVmVydGljYWxD
b25zdHJhaW50cyYpIGNvbnN0OwogCiAgICAgLy8gVGhpcyBjbGFzcyBpbXBsZW1lbnRzIHBvc2l0
aW9uaW5nIGFuZCBzaXppbmcgZm9yIGJveGVzIHBhcnRpY2lwYXRpbmcgaW4gYSBibG9jayBmb3Jt
YXR0aW5nIGNvbnRleHQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tm
b3JtYXR0aW5nL3RhYmxld3JhcHBlci9UYWJsZVdyYXBwZXJCbG9ja0Zvcm1hdHRpbmdDb250ZXh0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvdGFibGV3cmFwcGVy
L1RhYmxlV3JhcHBlckJsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IDZlZmVmZTc0NGMz
NjdlYTliNTNlMTZhMTJlNzg5ZmQ3NzE3NGUxMDUuLjU2ZjFjY2EyMDg0NWM3NWM2ZDZmOWNlOGQ4
M2UzODY1ZTkzN2YyOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zv
cm1hdHRpbmcvdGFibGV3cmFwcGVyL1RhYmxlV3JhcHBlckJsb2NrRm9ybWF0dGluZ0NvbnRleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvdGFibGV3cmFw
cGVyL1RhYmxlV3JhcHBlckJsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC0xNDQsMTIgKzE0
NCwxNCBAQCB2b2lkIFRhYmxlV3JhcHBlckJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVC
b3JkZXJBbmRQYWRkaW5nRm9yVGFibGVCb3goY29ucwogdm9pZCBUYWJsZVdyYXBwZXJCbG9ja0Zv
cm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlV2lkdGhBbmRNYXJnaW5Gb3JUYWJsZUJveChjb25zdCBD
b250YWluZXJCb3gmIHRhYmxlQm94LCBjb25zdCBIb3Jpem9udGFsQ29uc3RyYWludHMmIGhvcml6
b250YWxDb25zdHJhaW50cykKIHsKICAgICBBU1NFUlQodGFibGVCb3guaXNUYWJsZUJveCgpKTsK
KyAgICBhdXRvIGZsb2F0aW5nQ29udGV4dCA9IEZsb2F0aW5nQ29udGV4dCB7IHJvb3QoKSwgKnRo
aXMsIGZvcm1hdHRpbmdTdGF0ZSgpLmZsb2F0aW5nU3RhdGUoKSB9OwogICAgIGlmICghdGFibGVC
b3guaGFzQ2hpbGQoKSkgewotICAgICAgICBhdXRvIGNvbnRlbnRXaWR0aEFuZE1hcmdpbiA9IGdl
b21ldHJ5KCkuaW5GbG93V2lkdGhBbmRNYXJnaW4odGFibGVCb3gsIGhvcml6b250YWxDb25zdHJh
aW50cywgeyB9KTsKKyAgICAgICAgYXV0byBjb25zdHJhaW50c1BhaXIgPSBDb25zdHJhaW50c1Bh
aXIgeyB7IGhvcml6b250YWxDb25zdHJhaW50cywgeyB9IH0sIHsgaG9yaXpvbnRhbENvbnN0cmFp
bnRzLCB7IH0gfSB9OworICAgICAgICBhdXRvIGNvbXB1dGVkV2lkdGhBbmRNYXJnaW4gPSBCbG9j
a0Zvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlZFdpZHRoQW5kTWFyZ2luKGZsb2F0aW5nQ29udGV4
dCwgdGFibGVCb3gsIGNvbnN0cmFpbnRzUGFpcik7CiAgICAgICAgIGF1dG8mIGRpc3BsYXlCb3gg
PSBmb3JtYXR0aW5nU3RhdGUoKS5kaXNwbGF5Qm94KHRhYmxlQm94KTsKLSAgICAgICAgZGlzcGxh
eUJveC5zZXRDb250ZW50Qm94V2lkdGgoY29udGVudFdpZHRoQW5kTWFyZ2luLmNvbnRlbnRXaWR0
aCk7Ci0gICAgICAgIGRpc3BsYXlCb3guc2V0SG9yaXpvbnRhbE1hcmdpbihjb250ZW50V2lkdGhB
bmRNYXJnaW4udXNlZE1hcmdpbik7Ci0gICAgICAgIGRpc3BsYXlCb3guc2V0SG9yaXpvbnRhbENv
bXB1dGVkTWFyZ2luKGNvbnRlbnRXaWR0aEFuZE1hcmdpbi5jb21wdXRlZE1hcmdpbik7CisgICAg
ICAgIGRpc3BsYXlCb3guc2V0Q29udGVudEJveFdpZHRoKGNvbXB1dGVkV2lkdGhBbmRNYXJnaW4u
Y29udGVudFdpZHRoKTsKKyAgICAgICAgZGlzcGxheUJveC5zZXRIb3Jpem9udGFsTWFyZ2luKGNv
bXB1dGVkV2lkdGhBbmRNYXJnaW4udXNlZE1hcmdpbik7CisgICAgICAgIGRpc3BsYXlCb3guc2V0
SG9yaXpvbnRhbENvbXB1dGVkTWFyZ2luKGNvbXB1dGVkV2lkdGhBbmRNYXJnaW4uY29tcHV0ZWRN
YXJnaW4pOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0xNTksMTggKzE2MSwzNCBAQCB2
b2lkIFRhYmxlV3JhcHBlckJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVXaWR0aEFuZE1h
cmdpbkZvclRhYmxlQm94KGNvbnN0CiAgICAgYXV0byBpbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRz
ID0gSW50cmluc2ljV2lkdGhDb25zdHJhaW50cyB7IH07CiAgICAgaWYgKGF1dG8gcHJlY29tcHV0
ZWRJbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzID0gZm9ybWF0dGluZ1N0YXRlRm9yVGFibGVCb3gu
aW50cmluc2ljV2lkdGhDb25zdHJhaW50cygpKQogICAgICAgICBpbnRyaW5zaWNXaWR0aENvbnN0
cmFpbnRzID0gKnByZWNvbXB1dGVkSW50cmluc2ljV2lkdGhDb25zdHJhaW50czsKLSAgICBlbHNl
CisgICAgZWxzZSB7CiAgICAgICAgIGludHJpbnNpY1dpZHRoQ29uc3RyYWludHMgPSBMYXlvdXRD
b250ZXh0OjpjcmVhdGVGb3JtYXR0aW5nQ29udGV4dCh0YWJsZUJveCwgbGF5b3V0U3RhdGUoKSkt
PmNvbXB1dGVkSW50cmluc2ljV2lkdGhDb25zdHJhaW50cygpOwotICAgIGF1dG8gY29tcHV0ZWRU
YWJsZVdpZHRoID0gZ2VvbWV0cnkoKS5jb21wdXRlZFdpZHRoKHRhYmxlQm94LCBob3Jpem9udGFs
Q29uc3RyYWludHMubG9naWNhbFdpZHRoKTsKLSAgICBhdXRvIHVzZWRXaWR0aCA9IGNvbXB1dGVk
VGFibGVXaWR0aDsKLSAgICBpZiAoY29tcHV0ZWRUYWJsZVdpZHRoICYmIGludHJpbnNpY1dpZHRo
Q29uc3RyYWludHMubWluaW11bSA+IGNvbXB1dGVkVGFibGVXaWR0aCkgewotICAgICAgICAvLyBU
YWJsZSBjb250ZW50IG5lZWRzIG1vcmUgc3BhY2UgdGhhbiB0aGUgdGFibGUgaGFzLgotICAgICAg
ICB1c2VkV2lkdGggPSBpbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzLm1pbmltdW07Ci0gICAgfSBl
bHNlIGlmICghY29tcHV0ZWRUYWJsZVdpZHRoKSB7Ci0gICAgICAgIC8vIFVzZSB0aGUgZ2VuZXJp
YyBzaHJpbmstdG8tZml0LXdpZHRoIGxvZ2ljLgotICAgICAgICB1c2VkV2lkdGggPSBzdGQ6Om1p
bihzdGQ6Om1heChpbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzLm1pbmltdW0sIGhvcml6b250YWxD
b25zdHJhaW50cy5sb2dpY2FsV2lkdGgpLCBpbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzLm1heGlt
dW0pOworICAgICAgICBmb3JtYXR0aW5nU3RhdGVGb3JUYWJsZUJveC5zZXRJbnRyaW5zaWNXaWR0
aENvbnN0cmFpbnRzKGludHJpbnNpY1dpZHRoQ29uc3RyYWludHMpOwogICAgIH0KLSAgICBhdXRv
IGNvbnRlbnRXaWR0aEFuZE1hcmdpbiA9IGdlb21ldHJ5KCkuaW5GbG93V2lkdGhBbmRNYXJnaW4o
dGFibGVCb3gsIGhvcml6b250YWxDb25zdHJhaW50cywgT3ZlcnJpZGVIb3Jpem9udGFsVmFsdWVz
IHsgdXNlZFdpZHRoLCB7IH0gfSk7CisKKyAgICBhdXRvIGdlb21ldHJ5ID0gdGhpcy0+Z2VvbWV0
cnkoKTsKKyAgICBhdXRvIGNvbXB1dGVkV2lkdGggPSBnZW9tZXRyeS5jb21wdXRlZFdpZHRoKHRh
YmxlQm94LCBob3Jpem9udGFsQ29uc3RyYWludHMubG9naWNhbFdpZHRoKTsKKyAgICBhdXRvIGNv
bXB1dGVkTWF4V2lkdGggPSBnZW9tZXRyeS5jb21wdXRlZE1heFdpZHRoKHRhYmxlQm94LCBob3Jp
em9udGFsQ29uc3RyYWludHMubG9naWNhbFdpZHRoKTsKKyAgICBhdXRvIGNvbXB1dGVkTWluV2lk
dGggPSBnZW9tZXRyeS5jb21wdXRlZE1pbldpZHRoKHRhYmxlQm94LCBob3Jpem9udGFsQ29uc3Ry
YWludHMubG9naWNhbFdpZHRoKTsKKyAgICAvLyBVc2UgdGhlIGdlbmVyaWMgc2hyaW5rLXRvLWZp
dC13aWR0aCBsb2dpYyBhcyB0aGUgaW5pdGlhbCB3aWR0aCBmb3IgdGhlIHRhYmxlLgorICAgIGF1
dG8gdXNlZFdpZHRoID0gc3RkOjptaW4oc3RkOjptYXgoaW50cmluc2ljV2lkdGhDb25zdHJhaW50
cy5taW5pbXVtLCBob3Jpem9udGFsQ29uc3RyYWludHMubG9naWNhbFdpZHRoKSwgaW50cmluc2lj
V2lkdGhDb25zdHJhaW50cy5tYXhpbXVtKTsKKyAgICBpZiAoY29tcHV0ZWRXaWR0aCB8fCBjb21w
dXRlZE1pbldpZHRoIHx8IGNvbXB1dGVkTWF4V2lkdGgpIHsKKyAgICAgICAgaWYgKGNvbXB1dGVk
V2lkdGgpIHsKKyAgICAgICAgICAgIC8vIE5vcm1hbGl6ZSB0aGUgY29tcHV0ZWQgd2lkdGggdmFs
dWUgZmlyc3QuCisgICAgICAgICAgICBpZiAoY29tcHV0ZWRNYXhXaWR0aCAmJiAqY29tcHV0ZWRX
aWR0aCA+ICpjb21wdXRlZE1heFdpZHRoKQorICAgICAgICAgICAgICAgIGNvbXB1dGVkV2lkdGgg
PSBjb21wdXRlZE1heFdpZHRoOworICAgICAgICAgICAgaWYgKGNvbXB1dGVkTWluV2lkdGggJiYg
KmNvbXB1dGVkV2lkdGggPCAqY29tcHV0ZWRNaW5XaWR0aCkKKyAgICAgICAgICAgICAgICBjb21w
dXRlZFdpZHRoID0gY29tcHV0ZWRNaW5XaWR0aDsKKyAgICAgICAgICAgIHVzZWRXaWR0aCA9ICpj
b21wdXRlZFdpZHRoIDwgaW50cmluc2ljV2lkdGhDb25zdHJhaW50cy5taW5pbXVtID8gaW50cmlu
c2ljV2lkdGhDb25zdHJhaW50cy5taW5pbXVtIDogKmNvbXB1dGVkV2lkdGg7CisgICAgICAgIH0K
KworICAgICAgICBpZiAoY29tcHV0ZWRNYXhXaWR0aCAmJiAqY29tcHV0ZWRNYXhXaWR0aCA8IHVz
ZWRXaWR0aCkKKyAgICAgICAgICAgIHVzZWRXaWR0aCA9IGludHJpbnNpY1dpZHRoQ29uc3RyYWlu
dHMubWluaW11bTsKKyAgICAgICAgaWYgKGNvbXB1dGVkTWluV2lkdGggJiYgKmNvbXB1dGVkTWlu
V2lkdGggPiB1c2VkV2lkdGgpCisgICAgICAgICAgICB1c2VkV2lkdGggPSAqY29tcHV0ZWRNaW5X
aWR0aDsKKyAgICB9CisKKyAgICBhdXRvIGNvbnRlbnRXaWR0aEFuZE1hcmdpbiA9IGdlb21ldHJ5
LmluRmxvd1dpZHRoQW5kTWFyZ2luKHRhYmxlQm94LCBob3Jpem9udGFsQ29uc3RyYWludHMsIE92
ZXJyaWRlSG9yaXpvbnRhbFZhbHVlcyB7IHVzZWRXaWR0aCwgeyB9IH0pOwogCiAgICAgYXV0byYg
ZGlzcGxheUJveCA9IGZvcm1hdHRpbmdTdGF0ZSgpLmRpc3BsYXlCb3godGFibGVCb3gpOwogICAg
IGRpc3BsYXlCb3guc2V0Q29udGVudEJveFdpZHRoKGNvbnRlbnRXaWR0aEFuZE1hcmdpbi5jb250
ZW50V2lkdGgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDJiYTVmZjc1YWM3MDBlNWE0OGU5MjljYTRlOTI3MTk2NDM0OTg2
ZDIuLmUwNDIzZGFmMjY3MmZkNGQxZTU1NTU4MjM0MGUzMTljNGIxYTg0NmMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAyMC0wNi0xMSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgor
CisgICAgICAgIFtMRkNdW1RGQ10gQWRkIHN1cHBvcnQgZm9yIG1pbi9tYXgtd2lkdGgKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzExMQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9sYXlvdXRm
b3JtYXR0aW5nY29udGV4dC90YWJsZS1taW4tbWF4LXdpZHRoLXNpbXBsZS1leHBlY3RlZC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2xheW91dGZvcm1hdHRpbmdjb250ZXh0L3RhYmxlLW1p
bi1tYXgtd2lkdGgtc2ltcGxlLmh0bWw6IEFkZGVkLgorCiAyMDIwLTA2LTA5ICBaYWxhbiBCdWp0
YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bVEZDXSBBZGQgc3VwcG9ydCBm
b3IgZW1wdHkgdGFibGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbGF5b3V0Zm9ybWF0
dGluZ2NvbnRleHQvdGFibGUtbWluLW1heC13aWR0aC1zaW1wbGUtZXhwZWN0ZWQuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvdGFibGUtbWluLW1heC13aWR0
aC1zaW1wbGUtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YWYzNGRiYzkxNTA1ODE3ZWJmZjM2
ZDcyYmNmYzQwZjRkYTA0MmE5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9s
YXlvdXRmb3JtYXR0aW5nY29udGV4dC90YWJsZS1taW4tbWF4LXdpZHRoLXNpbXBsZS1leHBlY3Rl
ZC5odG1sCkBAIC0wLDAgKzEsMTkgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgaW50ZXJu
YWw6TGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRFbmFibGVkPXRydWUgaW50ZXJuYWw6TGF5b3V0Rm9y
bWF0dGluZ0NvbnRleHRJbnRlZ3JhdGlvbkVuYWJsZWQ9ZmFsc2UgXSAtLT4KKzxzdHlsZT4KK2Rp
diB7CisgICAgcGFkZGluZzogMnB4OworfQorPC9zdHlsZT4KKzxkaXY+dGV4dDxicj4KK2NvbnRl
bnQ8L2Rpdj4KKzxkaXY+dGV4dCBjb250ZW50PC9kaXY+Cis8ZGl2PnRleHQ8YnI+Citjb250ZW50
PC9kaXY+Cis8ZGl2PnRleHQgY29udGVudDwvZGl2PgorPGRpdj50ZXh0IGNvbnRlbnQ8L2Rpdj4K
KzxkaXY+dGV4dCBjb250ZW50PC9kaXY+Cis8ZGl2PnRleHQgY29udGVudDwvZGl2PgorPGRpdj50
ZXh0IGNvbnRlbnQ8L2Rpdj4KKzxkaXY+dGV4dCBjb250ZW50PC9kaXY+Cis8ZGl2PnRleHQ8YnI+
Citjb250ZW50PC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xheW91dGZvcm1h
dHRpbmdjb250ZXh0L3RhYmxlLW1pbi1tYXgtd2lkdGgtc2ltcGxlLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2xheW91dGZvcm1hdHRpbmdjb250ZXh0L3RhYmxlLW1pbi1tYXgtd2lkdGgtc2ltcGxl
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOTE4MzAzNTc3ZDRjMGEzNDk3ODNjNTNlYzVkMDE5YWYzZDQ1YmQ5
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbGF5b3V0Zm9ybWF0dGluZ2Nv
bnRleHQvdGFibGUtbWluLW1heC13aWR0aC1zaW1wbGUuaHRtbApAQCAtMCwwICsxLDE1IEBACis8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGludGVybmFsOkxheW91dEZvcm1hdHRpbmdDb250ZXh0
RW5hYmxlZD10cnVlIGludGVybmFsOkxheW91dEZvcm1hdHRpbmdDb250ZXh0SW50ZWdyYXRpb25F
bmFibGVkPWZhbHNlIF0gLS0+Cis8c3R5bGU+Cit0ZCB7CisgICBwYWRkaW5nOiAwcHg7IH0KKzwv
c3R5bGU+Cis8dGFibGUgc3R5bGU9IndpZHRoOiAxMHB4OyI+PHRyPjx0ZD50ZXh0IGNvbnRlbnQ8
L3RkPjwvdHI+PC90YWJsZT4KKzx0YWJsZSBzdHlsZT0id2lkdGg6IDUwMHB4OyI+PHRyPjx0ZD50
ZXh0IGNvbnRlbnQ8L3RkPjwvdHI+PC90YWJsZT4KKzx0YWJsZSBzdHlsZT0ibWF4LXdpZHRoOiAx
MHB4OyI+PHRyPjx0ZD50ZXh0IGNvbnRlbnQ8L3RkPjwvdHI+PC90YWJsZT4KKzx0YWJsZSBzdHls
ZT0ibWF4LXdpZHRoOiA1MDBweDsiPjx0cj48dGQ+dGV4dCBjb250ZW50PC90ZD48L3RyPjwvdGFi
bGU+Cis8dGFibGUgc3R5bGU9Im1pbi13aWR0aDogMTBweDsiPjx0cj48dGQ+dGV4dCBjb250ZW50
PC90ZD48L3RyPjwvdGFibGU+Cis8dGFibGUgc3R5bGU9Im1pbi13aWR0aDogNTAwcHg7Ij48dHI+
PHRkPnRleHQgY29udGVudDwvdGQ+PC90cj48L3RhYmxlPgorPHRhYmxlIHN0eWxlPSJtaW4td2lk
dGg6IDUwMHB4OyBtYXgtd2lkdGg6IDEwcHg7Ij48dHI+PHRkPnRleHQgY29udGVudDwvdGQ+PC90
cj48L3RhYmxlPgorPHRhYmxlIHN0eWxlPSJtaW4td2lkdGg6IDEwcHg7IG1heC13aWR0aDogNTAw
cHg7Ij48dHI+PHRkPnRleHQgY29udGVudDwvdGQ+PC90cj48L3RhYmxlPgorPHRhYmxlIHN0eWxl
PSJ3aWR0aDogMjAwcHg7IG1pbi13aWR0aDogMTBweDsgbWF4LXdpZHRoOiA1MDBweDsiPjx0cj48
dGQ+dGV4dCBjb250ZW50PC90ZD48L3RyPjwvdGFibGU+Cis8dGFibGUgc3R5bGU9IndpZHRoOiA1
cHg7IG1pbi13aWR0aDogMTBweDsgbWF4LXdpZHRoOiA1MDBweDsiPjx0cj48dGQ+dGV4dCBjb250
ZW50PC90ZD48L3RyPjwvdGFibGU+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401728</attachid>
            <date>2020-06-12 08:16:47 -0700</date>
            <delta_ts>2020-06-12 08:55:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213111-20200612081646.patch</filename>
            <type>text/plain</type>
            <size>15606</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyNDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjk2YWNiNWVkNmVmYjYw
OTEzZTI5YzY4OGRiMzEyZjMyZmI5NGM5YS4uOTUwZjQ5NTVhY2QxMjkxYWViZjMxZjBlYWE1YTlk
OTE4OTJkMTE0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIwLTA2LTExICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bVEZDXSBBZGQgc3Vw
cG9ydCBmb3IgbWluL21heC13aWR0aAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjEzMTExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlz
dG8uCisKKyAgICAgICAgQXBwbHkgbWluL21heC13aWR0aCB0byBjb25zdHJhaW4gdGhlIGF2YWls
YWJsZSB3aWR0aCBmb3IgdGhlIHRhYmxlIGNvbnRlbnQuIAorCisgICAgICAgIFRlc3Q6IGZhc3Qv
bGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvdGFibGUtbWluLW1heC13aWR0aC1zaW1wbGUuaHRtbAor
CisgICAgICAgICogbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6
Y29tcHV0ZVdpZHRoQW5kTWFyZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tG
b3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZWRXaWR0aEFuZE1hcmdpbik6CisgICAgICAgICogbGF5
b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0Lmg6CisgICAgICAgICog
bGF5b3V0L2Jsb2NrZm9ybWF0dGluZy90YWJsZXdyYXBwZXIvVGFibGVXcmFwcGVyQmxvY2tGb3Jt
YXR0aW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlV3JhcHBl
ckJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVXaWR0aEFuZE1hcmdpbkZvclRhYmxlQm94
KToKKwogMjAyMC0wNi0wOSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFtMRkNdW1RGQ10gQWRkIHN1cHBvcnQgZm9yIGVtcHR5IHRhYmxlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRl
eHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1h
dHRpbmdDb250ZXh0LmNwcAppbmRleCA0YmRkZDVhZjM1YjRjMTUyZTcwZmViODkwZGIzNzE1N2E2
MzIzMWM3Li45Njc4Yzk3NDdkODM1ZjM2YzU1ZWM4ZGNmNTEyMmMyNzBiNTQ3NzY0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGlu
Z0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcv
QmxvY2tGb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTMyMCwzOSArMzIwLDE0IEBAIHZvaWQgQmxv
Y2tGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZVZlcnRpY2FsUG9zaXRpb25Gb3JGbG9hdENsZWFy
KGNvbnN0IEZsb2F0aW5nCiAKIHZvaWQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZVdp
ZHRoQW5kTWFyZ2luKGNvbnN0IEZsb2F0aW5nQ29udGV4dCYgZmxvYXRpbmdDb250ZXh0LCBjb25z
dCBCb3gmIGxheW91dEJveCwgY29uc3QgQ29uc3RyYWludHNQYWlyJiBjb25zdHJhaW50c1BhaXIp
CiB7Ci0gICAgYXV0byYgaG9yaXpvbnRhbENvbnN0cmFpbnRzID0gY29uc3RyYWludHNQYWlyLmNv
bnRhaW5pbmdCbG9jay5ob3Jpem9udGFsOyAKLSAgICBhdXRvIGNvbXB1dGUgPSBbJl0oT3B0aW9u
YWw8TGF5b3V0VW5pdD4gdXNlZFdpZHRoKSAtPiBDb250ZW50V2lkdGhBbmRNYXJnaW4gewotICAg
ICAgICBpZiAobGF5b3V0Qm94LmlzRmxvYXRpbmdQb3NpdGlvbmVkKCkpCi0gICAgICAgICAgICBy
ZXR1cm4gZ2VvbWV0cnkoKS5mbG9hdGluZ1dpZHRoQW5kTWFyZ2luKGxheW91dEJveCwgaG9yaXpv
bnRhbENvbnN0cmFpbnRzLCB7IHVzZWRXaWR0aCwgeyB9IH0pOwotCi0gICAgICAgIGlmIChsYXlv
dXRCb3guaXNGbG9hdEF2b2lkZXIoKSkgewotICAgICAgICAgICAgYXV0byBhdmFpbGFibGVXaWR0
aCA9IGhvcml6b250YWxDb25zdHJhaW50cy5sb2dpY2FsV2lkdGg7Ci0gICAgICAgICAgICBpZiAo
bGF5b3V0Qm94LnN0eWxlKCkubG9naWNhbFdpZHRoKCkuaXNBdXRvKCkpCi0gICAgICAgICAgICAg
ICAgYXZhaWxhYmxlV2lkdGggPSB1c2VkQXZhaWxhYmxlV2lkdGhGb3JGbG9hdEF2b2lkZXIoZmxv
YXRpbmdDb250ZXh0LCBsYXlvdXRCb3gsIGNvbnN0cmFpbnRzUGFpcikudmFsdWVPcihhdmFpbGFi
bGVXaWR0aCk7Ci0gICAgICAgICAgICByZXR1cm4gZ2VvbWV0cnkoKS5pbkZsb3dXaWR0aEFuZE1h
cmdpbihsYXlvdXRCb3gsIHsgaG9yaXpvbnRhbENvbnN0cmFpbnRzLmxvZ2ljYWxMZWZ0LCBhdmFp
bGFibGVXaWR0aCB9LCB7IHVzZWRXaWR0aCwgeyB9IH0pOwotICAgICAgICB9Ci0KLSAgICAgICAg
aWYgKGxheW91dEJveC5pc0luRmxvdygpKQotICAgICAgICAgICAgcmV0dXJuIGdlb21ldHJ5KCku
aW5GbG93V2lkdGhBbmRNYXJnaW4obGF5b3V0Qm94LCBob3Jpem9udGFsQ29uc3RyYWludHMsIHsg
dXNlZFdpZHRoLCB7IH0gfSk7Ci0KLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAg
ICAgIHJldHVybiB7IH07Ci0gICAgfTsKLQotICAgIGF1dG8gY29udGVudFdpZHRoQW5kTWFyZ2lu
ID0gY29tcHV0ZSh7IH0pOwotCi0gICAgYXV0byBhdmFpbGFibGVXaWR0aCA9IGhvcml6b250YWxD
b25zdHJhaW50cy5sb2dpY2FsV2lkdGg7Ci0gICAgaWYgKGF1dG8gbWF4V2lkdGggPSBnZW9tZXRy
eSgpLmNvbXB1dGVkTWF4V2lkdGgobGF5b3V0Qm94LCBhdmFpbGFibGVXaWR0aCkpIHsKLSAgICAg
ICAgYXV0byBtYXhXaWR0aEFuZE1hcmdpbiA9IGNvbXB1dGUobWF4V2lkdGgpOwotICAgICAgICBp
ZiAoY29udGVudFdpZHRoQW5kTWFyZ2luLmNvbnRlbnRXaWR0aCA+IG1heFdpZHRoQW5kTWFyZ2lu
LmNvbnRlbnRXaWR0aCkKLSAgICAgICAgICAgIGNvbnRlbnRXaWR0aEFuZE1hcmdpbiA9IG1heFdp
ZHRoQW5kTWFyZ2luOworICAgIGF1dG8gYWRqdXN0ZWRDb25zdHJhaW50cyA9IGNvbnN0cmFpbnRz
UGFpcjsKKyAgICBpZiAobGF5b3V0Qm94LmlzRmxvYXRBdm9pZGVyKCkgJiYgbGF5b3V0Qm94LnN0
eWxlKCkubG9naWNhbFdpZHRoKCkuaXNBdXRvKCkpIHsKKyAgICAgICAgLy8gRmxvYXQgYXZvaWRl
cnMnIGF2YWlsYWJsZSB3aWR0aCBtaWdodCBiZSBzaHJ1bmsgYnkgZXhpc3RpbmcgZmxvYXRzIGlu
IHRoZSBjb250ZXh0LgorICAgICAgICBpZiAoYXV0byBhdmFpbGFibGVXaWR0aEZvckZsb2F0QXZv
aWRlciA9IHVzZWRBdmFpbGFibGVXaWR0aEZvckZsb2F0QXZvaWRlcihmbG9hdGluZ0NvbnRleHQs
IGxheW91dEJveCwgY29uc3RyYWludHNQYWlyKSkKKyAgICAgICAgICAgIGFkanVzdGVkQ29uc3Ry
YWludHMuY29udGFpbmluZ0Jsb2NrLmhvcml6b250YWwubG9naWNhbFdpZHRoID0gKmF2YWlsYWJs
ZVdpZHRoRm9yRmxvYXRBdm9pZGVyOwogICAgIH0KIAotICAgIGF1dG8gbWluV2lkdGggPSBnZW9t
ZXRyeSgpLmNvbXB1dGVkTWluV2lkdGgobGF5b3V0Qm94LCBhdmFpbGFibGVXaWR0aCkudmFsdWVP
cigwKTsKLSAgICBhdXRvIG1pbldpZHRoQW5kTWFyZ2luID0gY29tcHV0ZShtaW5XaWR0aCk7Ci0g
ICAgaWYgKGNvbnRlbnRXaWR0aEFuZE1hcmdpbi5jb250ZW50V2lkdGggPCBtaW5XaWR0aEFuZE1h
cmdpbi5jb250ZW50V2lkdGgpCi0gICAgICAgIGNvbnRlbnRXaWR0aEFuZE1hcmdpbiA9IG1pbldp
ZHRoQW5kTWFyZ2luOwotCisgICAgYXV0byBjb250ZW50V2lkdGhBbmRNYXJnaW4gPSBnZW9tZXRy
eSgpLmNvbXB1dGVkV2lkdGhBbmRNYXJnaW4obGF5b3V0Qm94LCBhZGp1c3RlZENvbnN0cmFpbnRz
KTsKICAgICBhdXRvJiBkaXNwbGF5Qm94ID0gZm9ybWF0dGluZ1N0YXRlKCkuZGlzcGxheUJveChs
YXlvdXRCb3gpOwogICAgIGRpc3BsYXlCb3guc2V0Q29udGVudEJveFdpZHRoKGNvbnRlbnRXaWR0
aEFuZE1hcmdpbi5jb250ZW50V2lkdGgpOwogICAgIGRpc3BsYXlCb3guc2V0SG9yaXpvbnRhbE1h
cmdpbihjb250ZW50V2lkdGhBbmRNYXJnaW4udXNlZE1hcmdpbik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQu
aCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5n
Q29udGV4dC5oCmluZGV4IGM4OWU2MWQ5YjVkZjJlYThmMjkwZTI5NmJhMjk2ODIyYzJlOTkzOGUu
LjEyZDFhZWFkN2FiMjIwMDFkZGZlMjZkMTViNjAwYTI4NTQ3ZDRjMzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3Jt
YXR0aW5nQ29udGV4dC5oCkBAIC01Miw4ICs1Miw4IEBAIHB1YmxpYzoKIAogcHJvdGVjdGVkOgog
ICAgIHN0cnVjdCBDb25zdHJhaW50c1BhaXIgewotICAgICAgICBjb25zdCBDb25zdHJhaW50c0Zv
ckluRmxvd0NvbnRlbnQgZm9ybWF0dGluZ0NvbnRleHRSb290OwotICAgICAgICBjb25zdCBDb25z
dHJhaW50c0ZvckluRmxvd0NvbnRlbnQgY29udGFpbmluZ0Jsb2NrOworICAgICAgICBDb25zdHJh
aW50c0ZvckluRmxvd0NvbnRlbnQgZm9ybWF0dGluZ0NvbnRleHRSb290OworICAgICAgICBDb25z
dHJhaW50c0ZvckluRmxvd0NvbnRlbnQgY29udGFpbmluZ0Jsb2NrOwogICAgIH07CiAgICAgdm9p
ZCBwbGFjZUluRmxvd1Bvc2l0aW9uZWRDaGlsZHJlbihjb25zdCBDb250YWluZXJCb3gmLCBjb25z
dCBIb3Jpem9udGFsQ29uc3RyYWludHMmKTsKIApAQCAtNjksNiArNjksNyBAQCBwcm90ZWN0ZWQ6
CiAgICAgdm9pZCBwcmVjb21wdXRlVmVydGljYWxQb3NpdGlvbkZvckJveEFuZEFuY2VzdG9ycyhj
b25zdCBCb3gmLCBjb25zdCBDb25zdHJhaW50c1BhaXImKTsKIAogICAgIEludHJpbnNpY1dpZHRo
Q29uc3RyYWludHMgY29tcHV0ZWRJbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzKCkgb3ZlcnJpZGU7
CisKICAgICBMYXlvdXRVbml0IHZlcnRpY2FsUG9zaXRpb25XaXRoTWFyZ2luKGNvbnN0IEJveCYs
IGNvbnN0IFVzZWRWZXJ0aWNhbE1hcmdpbiYsIGNvbnN0IFZlcnRpY2FsQ29uc3RyYWludHMmKSBj
b25zdDsKIAogICAgIC8vIFRoaXMgY2xhc3MgaW1wbGVtZW50cyBwb3NpdGlvbmluZyBhbmQgc2l6
aW5nIGZvciBib3hlcyBwYXJ0aWNpcGF0aW5nIGluIGEgYmxvY2sgZm9ybWF0dGluZyBjb250ZXh0
LgpAQCAtODUsNiArODYsOCBAQCBwcm90ZWN0ZWQ6CiAKICAgICAgICAgSW50cmluc2ljV2lkdGhD
b25zdHJhaW50cyBpbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzKGNvbnN0IEJveCYpOwogCisgICAg
ICAgIENvbnRlbnRXaWR0aEFuZE1hcmdpbiBjb21wdXRlZFdpZHRoQW5kTWFyZ2luKGNvbnN0IEJv
eCYsIGNvbnN0IENvbnN0cmFpbnRzUGFpciYpOworCiAgICAgcHJpdmF0ZToKICAgICAgICAgQ29u
dGVudEhlaWdodEFuZE1hcmdpbiBpbkZsb3dOb25SZXBsYWNlZEhlaWdodEFuZE1hcmdpbihjb25z
dCBCb3gmLCBjb25zdCBIb3Jpem9udGFsQ29uc3RyYWludHMmLCBjb25zdCBPdmVycmlkZVZlcnRp
Y2FsVmFsdWVzJik7CiAgICAgICAgIENvbnRlbnRXaWR0aEFuZE1hcmdpbiBpbkZsb3dOb25SZXBs
YWNlZFdpZHRoQW5kTWFyZ2luKGNvbnN0IEJveCYsIGNvbnN0IEhvcml6b250YWxDb25zdHJhaW50
cyYsIGNvbnN0IE92ZXJyaWRlSG9yaXpvbnRhbFZhbHVlcyYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0R2Vv
bWV0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zv
cm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCmluZGV4IGVlZjg5YjNhNGMyMDE3YTNhNGFjNGYw
MWY0ZGYxNzIzMjQ5MTc2ZjkuLjdjMWIxNGZiNjNmMmI5OTI5MDJkNWJlMjZjNGE4ZGRiZTJiZTU1
ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxv
Y2tGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKQEAg
LTI4Myw2ICsyODMsMzYgQEAgQ29udGVudFdpZHRoQW5kTWFyZ2luIEJsb2NrRm9ybWF0dGluZ0Nv
bnRleHQ6Okdlb21ldHJ5OjppbkZsb3dXaWR0aEFuZE1hcmdpbihjb24KICAgICByZXR1cm4gaW5G
bG93UmVwbGFjZWRXaWR0aEFuZE1hcmdpbihkb3duY2FzdDxSZXBsYWNlZEJveD4obGF5b3V0Qm94
KSwgaG9yaXpvbnRhbENvbnN0cmFpbnRzLCBvdmVycmlkZUhvcml6b250YWxWYWx1ZXMpOwogfQog
CitDb250ZW50V2lkdGhBbmRNYXJnaW4gQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6
OmNvbXB1dGVkV2lkdGhBbmRNYXJnaW4oY29uc3QgQm94JiBsYXlvdXRCb3gsIGNvbnN0IENvbnN0
cmFpbnRzUGFpciYgY29uc3RyYWludHNQYWlyKQoreworICAgIGF1dG8mIGhvcml6b250YWxDb25z
dHJhaW50cyA9IGNvbnN0cmFpbnRzUGFpci5jb250YWluaW5nQmxvY2suaG9yaXpvbnRhbDsKKyAg
ICBhdXRvIGNvbXB1dGUgPSBbJl0oT3B0aW9uYWw8TGF5b3V0VW5pdD4gdXNlZFdpZHRoKSB7Cisg
ICAgICAgIGlmIChsYXlvdXRCb3guaXNGbG9hdGluZ1Bvc2l0aW9uZWQoKSkKKyAgICAgICAgICAg
IHJldHVybiBmbG9hdGluZ1dpZHRoQW5kTWFyZ2luKGxheW91dEJveCwgaG9yaXpvbnRhbENvbnN0
cmFpbnRzLCB7IHVzZWRXaWR0aCwgeyB9IH0pOworCisgICAgICAgIGlmIChsYXlvdXRCb3guaXNJ
bkZsb3coKSkKKyAgICAgICAgICAgIHJldHVybiBpbkZsb3dXaWR0aEFuZE1hcmdpbihsYXlvdXRC
b3gsIGhvcml6b250YWxDb25zdHJhaW50cywgeyB1c2VkV2lkdGgsIHsgfSB9KTsKKworICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIENvbnRlbnRXaWR0aEFuZE1h
cmdpbiB7IH07CisgICAgfTsKKworICAgIGF1dG8gY29udGVudFdpZHRoQW5kTWFyZ2luID0gY29t
cHV0ZSh7IH0pOworCisgICAgYXV0byBhdmFpbGFibGVXaWR0aCA9IGhvcml6b250YWxDb25zdHJh
aW50cy5sb2dpY2FsV2lkdGg7CisgICAgaWYgKGF1dG8gbWF4V2lkdGggPSBjb21wdXRlZE1heFdp
ZHRoKGxheW91dEJveCwgYXZhaWxhYmxlV2lkdGgpKSB7CisgICAgICAgIGF1dG8gbWF4V2lkdGhB
bmRNYXJnaW4gPSBjb21wdXRlKG1heFdpZHRoKTsKKyAgICAgICAgaWYgKGNvbnRlbnRXaWR0aEFu
ZE1hcmdpbi5jb250ZW50V2lkdGggPiBtYXhXaWR0aEFuZE1hcmdpbi5jb250ZW50V2lkdGgpCisg
ICAgICAgICAgICBjb250ZW50V2lkdGhBbmRNYXJnaW4gPSBtYXhXaWR0aEFuZE1hcmdpbjsKKyAg
ICB9CisKKyAgICBhdXRvIG1pbldpZHRoID0gY29tcHV0ZWRNaW5XaWR0aChsYXlvdXRCb3gsIGF2
YWlsYWJsZVdpZHRoKS52YWx1ZU9yKDApOworICAgIGF1dG8gbWluV2lkdGhBbmRNYXJnaW4gPSBj
b21wdXRlKG1pbldpZHRoKTsKKyAgICBpZiAoY29udGVudFdpZHRoQW5kTWFyZ2luLmNvbnRlbnRX
aWR0aCA8IG1pbldpZHRoQW5kTWFyZ2luLmNvbnRlbnRXaWR0aCkKKyAgICAgICAgY29udGVudFdp
ZHRoQW5kTWFyZ2luID0gbWluV2lkdGhBbmRNYXJnaW47CisgICAgcmV0dXJuIGNvbnRlbnRXaWR0
aEFuZE1hcmdpbjsKK30KKwogRm9ybWF0dGluZ0NvbnRleHQ6OkludHJpbnNpY1dpZHRoQ29uc3Ry
YWludHMgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmludHJpbnNpY1dpZHRoQ29u
c3RyYWludHMoY29uc3QgQm94JiBsYXlvdXRCb3gpCiB7CiAgICAgYXV0byBmaXhlZE1hcmdpbkJv
cmRlckFuZFBhZGRpbmcgPSBbJl0oYXV0byYgbGF5b3V0Qm94KSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL3RhYmxld3JhcHBlci9UYWJsZVdyYXBw
ZXJCbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9j
a2Zvcm1hdHRpbmcvdGFibGV3cmFwcGVyL1RhYmxlV3JhcHBlckJsb2NrRm9ybWF0dGluZ0NvbnRl
eHQuY3BwCmluZGV4IDZlZmVmZTc0NGMzNjdlYTliNTNlMTZhMTJlNzg5ZmQ3NzE3NGUxMDUuLjVm
YWRmNGM0MjU2MjM5MWZhN2RjNmY0NzM3ZDk4NDlmMjE0ODczNGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvdGFibGV3cmFwcGVyL1RhYmxlV3JhcHBl
ckJsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9i
bG9ja2Zvcm1hdHRpbmcvdGFibGV3cmFwcGVyL1RhYmxlV3JhcHBlckJsb2NrRm9ybWF0dGluZ0Nv
bnRleHQuY3BwCkBAIC0xNDUsMTEgKzE0NSwxMiBAQCB2b2lkIFRhYmxlV3JhcHBlckJsb2NrRm9y
bWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVXaWR0aEFuZE1hcmdpbkZvclRhYmxlQm94KGNvbnN0CiB7
CiAgICAgQVNTRVJUKHRhYmxlQm94LmlzVGFibGVCb3goKSk7CiAgICAgaWYgKCF0YWJsZUJveC5o
YXNDaGlsZCgpKSB7Ci0gICAgICAgIGF1dG8gY29udGVudFdpZHRoQW5kTWFyZ2luID0gZ2VvbWV0
cnkoKS5pbkZsb3dXaWR0aEFuZE1hcmdpbih0YWJsZUJveCwgaG9yaXpvbnRhbENvbnN0cmFpbnRz
LCB7IH0pOworICAgICAgICBhdXRvIGNvbnN0cmFpbnRzUGFpciA9IENvbnN0cmFpbnRzUGFpciB7
IHsgaG9yaXpvbnRhbENvbnN0cmFpbnRzLCB7IH0gfSwgeyBob3Jpem9udGFsQ29uc3RyYWludHMs
IHsgfSB9IH07CisgICAgICAgIGF1dG8gY29tcHV0ZWRXaWR0aEFuZE1hcmdpbiA9IGdlb21ldHJ5
KCkuY29tcHV0ZWRXaWR0aEFuZE1hcmdpbih0YWJsZUJveCwgY29uc3RyYWludHNQYWlyKTsKICAg
ICAgICAgYXV0byYgZGlzcGxheUJveCA9IGZvcm1hdHRpbmdTdGF0ZSgpLmRpc3BsYXlCb3godGFi
bGVCb3gpOwotICAgICAgICBkaXNwbGF5Qm94LnNldENvbnRlbnRCb3hXaWR0aChjb250ZW50V2lk
dGhBbmRNYXJnaW4uY29udGVudFdpZHRoKTsKLSAgICAgICAgZGlzcGxheUJveC5zZXRIb3Jpem9u
dGFsTWFyZ2luKGNvbnRlbnRXaWR0aEFuZE1hcmdpbi51c2VkTWFyZ2luKTsKLSAgICAgICAgZGlz
cGxheUJveC5zZXRIb3Jpem9udGFsQ29tcHV0ZWRNYXJnaW4oY29udGVudFdpZHRoQW5kTWFyZ2lu
LmNvbXB1dGVkTWFyZ2luKTsKKyAgICAgICAgZGlzcGxheUJveC5zZXRDb250ZW50Qm94V2lkdGgo
Y29tcHV0ZWRXaWR0aEFuZE1hcmdpbi5jb250ZW50V2lkdGgpOworICAgICAgICBkaXNwbGF5Qm94
LnNldEhvcml6b250YWxNYXJnaW4oY29tcHV0ZWRXaWR0aEFuZE1hcmdpbi51c2VkTWFyZ2luKTsK
KyAgICAgICAgZGlzcGxheUJveC5zZXRIb3Jpem9udGFsQ29tcHV0ZWRNYXJnaW4oY29tcHV0ZWRX
aWR0aEFuZE1hcmdpbi5jb21wdXRlZE1hcmdpbik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
QEAgLTE1OSwxOCArMTYwLDM0IEBAIHZvaWQgVGFibGVXcmFwcGVyQmxvY2tGb3JtYXR0aW5nQ29u
dGV4dDo6Y29tcHV0ZVdpZHRoQW5kTWFyZ2luRm9yVGFibGVCb3goY29uc3QKICAgICBhdXRvIGlu
dHJpbnNpY1dpZHRoQ29uc3RyYWludHMgPSBJbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzIHsgfTsK
ICAgICBpZiAoYXV0byBwcmVjb21wdXRlZEludHJpbnNpY1dpZHRoQ29uc3RyYWludHMgPSBmb3Jt
YXR0aW5nU3RhdGVGb3JUYWJsZUJveC5pbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzKCkpCiAgICAg
ICAgIGludHJpbnNpY1dpZHRoQ29uc3RyYWludHMgPSAqcHJlY29tcHV0ZWRJbnRyaW5zaWNXaWR0
aENvbnN0cmFpbnRzOwotICAgIGVsc2UKKyAgICBlbHNlIHsKICAgICAgICAgaW50cmluc2ljV2lk
dGhDb25zdHJhaW50cyA9IExheW91dENvbnRleHQ6OmNyZWF0ZUZvcm1hdHRpbmdDb250ZXh0KHRh
YmxlQm94LCBsYXlvdXRTdGF0ZSgpKS0+Y29tcHV0ZWRJbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRz
KCk7Ci0gICAgYXV0byBjb21wdXRlZFRhYmxlV2lkdGggPSBnZW9tZXRyeSgpLmNvbXB1dGVkV2lk
dGgodGFibGVCb3gsIGhvcml6b250YWxDb25zdHJhaW50cy5sb2dpY2FsV2lkdGgpOwotICAgIGF1
dG8gdXNlZFdpZHRoID0gY29tcHV0ZWRUYWJsZVdpZHRoOwotICAgIGlmIChjb21wdXRlZFRhYmxl
V2lkdGggJiYgaW50cmluc2ljV2lkdGhDb25zdHJhaW50cy5taW5pbXVtID4gY29tcHV0ZWRUYWJs
ZVdpZHRoKSB7Ci0gICAgICAgIC8vIFRhYmxlIGNvbnRlbnQgbmVlZHMgbW9yZSBzcGFjZSB0aGFu
IHRoZSB0YWJsZSBoYXMuCi0gICAgICAgIHVzZWRXaWR0aCA9IGludHJpbnNpY1dpZHRoQ29uc3Ry
YWludHMubWluaW11bTsKLSAgICB9IGVsc2UgaWYgKCFjb21wdXRlZFRhYmxlV2lkdGgpIHsKLSAg
ICAgICAgLy8gVXNlIHRoZSBnZW5lcmljIHNocmluay10by1maXQtd2lkdGggbG9naWMuCi0gICAg
ICAgIHVzZWRXaWR0aCA9IHN0ZDo6bWluKHN0ZDo6bWF4KGludHJpbnNpY1dpZHRoQ29uc3RyYWlu
dHMubWluaW11bSwgaG9yaXpvbnRhbENvbnN0cmFpbnRzLmxvZ2ljYWxXaWR0aCksIGludHJpbnNp
Y1dpZHRoQ29uc3RyYWludHMubWF4aW11bSk7CisgICAgICAgIGZvcm1hdHRpbmdTdGF0ZUZvclRh
YmxlQm94LnNldEludHJpbnNpY1dpZHRoQ29uc3RyYWludHMoaW50cmluc2ljV2lkdGhDb25zdHJh
aW50cyk7CiAgICAgfQotICAgIGF1dG8gY29udGVudFdpZHRoQW5kTWFyZ2luID0gZ2VvbWV0cnko
KS5pbkZsb3dXaWR0aEFuZE1hcmdpbih0YWJsZUJveCwgaG9yaXpvbnRhbENvbnN0cmFpbnRzLCBP
dmVycmlkZUhvcml6b250YWxWYWx1ZXMgeyB1c2VkV2lkdGgsIHsgfSB9KTsKKworICAgIGF1dG8g
Z2VvbWV0cnkgPSB0aGlzLT5nZW9tZXRyeSgpOworICAgIGF1dG8gY29tcHV0ZWRXaWR0aCA9IGdl
b21ldHJ5LmNvbXB1dGVkV2lkdGgodGFibGVCb3gsIGhvcml6b250YWxDb25zdHJhaW50cy5sb2dp
Y2FsV2lkdGgpOworICAgIGF1dG8gY29tcHV0ZWRNYXhXaWR0aCA9IGdlb21ldHJ5LmNvbXB1dGVk
TWF4V2lkdGgodGFibGVCb3gsIGhvcml6b250YWxDb25zdHJhaW50cy5sb2dpY2FsV2lkdGgpOwor
ICAgIGF1dG8gY29tcHV0ZWRNaW5XaWR0aCA9IGdlb21ldHJ5LmNvbXB1dGVkTWluV2lkdGgodGFi
bGVCb3gsIGhvcml6b250YWxDb25zdHJhaW50cy5sb2dpY2FsV2lkdGgpOworICAgIC8vIFVzZSB0
aGUgZ2VuZXJpYyBzaHJpbmstdG8tZml0LXdpZHRoIGxvZ2ljIGFzIHRoZSBpbml0aWFsIHdpZHRo
IGZvciB0aGUgdGFibGUuCisgICAgYXV0byB1c2VkV2lkdGggPSBzdGQ6Om1pbihzdGQ6Om1heChp
bnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzLm1pbmltdW0sIGhvcml6b250YWxDb25zdHJhaW50cy5s
b2dpY2FsV2lkdGgpLCBpbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzLm1heGltdW0pOworICAgIGlm
IChjb21wdXRlZFdpZHRoIHx8IGNvbXB1dGVkTWluV2lkdGggfHwgY29tcHV0ZWRNYXhXaWR0aCkg
eworICAgICAgICBpZiAoY29tcHV0ZWRXaWR0aCkgeworICAgICAgICAgICAgLy8gTm9ybWFsaXpl
IHRoZSBjb21wdXRlZCB3aWR0aCB2YWx1ZSBmaXJzdC4KKyAgICAgICAgICAgIGlmIChjb21wdXRl
ZE1heFdpZHRoICYmICpjb21wdXRlZFdpZHRoID4gKmNvbXB1dGVkTWF4V2lkdGgpCisgICAgICAg
ICAgICAgICAgY29tcHV0ZWRXaWR0aCA9IGNvbXB1dGVkTWF4V2lkdGg7CisgICAgICAgICAgICBp
ZiAoY29tcHV0ZWRNaW5XaWR0aCAmJiAqY29tcHV0ZWRXaWR0aCA8ICpjb21wdXRlZE1pbldpZHRo
KQorICAgICAgICAgICAgICAgIGNvbXB1dGVkV2lkdGggPSBjb21wdXRlZE1pbldpZHRoOworICAg
ICAgICAgICAgdXNlZFdpZHRoID0gKmNvbXB1dGVkV2lkdGggPCBpbnRyaW5zaWNXaWR0aENvbnN0
cmFpbnRzLm1pbmltdW0gPyBpbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzLm1pbmltdW0gOiAqY29t
cHV0ZWRXaWR0aDsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChjb21wdXRlZE1heFdpZHRoICYm
ICpjb21wdXRlZE1heFdpZHRoIDwgdXNlZFdpZHRoKQorICAgICAgICAgICAgdXNlZFdpZHRoID0g
aW50cmluc2ljV2lkdGhDb25zdHJhaW50cy5taW5pbXVtOworICAgICAgICBpZiAoY29tcHV0ZWRN
aW5XaWR0aCAmJiAqY29tcHV0ZWRNaW5XaWR0aCA+IHVzZWRXaWR0aCkKKyAgICAgICAgICAgIHVz
ZWRXaWR0aCA9ICpjb21wdXRlZE1pbldpZHRoOworICAgIH0KKworICAgIGF1dG8gY29udGVudFdp
ZHRoQW5kTWFyZ2luID0gZ2VvbWV0cnkuaW5GbG93V2lkdGhBbmRNYXJnaW4odGFibGVCb3gsIGhv
cml6b250YWxDb25zdHJhaW50cywgT3ZlcnJpZGVIb3Jpem9udGFsVmFsdWVzIHsgdXNlZFdpZHRo
LCB7IH0gfSk7CiAKICAgICBhdXRvJiBkaXNwbGF5Qm94ID0gZm9ybWF0dGluZ1N0YXRlKCkuZGlz
cGxheUJveCh0YWJsZUJveCk7CiAgICAgZGlzcGxheUJveC5zZXRDb250ZW50Qm94V2lkdGgoY29u
dGVudFdpZHRoQW5kTWFyZ2luLmNvbnRlbnRXaWR0aCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMmJhNWZmNzVhYzcwMGU1
YTQ4ZTkyOWNhNGU5MjcxOTY0MzQ5ODZkMi4uYTAzNjExMzllN2EyODBmZDU5Y2I0ZjExM2I3YTU4
Njk0NTFmNzQ0MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTA2LTExICBaYWxhbiBCdWp0
YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bVEZDXSBBZGQgc3VwcG9ydCBm
b3IgbWluL21heC13aWR0aAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjEzMTExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCisK
KyAgICAgICAgKiBmYXN0L2xheW91dGZvcm1hdHRpbmdjb250ZXh0L3RhYmxlLW1pbi1tYXgtd2lk
dGgtc2ltcGxlLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbGF5b3V0Zm9y
bWF0dGluZ2NvbnRleHQvdGFibGUtbWluLW1heC13aWR0aC1zaW1wbGUuaHRtbDogQWRkZWQuCisK
IDIwMjAtMDYtMDkgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBb
TEZDXVtURkNdIEFkZCBzdXBwb3J0IGZvciBlbXB0eSB0YWJsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9sYXlvdXRmb3JtYXR0aW5nY29udGV4dC90YWJsZS1taW4tbWF4LXdpZHRoLXNp
bXBsZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9sYXlvdXRmb3JtYXR0aW5nY29u
dGV4dC90YWJsZS1taW4tbWF4LXdpZHRoLXNpbXBsZS1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjVhZjM0ZGJjOTE1MDU4MTdlYmZmMzZkNzJiY2ZjNDBmNGRhMDQyYTkKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2xheW91dGZvcm1hdHRpbmdjb250ZXh0L3RhYmxlLW1pbi1t
YXgtd2lkdGgtc2ltcGxlLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxOSBAQAorPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyBpbnRlcm5hbDpMYXlvdXRGb3JtYXR0aW5nQ29udGV4dEVuYWJsZWQ9
dHJ1ZSBpbnRlcm5hbDpMYXlvdXRGb3JtYXR0aW5nQ29udGV4dEludGVncmF0aW9uRW5hYmxlZD1m
YWxzZSBdIC0tPgorPHN0eWxlPgorZGl2IHsKKyAgICBwYWRkaW5nOiAycHg7Cit9Cis8L3N0eWxl
PgorPGRpdj50ZXh0PGJyPgorY29udGVudDwvZGl2PgorPGRpdj50ZXh0IGNvbnRlbnQ8L2Rpdj4K
KzxkaXY+dGV4dDxicj4KK2NvbnRlbnQ8L2Rpdj4KKzxkaXY+dGV4dCBjb250ZW50PC9kaXY+Cis8
ZGl2PnRleHQgY29udGVudDwvZGl2PgorPGRpdj50ZXh0IGNvbnRlbnQ8L2Rpdj4KKzxkaXY+dGV4
dCBjb250ZW50PC9kaXY+Cis8ZGl2PnRleHQgY29udGVudDwvZGl2PgorPGRpdj50ZXh0IGNvbnRl
bnQ8L2Rpdj4KKzxkaXY+dGV4dDxicj4KK2NvbnRlbnQ8L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvdGFibGUtbWluLW1heC13aWR0aC1z
aW1wbGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvdGFi
bGUtbWluLW1heC13aWR0aC1zaW1wbGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MTgzMDM1NzdkNGMwYTM0
OTc4M2M1M2VjNWQwMTlhZjNkNDViZDk3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9sYXlvdXRmb3JtYXR0aW5nY29udGV4dC90YWJsZS1taW4tbWF4LXdpZHRoLXNpbXBsZS5o
dG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgaW50ZXJuYWw6
TGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRFbmFibGVkPXRydWUgaW50ZXJuYWw6TGF5b3V0Rm9ybWF0
dGluZ0NvbnRleHRJbnRlZ3JhdGlvbkVuYWJsZWQ9ZmFsc2UgXSAtLT4KKzxzdHlsZT4KK3RkIHsK
KyAgIHBhZGRpbmc6IDBweDsgfQorPC9zdHlsZT4KKzx0YWJsZSBzdHlsZT0id2lkdGg6IDEwcHg7
Ij48dHI+PHRkPnRleHQgY29udGVudDwvdGQ+PC90cj48L3RhYmxlPgorPHRhYmxlIHN0eWxlPSJ3
aWR0aDogNTAwcHg7Ij48dHI+PHRkPnRleHQgY29udGVudDwvdGQ+PC90cj48L3RhYmxlPgorPHRh
YmxlIHN0eWxlPSJtYXgtd2lkdGg6IDEwcHg7Ij48dHI+PHRkPnRleHQgY29udGVudDwvdGQ+PC90
cj48L3RhYmxlPgorPHRhYmxlIHN0eWxlPSJtYXgtd2lkdGg6IDUwMHB4OyI+PHRyPjx0ZD50ZXh0
IGNvbnRlbnQ8L3RkPjwvdHI+PC90YWJsZT4KKzx0YWJsZSBzdHlsZT0ibWluLXdpZHRoOiAxMHB4
OyI+PHRyPjx0ZD50ZXh0IGNvbnRlbnQ8L3RkPjwvdHI+PC90YWJsZT4KKzx0YWJsZSBzdHlsZT0i
bWluLXdpZHRoOiA1MDBweDsiPjx0cj48dGQ+dGV4dCBjb250ZW50PC90ZD48L3RyPjwvdGFibGU+
Cis8dGFibGUgc3R5bGU9Im1pbi13aWR0aDogNTAwcHg7IG1heC13aWR0aDogMTBweDsiPjx0cj48
dGQ+dGV4dCBjb250ZW50PC90ZD48L3RyPjwvdGFibGU+Cis8dGFibGUgc3R5bGU9Im1pbi13aWR0
aDogMTBweDsgbWF4LXdpZHRoOiA1MDBweDsiPjx0cj48dGQ+dGV4dCBjb250ZW50PC90ZD48L3Ry
PjwvdGFibGU+Cis8dGFibGUgc3R5bGU9IndpZHRoOiAyMDBweDsgbWluLXdpZHRoOiAxMHB4OyBt
YXgtd2lkdGg6IDUwMHB4OyI+PHRyPjx0ZD50ZXh0IGNvbnRlbnQ8L3RkPjwvdHI+PC90YWJsZT4K
Kzx0YWJsZSBzdHlsZT0id2lkdGg6IDVweDsgbWluLXdpZHRoOiAxMHB4OyBtYXgtd2lkdGg6IDUw
MHB4OyI+PHRyPjx0ZD50ZXh0IGNvbnRlbnQ8L3RkPjwvdHI+PC90YWJsZT4K
</data>

          </attachment>
      

    </bug>

</bugzilla>