<?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>220135</bug_id>
          
          <creation_ts>2020-12-23 20:40:12 -0800</creation_ts>
          <short_desc>[LFC][Integration] Use the pre-computed geometries for the inline level boxes</short_desc>
          <delta_ts>2020-12-25 13:46:41 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</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>1716542</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-12-23 20:40:12 -0800</bug_when>
    <thetext>instead of looping through the inline content and computed them all over again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716543</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-12-23 20:40:32 -0800</bug_when>
    <thetext>&lt;rdar://problem/72642850&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716544</commentid>
    <comment_count>2</comment_count>
      <attachid>416736</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-12-23 20:44:16 -0800</bug_when>
    <thetext>Created attachment 416736
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716545</commentid>
    <comment_count>3</comment_count>
      <attachid>416737</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-12-23 21:13:45 -0800</bug_when>
    <thetext>Created attachment 416737
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716602</commentid>
    <comment_count>4</comment_count>
      <attachid>416737</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-12-25 08:38:07 -0800</bug_when>
    <thetext>Comment on attachment 416737
Patch

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

&gt; Source/WebCore/layout/inlineformatting/InlineFormattingContext.h:70
&gt; +    // For integration only.
&gt; +    void collectInlineContentIfNeeded();
&gt; +    void lineLayout(InlineItems&amp;, LineBuilder::InlineItemRange, const ConstraintsForInFlowContent&amp;);

Saying that these are &quot;intergration only&quot; is bit misleading since they are used internally in any case. They are just public for integration.

Maybe these could stay private and there could be public &apos;lineLayoutForIntergration&apos; or similar that calls them?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716606</commentid>
    <comment_count>5</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-12-25 11:30:57 -0800</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #4)
&gt; Comment on attachment 416737 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=416737&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/layout/inlineformatting/InlineFormattingContext.h:70
&gt; &gt; +    // For integration only.
&gt; &gt; +    void collectInlineContentIfNeeded();
&gt; &gt; +    void lineLayout(InlineItems&amp;, LineBuilder::InlineItemRange, const ConstraintsForInFlowContent&amp;);
&gt; 
&gt; Saying that these are &quot;intergration only&quot; is bit misleading since they are
&gt; used internally in any case. They are just public for integration.
&gt; 
&gt; Maybe these could stay private and there could be public
&gt; &apos;lineLayoutForIntergration&apos; or similar that calls them?
Yeah, I like that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716608</commentid>
    <comment_count>6</comment_count>
      <attachid>416757</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-12-25 12:15:43 -0800</bug_when>
    <thetext>Created attachment 416757
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716614</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-12-25 13:46:40 -0800</bug_when>
    <thetext>Committed r271085: &lt;https://trac.webkit.org/changeset/271085&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 416757.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416736</attachid>
            <date>2020-12-23 20:44:16 -0800</date>
            <delta_ts>2020-12-23 21:13:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220135-20201223204415.patch</filename>
            <type>text/plain</type>
            <size>11879</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMDgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzdlMWQ5NzVlYTdkMjli
ZWUzMWVkN2YwZTZmYzYxYzVjNDlmNWU2OC4uZjRjODE5NzFmZGY5YWZkNzllYjYzY2RlZGU2Yzc1
ODlhYzZlYWQ0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTEyLTIzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSW50ZWdyYXRpb25d
IFVzZSB0aGUgcHJlLWNvbXB1dGVkIGdlb21ldHJpZXMgZm9yIHRoZSBpbmxpbmUgbGV2ZWwgYm94
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDEz
NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzI2NDI4NTA+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGV0J3Mgc2tpcCB0aGUgdHJlZSB0cmF2ZXJz
YWwgYW5kIHJlY29tcHV0aW5nIHRoZSBib3ggZ2VvbWV0cmllcyBpbiBJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dDo6bGF5b3V0SW5GbG93Q29udGVudC4gCisKKyAgICAgICAgKiBsYXlvdXQvRm9ybWF0
dGluZ0NvbnRleHRHZW9tZXRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZvcm1h
dHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6aW5saW5lUmVwbGFjZWRDb250ZW50SGVpZ2h0QW5kTWFy
Z2luIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGluZ0NvbnRleHQ6
Okdlb21ldHJ5OjppbmxpbmVSZXBsYWNlZENvbnRlbnRXaWR0aEFuZE1hcmdpbik6CisgICAgICAg
ICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaDoKKyAg
ICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0Ojp1cGRh
dGVMYXlvdXRCb3hEaW1lbnNpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0
aW9uOjpMaW5lTGF5b3V0Ojp1cGRhdGVMaW5lQnJlYWtCb3hEaW1lbnNpb25zKToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0OjpsYXlvdXQpOgorICAgICAg
ICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuaDoKKyAg
ICAgICAgKiBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRSZXBsYWNlZEJveC5oOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpSZXBsYWNlZEJveDo6Y29udGVudFNpemVGb3JJbnRlZ3JhdGlvbiBj
b25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlJlcGxhY2VkQm94Ojpz
ZXRDb250ZW50U2l6ZUZvckludGVncmF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyQmxvY2tGbG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxv
dzo6bGF5b3V0TW9kZXJuTGluZXMpOgorCiAyMDIwLTEyLTIzICBaYWxhbiBCdWp0YXMgIDx6YWxh
bkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBGYXN0IHZlcnRpY2FsIGFsaWdubWVu
dCBzaG91bGQgd29yayB3aXRoIGxpbmUtaGVpZ2h0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKaW5kZXggM2NmMDU0N2ZjY2IwYzkx
MGUxOGFhODY5NWQ1YjM2YWZlZTY1YTUxZi4uZWQ3Yzg4MmI5OTNhOTUyM2I4YjIzZGI1NzQ5Nzcy
YTEyYmM0OWY2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdD
b250ZXh0R2VvbWV0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5n
Q29udGV4dEdlb21ldHJ5LmNwcApAQCAtOTAzLDkgKzkwMyw2IEBAIENvbnRlbnRIZWlnaHRBbmRN
YXJnaW4gRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjppbmxpbmVSZXBsYWNlZENvbnRlbnRI
ZWlnaHRBCiAgICAgYXV0byB1c2VkVmVydGljYWxNYXJnaW4gPSBVc2VkVmVydGljYWxNYXJnaW46
Ok5vbkNvbGxhcHNlZFZhbHVlcyB7IGNvbXB1dGVkVmVydGljYWxNYXJnaW4uYmVmb3JlLnZhbHVl
T3IoMCksIGNvbXB1dGVkVmVydGljYWxNYXJnaW4uYWZ0ZXIudmFsdWVPcigwKSB9OwogICAgIGF1
dG8mIHN0eWxlID0gcmVwbGFjZWRCb3guc3R5bGUoKTsKIAotICAgIGlmIChyZXBsYWNlZEJveC5j
b250ZW50U2l6ZUZvckludGVncmF0aW9uKCkpCi0gICAgICAgIHJldHVybiB7IHJlcGxhY2VkQm94
LmNvbnRlbnRTaXplRm9ySW50ZWdyYXRpb24oKS0+aGVpZ2h0KCksIHVzZWRWZXJ0aWNhbE1hcmdp
biB9OwotCiAgICAgYXV0byBoZWlnaHQgPSBvdmVycmlkZGVuVmVydGljYWxWYWx1ZXMuaGVpZ2h0
ID8gb3ZlcnJpZGRlblZlcnRpY2FsVmFsdWVzLmhlaWdodC52YWx1ZSgpIDogY29tcHV0ZWRIZWln
aHQocmVwbGFjZWRCb3gsIHZlcnRpY2FsQ29uc3RyYWludHMgPyB2ZXJ0aWNhbENvbnN0cmFpbnRz
LT5sb2dpY2FsSGVpZ2h0IDogV1RGOjpudWxsb3B0KTsKICAgICBhdXRvIGhlaWdodElzQXV0byA9
ICFvdmVycmlkZGVuVmVydGljYWxWYWx1ZXMuaGVpZ2h0ICYmIGlzSGVpZ2h0QXV0byhyZXBsYWNl
ZEJveCk7CiAgICAgYXV0byB3aWR0aElzQXV0byA9IHN0eWxlLmxvZ2ljYWxXaWR0aCgpLmlzQXV0
bygpOwpAQCAtOTY2LDkgKzk2Myw2IEBAIENvbnRlbnRXaWR0aEFuZE1hcmdpbiBGb3JtYXR0aW5n
Q29udGV4dDo6R2VvbWV0cnk6OmlubGluZVJlcGxhY2VkQ29udGVudFdpZHRoQW5kCiAgICAgICAg
IHJldHVybiBjb21wdXRlZEhvcml6b250YWxNYXJnaW4uZW5kLnZhbHVlT3IoMF9sdSk7CiAgICAg
fTsKIAotICAgIGlmIChyZXBsYWNlZEJveC5jb250ZW50U2l6ZUZvckludGVncmF0aW9uKCkpCi0g
ICAgICAgIHJldHVybiB7IHJlcGxhY2VkQm94LmNvbnRlbnRTaXplRm9ySW50ZWdyYXRpb24oKS0+
d2lkdGgoKSwgeyB1c2VkTWFyZ2luU3RhcnQoKSwgdXNlZE1hcmdpbkVuZCgpIH0gfTsKLQogICAg
IGF1dG8gd2lkdGggPSBvdmVycmlkZGVuSG9yaXpvbnRhbFZhbHVlcy53aWR0aCA/IG92ZXJyaWRk
ZW5Ib3Jpem9udGFsVmFsdWVzLndpZHRoIDogY29tcHV0ZWRXaWR0aChyZXBsYWNlZEJveCwgaG9y
aXpvbnRhbENvbnN0cmFpbnRzLmxvZ2ljYWxXaWR0aCk7CiAgICAgYXV0byBoZWlnaHRJc0F1dG8g
PSBpc0hlaWdodEF1dG8ocmVwbGFjZWRCb3gpOwogICAgIGF1dG8gaGVpZ2h0ID0gY29tcHV0ZWRI
ZWlnaHQocmVwbGFjZWRCb3gsIHZlcnRpY2FsQ29uc3RyYWludHMgPyB2ZXJ0aWNhbENvbnN0cmFp
bnRzLT5sb2dpY2FsSGVpZ2h0IDogV1RGOjpudWxsb3B0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5n
Q29udGV4dC5oCmluZGV4IDMxODFmNGNjNDVmNThjYWE1MGVhOGI3YjU1M2I3ODg4Y2EzOWIwYmMu
LjBjMDI1NjNiZmIyMDE0MmQ1MTVlN2E1NTdmNjYxYWIyZWM4NWJmNjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250
ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHQuaApAQCAtNjUsNiArNjUsOSBAQCBwdWJsaWM6CiAgICAgY29uc3Qg
SW5saW5lRm9ybWF0dGluZ1N0YXRlJiBmb3JtYXR0aW5nU3RhdGUoKSBjb25zdCB7IHJldHVybiBk
b3duY2FzdDxJbmxpbmVGb3JtYXR0aW5nU3RhdGU+KEZvcm1hdHRpbmdDb250ZXh0Ojpmb3JtYXR0
aW5nU3RhdGUoKSk7IH0KICAgICBJbmxpbmVGb3JtYXR0aW5nU3RhdGUmIGZvcm1hdHRpbmdTdGF0
ZSgpIHsgcmV0dXJuIGRvd25jYXN0PElubGluZUZvcm1hdHRpbmdTdGF0ZT4oRm9ybWF0dGluZ0Nv
bnRleHQ6OmZvcm1hdHRpbmdTdGF0ZSgpKTsgfQogCisgICAgLy8gRm9yIGludGVncmF0aW9uIG9u
bHkuCisgICAgdm9pZCBjb2xsZWN0SW5saW5lQ29udGVudElmTmVlZGVkKCk7CisgICAgdm9pZCBs
aW5lTGF5b3V0KElubGluZUl0ZW1zJiwgTGluZUJ1aWxkZXI6OklubGluZUl0ZW1SYW5nZSwgY29u
c3QgQ29uc3RyYWludHNGb3JJbkZsb3dDb250ZW50Jik7CiBwcml2YXRlOgogICAgIEludHJpbnNp
Y1dpZHRoQ29uc3RyYWludHMgY29tcHV0ZWRJbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzKCkgb3Zl
cnJpZGU7CiAKQEAgLTg1LDggKzg4LDYgQEAgcHJpdmF0ZToKICAgICB9OwogICAgIElubGluZUZv
cm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeSBnZW9tZXRyeSgpIGNvbnN0IHsgcmV0dXJuIEdlb21l
dHJ5KCp0aGlzKTsgfQogCi0gICAgdm9pZCBsaW5lTGF5b3V0KElubGluZUl0ZW1zJiwgTGluZUJ1
aWxkZXI6OklubGluZUl0ZW1SYW5nZSwgY29uc3QgQ29uc3RyYWludHNGb3JJbkZsb3dDb250ZW50
Jik7Ci0KICAgICB2b2lkIGNvbXB1dGVJbnRyaW5zaWNXaWR0aEZvckZvcm1hdHRpbmdSb290KGNv
bnN0IEJveCYpOwogICAgIElubGluZUxheW91dFVuaXQgY29tcHV0ZWRJbnRyaW5zaWNXaWR0aEZv
ckNvbnN0cmFpbnQoSW5saW5lTGF5b3V0VW5pdCBhdmFpbGFibGVXaWR0aCkgY29uc3Q7CiAKQEAg
LTk0LDcgKzk1LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNvbXB1dGVIZWlnaHRBbmRNYXJnaW4o
Y29uc3QgQm94JiwgY29uc3QgSG9yaXpvbnRhbENvbnN0cmFpbnRzJik7CiAgICAgdm9pZCBjb21w
dXRlV2lkdGhBbmRNYXJnaW4oY29uc3QgQm94JiwgY29uc3QgSG9yaXpvbnRhbENvbnN0cmFpbnRz
Jik7CiAKLSAgICB2b2lkIGNvbGxlY3RJbmxpbmVDb250ZW50SWZOZWVkZWQoKTsKICAgICBJbmxp
bmVSZWN0IGNvbXB1dGVHZW9tZXRyeUZvckxpbmVDb250ZW50KGNvbnN0IExpbmVCdWlsZGVyOjpM
aW5lQ29udGVudCYsIGNvbnN0IEhvcml6b250YWxDb25zdHJhaW50cyYpOwogICAgIHZvaWQgaW52
YWxpZGF0ZUZvcm1hdHRpbmdTdGF0ZShjb25zdCBJbnZhbGlkYXRpb25TdGF0ZSYpOwogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3Jh
dGlvbkxpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xh
eW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAKaW5kZXggOTQwZjQ1NTU3Mzc1MjlhZWQ4MTU2
Yzk1N2ZhYWIwOGNjYjQwMGFiMC4uMGRiMjMyYzRjOWVmZjk3OTI0NDlkNzgxZmQ4ZDFmYzUyYjA5
NWJkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91
dEludGVncmF0aW9uTGluZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
dGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAKQEAgLTEzNiw4ICsxMzYs
NiBAQCB2b2lkIExpbmVMYXlvdXQ6OnVwZGF0ZUxheW91dEJveERpbWVuc2lvbnMoY29uc3QgUmVu
ZGVyQm94JiByZXBsYWNlZE9ySW5saW5lQmxvYwogICAgIGF1dG8mIHJlcGxhY2VkQm94ID0gZG93
bmNhc3Q8TGF5b3V0OjpSZXBsYWNlZEJveD4obGF5b3V0Qm94KTsKIAogICAgIC8vIEFsd2F5cyB1
c2UgdGhlIHBoeXNpY2FsIHNpemUgaGVyZSBmb3IgaW5saW5lIGxldmVsIGJveGVzICh0aGlzIGlz
IHdoZXJlIHRoZSBsb2dpY2FsIHZzLiBwaHlzaWNhbCBjb29yZHMgZmxpcCBoYXBwZW5zKS4KLSAg
ICByZXBsYWNlZEJveC5zZXRDb250ZW50U2l6ZUZvckludGVncmF0aW9uKHsgcmVwbGFjZWRPcklu
bGluZUJsb2NrLmNvbnRlbnRXaWR0aCgpLCByZXBsYWNlZE9ySW5saW5lQmxvY2suY29udGVudEhl
aWdodCgpIH0pOwotCiAgICAgYXV0byYgcmVwbGFjZWRCb3hHZW9tZXRyeSA9IG1fbGF5b3V0U3Rh
dGUuZW5zdXJlR2VvbWV0cnlGb3JCb3gocmVwbGFjZWRCb3gpOwogICAgIC8vIFNjcm9sbGJhcnMg
YXJlIHBsYWNlZCAiYmV0d2VlbiIgdGhlIGJvcmRlciBhbmQgdGhlIHBhZGRpbmcgYm94IGFuZCB0
aGV5IG5ldmVyIHN0cmV0Y2ggdGhlIGJvcmRlciBib3guIFRoZXkgbWF5IHNocmluayB0aGUgcGFk
ZGluZyBib3ggdGhvdWdoLgogICAgIGF1dG8gaG9yaXpvbnRhbFNwYWNlUmVzZXJ2ZWRGb3JTY3Jv
bGxiYXIgPSBzdGQ6Om1pbihyZXBsYWNlZE9ySW5saW5lQmxvY2sud2lkdGgoKSAtIHJlcGxhY2Vk
T3JJbmxpbmVCbG9jay5wYWRkaW5nQm94V2lkdGgoKSwgTGF5b3V0VW5pdChyZXBsYWNlZE9ySW5s
aW5lQmxvY2sudmVydGljYWxTY3JvbGxiYXJXaWR0aCgpKSk7CkBAIC0xNDYsMTAgKzE0NCwzMSBA
QCB2b2lkIExpbmVMYXlvdXQ6OnVwZGF0ZUxheW91dEJveERpbWVuc2lvbnMoY29uc3QgUmVuZGVy
Qm94JiByZXBsYWNlZE9ySW5saW5lQmxvYwogICAgIGF1dG8gdmVydGljYWxTcGFjZVJlc2VydmVk
Rm9yU2Nyb2xsYmFyID0gc3RkOjptaW4ocmVwbGFjZWRPcklubGluZUJsb2NrLmhlaWdodCgpIC0g
cmVwbGFjZWRPcklubGluZUJsb2NrLnBhZGRpbmdCb3hIZWlnaHQoKSwgTGF5b3V0VW5pdChyZXBs
YWNlZE9ySW5saW5lQmxvY2suaG9yaXpvbnRhbFNjcm9sbGJhckhlaWdodCgpKSk7CiAgICAgcmVw
bGFjZWRCb3hHZW9tZXRyeS5zZXRWZXJ0aWNhbFNwYWNlRm9yU2Nyb2xsYmFyKHZlcnRpY2FsU3Bh
Y2VSZXNlcnZlZEZvclNjcm9sbGJhcik7CiAKKyAgICByZXBsYWNlZEJveEdlb21ldHJ5LnNldENv
bnRlbnRCb3hXaWR0aChyZXBsYWNlZE9ySW5saW5lQmxvY2suY29udGVudFdpZHRoKCkpOworICAg
IHJlcGxhY2VkQm94R2VvbWV0cnkuc2V0Q29udGVudEJveEhlaWdodChyZXBsYWNlZE9ySW5saW5l
QmxvY2suY29udGVudEhlaWdodCgpKTsKKworICAgIHJlcGxhY2VkQm94R2VvbWV0cnkuc2V0Qm9y
ZGVyKHsgeyByZXBsYWNlZE9ySW5saW5lQmxvY2suYm9yZGVyTGVmdCgpLCByZXBsYWNlZE9ySW5s
aW5lQmxvY2suYm9yZGVyUmlnaHQoKSB9LCB7IHJlcGxhY2VkT3JJbmxpbmVCbG9jay5ib3JkZXJU
b3AoKSwgcmVwbGFjZWRPcklubGluZUJsb2NrLmJvcmRlckJvdHRvbSgpIH0gfSk7CisgICAgcmVw
bGFjZWRCb3hHZW9tZXRyeS5zZXRQYWRkaW5nKExheW91dDo6RWRnZXMgeyB7IHJlcGxhY2VkT3JJ
bmxpbmVCbG9jay5wYWRkaW5nTGVmdCgpLCByZXBsYWNlZE9ySW5saW5lQmxvY2sucGFkZGluZ1Jp
Z2h0KCkgfSwgeyByZXBsYWNlZE9ySW5saW5lQmxvY2sucGFkZGluZ1RvcCgpLCByZXBsYWNlZE9y
SW5saW5lQmxvY2sucGFkZGluZ0JvdHRvbSgpIH0gfSk7CisKKyAgICByZXBsYWNlZEJveEdlb21l
dHJ5LnNldEhvcml6b250YWxNYXJnaW4oeyByZXBsYWNlZE9ySW5saW5lQmxvY2subWFyZ2luTGVm
dCgpLCByZXBsYWNlZE9ySW5saW5lQmxvY2subWFyZ2luUmlnaHQoKSB9KTsKKyAgICByZXBsYWNl
ZEJveEdlb21ldHJ5LnNldFZlcnRpY2FsTWFyZ2luKHsgcmVwbGFjZWRPcklubGluZUJsb2NrLm1h
cmdpblRvcCgpLCByZXBsYWNlZE9ySW5saW5lQmxvY2subWFyZ2luQm90dG9tKCkgfSk7CisKICAg
ICBhdXRvIGJhc2VsaW5lID0gcmVwbGFjZWRPcklubGluZUJsb2NrLmJhc2VsaW5lUG9zaXRpb24o
QWxwaGFiZXRpY0Jhc2VsaW5lLCBmYWxzZSAvKiBmaXJzdExpbmUgKi8sIEhvcml6b250YWxMaW5l
LCBQb3NpdGlvbk9uQ29udGFpbmluZ0xpbmUpOwogICAgIHJlcGxhY2VkQm94LnNldEJhc2VsaW5l
KHJvdW5kVG9JbnQoYmFzZWxpbmUpKTsKIH0KIAordm9pZCBMaW5lTGF5b3V0Ojp1cGRhdGVMaW5l
QnJlYWtCb3hEaW1lbnNpb25zKGNvbnN0IFJlbmRlckxpbmVCcmVhayYgbGluZUJyZWFrQm94KQor
eworICAgIC8vIFRoaXMgaXMganVzdCBhIGJveCBnZW9tZXRyeSByZXNldCAoc2VlIElubGluZUZv
cm1hdHRpbmdDb250ZXh0OjpsYXlvdXRJbkZsb3dDb250ZW50KS4KKyAgICBhdXRvJiBib3hHZW9t
ZXRyeSA9IG1fbGF5b3V0U3RhdGUuZW5zdXJlR2VvbWV0cnlGb3JCb3gobV9ib3hUcmVlLmxheW91
dEJveEZvclJlbmRlcmVyKGxpbmVCcmVha0JveCkpOworCisgICAgYm94R2VvbWV0cnkuc2V0SG9y
aXpvbnRhbE1hcmdpbih7IH0pOworICAgIGJveEdlb21ldHJ5LnNldEJvcmRlcih7IH0pOworICAg
IGJveEdlb21ldHJ5LnNldFBhZGRpbmcoeyB9KTsKKyAgICBib3hHZW9tZXRyeS5zZXRDb250ZW50
Qm94V2lkdGgoeyB9KTsKKyAgICBib3hHZW9tZXRyeS5zZXRWZXJ0aWNhbE1hcmdpbih7IH0pOwor
fQorCiB2b2lkIExpbmVMYXlvdXQ6OnVwZGF0ZVN0eWxlKGNvbnN0IFJlbmRlckJveE1vZGVsT2Jq
ZWN0JiByZW5kZXJlcikKIHsKICAgICBtX2JveFRyZWUudXBkYXRlU3R5bGUocmVuZGVyZXIpOwpA
QCAtMTcwLDcgKzE4OSwxMiBAQCB2b2lkIExpbmVMYXlvdXQ6OmxheW91dCgpCiAgICAgYXV0byBo
b3Jpem9udGFsQ29uc3RyYWludHMgPSBMYXlvdXQ6Okhvcml6b250YWxDb25zdHJhaW50cyB7IGZs
b3coKS5ib3JkZXJBbmRQYWRkaW5nU3RhcnQoKSwgZmxvdygpLmNvbnRlbnRTaXplKCkud2lkdGgo
KSB9OwogICAgIGF1dG8gdmVydGljYWxDb25zdHJhaW50cyA9IExheW91dDo6VmVydGljYWxDb25z
dHJhaW50cyB7IGZsb3coKS5ib3JkZXJBbmRQYWRkaW5nQmVmb3JlKCksIHsgfSB9OwogCi0gICAg
aW5saW5lRm9ybWF0dGluZ0NvbnRleHQubGF5b3V0SW5GbG93Q29udGVudChpbnZhbGlkYXRpb25T
dGF0ZSwgeyBob3Jpem9udGFsQ29uc3RyYWludHMsIHZlcnRpY2FsQ29uc3RyYWludHMgfSk7Cisg
ICAgbV9pbmxpbmVGb3JtYXR0aW5nU3RhdGUuY2xlYXJMaW5lQW5kUnVucygpOworICAgIGlubGlu
ZUZvcm1hdHRpbmdDb250ZXh0LmNvbGxlY3RJbmxpbmVDb250ZW50SWZOZWVkZWQoKTsKKworICAg
IGF1dG8mIGlubGluZUl0ZW1zID0gbV9pbmxpbmVGb3JtYXR0aW5nU3RhdGUuaW5saW5lSXRlbXMo
KTsKKyAgICBpbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5saW5lTGF5b3V0KGlubGluZUl0ZW1zLCB7
IDAsIGlubGluZUl0ZW1zLnNpemUoKSB9LCB7IGhvcml6b250YWxDb25zdHJhaW50cywgdmVydGlj
YWxDb25zdHJhaW50cyB9KTsKKwogICAgIGNvbnN0cnVjdENvbnRlbnQoKTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9u
TGluZUxheW91dC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dElu
dGVncmF0aW9uTGluZUxheW91dC5oCmluZGV4IDJhYTAxMTM3MDUyYTczYTQwZThiOWI0ZjFhMDA3
NDRkNGNkMjBhNTguLjI5YWVjZWMyOTIwNDliNzRjNzNhY2RmNmVkMjkyZWI1NDUzYmNhYjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3Jh
dGlvbkxpbmVMYXlvdXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24v
TGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmgKQEAgLTQ0LDYgKzQ0LDcgQEAgY2xhc3MgSGl0
VGVzdFJlc3VsdDsKIGNsYXNzIFJlbmRlckJsb2NrRmxvdzsKIGNsYXNzIFJlbmRlckJveDsKIGNs
YXNzIFJlbmRlckJveE1vZGVsT2JqZWN0OworY2xhc3MgUmVuZGVyTGluZUJyZWFrOwogc3RydWN0
IFBhaW50SW5mbzsKIAogbmFtZXNwYWNlIExheW91dEludGVncmF0aW9uIHsKQEAgLTY2LDYgKzY3
LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCB1cGRhdGVSZXBsYWNlZERpbWVuc2lvbnMoY29uc3Qg
UmVuZGVyQm94Jik7CiAgICAgdm9pZCB1cGRhdGVJbmxpbmVCbG9ja0RpbWVuc2lvbnMoY29uc3Qg
UmVuZGVyQmxvY2smKTsKKyAgICB2b2lkIHVwZGF0ZUxpbmVCcmVha0JveERpbWVuc2lvbnMoY29u
c3QgUmVuZGVyTGluZUJyZWFrJik7CiAgICAgdm9pZCB1cGRhdGVTdHlsZShjb25zdCBSZW5kZXJC
b3hNb2RlbE9iamVjdCYpOwogICAgIHZvaWQgbGF5b3V0KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFJlcGxhY2VkQm94LmggYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRSZXBsYWNlZEJveC5oCmluZGV4IDM4N2Rm
M2IxNDFlMTdlODNiMTA2NzdhYzk4ZWUzYTQyNmFlNzRhOWUuLjU2YmZjYWU2MDBlMWI0N2Q0NTRj
NWUxYjM2MzAyNzJmMjBlZGQxZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9s
YXlvdXR0cmVlL0xheW91dFJlcGxhY2VkQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2xheW91dHRyZWUvTGF5b3V0UmVwbGFjZWRCb3guaApAQCAtNTAsOSArNTAsNiBAQCBwdWJsaWM6
CiAgICAgdm9pZCBzZXRJbnRyaW5zaWNTaXplKExheW91dFNpemUgc2l6ZSkgeyBtX2ludHJpbnNp
Y1NpemUgPSBzaXplOyB9CiAgICAgdm9pZCBzZXRJbnRyaW5zaWNSYXRpbyhMYXlvdXRVbml0IHJh
dGlvKSB7IG1faW50cmluc2ljUmF0aW8gPSByYXRpbzsgfTsKIAotICAgIE9wdGlvbmFsPExheW91
dFNpemU+IGNvbnRlbnRTaXplRm9ySW50ZWdyYXRpb24oKSBjb25zdCB7IHJldHVybiBtX2NvbnRl
bnRTaXplRm9ySW50ZWdyYXRpb247IH0KLSAgICB2b2lkIHNldENvbnRlbnRTaXplRm9ySW50ZWdy
YXRpb24oTGF5b3V0U2l6ZSBzaXplKSB7IG1fY29udGVudFNpemVGb3JJbnRlZ3JhdGlvbiA9IHNp
emU7IH0KLQogICAgIGJvb2wgaGFzSW50cmluc2ljV2lkdGgoKSBjb25zdDsKICAgICBib29sIGhh
c0ludHJpbnNpY0hlaWdodCgpIGNvbnN0OwogICAgIGJvb2wgaGFzSW50cmluc2ljUmF0aW8oKSBj
b25zdDsKQEAgLTY4LDcgKzY1LDYgQEAgcHJpdmF0ZToKIAogICAgIE9wdGlvbmFsPExheW91dFNp
emU+IG1faW50cmluc2ljU2l6ZTsKICAgICBPcHRpb25hbDxMYXlvdXRVbml0PiBtX2ludHJpbnNp
Y1JhdGlvOwotICAgIE9wdGlvbmFsPExheW91dFNpemU+IG1fY29udGVudFNpemVGb3JJbnRlZ3Jh
dGlvbjsKICAgICBPcHRpb25hbDxMYXlvdXRVbml0PiBtX2Jhc2VsaW5lOwogICAgIENhY2hlZElt
YWdlKiBtX2NhY2hlZEltYWdlIHsgbnVsbHB0ciB9OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKaW5kZXggM2Q4NGE4ZDUwMWQzMWQxOGYyNTE0ZDBk
OTJmN2RiMjI2MTE0ZmMwOC4uNDc4YWNmOGVhZWNjMzAxZmI5MjAyYTg1NGFhODM4YjZlMWFmNWYw
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKQEAg
LTM2MzgsNiArMzYzOCwxMiBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6bGF5b3V0TW9kZXJuTGlu
ZXMoYm9vbCByZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0JiByZXBhaQogICAgICAgICAgICAg
Y29udGludWU7CiAgICAgICAgIH0KIAorICAgICAgICBpZiAoaXM8UmVuZGVyTGluZUJyZWFrPihy
ZW5kZXJlcikpIHsKKyAgICAgICAgICAgIGxheW91dEZvcm1hdHRpbmdDb250ZXh0TGluZUxheW91
dC51cGRhdGVMaW5lQnJlYWtCb3hEaW1lbnNpb25zKGRvd25jYXN0PFJlbmRlckxpbmVCcmVhaz4o
cmVuZGVyZXIpKTsKKyAgICAgICAgICAgIHJlbmRlcmVyLmNsZWFyTmVlZHNMYXlvdXQoKTsKKyAg
ICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisKICAgICAgICAgcmVuZGVyZXIuY2xlYXJO
ZWVkc0xheW91dCgpOwogICAgIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416737</attachid>
            <date>2020-12-23 21:13:45 -0800</date>
            <delta_ts>2020-12-25 12:15:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220135-20201223211345.patch</filename>
            <type>text/plain</type>
            <size>12089</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMDgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzdlMWQ5NzVlYTdkMjli
ZWUzMWVkN2YwZTZmYzYxYzVjNDlmNWU2OC4uZjRjODE5NzFmZGY5YWZkNzllYjYzY2RlZGU2Yzc1
ODlhYzZlYWQ0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTEyLTIzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSW50ZWdyYXRpb25d
IFVzZSB0aGUgcHJlLWNvbXB1dGVkIGdlb21ldHJpZXMgZm9yIHRoZSBpbmxpbmUgbGV2ZWwgYm94
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDEz
NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzI2NDI4NTA+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGV0J3Mgc2tpcCB0aGUgdHJlZSB0cmF2ZXJz
YWwgYW5kIHJlY29tcHV0aW5nIHRoZSBib3ggZ2VvbWV0cmllcyBpbiBJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dDo6bGF5b3V0SW5GbG93Q29udGVudC4gCisKKyAgICAgICAgKiBsYXlvdXQvRm9ybWF0
dGluZ0NvbnRleHRHZW9tZXRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZvcm1h
dHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6aW5saW5lUmVwbGFjZWRDb250ZW50SGVpZ2h0QW5kTWFy
Z2luIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGluZ0NvbnRleHQ6
Okdlb21ldHJ5OjppbmxpbmVSZXBsYWNlZENvbnRlbnRXaWR0aEFuZE1hcmdpbik6CisgICAgICAg
ICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaDoKKyAg
ICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0Ojp1cGRh
dGVMYXlvdXRCb3hEaW1lbnNpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0
aW9uOjpMaW5lTGF5b3V0Ojp1cGRhdGVMaW5lQnJlYWtCb3hEaW1lbnNpb25zKToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0OjpsYXlvdXQpOgorICAgICAg
ICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuaDoKKyAg
ICAgICAgKiBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRSZXBsYWNlZEJveC5oOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpSZXBsYWNlZEJveDo6Y29udGVudFNpemVGb3JJbnRlZ3JhdGlvbiBj
b25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlJlcGxhY2VkQm94Ojpz
ZXRDb250ZW50U2l6ZUZvckludGVncmF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyQmxvY2tGbG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxv
dzo6bGF5b3V0TW9kZXJuTGluZXMpOgorCiAyMDIwLTEyLTIzICBaYWxhbiBCdWp0YXMgIDx6YWxh
bkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBGYXN0IHZlcnRpY2FsIGFsaWdubWVu
dCBzaG91bGQgd29yayB3aXRoIGxpbmUtaGVpZ2h0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKaW5kZXggM2NmMDU0N2ZjY2IwYzkx
MGUxOGFhODY5NWQ1YjM2YWZlZTY1YTUxZi4uZWQ3Yzg4MmI5OTNhOTUyM2I4YjIzZGI1NzQ5Nzcy
YTEyYmM0OWY2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdD
b250ZXh0R2VvbWV0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5n
Q29udGV4dEdlb21ldHJ5LmNwcApAQCAtOTAzLDkgKzkwMyw2IEBAIENvbnRlbnRIZWlnaHRBbmRN
YXJnaW4gRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjppbmxpbmVSZXBsYWNlZENvbnRlbnRI
ZWlnaHRBCiAgICAgYXV0byB1c2VkVmVydGljYWxNYXJnaW4gPSBVc2VkVmVydGljYWxNYXJnaW46
Ok5vbkNvbGxhcHNlZFZhbHVlcyB7IGNvbXB1dGVkVmVydGljYWxNYXJnaW4uYmVmb3JlLnZhbHVl
T3IoMCksIGNvbXB1dGVkVmVydGljYWxNYXJnaW4uYWZ0ZXIudmFsdWVPcigwKSB9OwogICAgIGF1
dG8mIHN0eWxlID0gcmVwbGFjZWRCb3guc3R5bGUoKTsKIAotICAgIGlmIChyZXBsYWNlZEJveC5j
b250ZW50U2l6ZUZvckludGVncmF0aW9uKCkpCi0gICAgICAgIHJldHVybiB7IHJlcGxhY2VkQm94
LmNvbnRlbnRTaXplRm9ySW50ZWdyYXRpb24oKS0+aGVpZ2h0KCksIHVzZWRWZXJ0aWNhbE1hcmdp
biB9OwotCiAgICAgYXV0byBoZWlnaHQgPSBvdmVycmlkZGVuVmVydGljYWxWYWx1ZXMuaGVpZ2h0
ID8gb3ZlcnJpZGRlblZlcnRpY2FsVmFsdWVzLmhlaWdodC52YWx1ZSgpIDogY29tcHV0ZWRIZWln
aHQocmVwbGFjZWRCb3gsIHZlcnRpY2FsQ29uc3RyYWludHMgPyB2ZXJ0aWNhbENvbnN0cmFpbnRz
LT5sb2dpY2FsSGVpZ2h0IDogV1RGOjpudWxsb3B0KTsKICAgICBhdXRvIGhlaWdodElzQXV0byA9
ICFvdmVycmlkZGVuVmVydGljYWxWYWx1ZXMuaGVpZ2h0ICYmIGlzSGVpZ2h0QXV0byhyZXBsYWNl
ZEJveCk7CiAgICAgYXV0byB3aWR0aElzQXV0byA9IHN0eWxlLmxvZ2ljYWxXaWR0aCgpLmlzQXV0
bygpOwpAQCAtOTY2LDkgKzk2Myw2IEBAIENvbnRlbnRXaWR0aEFuZE1hcmdpbiBGb3JtYXR0aW5n
Q29udGV4dDo6R2VvbWV0cnk6OmlubGluZVJlcGxhY2VkQ29udGVudFdpZHRoQW5kCiAgICAgICAg
IHJldHVybiBjb21wdXRlZEhvcml6b250YWxNYXJnaW4uZW5kLnZhbHVlT3IoMF9sdSk7CiAgICAg
fTsKIAotICAgIGlmIChyZXBsYWNlZEJveC5jb250ZW50U2l6ZUZvckludGVncmF0aW9uKCkpCi0g
ICAgICAgIHJldHVybiB7IHJlcGxhY2VkQm94LmNvbnRlbnRTaXplRm9ySW50ZWdyYXRpb24oKS0+
d2lkdGgoKSwgeyB1c2VkTWFyZ2luU3RhcnQoKSwgdXNlZE1hcmdpbkVuZCgpIH0gfTsKLQogICAg
IGF1dG8gd2lkdGggPSBvdmVycmlkZGVuSG9yaXpvbnRhbFZhbHVlcy53aWR0aCA/IG92ZXJyaWRk
ZW5Ib3Jpem9udGFsVmFsdWVzLndpZHRoIDogY29tcHV0ZWRXaWR0aChyZXBsYWNlZEJveCwgaG9y
aXpvbnRhbENvbnN0cmFpbnRzLmxvZ2ljYWxXaWR0aCk7CiAgICAgYXV0byBoZWlnaHRJc0F1dG8g
PSBpc0hlaWdodEF1dG8ocmVwbGFjZWRCb3gpOwogICAgIGF1dG8gaGVpZ2h0ID0gY29tcHV0ZWRI
ZWlnaHQocmVwbGFjZWRCb3gsIHZlcnRpY2FsQ29uc3RyYWludHMgPyB2ZXJ0aWNhbENvbnN0cmFp
bnRzLT5sb2dpY2FsSGVpZ2h0IDogV1RGOjpudWxsb3B0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5n
Q29udGV4dC5oCmluZGV4IDMxODFmNGNjNDVmNThjYWE1MGVhOGI3YjU1M2I3ODg4Y2EzOWIwYmMu
LjBjMDI1NjNiZmIyMDE0MmQ1MTVlN2E1NTdmNjYxYWIyZWM4NWJmNjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250
ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHQuaApAQCAtNjUsNiArNjUsOSBAQCBwdWJsaWM6CiAgICAgY29uc3Qg
SW5saW5lRm9ybWF0dGluZ1N0YXRlJiBmb3JtYXR0aW5nU3RhdGUoKSBjb25zdCB7IHJldHVybiBk
b3duY2FzdDxJbmxpbmVGb3JtYXR0aW5nU3RhdGU+KEZvcm1hdHRpbmdDb250ZXh0Ojpmb3JtYXR0
aW5nU3RhdGUoKSk7IH0KICAgICBJbmxpbmVGb3JtYXR0aW5nU3RhdGUmIGZvcm1hdHRpbmdTdGF0
ZSgpIHsgcmV0dXJuIGRvd25jYXN0PElubGluZUZvcm1hdHRpbmdTdGF0ZT4oRm9ybWF0dGluZ0Nv
bnRleHQ6OmZvcm1hdHRpbmdTdGF0ZSgpKTsgfQogCisgICAgLy8gRm9yIGludGVncmF0aW9uIG9u
bHkuCisgICAgdm9pZCBjb2xsZWN0SW5saW5lQ29udGVudElmTmVlZGVkKCk7CisgICAgdm9pZCBs
aW5lTGF5b3V0KElubGluZUl0ZW1zJiwgTGluZUJ1aWxkZXI6OklubGluZUl0ZW1SYW5nZSwgY29u
c3QgQ29uc3RyYWludHNGb3JJbkZsb3dDb250ZW50Jik7CiBwcml2YXRlOgogICAgIEludHJpbnNp
Y1dpZHRoQ29uc3RyYWludHMgY29tcHV0ZWRJbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzKCkgb3Zl
cnJpZGU7CiAKQEAgLTg1LDggKzg4LDYgQEAgcHJpdmF0ZToKICAgICB9OwogICAgIElubGluZUZv
cm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeSBnZW9tZXRyeSgpIGNvbnN0IHsgcmV0dXJuIEdlb21l
dHJ5KCp0aGlzKTsgfQogCi0gICAgdm9pZCBsaW5lTGF5b3V0KElubGluZUl0ZW1zJiwgTGluZUJ1
aWxkZXI6OklubGluZUl0ZW1SYW5nZSwgY29uc3QgQ29uc3RyYWludHNGb3JJbkZsb3dDb250ZW50
Jik7Ci0KICAgICB2b2lkIGNvbXB1dGVJbnRyaW5zaWNXaWR0aEZvckZvcm1hdHRpbmdSb290KGNv
bnN0IEJveCYpOwogICAgIElubGluZUxheW91dFVuaXQgY29tcHV0ZWRJbnRyaW5zaWNXaWR0aEZv
ckNvbnN0cmFpbnQoSW5saW5lTGF5b3V0VW5pdCBhdmFpbGFibGVXaWR0aCkgY29uc3Q7CiAKQEAg
LTk0LDcgKzk1LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNvbXB1dGVIZWlnaHRBbmRNYXJnaW4o
Y29uc3QgQm94JiwgY29uc3QgSG9yaXpvbnRhbENvbnN0cmFpbnRzJik7CiAgICAgdm9pZCBjb21w
dXRlV2lkdGhBbmRNYXJnaW4oY29uc3QgQm94JiwgY29uc3QgSG9yaXpvbnRhbENvbnN0cmFpbnRz
Jik7CiAKLSAgICB2b2lkIGNvbGxlY3RJbmxpbmVDb250ZW50SWZOZWVkZWQoKTsKICAgICBJbmxp
bmVSZWN0IGNvbXB1dGVHZW9tZXRyeUZvckxpbmVDb250ZW50KGNvbnN0IExpbmVCdWlsZGVyOjpM
aW5lQ29udGVudCYsIGNvbnN0IEhvcml6b250YWxDb25zdHJhaW50cyYpOwogICAgIHZvaWQgaW52
YWxpZGF0ZUZvcm1hdHRpbmdTdGF0ZShjb25zdCBJbnZhbGlkYXRpb25TdGF0ZSYpOwogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3Jh
dGlvbkxpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xh
eW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAKaW5kZXggOTQwZjQ1NTU3Mzc1MjlhZWQ4MTU2
Yzk1N2ZhYWIwOGNjYjQwMGFiMC4uMmY4MGViZDA2MmUyYWVjNDlmZWZlZjhmMzk2MGRiOWYxMzFm
ZTVlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91
dEludGVncmF0aW9uTGluZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
dGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAKQEAgLTEzNiw4ICsxMzYs
NiBAQCB2b2lkIExpbmVMYXlvdXQ6OnVwZGF0ZUxheW91dEJveERpbWVuc2lvbnMoY29uc3QgUmVu
ZGVyQm94JiByZXBsYWNlZE9ySW5saW5lQmxvYwogICAgIGF1dG8mIHJlcGxhY2VkQm94ID0gZG93
bmNhc3Q8TGF5b3V0OjpSZXBsYWNlZEJveD4obGF5b3V0Qm94KTsKIAogICAgIC8vIEFsd2F5cyB1
c2UgdGhlIHBoeXNpY2FsIHNpemUgaGVyZSBmb3IgaW5saW5lIGxldmVsIGJveGVzICh0aGlzIGlz
IHdoZXJlIHRoZSBsb2dpY2FsIHZzLiBwaHlzaWNhbCBjb29yZHMgZmxpcCBoYXBwZW5zKS4KLSAg
ICByZXBsYWNlZEJveC5zZXRDb250ZW50U2l6ZUZvckludGVncmF0aW9uKHsgcmVwbGFjZWRPcklu
bGluZUJsb2NrLmNvbnRlbnRXaWR0aCgpLCByZXBsYWNlZE9ySW5saW5lQmxvY2suY29udGVudEhl
aWdodCgpIH0pOwotCiAgICAgYXV0byYgcmVwbGFjZWRCb3hHZW9tZXRyeSA9IG1fbGF5b3V0U3Rh
dGUuZW5zdXJlR2VvbWV0cnlGb3JCb3gocmVwbGFjZWRCb3gpOwogICAgIC8vIFNjcm9sbGJhcnMg
YXJlIHBsYWNlZCAiYmV0d2VlbiIgdGhlIGJvcmRlciBhbmQgdGhlIHBhZGRpbmcgYm94IGFuZCB0
aGV5IG5ldmVyIHN0cmV0Y2ggdGhlIGJvcmRlciBib3guIFRoZXkgbWF5IHNocmluayB0aGUgcGFk
ZGluZyBib3ggdGhvdWdoLgogICAgIGF1dG8gaG9yaXpvbnRhbFNwYWNlUmVzZXJ2ZWRGb3JTY3Jv
bGxiYXIgPSBzdGQ6Om1pbihyZXBsYWNlZE9ySW5saW5lQmxvY2sud2lkdGgoKSAtIHJlcGxhY2Vk
T3JJbmxpbmVCbG9jay5wYWRkaW5nQm94V2lkdGgoKSwgTGF5b3V0VW5pdChyZXBsYWNlZE9ySW5s
aW5lQmxvY2sudmVydGljYWxTY3JvbGxiYXJXaWR0aCgpKSk7CkBAIC0xNDYsMTAgKzE0NCwzMSBA
QCB2b2lkIExpbmVMYXlvdXQ6OnVwZGF0ZUxheW91dEJveERpbWVuc2lvbnMoY29uc3QgUmVuZGVy
Qm94JiByZXBsYWNlZE9ySW5saW5lQmxvYwogICAgIGF1dG8gdmVydGljYWxTcGFjZVJlc2VydmVk
Rm9yU2Nyb2xsYmFyID0gc3RkOjptaW4ocmVwbGFjZWRPcklubGluZUJsb2NrLmhlaWdodCgpIC0g
cmVwbGFjZWRPcklubGluZUJsb2NrLnBhZGRpbmdCb3hIZWlnaHQoKSwgTGF5b3V0VW5pdChyZXBs
YWNlZE9ySW5saW5lQmxvY2suaG9yaXpvbnRhbFNjcm9sbGJhckhlaWdodCgpKSk7CiAgICAgcmVw
bGFjZWRCb3hHZW9tZXRyeS5zZXRWZXJ0aWNhbFNwYWNlRm9yU2Nyb2xsYmFyKHZlcnRpY2FsU3Bh
Y2VSZXNlcnZlZEZvclNjcm9sbGJhcik7CiAKKyAgICByZXBsYWNlZEJveEdlb21ldHJ5LnNldENv
bnRlbnRCb3hXaWR0aChyZXBsYWNlZE9ySW5saW5lQmxvY2suY29udGVudFdpZHRoKCkpOworICAg
IHJlcGxhY2VkQm94R2VvbWV0cnkuc2V0Q29udGVudEJveEhlaWdodChyZXBsYWNlZE9ySW5saW5l
QmxvY2suY29udGVudEhlaWdodCgpKTsKKworICAgIHJlcGxhY2VkQm94R2VvbWV0cnkuc2V0Qm9y
ZGVyKHsgeyByZXBsYWNlZE9ySW5saW5lQmxvY2suYm9yZGVyTGVmdCgpLCByZXBsYWNlZE9ySW5s
aW5lQmxvY2suYm9yZGVyUmlnaHQoKSB9LCB7IHJlcGxhY2VkT3JJbmxpbmVCbG9jay5ib3JkZXJU
b3AoKSwgcmVwbGFjZWRPcklubGluZUJsb2NrLmJvcmRlckJvdHRvbSgpIH0gfSk7CisgICAgcmVw
bGFjZWRCb3hHZW9tZXRyeS5zZXRQYWRkaW5nKExheW91dDo6RWRnZXMgeyB7IHJlcGxhY2VkT3JJ
bmxpbmVCbG9jay5wYWRkaW5nTGVmdCgpLCByZXBsYWNlZE9ySW5saW5lQmxvY2sucGFkZGluZ1Jp
Z2h0KCkgfSwgeyByZXBsYWNlZE9ySW5saW5lQmxvY2sucGFkZGluZ1RvcCgpLCByZXBsYWNlZE9y
SW5saW5lQmxvY2sucGFkZGluZ0JvdHRvbSgpIH0gfSk7CisKKyAgICByZXBsYWNlZEJveEdlb21l
dHJ5LnNldEhvcml6b250YWxNYXJnaW4oeyByZXBsYWNlZE9ySW5saW5lQmxvY2subWFyZ2luTGVm
dCgpLCByZXBsYWNlZE9ySW5saW5lQmxvY2subWFyZ2luUmlnaHQoKSB9KTsKKyAgICByZXBsYWNl
ZEJveEdlb21ldHJ5LnNldFZlcnRpY2FsTWFyZ2luKHsgcmVwbGFjZWRPcklubGluZUJsb2NrLm1h
cmdpblRvcCgpLCByZXBsYWNlZE9ySW5saW5lQmxvY2subWFyZ2luQm90dG9tKCkgfSk7CisKICAg
ICBhdXRvIGJhc2VsaW5lID0gcmVwbGFjZWRPcklubGluZUJsb2NrLmJhc2VsaW5lUG9zaXRpb24o
QWxwaGFiZXRpY0Jhc2VsaW5lLCBmYWxzZSAvKiBmaXJzdExpbmUgKi8sIEhvcml6b250YWxMaW5l
LCBQb3NpdGlvbk9uQ29udGFpbmluZ0xpbmUpOwogICAgIHJlcGxhY2VkQm94LnNldEJhc2VsaW5l
KHJvdW5kVG9JbnQoYmFzZWxpbmUpKTsKIH0KIAordm9pZCBMaW5lTGF5b3V0Ojp1cGRhdGVMaW5l
QnJlYWtCb3hEaW1lbnNpb25zKGNvbnN0IFJlbmRlckxpbmVCcmVhayYgbGluZUJyZWFrQm94KQor
eworICAgIC8vIFRoaXMgaXMganVzdCBhIGJveCBnZW9tZXRyeSByZXNldCAoc2VlIElubGluZUZv
cm1hdHRpbmdDb250ZXh0OjpsYXlvdXRJbkZsb3dDb250ZW50KS4KKyAgICBhdXRvJiBib3hHZW9t
ZXRyeSA9IG1fbGF5b3V0U3RhdGUuZW5zdXJlR2VvbWV0cnlGb3JCb3gobV9ib3hUcmVlLmxheW91
dEJveEZvclJlbmRlcmVyKGxpbmVCcmVha0JveCkpOworCisgICAgYm94R2VvbWV0cnkuc2V0SG9y
aXpvbnRhbE1hcmdpbih7IH0pOworICAgIGJveEdlb21ldHJ5LnNldEJvcmRlcih7IH0pOworICAg
IGJveEdlb21ldHJ5LnNldFBhZGRpbmcoeyB9KTsKKyAgICBib3hHZW9tZXRyeS5zZXRDb250ZW50
Qm94V2lkdGgoeyB9KTsKKyAgICBib3hHZW9tZXRyeS5zZXRWZXJ0aWNhbE1hcmdpbih7IH0pOwor
fQorCiB2b2lkIExpbmVMYXlvdXQ6OnVwZGF0ZVN0eWxlKGNvbnN0IFJlbmRlckJveE1vZGVsT2Jq
ZWN0JiByZW5kZXJlcikKIHsKICAgICBtX2JveFRyZWUudXBkYXRlU3R5bGUocmVuZGVyZXIpOwpA
QCAtMTY2LDExICsxODUsMTUgQEAgdm9pZCBMaW5lTGF5b3V0OjpsYXlvdXQoKQogICAgIG1faW5s
aW5lQ29udGVudCA9IG51bGxwdHI7CiAgICAgYXV0byBpbmxpbmVGb3JtYXR0aW5nQ29udGV4dCA9
IExheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQgeyByb290TGF5b3V0Qm94KCksIG1faW5s
aW5lRm9ybWF0dGluZ1N0YXRlIH07CiAKLSAgICBhdXRvIGludmFsaWRhdGlvblN0YXRlID0gTGF5
b3V0OjpJbnZhbGlkYXRpb25TdGF0ZSB7IH07CiAgICAgYXV0byBob3Jpem9udGFsQ29uc3RyYWlu
dHMgPSBMYXlvdXQ6Okhvcml6b250YWxDb25zdHJhaW50cyB7IGZsb3coKS5ib3JkZXJBbmRQYWRk
aW5nU3RhcnQoKSwgZmxvdygpLmNvbnRlbnRTaXplKCkud2lkdGgoKSB9OwogICAgIGF1dG8gdmVy
dGljYWxDb25zdHJhaW50cyA9IExheW91dDo6VmVydGljYWxDb25zdHJhaW50cyB7IGZsb3coKS5i
b3JkZXJBbmRQYWRkaW5nQmVmb3JlKCksIHsgfSB9OwogCi0gICAgaW5saW5lRm9ybWF0dGluZ0Nv
bnRleHQubGF5b3V0SW5GbG93Q29udGVudChpbnZhbGlkYXRpb25TdGF0ZSwgeyBob3Jpem9udGFs
Q29uc3RyYWludHMsIHZlcnRpY2FsQ29uc3RyYWludHMgfSk7CisgICAgbV9pbmxpbmVGb3JtYXR0
aW5nU3RhdGUuY2xlYXJMaW5lQW5kUnVucygpOworICAgIGlubGluZUZvcm1hdHRpbmdDb250ZXh0
LmNvbGxlY3RJbmxpbmVDb250ZW50SWZOZWVkZWQoKTsKKworICAgIGF1dG8mIGlubGluZUl0ZW1z
ID0gbV9pbmxpbmVGb3JtYXR0aW5nU3RhdGUuaW5saW5lSXRlbXMoKTsKKyAgICBpbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dC5saW5lTGF5b3V0KGlubGluZUl0ZW1zLCB7IDAsIGlubGluZUl0ZW1zLnNp
emUoKSB9LCB7IGhvcml6b250YWxDb25zdHJhaW50cywgdmVydGljYWxDb25zdHJhaW50cyB9KTsK
KwogICAgIGNvbnN0cnVjdENvbnRlbnQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5oIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUxheW91
dC5oCmluZGV4IDJhYTAxMTM3MDUyYTczYTQwZThiOWI0ZjFhMDA3NDRkNGNkMjBhNTguLjI5YWVj
ZWMyOTIwNDliNzRjNzNhY2RmNmVkMjkyZWI1NDUzYmNhYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25M
aW5lTGF5b3V0LmgKQEAgLTQ0LDYgKzQ0LDcgQEAgY2xhc3MgSGl0VGVzdFJlc3VsdDsKIGNsYXNz
IFJlbmRlckJsb2NrRmxvdzsKIGNsYXNzIFJlbmRlckJveDsKIGNsYXNzIFJlbmRlckJveE1vZGVs
T2JqZWN0OworY2xhc3MgUmVuZGVyTGluZUJyZWFrOwogc3RydWN0IFBhaW50SW5mbzsKIAogbmFt
ZXNwYWNlIExheW91dEludGVncmF0aW9uIHsKQEAgLTY2LDYgKzY3LDcgQEAgcHVibGljOgogCiAg
ICAgdm9pZCB1cGRhdGVSZXBsYWNlZERpbWVuc2lvbnMoY29uc3QgUmVuZGVyQm94Jik7CiAgICAg
dm9pZCB1cGRhdGVJbmxpbmVCbG9ja0RpbWVuc2lvbnMoY29uc3QgUmVuZGVyQmxvY2smKTsKKyAg
ICB2b2lkIHVwZGF0ZUxpbmVCcmVha0JveERpbWVuc2lvbnMoY29uc3QgUmVuZGVyTGluZUJyZWFr
Jik7CiAgICAgdm9pZCB1cGRhdGVTdHlsZShjb25zdCBSZW5kZXJCb3hNb2RlbE9iamVjdCYpOwog
ICAgIHZvaWQgbGF5b3V0KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9s
YXlvdXR0cmVlL0xheW91dFJlcGxhY2VkQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5
b3V0dHJlZS9MYXlvdXRSZXBsYWNlZEJveC5oCmluZGV4IDM4N2RmM2IxNDFlMTdlODNiMTA2Nzdh
Yzk4ZWUzYTQyNmFlNzRhOWUuLjU2YmZjYWU2MDBlMWI0N2Q0NTRjNWUxYjM2MzAyNzJmMjBlZGQx
ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFJl
cGxhY2VkQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0
UmVwbGFjZWRCb3guaApAQCAtNTAsOSArNTAsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRJbnRy
aW5zaWNTaXplKExheW91dFNpemUgc2l6ZSkgeyBtX2ludHJpbnNpY1NpemUgPSBzaXplOyB9CiAg
ICAgdm9pZCBzZXRJbnRyaW5zaWNSYXRpbyhMYXlvdXRVbml0IHJhdGlvKSB7IG1faW50cmluc2lj
UmF0aW8gPSByYXRpbzsgfTsKIAotICAgIE9wdGlvbmFsPExheW91dFNpemU+IGNvbnRlbnRTaXpl
Rm9ySW50ZWdyYXRpb24oKSBjb25zdCB7IHJldHVybiBtX2NvbnRlbnRTaXplRm9ySW50ZWdyYXRp
b247IH0KLSAgICB2b2lkIHNldENvbnRlbnRTaXplRm9ySW50ZWdyYXRpb24oTGF5b3V0U2l6ZSBz
aXplKSB7IG1fY29udGVudFNpemVGb3JJbnRlZ3JhdGlvbiA9IHNpemU7IH0KLQogICAgIGJvb2wg
aGFzSW50cmluc2ljV2lkdGgoKSBjb25zdDsKICAgICBib29sIGhhc0ludHJpbnNpY0hlaWdodCgp
IGNvbnN0OwogICAgIGJvb2wgaGFzSW50cmluc2ljUmF0aW8oKSBjb25zdDsKQEAgLTY4LDcgKzY1
LDYgQEAgcHJpdmF0ZToKIAogICAgIE9wdGlvbmFsPExheW91dFNpemU+IG1faW50cmluc2ljU2l6
ZTsKICAgICBPcHRpb25hbDxMYXlvdXRVbml0PiBtX2ludHJpbnNpY1JhdGlvOwotICAgIE9wdGlv
bmFsPExheW91dFNpemU+IG1fY29udGVudFNpemVGb3JJbnRlZ3JhdGlvbjsKICAgICBPcHRpb25h
bDxMYXlvdXRVbml0PiBtX2Jhc2VsaW5lOwogICAgIENhY2hlZEltYWdlKiBtX2NhY2hlZEltYWdl
IHsgbnVsbHB0ciB9OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9ja0Zsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
Rmxvdy5jcHAKaW5kZXggM2Q4NGE4ZDUwMWQzMWQxOGYyNTE0ZDBkOTJmN2RiMjI2MTE0ZmMwOC4u
NDc4YWNmOGVhZWNjMzAxZmI5MjAyYTg1NGFhODM4YjZlMWFmNWYwNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKQEAgLTM2MzgsNiArMzYzOCwxMiBA
QCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6bGF5b3V0TW9kZXJuTGluZXMoYm9vbCByZWxheW91dENo
aWxkcmVuLCBMYXlvdXRVbml0JiByZXBhaQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAg
IH0KIAorICAgICAgICBpZiAoaXM8UmVuZGVyTGluZUJyZWFrPihyZW5kZXJlcikpIHsKKyAgICAg
ICAgICAgIGxheW91dEZvcm1hdHRpbmdDb250ZXh0TGluZUxheW91dC51cGRhdGVMaW5lQnJlYWtC
b3hEaW1lbnNpb25zKGRvd25jYXN0PFJlbmRlckxpbmVCcmVhaz4ocmVuZGVyZXIpKTsKKyAgICAg
ICAgICAgIHJlbmRlcmVyLmNsZWFyTmVlZHNMYXlvdXQoKTsKKyAgICAgICAgICAgIGNvbnRpbnVl
OworICAgICAgICB9CisKICAgICAgICAgcmVuZGVyZXIuY2xlYXJOZWVkc0xheW91dCgpOwogICAg
IH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416757</attachid>
            <date>2020-12-25 12:15:43 -0800</date>
            <delta_ts>2020-12-25 13:46:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220135-20201225121542.patch</filename>
            <type>text/plain</type>
            <size>11960</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMDg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDk3YWVhMWY3NzYyNGM2
MTEwNDg5MzRkNDRmMzQ0OTc1OTZjYzY2Yi4uZTg2Y2IzNWM1Zjg2NDVkMDM3NmRhNTY0ZWIzMDk0
ODI1ZDIwNjhhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTEyLTI1ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSW50ZWdyYXRpb25d
IFVzZSB0aGUgcHJlLWNvbXB1dGVkIGdlb21ldHJpZXMgZm9yIHRoZSBpbmxpbmUgbGV2ZWwgYm94
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDEz
NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzI2NDI4NTA+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgQW50dGkgS29pdmlzdG8uCisKKyAgICAgICAgTGV0J3Mgc2tpcCB0aGUgdHJlZSB0cmF2ZXJz
YWwgYW5kIHJlY29tcHV0aW5nIHRoZSBib3ggZ2VvbWV0cmllcyBpbiBJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dDo6bGF5b3V0SW5GbG93Q29udGVudC4gCisKKyAgICAgICAgKiBsYXlvdXQvRm9ybWF0
dGluZ0NvbnRleHRHZW9tZXRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZvcm1h
dHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6aW5saW5lUmVwbGFjZWRDb250ZW50SGVpZ2h0QW5kTWFy
Z2luIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGluZ0NvbnRleHQ6
Okdlb21ldHJ5OjppbmxpbmVSZXBsYWNlZENvbnRlbnRXaWR0aEFuZE1hcmdpbik6CisgICAgICAg
ICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaDoKKyAg
ICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0Ojp1cGRh
dGVMYXlvdXRCb3hEaW1lbnNpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0
aW9uOjpMaW5lTGF5b3V0Ojp1cGRhdGVMaW5lQnJlYWtCb3hEaW1lbnNpb25zKToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0OjpsYXlvdXQpOgorICAgICAg
ICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuaDoKKyAg
ICAgICAgKiBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRSZXBsYWNlZEJveC5oOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpSZXBsYWNlZEJveDo6Y29udGVudFNpemVGb3JJbnRlZ3JhdGlvbiBj
b25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlJlcGxhY2VkQm94Ojpz
ZXRDb250ZW50U2l6ZUZvckludGVncmF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyQmxvY2tGbG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxv
dzo6bGF5b3V0TW9kZXJuTGluZXMpOgorCiAyMDIwLTEyLTI1ICBaYWxhbiBCdWp0YXMgIDx6YWxh
bkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBGYXN0IHZlcnRpY2FsIGFsaWdubWVu
dCBzaG91bGQgd29yayB3aXRoIGxpbmUtaGVpZ2h0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKaW5kZXggM2NmMDU0N2ZjY2IwYzkx
MGUxOGFhODY5NWQ1YjM2YWZlZTY1YTUxZi4uZWQ3Yzg4MmI5OTNhOTUyM2I4YjIzZGI1NzQ5Nzcy
YTEyYmM0OWY2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdD
b250ZXh0R2VvbWV0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5n
Q29udGV4dEdlb21ldHJ5LmNwcApAQCAtOTAzLDkgKzkwMyw2IEBAIENvbnRlbnRIZWlnaHRBbmRN
YXJnaW4gRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjppbmxpbmVSZXBsYWNlZENvbnRlbnRI
ZWlnaHRBCiAgICAgYXV0byB1c2VkVmVydGljYWxNYXJnaW4gPSBVc2VkVmVydGljYWxNYXJnaW46
Ok5vbkNvbGxhcHNlZFZhbHVlcyB7IGNvbXB1dGVkVmVydGljYWxNYXJnaW4uYmVmb3JlLnZhbHVl
T3IoMCksIGNvbXB1dGVkVmVydGljYWxNYXJnaW4uYWZ0ZXIudmFsdWVPcigwKSB9OwogICAgIGF1
dG8mIHN0eWxlID0gcmVwbGFjZWRCb3guc3R5bGUoKTsKIAotICAgIGlmIChyZXBsYWNlZEJveC5j
b250ZW50U2l6ZUZvckludGVncmF0aW9uKCkpCi0gICAgICAgIHJldHVybiB7IHJlcGxhY2VkQm94
LmNvbnRlbnRTaXplRm9ySW50ZWdyYXRpb24oKS0+aGVpZ2h0KCksIHVzZWRWZXJ0aWNhbE1hcmdp
biB9OwotCiAgICAgYXV0byBoZWlnaHQgPSBvdmVycmlkZGVuVmVydGljYWxWYWx1ZXMuaGVpZ2h0
ID8gb3ZlcnJpZGRlblZlcnRpY2FsVmFsdWVzLmhlaWdodC52YWx1ZSgpIDogY29tcHV0ZWRIZWln
aHQocmVwbGFjZWRCb3gsIHZlcnRpY2FsQ29uc3RyYWludHMgPyB2ZXJ0aWNhbENvbnN0cmFpbnRz
LT5sb2dpY2FsSGVpZ2h0IDogV1RGOjpudWxsb3B0KTsKICAgICBhdXRvIGhlaWdodElzQXV0byA9
ICFvdmVycmlkZGVuVmVydGljYWxWYWx1ZXMuaGVpZ2h0ICYmIGlzSGVpZ2h0QXV0byhyZXBsYWNl
ZEJveCk7CiAgICAgYXV0byB3aWR0aElzQXV0byA9IHN0eWxlLmxvZ2ljYWxXaWR0aCgpLmlzQXV0
bygpOwpAQCAtOTY2LDkgKzk2Myw2IEBAIENvbnRlbnRXaWR0aEFuZE1hcmdpbiBGb3JtYXR0aW5n
Q29udGV4dDo6R2VvbWV0cnk6OmlubGluZVJlcGxhY2VkQ29udGVudFdpZHRoQW5kCiAgICAgICAg
IHJldHVybiBjb21wdXRlZEhvcml6b250YWxNYXJnaW4uZW5kLnZhbHVlT3IoMF9sdSk7CiAgICAg
fTsKIAotICAgIGlmIChyZXBsYWNlZEJveC5jb250ZW50U2l6ZUZvckludGVncmF0aW9uKCkpCi0g
ICAgICAgIHJldHVybiB7IHJlcGxhY2VkQm94LmNvbnRlbnRTaXplRm9ySW50ZWdyYXRpb24oKS0+
d2lkdGgoKSwgeyB1c2VkTWFyZ2luU3RhcnQoKSwgdXNlZE1hcmdpbkVuZCgpIH0gfTsKLQogICAg
IGF1dG8gd2lkdGggPSBvdmVycmlkZGVuSG9yaXpvbnRhbFZhbHVlcy53aWR0aCA/IG92ZXJyaWRk
ZW5Ib3Jpem9udGFsVmFsdWVzLndpZHRoIDogY29tcHV0ZWRXaWR0aChyZXBsYWNlZEJveCwgaG9y
aXpvbnRhbENvbnN0cmFpbnRzLmxvZ2ljYWxXaWR0aCk7CiAgICAgYXV0byBoZWlnaHRJc0F1dG8g
PSBpc0hlaWdodEF1dG8ocmVwbGFjZWRCb3gpOwogICAgIGF1dG8gaGVpZ2h0ID0gY29tcHV0ZWRI
ZWlnaHQocmVwbGFjZWRCb3gsIHZlcnRpY2FsQ29uc3RyYWludHMgPyB2ZXJ0aWNhbENvbnN0cmFp
bnRzLT5sb2dpY2FsSGVpZ2h0IDogV1RGOjpudWxsb3B0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRp
bmdDb250ZXh0LmNwcAppbmRleCA0ZmJiNDg3NjM3YmI5ZTg2NGY5NTJmZDhjYWUxYzhiNTQ1MTky
ZTNmLi41YWYwMjY2NDNlYTQwZDViODJjOGI5YmFkYzhhYTRkYTdhN2ZhYjBjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5n
Q29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcv
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC0xNDEsNiArMTQxLDE0IEBAIHZvaWQgSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQ6OmxheW91dEluRmxvd0NvbnRlbnQoSW52YWxpZGF0aW9uU3Rh
dGUmIGludmFsaWRhdGlvCiAgICAgTE9HX1dJVEhfU1RSRUFNKEZvcm1hdHRpbmdDb250ZXh0TGF5
b3V0LCBzdHJlYW0gPDwgIltFbmRdIC0+IGlubGluZSBmb3JtYXR0aW5nIGNvbnRleHQgLT4gZm9y
bWF0dGluZyByb290KCIgPDwgJnJvb3QoKSA8PCAiKSIpOwogfQogCit2b2lkIElubGluZUZvcm1h
dHRpbmdDb250ZXh0OjpsaW5lTGF5b3V0Rm9ySW50ZXJncmF0aW9uKEludmFsaWRhdGlvblN0YXRl
JiBpbnZhbGlkYXRpb25TdGF0ZSwgY29uc3QgQ29uc3RyYWludHNGb3JJbkZsb3dDb250ZW50JiBj
b25zdHJhaW50cykKK3sKKyAgICBpbnZhbGlkYXRlRm9ybWF0dGluZ1N0YXRlKGludmFsaWRhdGlv
blN0YXRlKTsKKyAgICBjb2xsZWN0SW5saW5lQ29udGVudElmTmVlZGVkKCk7CisgICAgYXV0byYg
aW5saW5lSXRlbXMgPSBmb3JtYXR0aW5nU3RhdGUoKS5pbmxpbmVJdGVtcygpOworICAgIGxpbmVM
YXlvdXQoaW5saW5lSXRlbXMsIHsgMCwgaW5saW5lSXRlbXMuc2l6ZSgpIH0sIGNvbnN0cmFpbnRz
KTsKK30KKwogTGF5b3V0VW5pdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6dXNlZENvbnRlbnRI
ZWlnaHQoKSBjb25zdAogewogICAgIC8vIDEwLjYuNyAnQXV0bycgaGVpZ2h0cyBmb3IgYmxvY2sg
Zm9ybWF0dGluZyBjb250ZXh0IHJvb3RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaApp
bmRleCAzMTgxZjRjYzQ1ZjU4Y2FhNTBlYThiN2I1NTNiNzg4OGNhMzliMGJjLi5lMjY0NDNiZGFj
MGVjMGIzODJhYTZiMWY5NTc0NDJjNmFhZmI3MDIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdD
b250ZXh0LmgKQEAgLTY1LDYgKzY1LDggQEAgcHVibGljOgogICAgIGNvbnN0IElubGluZUZvcm1h
dHRpbmdTdGF0ZSYgZm9ybWF0dGluZ1N0YXRlKCkgY29uc3QgeyByZXR1cm4gZG93bmNhc3Q8SW5s
aW5lRm9ybWF0dGluZ1N0YXRlPihGb3JtYXR0aW5nQ29udGV4dDo6Zm9ybWF0dGluZ1N0YXRlKCkp
OyB9CiAgICAgSW5saW5lRm9ybWF0dGluZ1N0YXRlJiBmb3JtYXR0aW5nU3RhdGUoKSB7IHJldHVy
biBkb3duY2FzdDxJbmxpbmVGb3JtYXR0aW5nU3RhdGU+KEZvcm1hdHRpbmdDb250ZXh0Ojpmb3Jt
YXR0aW5nU3RhdGUoKSk7IH0KIAorICAgIHZvaWQgbGluZUxheW91dEZvckludGVyZ3JhdGlvbihJ
bnZhbGlkYXRpb25TdGF0ZSYsIGNvbnN0IENvbnN0cmFpbnRzRm9ySW5GbG93Q29udGVudCYpOwor
CiBwcml2YXRlOgogICAgIEludHJpbnNpY1dpZHRoQ29uc3RyYWludHMgY29tcHV0ZWRJbnRyaW5z
aWNXaWR0aENvbnN0cmFpbnRzKCkgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUxh
eW91dC5jcHAKaW5kZXggOTQwZjQ1NTU3Mzc1MjlhZWQ4MTU2Yzk1N2ZhYWIwOGNjYjQwMGFiMC4u
NGVmODA1NTY4MjU5ZTI4ZjAwM2M4NTQxYTcwNTA1OWFmOTA1N2Q1NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUxheW91
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVn
cmF0aW9uTGluZUxheW91dC5jcHAKQEAgLTEzNiw4ICsxMzYsNiBAQCB2b2lkIExpbmVMYXlvdXQ6
OnVwZGF0ZUxheW91dEJveERpbWVuc2lvbnMoY29uc3QgUmVuZGVyQm94JiByZXBsYWNlZE9ySW5s
aW5lQmxvYwogICAgIGF1dG8mIHJlcGxhY2VkQm94ID0gZG93bmNhc3Q8TGF5b3V0OjpSZXBsYWNl
ZEJveD4obGF5b3V0Qm94KTsKIAogICAgIC8vIEFsd2F5cyB1c2UgdGhlIHBoeXNpY2FsIHNpemUg
aGVyZSBmb3IgaW5saW5lIGxldmVsIGJveGVzICh0aGlzIGlzIHdoZXJlIHRoZSBsb2dpY2FsIHZz
LiBwaHlzaWNhbCBjb29yZHMgZmxpcCBoYXBwZW5zKS4KLSAgICByZXBsYWNlZEJveC5zZXRDb250
ZW50U2l6ZUZvckludGVncmF0aW9uKHsgcmVwbGFjZWRPcklubGluZUJsb2NrLmNvbnRlbnRXaWR0
aCgpLCByZXBsYWNlZE9ySW5saW5lQmxvY2suY29udGVudEhlaWdodCgpIH0pOwotCiAgICAgYXV0
byYgcmVwbGFjZWRCb3hHZW9tZXRyeSA9IG1fbGF5b3V0U3RhdGUuZW5zdXJlR2VvbWV0cnlGb3JC
b3gocmVwbGFjZWRCb3gpOwogICAgIC8vIFNjcm9sbGJhcnMgYXJlIHBsYWNlZCAiYmV0d2VlbiIg
dGhlIGJvcmRlciBhbmQgdGhlIHBhZGRpbmcgYm94IGFuZCB0aGV5IG5ldmVyIHN0cmV0Y2ggdGhl
IGJvcmRlciBib3guIFRoZXkgbWF5IHNocmluayB0aGUgcGFkZGluZyBib3ggdGhvdWdoLgogICAg
IGF1dG8gaG9yaXpvbnRhbFNwYWNlUmVzZXJ2ZWRGb3JTY3JvbGxiYXIgPSBzdGQ6Om1pbihyZXBs
YWNlZE9ySW5saW5lQmxvY2sud2lkdGgoKSAtIHJlcGxhY2VkT3JJbmxpbmVCbG9jay5wYWRkaW5n
Qm94V2lkdGgoKSwgTGF5b3V0VW5pdChyZXBsYWNlZE9ySW5saW5lQmxvY2sudmVydGljYWxTY3Jv
bGxiYXJXaWR0aCgpKSk7CkBAIC0xNDYsMTAgKzE0NCwzMSBAQCB2b2lkIExpbmVMYXlvdXQ6OnVw
ZGF0ZUxheW91dEJveERpbWVuc2lvbnMoY29uc3QgUmVuZGVyQm94JiByZXBsYWNlZE9ySW5saW5l
QmxvYwogICAgIGF1dG8gdmVydGljYWxTcGFjZVJlc2VydmVkRm9yU2Nyb2xsYmFyID0gc3RkOjpt
aW4ocmVwbGFjZWRPcklubGluZUJsb2NrLmhlaWdodCgpIC0gcmVwbGFjZWRPcklubGluZUJsb2Nr
LnBhZGRpbmdCb3hIZWlnaHQoKSwgTGF5b3V0VW5pdChyZXBsYWNlZE9ySW5saW5lQmxvY2suaG9y
aXpvbnRhbFNjcm9sbGJhckhlaWdodCgpKSk7CiAgICAgcmVwbGFjZWRCb3hHZW9tZXRyeS5zZXRW
ZXJ0aWNhbFNwYWNlRm9yU2Nyb2xsYmFyKHZlcnRpY2FsU3BhY2VSZXNlcnZlZEZvclNjcm9sbGJh
cik7CiAKKyAgICByZXBsYWNlZEJveEdlb21ldHJ5LnNldENvbnRlbnRCb3hXaWR0aChyZXBsYWNl
ZE9ySW5saW5lQmxvY2suY29udGVudFdpZHRoKCkpOworICAgIHJlcGxhY2VkQm94R2VvbWV0cnku
c2V0Q29udGVudEJveEhlaWdodChyZXBsYWNlZE9ySW5saW5lQmxvY2suY29udGVudEhlaWdodCgp
KTsKKworICAgIHJlcGxhY2VkQm94R2VvbWV0cnkuc2V0Qm9yZGVyKHsgeyByZXBsYWNlZE9ySW5s
aW5lQmxvY2suYm9yZGVyTGVmdCgpLCByZXBsYWNlZE9ySW5saW5lQmxvY2suYm9yZGVyUmlnaHQo
KSB9LCB7IHJlcGxhY2VkT3JJbmxpbmVCbG9jay5ib3JkZXJUb3AoKSwgcmVwbGFjZWRPcklubGlu
ZUJsb2NrLmJvcmRlckJvdHRvbSgpIH0gfSk7CisgICAgcmVwbGFjZWRCb3hHZW9tZXRyeS5zZXRQ
YWRkaW5nKExheW91dDo6RWRnZXMgeyB7IHJlcGxhY2VkT3JJbmxpbmVCbG9jay5wYWRkaW5nTGVm
dCgpLCByZXBsYWNlZE9ySW5saW5lQmxvY2sucGFkZGluZ1JpZ2h0KCkgfSwgeyByZXBsYWNlZE9y
SW5saW5lQmxvY2sucGFkZGluZ1RvcCgpLCByZXBsYWNlZE9ySW5saW5lQmxvY2sucGFkZGluZ0Jv
dHRvbSgpIH0gfSk7CisKKyAgICByZXBsYWNlZEJveEdlb21ldHJ5LnNldEhvcml6b250YWxNYXJn
aW4oeyByZXBsYWNlZE9ySW5saW5lQmxvY2subWFyZ2luTGVmdCgpLCByZXBsYWNlZE9ySW5saW5l
QmxvY2subWFyZ2luUmlnaHQoKSB9KTsKKyAgICByZXBsYWNlZEJveEdlb21ldHJ5LnNldFZlcnRp
Y2FsTWFyZ2luKHsgcmVwbGFjZWRPcklubGluZUJsb2NrLm1hcmdpblRvcCgpLCByZXBsYWNlZE9y
SW5saW5lQmxvY2subWFyZ2luQm90dG9tKCkgfSk7CisKICAgICBhdXRvIGJhc2VsaW5lID0gcmVw
bGFjZWRPcklubGluZUJsb2NrLmJhc2VsaW5lUG9zaXRpb24oQWxwaGFiZXRpY0Jhc2VsaW5lLCBm
YWxzZSAvKiBmaXJzdExpbmUgKi8sIEhvcml6b250YWxMaW5lLCBQb3NpdGlvbk9uQ29udGFpbmlu
Z0xpbmUpOwogICAgIHJlcGxhY2VkQm94LnNldEJhc2VsaW5lKHJvdW5kVG9JbnQoYmFzZWxpbmUp
KTsKIH0KIAordm9pZCBMaW5lTGF5b3V0Ojp1cGRhdGVMaW5lQnJlYWtCb3hEaW1lbnNpb25zKGNv
bnN0IFJlbmRlckxpbmVCcmVhayYgbGluZUJyZWFrQm94KQoreworICAgIC8vIFRoaXMgaXMganVz
dCBhIGJveCBnZW9tZXRyeSByZXNldCAoc2VlIElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpsYXlv
dXRJbkZsb3dDb250ZW50KS4KKyAgICBhdXRvJiBib3hHZW9tZXRyeSA9IG1fbGF5b3V0U3RhdGUu
ZW5zdXJlR2VvbWV0cnlGb3JCb3gobV9ib3hUcmVlLmxheW91dEJveEZvclJlbmRlcmVyKGxpbmVC
cmVha0JveCkpOworCisgICAgYm94R2VvbWV0cnkuc2V0SG9yaXpvbnRhbE1hcmdpbih7IH0pOwor
ICAgIGJveEdlb21ldHJ5LnNldEJvcmRlcih7IH0pOworICAgIGJveEdlb21ldHJ5LnNldFBhZGRp
bmcoeyB9KTsKKyAgICBib3hHZW9tZXRyeS5zZXRDb250ZW50Qm94V2lkdGgoeyB9KTsKKyAgICBi
b3hHZW9tZXRyeS5zZXRWZXJ0aWNhbE1hcmdpbih7IH0pOworfQorCiB2b2lkIExpbmVMYXlvdXQ6
OnVwZGF0ZVN0eWxlKGNvbnN0IFJlbmRlckJveE1vZGVsT2JqZWN0JiByZW5kZXJlcikKIHsKICAg
ICBtX2JveFRyZWUudXBkYXRlU3R5bGUocmVuZGVyZXIpOwpAQCAtMTcwLDcgKzE4OSw4IEBAIHZv
aWQgTGluZUxheW91dDo6bGF5b3V0KCkKICAgICBhdXRvIGhvcml6b250YWxDb25zdHJhaW50cyA9
IExheW91dDo6SG9yaXpvbnRhbENvbnN0cmFpbnRzIHsgZmxvdygpLmJvcmRlckFuZFBhZGRpbmdT
dGFydCgpLCBmbG93KCkuY29udGVudFNpemUoKS53aWR0aCgpIH07CiAgICAgYXV0byB2ZXJ0aWNh
bENvbnN0cmFpbnRzID0gTGF5b3V0OjpWZXJ0aWNhbENvbnN0cmFpbnRzIHsgZmxvdygpLmJvcmRl
ckFuZFBhZGRpbmdCZWZvcmUoKSwgeyB9IH07CiAKLSAgICBpbmxpbmVGb3JtYXR0aW5nQ29udGV4
dC5sYXlvdXRJbkZsb3dDb250ZW50KGludmFsaWRhdGlvblN0YXRlLCB7IGhvcml6b250YWxDb25z
dHJhaW50cywgdmVydGljYWxDb25zdHJhaW50cyB9KTsKKyAgICBpbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dC5saW5lTGF5b3V0Rm9ySW50ZXJncmF0aW9uKGludmFsaWRhdGlvblN0YXRlLCB7IGhvcml6
b250YWxDb25zdHJhaW50cywgdmVydGljYWxDb25zdHJhaW50cyB9KTsKKwogICAgIGNvbnN0cnVj
dENvbnRlbnQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVn
cmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5oIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5oCmluZGV4IDJhYTAx
MTM3MDUyYTczYTQwZThiOWI0ZjFhMDA3NDRkNGNkMjBhNTguLjI5YWVjZWMyOTIwNDliNzRjNzNh
Y2RmNmVkMjkyZWI1NDUzYmNhYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmgKQEAg
LTQ0LDYgKzQ0LDcgQEAgY2xhc3MgSGl0VGVzdFJlc3VsdDsKIGNsYXNzIFJlbmRlckJsb2NrRmxv
dzsKIGNsYXNzIFJlbmRlckJveDsKIGNsYXNzIFJlbmRlckJveE1vZGVsT2JqZWN0OworY2xhc3Mg
UmVuZGVyTGluZUJyZWFrOwogc3RydWN0IFBhaW50SW5mbzsKIAogbmFtZXNwYWNlIExheW91dElu
dGVncmF0aW9uIHsKQEAgLTY2LDYgKzY3LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCB1cGRhdGVS
ZXBsYWNlZERpbWVuc2lvbnMoY29uc3QgUmVuZGVyQm94Jik7CiAgICAgdm9pZCB1cGRhdGVJbmxp
bmVCbG9ja0RpbWVuc2lvbnMoY29uc3QgUmVuZGVyQmxvY2smKTsKKyAgICB2b2lkIHVwZGF0ZUxp
bmVCcmVha0JveERpbWVuc2lvbnMoY29uc3QgUmVuZGVyTGluZUJyZWFrJik7CiAgICAgdm9pZCB1
cGRhdGVTdHlsZShjb25zdCBSZW5kZXJCb3hNb2RlbE9iamVjdCYpOwogICAgIHZvaWQgbGF5b3V0
KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91
dFJlcGxhY2VkQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRS
ZXBsYWNlZEJveC5oCmluZGV4IDM4N2RmM2IxNDFlMTdlODNiMTA2NzdhYzk4ZWUzYTQyNmFlNzRh
OWUuLjU2YmZjYWU2MDBlMWI0N2Q0NTRjNWUxYjM2MzAyNzJmMjBlZGQxZDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFJlcGxhY2VkQm94LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0UmVwbGFjZWRCb3guaApA
QCAtNTAsOSArNTAsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRJbnRyaW5zaWNTaXplKExheW91
dFNpemUgc2l6ZSkgeyBtX2ludHJpbnNpY1NpemUgPSBzaXplOyB9CiAgICAgdm9pZCBzZXRJbnRy
aW5zaWNSYXRpbyhMYXlvdXRVbml0IHJhdGlvKSB7IG1faW50cmluc2ljUmF0aW8gPSByYXRpbzsg
fTsKIAotICAgIE9wdGlvbmFsPExheW91dFNpemU+IGNvbnRlbnRTaXplRm9ySW50ZWdyYXRpb24o
KSBjb25zdCB7IHJldHVybiBtX2NvbnRlbnRTaXplRm9ySW50ZWdyYXRpb247IH0KLSAgICB2b2lk
IHNldENvbnRlbnRTaXplRm9ySW50ZWdyYXRpb24oTGF5b3V0U2l6ZSBzaXplKSB7IG1fY29udGVu
dFNpemVGb3JJbnRlZ3JhdGlvbiA9IHNpemU7IH0KLQogICAgIGJvb2wgaGFzSW50cmluc2ljV2lk
dGgoKSBjb25zdDsKICAgICBib29sIGhhc0ludHJpbnNpY0hlaWdodCgpIGNvbnN0OwogICAgIGJv
b2wgaGFzSW50cmluc2ljUmF0aW8oKSBjb25zdDsKQEAgLTY4LDcgKzY1LDYgQEAgcHJpdmF0ZToK
IAogICAgIE9wdGlvbmFsPExheW91dFNpemU+IG1faW50cmluc2ljU2l6ZTsKICAgICBPcHRpb25h
bDxMYXlvdXRVbml0PiBtX2ludHJpbnNpY1JhdGlvOwotICAgIE9wdGlvbmFsPExheW91dFNpemU+
IG1fY29udGVudFNpemVGb3JJbnRlZ3JhdGlvbjsKICAgICBPcHRpb25hbDxMYXlvdXRVbml0PiBt
X2Jhc2VsaW5lOwogICAgIENhY2hlZEltYWdlKiBtX2NhY2hlZEltYWdlIHsgbnVsbHB0ciB9Owog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKaW5kZXgg
M2Q4NGE4ZDUwMWQzMWQxOGYyNTE0ZDBkOTJmN2RiMjI2MTE0ZmMwOC4uNDc4YWNmOGVhZWNjMzAx
ZmI5MjAyYTg1NGFhODM4YjZlMWFmNWYwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrRmxvdy5jcHAKQEAgLTM2MzgsNiArMzYzOCwxMiBAQCB2b2lkIFJlbmRlckJs
b2NrRmxvdzo6bGF5b3V0TW9kZXJuTGluZXMoYm9vbCByZWxheW91dENoaWxkcmVuLCBMYXlvdXRV
bml0JiByZXBhaQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KIAorICAgICAgICBp
ZiAoaXM8UmVuZGVyTGluZUJyZWFrPihyZW5kZXJlcikpIHsKKyAgICAgICAgICAgIGxheW91dEZv
cm1hdHRpbmdDb250ZXh0TGluZUxheW91dC51cGRhdGVMaW5lQnJlYWtCb3hEaW1lbnNpb25zKGRv
d25jYXN0PFJlbmRlckxpbmVCcmVhaz4ocmVuZGVyZXIpKTsKKyAgICAgICAgICAgIHJlbmRlcmVy
LmNsZWFyTmVlZHNMYXlvdXQoKTsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisK
ICAgICAgICAgcmVuZGVyZXIuY2xlYXJOZWVkc0xheW91dCgpOwogICAgIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>