<?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>222520</bug_id>
          
          <creation_ts>2021-02-27 15:31:13 -0800</creation_ts>
          <short_desc>[LFC][IFC] Every line box must have a root inline box</short_desc>
          <delta_ts>2021-02-28 08:23:14 -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>koivisto</cc>
    
    <cc>sam</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>1734238</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-02-27 15:31:13 -0800</bug_when>
    <thetext>let&apos;s construct the m_rootInlineBox in LineBox c&apos;tor</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734239</commentid>
    <comment_count>1</comment_count>
      <attachid>421760</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-02-27 15:48:11 -0800</bug_when>
    <thetext>Created attachment 421760
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734241</commentid>
    <comment_count>2</comment_count>
      <attachid>421761</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-02-27 15:53:44 -0800</bug_when>
    <thetext>Created attachment 421761
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734248</commentid>
    <comment_count>3</comment_count>
      <attachid>421761</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-02-27 18:43:50 -0800</bug_when>
    <thetext>Comment on attachment 421761
Patch

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

&gt; Source/WebCore/ChangeLog:4
&gt; +        [LFC][IFC] Every line box must have a root inline box
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=222520

Should it use a UniqueRef instead of a unique_ptr then, to indicate this via types?

&gt; Source/WebCore/ChangeLog:18
&gt; +        * layout/inlineformatting/InlineFormattingContextGeometry.cpp:
&gt; +        (WebCore::Layout::LineBoxBuilder::build):
&gt; +        (WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):
&gt; +        * layout/inlineformatting/InlineLineBox.cpp:
&gt; +        (WebCore::Layout::LineBox::LineBox):
&gt; +        (WebCore::Layout::m_horizontalAlignmentOffset):
&gt; +        (WebCore::Layout::LineBox::logicalRectForTextRun const):
&gt; +        (WebCore::Layout::m_contentLogicalWidth): Deleted.
&gt; +        (WebCore::Layout::LineBox::addRootInlineBox): Deleted.
&gt; +        * layout/inlineformatting/InlineLineBox.h:
&gt; +        (WebCore::Layout::LineBox::InlineLevelBox::createRootInlineBox): Deleted.

This could be fleshed out a bit.

&gt; Source/WebCore/layout/inlineformatting/InlineLineBox.cpp:91
&gt; +    , m_horizontalAlignmentOffset(horizontalAlignmentOffset)
&gt;  {
&gt; +    m_rootInlineBox = makeUnique&lt;LineBox::InlineLevelBox&gt;(rootLayoutBox, horizontalAlignmentOffset.valueOr(InlineLayoutUnit { }), InlineLayoutSize { contentLogicalWidth, { } }, InlineLevelBox::Type::RootInlineBox);

This seems like it should be in the list above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734251</commentid>
    <comment_count>4</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-02-27 20:22:57 -0800</bug_when>
    <thetext>(In reply to Sam Weinig from comment #3)
&gt; Comment on attachment 421761 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=421761&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:4
&gt; &gt; +        [LFC][IFC] Every line box must have a root inline box
&gt; &gt; +        https://bugs.webkit.org/show_bug.cgi?id=222520
&gt; 
&gt; Should it use a UniqueRef instead of a unique_ptr then, to indicate this via
&gt; types?
&gt; 
I keep forgetting UniqueRef!!! Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734252</commentid>
    <comment_count>5</comment_count>
      <attachid>421765</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-02-27 20:50:42 -0800</bug_when>
    <thetext>Created attachment 421765
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734284</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-28 08:22:25 -0800</bug_when>
    <thetext>Committed r273636: &lt;https://commits.webkit.org/r273636&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 421765.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734285</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-28 08:23:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/74838464&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421760</attachid>
            <date>2021-02-27 15:48:11 -0800</date>
            <delta_ts>2021-02-27 15:51:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222520-20210227154810.patch</filename>
            <type>text/plain</type>
            <size>9613</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNTk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWE3YmUwYzRhZDQzMTQ3
MmRiZTg3MTk0M2YxYjZjYmU2YjdiZTNlYS4uY2Q4MzExZDE2Y2M2ODEzMzVlMzY5N2M0NzVjZWJh
MmUxYTkxNjIyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTAyLTI3ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBFdmVyeSBs
aW5lIGJveCBtdXN0IGhhdmUgYSByb290IGlubGluZSBib3gKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMjUyMAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkxpbmVCb3hCdWlsZGVyOjpidWlsZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Okxp
bmVCb3hCdWlsZGVyOjpjb25zdHJ1Y3RJbmxpbmVMZXZlbEJveGVzKToKKyAgICAgICAgKiBsYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6TGluZUJveDo6TGluZUJveCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Om1f
aG9yaXpvbnRhbEFsaWdubWVudE9mZnNldCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Okxp
bmVCb3g6OmxvZ2ljYWxSZWN0Rm9yVGV4dFJ1biBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6Om1fY29udGVudExvZ2ljYWxXaWR0aCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OkxpbmVCb3g6OmFkZFJvb3RJbmxpbmVCb3gpOiBEZWxldGVkLgorICAgICAgICAq
IGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCb3guaDoKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZUJveDo6SW5saW5lTGV2ZWxCb3g6OmNyZWF0ZVJvb3RJbmxpbmVCb3gp
OiBEZWxldGVkLgorCiAyMDIxLTAyLTI2ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNv
bT4KIAogICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSBsb2cgd2hlbiB0aGUgcmVxdWVzdCBpcyBj
YW5jZWxsZWQgd2hpbGUgd2FpdGluZyBmb3IgdGhlIGBQcm9taXNlYCBwcm92aWRlZCB0byBgc2hv
dygpYC9gdXBkYXRlV2l0aCgpYCB0byBzZXR0bGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnku
Y3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0
dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKaW5kZXggODA2NmJhYmZlNjdmZmViNzQ2OTEwYTBlMmZk
NjYwOWQ4NjE0YTEwOS4uMjIyYjVjNjBjZTQ1MzFmY2RiYTIyMDE0NzViNjNjOGYyMDJlOThlOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKQEAg
LTE1NywxMCArMTU3LDkgQEAgTGluZUJveCBMaW5lQm94QnVpbGRlcjo6YnVpbGQoY29uc3QgTGlu
ZUJ1aWxkZXI6OkxpbmVDb250ZW50JiBsaW5lQ29udGVudCkKICAgICBhdXRvJiBydW5zID0gbGlu
ZUNvbnRlbnQucnVuczsKICAgICBhdXRvIGxpbmVMb2dpY2FsV2lkdGggPSBsaW5lQ29udGVudC5s
aW5lTG9naWNhbFdpZHRoOwogICAgIGF1dG8gY29udGVudExvZ2ljYWxXaWR0aCA9IGxpbmVDb250
ZW50LmNvbnRlbnRMb2dpY2FsV2lkdGg7Ci0gICAgYXV0byBsaW5lQm94ID0gTGluZUJveCB7IGxp
bmVDb250ZW50LmxvZ2ljYWxUb3BMZWZ0LCBsaW5lTG9naWNhbFdpZHRoLCBjb250ZW50TG9naWNh
bFdpZHRoLCBydW5zLnNpemUoKSB9OworICAgIGF1dG8gaG9yaXpvbnRhbEFsaWdubWVudE9mZnNl
dCA9IExheW91dDo6aG9yaXpvbnRhbEFsaWdubWVudE9mZnNldChydW5zLCByb290Qm94KCkuc3R5
bGUoKS50ZXh0QWxpZ24oKSwgbGluZUxvZ2ljYWxXaWR0aCwgY29udGVudExvZ2ljYWxXaWR0aCwg
bGluZUNvbnRlbnQuaXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50KTsKKyAgICBhdXRvIGxpbmVC
b3ggPSBMaW5lQm94IHsgcm9vdEJveCgpLCBsaW5lQ29udGVudC5sb2dpY2FsVG9wTGVmdCwgbGlu
ZUxvZ2ljYWxXaWR0aCwgY29udGVudExvZ2ljYWxXaWR0aCwgaG9yaXpvbnRhbEFsaWdubWVudE9m
ZnNldCwgcnVucy5zaXplKCkgfTsKIAotICAgIGlmIChhdXRvIGhvcml6b250YWxBbGlnbm1lbnRP
ZmZzZXQgPSBMYXlvdXQ6Omhvcml6b250YWxBbGlnbm1lbnRPZmZzZXQocnVucywgcm9vdEJveCgp
LnN0eWxlKCkudGV4dEFsaWduKCksIGxpbmVMb2dpY2FsV2lkdGgsIGNvbnRlbnRMb2dpY2FsV2lk
dGgsIGxpbmVDb250ZW50LmlzTGFzdExpbmVXaXRoSW5saW5lQ29udGVudCkpCi0gICAgICAgIGxp
bmVCb3guc2V0SG9yaXpvbnRhbEFsaWdubWVudE9mZnNldCgqaG9yaXpvbnRhbEFsaWdubWVudE9m
ZnNldCk7CiAgICAgY29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcyhsaW5lQm94LCBydW5zKTsKICAg
ICBpZiAobV9pbmxpbmVMZXZlbEJveGVzTmVlZFZlcnRpY2FsQWxpZ25tZW50KQogICAgICAgICBj
b21wdXRlTGluZUJveEhlaWdodEFuZEFsaWduSW5saW5lTGV2ZWxCb3hlc1ZlcnRpY2FsbHkobGlu
ZUJveCk7CkBAIC0yMDksMTUgKzIwOCw5IEBAIHZvaWQgTGluZUJveEJ1aWxkZXI6OmNvbnN0cnVj
dElubGluZUxldmVsQm94ZXMoTGluZUJveCYgbGluZUJveCwgY29uc3QgTGluZTo6UnVuCiAgICAg
ICAgIElubGluZUxheW91dFVuaXQgbGluZUJveEJvdHRvbSB7IDAgfTsKICAgICAgICAgSW5saW5l
TGF5b3V0VW5pdCByb290SW5saW5lQm94VG9wIHsgMCB9OwogICAgIH07Ci0gICAgYXV0byBzaW1w
bGlmaWVkVmVydGljYWxBbGlnbm1lbnQgPSBTaW1wbGlmaWVkVmVydGljYWxBbGlnbm1lbnQgeyB9
OwotCi0gICAgYXV0byBjcmVhdGVSb290SW5saW5lQm94ID0gWyZdIHsKLSAgICAgICAgYXV0byBy
b290SW5saW5lQm94ID0gTGluZUJveDo6SW5saW5lTGV2ZWxCb3g6OmNyZWF0ZVJvb3RJbmxpbmVC
b3gocm9vdEJveCgpLCBob3Jpem9udGFsQWxpZ21lbnRPZmZzZXQsIGxpbmVCb3guY29udGVudExv
Z2ljYWxXaWR0aCgpKTsKLSAgICAgICAgc2V0VmVydGljYWxHZW9tZXRyeUZvcklubGluZUJveCgq
cm9vdElubGluZUJveCk7Ci0gICAgICAgIHNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudCA9IHsg
eyB9ICwgcm9vdElubGluZUJveC0+bGF5b3V0Qm91bmRzKCkuaGVpZ2h0KCksIHJvb3RJbmxpbmVC
b3gtPmxheW91dEJvdW5kcygpLmFzY2VudCAtIHJvb3RJbmxpbmVCb3gtPmJhc2VsaW5lKCkgfTsK
LSAgICAgICAgbGluZUJveC5hZGRSb290SW5saW5lQm94KFdURk1vdmUocm9vdElubGluZUJveCkp
OwotICAgIH07Ci0gICAgY3JlYXRlUm9vdElubGluZUJveCgpOworICAgIGF1dG8mIHJvb3RJbmxp
bmVCb3ggPSBsaW5lQm94LnJvb3RJbmxpbmVCb3goKTsKKyAgICBzZXRWZXJ0aWNhbEdlb21ldHJ5
Rm9ySW5saW5lQm94KHJvb3RJbmxpbmVCb3gpOworICAgIGF1dG8gc2ltcGxpZmllZFZlcnRpY2Fs
QWxpZ25tZW50ID0gU2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50IHsgeyB9ICwgcm9vdElubGlu
ZUJveC5sYXlvdXRCb3VuZHMoKS5oZWlnaHQoKSwgcm9vdElubGluZUJveC5sYXlvdXRCb3VuZHMo
KS5hc2NlbnQgLSByb290SW5saW5lQm94LmJhc2VsaW5lKCkgfTsKIAogICAgIGF1dG8gY3JlYXRl
V3JhcHBlZElubGluZUJveGVzID0gWyZdIHsKICAgICAgICAgaWYgKHJ1bnMuaXNFbXB0eSgpKQpA
QCAtMjU1LDcgKzI0OCw2IEBAIHZvaWQgTGluZUJveEJ1aWxkZXI6OmNvbnN0cnVjdElubGluZUxl
dmVsQm94ZXMoTGluZUJveCYgbGluZUJveCwgY29uc3QgTGluZTo6UnVuCiAgICAgfTsKICAgICBj
cmVhdGVXcmFwcGVkSW5saW5lQm94ZXMoKTsKIAotICAgIGF1dG8mIHJvb3RJbmxpbmVCb3ggPSBs
aW5lQm94LnJvb3RJbmxpbmVCb3goKTsKICAgICBhdXRvIGxpbmVIYXNDb250ZW50ID0gZmFsc2U7
CiAgICAgZm9yIChhdXRvJiBydW4gOiBydW5zKSB7CiAgICAgICAgIGF1dG8mIGxheW91dEJveCA9
IHJ1bi5sYXlvdXRCb3goKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxp
bmVmb3JtYXR0aW5nL0lubGluZUxpbmVCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
bGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJveC5jcHAKaW5kZXggYjhhMGM2YTU0MjExYWQ0Nzhl
NzVlMDMwNDNjYzE4ODA4N2UyNGVmYy4uYjgzNDgwYzc3ZGM5MTQ4ZTQ2ZGRmNWJiOTkyODg5MWIx
MmI0MmQ5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRp
bmcvSW5saW5lTGluZUJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZv
cm1hdHRpbmcvSW5saW5lTGluZUJveC5jcHAKQEAgLTgzLDE4ICs4MywxNSBAQCBib29sIExpbmVC
b3g6OklubGluZUxldmVsQm94OjpoYXNMaW5lQm94UmVsYXRpdmVBbGlnbm1lbnQoKSBjb25zdAog
ICAgIHJldHVybiB2ZXJ0aWNhbEFsaWdubWVudCA9PSBWZXJ0aWNhbEFsaWduOjpUb3AgfHwgdmVy
dGljYWxBbGlnbm1lbnQgPT0gVmVydGljYWxBbGlnbjo6Qm90dG9tOwogfQogCi1MaW5lQm94OjpM
aW5lQm94KGNvbnN0IElubGluZUxheW91dFBvaW50JiBsb2dpY2FsVG9wbGVmdCwgSW5saW5lTGF5
b3V0VW5pdCBsaW5lTG9naWNhbFdpZHRoLCBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2Fs
V2lkdGgsIHNpemVfdCBudW1iZXJPZlJ1bnMpCitMaW5lQm94OjpMaW5lQm94KGNvbnN0IEJveCYg
cm9vdExheW91dEJveCwgY29uc3QgSW5saW5lTGF5b3V0UG9pbnQmIGxvZ2ljYWxUb3BsZWZ0LCBJ
bmxpbmVMYXlvdXRVbml0IGxpbmVMb2dpY2FsV2lkdGgsIElubGluZUxheW91dFVuaXQgY29udGVu
dExvZ2ljYWxXaWR0aCwgT3B0aW9uYWw8SW5saW5lTGF5b3V0VW5pdD4gaG9yaXpvbnRhbEFsaWdu
bWVudE9mZnNldCwgc2l6ZV90IG51bWJlck9mUnVucykKICAgICA6IG1fbG9naWNhbFJlY3QobG9n
aWNhbFRvcGxlZnQsIElubGluZUxheW91dFNpemUgeyBsaW5lTG9naWNhbFdpZHRoLCB7IH0gfSkK
ICAgICAsIG1fY29udGVudExvZ2ljYWxXaWR0aChjb250ZW50TG9naWNhbFdpZHRoKQorICAgICwg
bV9ob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KGhvcml6b250YWxBbGlnbm1lbnRPZmZzZXQpCiB7
CisgICAgbV9yb290SW5saW5lQm94ID0gbWFrZVVuaXF1ZTxMaW5lQm94OjpJbmxpbmVMZXZlbEJv
eD4ocm9vdExheW91dEJveCwgaG9yaXpvbnRhbEFsaWdubWVudE9mZnNldC52YWx1ZU9yKElubGlu
ZUxheW91dFVuaXQgeyB9KSwgSW5saW5lTGF5b3V0U2l6ZSB7IGNvbnRlbnRMb2dpY2FsV2lkdGgs
IHsgfSB9LCBJbmxpbmVMZXZlbEJveDo6VHlwZTo6Um9vdElubGluZUJveCk7CiAgICAgbV9ub25S
b290SW5saW5lTGV2ZWxCb3hMaXN0LnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobnVtYmVyT2ZSdW5z
KTsKICAgICBtX2lubGluZUxldmVsQm94UmVjdE1hcC5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG51
bWJlck9mUnVucyk7Ci19Ci0KLXZvaWQgTGluZUJveDo6YWRkUm9vdElubGluZUJveChzdGQ6OnVu
aXF1ZV9wdHI8SW5saW5lTGV2ZWxCb3g+JiYgcm9vdElubGluZUJveCkKLXsKLSAgICBzdGQ6OmV4
Y2hhbmdlKG1fcm9vdElubGluZUJveCwgV1RGTW92ZShyb290SW5saW5lQm94KSk7Ci0gICAgbV9p
bmxpbmVMZXZlbEJveFJlY3RNYXAuc2V0KCZtX3Jvb3RJbmxpbmVCb3gtPmxheW91dEJveCgpLCBt
X3Jvb3RJbmxpbmVCb3guZ2V0KCkpOworICAgIG1faW5saW5lTGV2ZWxCb3hSZWN0TWFwLnNldCgm
cm9vdExheW91dEJveCwgbV9yb290SW5saW5lQm94LmdldCgpKTsKIH0KIAogdm9pZCBMaW5lQm94
OjphZGRJbmxpbmVMZXZlbEJveChzdGQ6OnVuaXF1ZV9wdHI8SW5saW5lTGV2ZWxCb3g+JiYgaW5s
aW5lTGV2ZWxCb3gpCkBAIC0xMTgsNyArMTE1LDcgQEAgSW5saW5lUmVjdCBMaW5lQm94Ojpsb2dp
Y2FsUmVjdEZvclRleHRSdW4oY29uc3QgTGluZTo6UnVuJiBydW4pIGNvbnN0CiAgICAgICAgIHJ1
bmxvZ2ljYWxUb3AgKz0gcGFyZW50SW5saW5lQm94LT5sb2dpY2FsVG9wKCk7CiAgICAgfQogICAg
IElubGluZUxheW91dFVuaXQgbG9naWNhbEhlaWdodCA9IGZvbnRNZXRyaWNzLmhlaWdodCgpOwot
ICAgIHJldHVybiB7IHJ1bmxvZ2ljYWxUb3AsIG1faG9yaXpvbnRhbEFsaWdubWVudE9mZnNldC52
YWx1ZU9yKElubGluZUxheW91dFVuaXQgeyB9KSArIHJ1bi5sb2dpY2FsTGVmdCgpLCBydW4ubG9n
aWNhbFdpZHRoKCksIGxvZ2ljYWxIZWlnaHQgfTsKKyAgICByZXR1cm4geyBydW5sb2dpY2FsVG9w
LCByb290SW5saW5lQm94KCkubG9naWNhbExlZnQoKSArIHJ1bi5sb2dpY2FsTGVmdCgpLCBydW4u
bG9naWNhbFdpZHRoKCksIGxvZ2ljYWxIZWlnaHQgfTsKIH0KIAogSW5saW5lUmVjdCBMaW5lQm94
Ojpsb2dpY2FsUmVjdEZvckxpbmVCcmVha0JveChjb25zdCBCb3gmIGxheW91dEJveCkgY29uc3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGlu
ZUxpbmVCb3guaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGlu
ZUxpbmVCb3guaAppbmRleCA0ZDMxOGNkM2NkNGNmYTBjNzM0YTdmMTA5YjM3YTZkODBmMGIwNjM3
Li5lNjFiZjNhODc2NTY4MzI4N2JhNzdlZWRmYjZhOGFlOGJhZTA5ZDI2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQm94LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJveC5o
CkBAIC02MCw3ICs2MCw2IEBAIHB1YmxpYzoKICAgICBzdHJ1Y3QgSW5saW5lTGV2ZWxCb3ggewog
ICAgICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lOTElORShJbmxpbmVMZXZlbEJveCk7CiAg
ICAgcHVibGljOgotICAgICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPExpbmVCb3g6OklubGlu
ZUxldmVsQm94PiBjcmVhdGVSb290SW5saW5lQm94KGNvbnN0IEJveCYsIElubGluZUxheW91dFVu
aXQgbG9naWNhbExlZnQsIElubGluZUxheW91dFVuaXQgbG9naWNhbFdpZHRoKTsKICAgICAgICAg
c3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxMaW5lQm94OjpJbmxpbmVMZXZlbEJveD4gY3JlYXRlSW5s
aW5lQm94KGNvbnN0IEJveCYsIElubGluZUxheW91dFVuaXQgbG9naWNhbExlZnQsIElubGluZUxh
eW91dFVuaXQgbG9naWNhbFdpZHRoKTsKICAgICAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxM
aW5lQm94OjpJbmxpbmVMZXZlbEJveD4gY3JlYXRlQXRvbWljSW5saW5lTGV2ZWxCb3goY29uc3Qg
Qm94JiwgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsTGVmdCwgSW5saW5lTGF5b3V0U2l6ZSk7CiAg
ICAgICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8TGluZUJveDo6SW5saW5lTGV2ZWxCb3g+IGNy
ZWF0ZUxpbmVCcmVha0JveChjb25zdCBCb3gmLCBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxMZWZ0
KTsKQEAgLTEzMSw3ICsxMzAsNyBAQCBwdWJsaWM6CiAgICAgICAgIFR5cGUgbV90eXBlIHsgVHlw
ZTo6SW5saW5lQm94IH07CiAgICAgfTsKIAotICAgIExpbmVCb3goY29uc3QgSW5saW5lTGF5b3V0
UG9pbnQmIGxvZ2ljYWxUb3BMZWZ0LCBJbmxpbmVMYXlvdXRVbml0IGxpbmVMb2dpY2FsV2lkdGgs
IElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxXaWR0aCwgc2l6ZV90IG51bWJlck9mUnVu
cyk7CisgICAgTGluZUJveChjb25zdCBCb3gmIHJvb3RMYXlvdXRCb3gsIGNvbnN0IElubGluZUxh
eW91dFBvaW50JiBsb2dpY2FsVG9wTGVmdCwgSW5saW5lTGF5b3V0VW5pdCBsaW5lTG9naWNhbFdp
ZHRoLCBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsV2lkdGgsIE9wdGlvbmFsPElubGlu
ZUxheW91dFVuaXQ+IGhvcml6b250YWxBbGlnbm1lbnRPZmZzZXQsIHNpemVfdCBudW1iZXJPZlJ1
bnMpOwogCiAgICAgY29uc3QgSW5saW5lUmVjdCYgbG9naWNhbFJlY3QoKSBjb25zdCB7IHJldHVy
biBtX2xvZ2ljYWxSZWN0OyB9CiAgICAgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgoKSBj
b25zdCB7IHJldHVybiBsb2dpY2FsU2l6ZSgpLndpZHRoKCk7IH0KQEAgLTE2OCw3ICsxNjcsNiBA
QCBwcml2YXRlOgogICAgIHZvaWQgc2V0TG9naWNhbEhlaWdodChJbmxpbmVMYXlvdXRVbml0IGxv
Z2ljYWxIZWlnaHQpIHsgbV9sb2dpY2FsUmVjdC5zZXRIZWlnaHQobG9naWNhbEhlaWdodCk7IH0K
ICAgICB2b2lkIHNldEhvcml6b250YWxBbGlnbm1lbnRPZmZzZXQoSW5saW5lTGF5b3V0VW5pdCBo
b3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KSB7IG1faG9yaXpvbnRhbEFsaWdubWVudE9mZnNldCA9
IGhvcml6b250YWxBbGlnbm1lbnRPZmZzZXQ7IH0KIAotICAgIHZvaWQgYWRkUm9vdElubGluZUJv
eChzdGQ6OnVuaXF1ZV9wdHI8SW5saW5lTGV2ZWxCb3g+JiYpOwogICAgIHZvaWQgYWRkSW5saW5l
TGV2ZWxCb3goc3RkOjp1bmlxdWVfcHRyPElubGluZUxldmVsQm94PiYmKTsKIAogICAgIElubGlu
ZUxldmVsQm94JiByb290SW5saW5lQm94KCkgeyByZXR1cm4gKm1fcm9vdElubGluZUJveDsgfQpA
QCAtMTkxLDExICsxODksNiBAQCBwcml2YXRlOgogICAgIEhhc2hNYXA8Y29uc3QgQm94KiwgSW5s
aW5lTGV2ZWxCb3gqPiBtX2lubGluZUxldmVsQm94UmVjdE1hcDsKIH07CiAKLWlubGluZSBzdGQ6
OnVuaXF1ZV9wdHI8TGluZUJveDo6SW5saW5lTGV2ZWxCb3g+IExpbmVCb3g6OklubGluZUxldmVs
Qm94OjpjcmVhdGVSb290SW5saW5lQm94KGNvbnN0IEJveCYgbGF5b3V0Qm94LCBJbmxpbmVMYXlv
dXRVbml0IGxvZ2ljYWxMZWZ0LCBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCkKLXsKLSAg
ICByZXR1cm4gbWFrZVVuaXF1ZTxMaW5lQm94OjpJbmxpbmVMZXZlbEJveD4obGF5b3V0Qm94LCBs
b2dpY2FsTGVmdCwgSW5saW5lTGF5b3V0U2l6ZSB7IGxvZ2ljYWxXaWR0aCwgeyB9IH0sIFR5cGU6
OlJvb3RJbmxpbmVCb3gpOwotfQotCiBpbmxpbmUgc3RkOjp1bmlxdWVfcHRyPExpbmVCb3g6Oklu
bGluZUxldmVsQm94PiBMaW5lQm94OjpJbmxpbmVMZXZlbEJveDo6Y3JlYXRlQXRvbWljSW5saW5l
TGV2ZWxCb3goY29uc3QgQm94JiBsYXlvdXRCb3gsIElubGluZUxheW91dFVuaXQgbG9naWNhbExl
ZnQsIElubGluZUxheW91dFNpemUgbG9naWNhbFNpemUpCiB7CiAgICAgcmV0dXJuIG1ha2VVbmlx
dWU8TGluZUJveDo6SW5saW5lTGV2ZWxCb3g+KGxheW91dEJveCwgbG9naWNhbExlZnQsIGxvZ2lj
YWxTaXplLCBUeXBlOjpBdG9taWNJbmxpbmVMZXZlbEJveCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421761</attachid>
            <date>2021-02-27 15:53:44 -0800</date>
            <delta_ts>2021-02-27 20:22:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222520-20210227155343.patch</filename>
            <type>text/plain</type>
            <size>9056</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNTk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWE3YmUwYzRhZDQzMTQ3
MmRiZTg3MTk0M2YxYjZjYmU2YjdiZTNlYS4uY2Q4MzExZDE2Y2M2ODEzMzVlMzY5N2M0NzVjZWJh
MmUxYTkxNjIyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTAyLTI3ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBFdmVyeSBs
aW5lIGJveCBtdXN0IGhhdmUgYSByb290IGlubGluZSBib3gKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMjUyMAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkxpbmVCb3hCdWlsZGVyOjpidWlsZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Okxp
bmVCb3hCdWlsZGVyOjpjb25zdHJ1Y3RJbmxpbmVMZXZlbEJveGVzKToKKyAgICAgICAgKiBsYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6TGluZUJveDo6TGluZUJveCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Om1f
aG9yaXpvbnRhbEFsaWdubWVudE9mZnNldCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Okxp
bmVCb3g6OmxvZ2ljYWxSZWN0Rm9yVGV4dFJ1biBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6Om1fY29udGVudExvZ2ljYWxXaWR0aCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OkxpbmVCb3g6OmFkZFJvb3RJbmxpbmVCb3gpOiBEZWxldGVkLgorICAgICAgICAq
IGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCb3guaDoKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZUJveDo6SW5saW5lTGV2ZWxCb3g6OmNyZWF0ZVJvb3RJbmxpbmVCb3gp
OiBEZWxldGVkLgorCiAyMDIxLTAyLTI2ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNv
bT4KIAogICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSBsb2cgd2hlbiB0aGUgcmVxdWVzdCBpcyBj
YW5jZWxsZWQgd2hpbGUgd2FpdGluZyBmb3IgdGhlIGBQcm9taXNlYCBwcm92aWRlZCB0byBgc2hv
dygpYC9gdXBkYXRlV2l0aCgpYCB0byBzZXR0bGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnku
Y3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0
dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKaW5kZXggODA2NmJhYmZlNjdmZmViNzQ2OTEwYTBlMmZk
NjYwOWQ4NjE0YTEwOS4uMjIyYjVjNjBjZTQ1MzFmY2RiYTIyMDE0NzViNjNjOGYyMDJlOThlOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKQEAg
LTE1NywxMCArMTU3LDkgQEAgTGluZUJveCBMaW5lQm94QnVpbGRlcjo6YnVpbGQoY29uc3QgTGlu
ZUJ1aWxkZXI6OkxpbmVDb250ZW50JiBsaW5lQ29udGVudCkKICAgICBhdXRvJiBydW5zID0gbGlu
ZUNvbnRlbnQucnVuczsKICAgICBhdXRvIGxpbmVMb2dpY2FsV2lkdGggPSBsaW5lQ29udGVudC5s
aW5lTG9naWNhbFdpZHRoOwogICAgIGF1dG8gY29udGVudExvZ2ljYWxXaWR0aCA9IGxpbmVDb250
ZW50LmNvbnRlbnRMb2dpY2FsV2lkdGg7Ci0gICAgYXV0byBsaW5lQm94ID0gTGluZUJveCB7IGxp
bmVDb250ZW50LmxvZ2ljYWxUb3BMZWZ0LCBsaW5lTG9naWNhbFdpZHRoLCBjb250ZW50TG9naWNh
bFdpZHRoLCBydW5zLnNpemUoKSB9OworICAgIGF1dG8gaG9yaXpvbnRhbEFsaWdubWVudE9mZnNl
dCA9IExheW91dDo6aG9yaXpvbnRhbEFsaWdubWVudE9mZnNldChydW5zLCByb290Qm94KCkuc3R5
bGUoKS50ZXh0QWxpZ24oKSwgbGluZUxvZ2ljYWxXaWR0aCwgY29udGVudExvZ2ljYWxXaWR0aCwg
bGluZUNvbnRlbnQuaXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50KTsKKyAgICBhdXRvIGxpbmVC
b3ggPSBMaW5lQm94IHsgcm9vdEJveCgpLCBsaW5lQ29udGVudC5sb2dpY2FsVG9wTGVmdCwgbGlu
ZUxvZ2ljYWxXaWR0aCwgY29udGVudExvZ2ljYWxXaWR0aCwgaG9yaXpvbnRhbEFsaWdubWVudE9m
ZnNldCwgcnVucy5zaXplKCkgfTsKIAotICAgIGlmIChhdXRvIGhvcml6b250YWxBbGlnbm1lbnRP
ZmZzZXQgPSBMYXlvdXQ6Omhvcml6b250YWxBbGlnbm1lbnRPZmZzZXQocnVucywgcm9vdEJveCgp
LnN0eWxlKCkudGV4dEFsaWduKCksIGxpbmVMb2dpY2FsV2lkdGgsIGNvbnRlbnRMb2dpY2FsV2lk
dGgsIGxpbmVDb250ZW50LmlzTGFzdExpbmVXaXRoSW5saW5lQ29udGVudCkpCi0gICAgICAgIGxp
bmVCb3guc2V0SG9yaXpvbnRhbEFsaWdubWVudE9mZnNldCgqaG9yaXpvbnRhbEFsaWdubWVudE9m
ZnNldCk7CiAgICAgY29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcyhsaW5lQm94LCBydW5zKTsKICAg
ICBpZiAobV9pbmxpbmVMZXZlbEJveGVzTmVlZFZlcnRpY2FsQWxpZ25tZW50KQogICAgICAgICBj
b21wdXRlTGluZUJveEhlaWdodEFuZEFsaWduSW5saW5lTGV2ZWxCb3hlc1ZlcnRpY2FsbHkobGlu
ZUJveCk7CkBAIC0yMDksMTUgKzIwOCw5IEBAIHZvaWQgTGluZUJveEJ1aWxkZXI6OmNvbnN0cnVj
dElubGluZUxldmVsQm94ZXMoTGluZUJveCYgbGluZUJveCwgY29uc3QgTGluZTo6UnVuCiAgICAg
ICAgIElubGluZUxheW91dFVuaXQgbGluZUJveEJvdHRvbSB7IDAgfTsKICAgICAgICAgSW5saW5l
TGF5b3V0VW5pdCByb290SW5saW5lQm94VG9wIHsgMCB9OwogICAgIH07Ci0gICAgYXV0byBzaW1w
bGlmaWVkVmVydGljYWxBbGlnbm1lbnQgPSBTaW1wbGlmaWVkVmVydGljYWxBbGlnbm1lbnQgeyB9
OwotCi0gICAgYXV0byBjcmVhdGVSb290SW5saW5lQm94ID0gWyZdIHsKLSAgICAgICAgYXV0byBy
b290SW5saW5lQm94ID0gTGluZUJveDo6SW5saW5lTGV2ZWxCb3g6OmNyZWF0ZVJvb3RJbmxpbmVC
b3gocm9vdEJveCgpLCBob3Jpem9udGFsQWxpZ21lbnRPZmZzZXQsIGxpbmVCb3guY29udGVudExv
Z2ljYWxXaWR0aCgpKTsKLSAgICAgICAgc2V0VmVydGljYWxHZW9tZXRyeUZvcklubGluZUJveCgq
cm9vdElubGluZUJveCk7Ci0gICAgICAgIHNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudCA9IHsg
eyB9ICwgcm9vdElubGluZUJveC0+bGF5b3V0Qm91bmRzKCkuaGVpZ2h0KCksIHJvb3RJbmxpbmVC
b3gtPmxheW91dEJvdW5kcygpLmFzY2VudCAtIHJvb3RJbmxpbmVCb3gtPmJhc2VsaW5lKCkgfTsK
LSAgICAgICAgbGluZUJveC5hZGRSb290SW5saW5lQm94KFdURk1vdmUocm9vdElubGluZUJveCkp
OwotICAgIH07Ci0gICAgY3JlYXRlUm9vdElubGluZUJveCgpOworICAgIGF1dG8mIHJvb3RJbmxp
bmVCb3ggPSBsaW5lQm94LnJvb3RJbmxpbmVCb3goKTsKKyAgICBzZXRWZXJ0aWNhbEdlb21ldHJ5
Rm9ySW5saW5lQm94KHJvb3RJbmxpbmVCb3gpOworICAgIGF1dG8gc2ltcGxpZmllZFZlcnRpY2Fs
QWxpZ25tZW50ID0gU2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50IHsgeyB9ICwgcm9vdElubGlu
ZUJveC5sYXlvdXRCb3VuZHMoKS5oZWlnaHQoKSwgcm9vdElubGluZUJveC5sYXlvdXRCb3VuZHMo
KS5hc2NlbnQgLSByb290SW5saW5lQm94LmJhc2VsaW5lKCkgfTsKIAogICAgIGF1dG8gY3JlYXRl
V3JhcHBlZElubGluZUJveGVzID0gWyZdIHsKICAgICAgICAgaWYgKHJ1bnMuaXNFbXB0eSgpKQpA
QCAtMjU1LDcgKzI0OCw2IEBAIHZvaWQgTGluZUJveEJ1aWxkZXI6OmNvbnN0cnVjdElubGluZUxl
dmVsQm94ZXMoTGluZUJveCYgbGluZUJveCwgY29uc3QgTGluZTo6UnVuCiAgICAgfTsKICAgICBj
cmVhdGVXcmFwcGVkSW5saW5lQm94ZXMoKTsKIAotICAgIGF1dG8mIHJvb3RJbmxpbmVCb3ggPSBs
aW5lQm94LnJvb3RJbmxpbmVCb3goKTsKICAgICBhdXRvIGxpbmVIYXNDb250ZW50ID0gZmFsc2U7
CiAgICAgZm9yIChhdXRvJiBydW4gOiBydW5zKSB7CiAgICAgICAgIGF1dG8mIGxheW91dEJveCA9
IHJ1bi5sYXlvdXRCb3goKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxp
bmVmb3JtYXR0aW5nL0lubGluZUxpbmVCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
bGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJveC5jcHAKaW5kZXggYjhhMGM2YTU0MjExYWQ0Nzhl
NzVlMDMwNDNjYzE4ODA4N2UyNGVmYy4uYjRkYTMyNzdlZTkyYjYxMzg4NjQwMDNkNTI1YTA2YTZm
ZmVkNDY1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRp
bmcvSW5saW5lTGluZUJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZv
cm1hdHRpbmcvSW5saW5lTGluZUJveC5jcHAKQEAgLTgzLDE4ICs4MywxNSBAQCBib29sIExpbmVC
b3g6OklubGluZUxldmVsQm94OjpoYXNMaW5lQm94UmVsYXRpdmVBbGlnbm1lbnQoKSBjb25zdAog
ICAgIHJldHVybiB2ZXJ0aWNhbEFsaWdubWVudCA9PSBWZXJ0aWNhbEFsaWduOjpUb3AgfHwgdmVy
dGljYWxBbGlnbm1lbnQgPT0gVmVydGljYWxBbGlnbjo6Qm90dG9tOwogfQogCi1MaW5lQm94OjpM
aW5lQm94KGNvbnN0IElubGluZUxheW91dFBvaW50JiBsb2dpY2FsVG9wbGVmdCwgSW5saW5lTGF5
b3V0VW5pdCBsaW5lTG9naWNhbFdpZHRoLCBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2Fs
V2lkdGgsIHNpemVfdCBudW1iZXJPZlJ1bnMpCitMaW5lQm94OjpMaW5lQm94KGNvbnN0IEJveCYg
cm9vdExheW91dEJveCwgY29uc3QgSW5saW5lTGF5b3V0UG9pbnQmIGxvZ2ljYWxUb3BsZWZ0LCBJ
bmxpbmVMYXlvdXRVbml0IGxpbmVMb2dpY2FsV2lkdGgsIElubGluZUxheW91dFVuaXQgY29udGVu
dExvZ2ljYWxXaWR0aCwgT3B0aW9uYWw8SW5saW5lTGF5b3V0VW5pdD4gaG9yaXpvbnRhbEFsaWdu
bWVudE9mZnNldCwgc2l6ZV90IG51bWJlck9mUnVucykKICAgICA6IG1fbG9naWNhbFJlY3QobG9n
aWNhbFRvcGxlZnQsIElubGluZUxheW91dFNpemUgeyBsaW5lTG9naWNhbFdpZHRoLCB7IH0gfSkK
ICAgICAsIG1fY29udGVudExvZ2ljYWxXaWR0aChjb250ZW50TG9naWNhbFdpZHRoKQorICAgICwg
bV9ob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KGhvcml6b250YWxBbGlnbm1lbnRPZmZzZXQpCiB7
CisgICAgbV9yb290SW5saW5lQm94ID0gbWFrZVVuaXF1ZTxMaW5lQm94OjpJbmxpbmVMZXZlbEJv
eD4ocm9vdExheW91dEJveCwgaG9yaXpvbnRhbEFsaWdubWVudE9mZnNldC52YWx1ZU9yKElubGlu
ZUxheW91dFVuaXQgeyB9KSwgSW5saW5lTGF5b3V0U2l6ZSB7IGNvbnRlbnRMb2dpY2FsV2lkdGgs
IHsgfSB9LCBJbmxpbmVMZXZlbEJveDo6VHlwZTo6Um9vdElubGluZUJveCk7CiAgICAgbV9ub25S
b290SW5saW5lTGV2ZWxCb3hMaXN0LnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobnVtYmVyT2ZSdW5z
KTsKICAgICBtX2lubGluZUxldmVsQm94UmVjdE1hcC5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG51
bWJlck9mUnVucyk7Ci19Ci0KLXZvaWQgTGluZUJveDo6YWRkUm9vdElubGluZUJveChzdGQ6OnVu
aXF1ZV9wdHI8SW5saW5lTGV2ZWxCb3g+JiYgcm9vdElubGluZUJveCkKLXsKLSAgICBzdGQ6OmV4
Y2hhbmdlKG1fcm9vdElubGluZUJveCwgV1RGTW92ZShyb290SW5saW5lQm94KSk7Ci0gICAgbV9p
bmxpbmVMZXZlbEJveFJlY3RNYXAuc2V0KCZtX3Jvb3RJbmxpbmVCb3gtPmxheW91dEJveCgpLCBt
X3Jvb3RJbmxpbmVCb3guZ2V0KCkpOworICAgIG1faW5saW5lTGV2ZWxCb3hSZWN0TWFwLnNldCgm
cm9vdExheW91dEJveCwgbV9yb290SW5saW5lQm94LmdldCgpKTsKIH0KIAogdm9pZCBMaW5lQm94
OjphZGRJbmxpbmVMZXZlbEJveChzdGQ6OnVuaXF1ZV9wdHI8SW5saW5lTGV2ZWxCb3g+JiYgaW5s
aW5lTGV2ZWxCb3gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9y
bWF0dGluZy9JbmxpbmVMaW5lQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9y
bWF0dGluZy9JbmxpbmVMaW5lQm94LmgKaW5kZXggNGQzMThjZDNjZDRjZmEwYzczNGE3ZjEwOWIz
N2E2ZDgwZjBiMDYzNy4uZTYxYmYzYTg3NjU2ODMyODdiYTc3ZWVkZmI2YThhZThiYWUwOWQyNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5l
TGluZUJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lu
bGluZUxpbmVCb3guaApAQCAtNjAsNyArNjAsNiBAQCBwdWJsaWM6CiAgICAgc3RydWN0IElubGlu
ZUxldmVsQm94IHsKICAgICAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTkxJTkUoSW5saW5l
TGV2ZWxCb3gpOwogICAgIHB1YmxpYzoKLSAgICAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxM
aW5lQm94OjpJbmxpbmVMZXZlbEJveD4gY3JlYXRlUm9vdElubGluZUJveChjb25zdCBCb3gmLCBJ
bmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxMZWZ0LCBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxXaWR0
aCk7CiAgICAgICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8TGluZUJveDo6SW5saW5lTGV2ZWxC
b3g+IGNyZWF0ZUlubGluZUJveChjb25zdCBCb3gmLCBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxM
ZWZ0LCBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCk7CiAgICAgICAgIHN0YXRpYyBzdGQ6
OnVuaXF1ZV9wdHI8TGluZUJveDo6SW5saW5lTGV2ZWxCb3g+IGNyZWF0ZUF0b21pY0lubGluZUxl
dmVsQm94KGNvbnN0IEJveCYsIElubGluZUxheW91dFVuaXQgbG9naWNhbExlZnQsIElubGluZUxh
eW91dFNpemUpOwogICAgICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPExpbmVCb3g6OklubGlu
ZUxldmVsQm94PiBjcmVhdGVMaW5lQnJlYWtCb3goY29uc3QgQm94JiwgSW5saW5lTGF5b3V0VW5p
dCBsb2dpY2FsTGVmdCk7CkBAIC0xMzEsNyArMTMwLDcgQEAgcHVibGljOgogICAgICAgICBUeXBl
IG1fdHlwZSB7IFR5cGU6OklubGluZUJveCB9OwogICAgIH07CiAKLSAgICBMaW5lQm94KGNvbnN0
IElubGluZUxheW91dFBvaW50JiBsb2dpY2FsVG9wTGVmdCwgSW5saW5lTGF5b3V0VW5pdCBsaW5l
TG9naWNhbFdpZHRoLCBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsV2lkdGgsIHNpemVf
dCBudW1iZXJPZlJ1bnMpOworICAgIExpbmVCb3goY29uc3QgQm94JiByb290TGF5b3V0Qm94LCBj
b25zdCBJbmxpbmVMYXlvdXRQb2ludCYgbG9naWNhbFRvcExlZnQsIElubGluZUxheW91dFVuaXQg
bGluZUxvZ2ljYWxXaWR0aCwgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbFdpZHRoLCBP
cHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0LCBzaXpl
X3QgbnVtYmVyT2ZSdW5zKTsKIAogICAgIGNvbnN0IElubGluZVJlY3QmIGxvZ2ljYWxSZWN0KCkg
Y29uc3QgeyByZXR1cm4gbV9sb2dpY2FsUmVjdDsgfQogICAgIElubGluZUxheW91dFVuaXQgbG9n
aWNhbFdpZHRoKCkgY29uc3QgeyByZXR1cm4gbG9naWNhbFNpemUoKS53aWR0aCgpOyB9CkBAIC0x
NjgsNyArMTY3LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldExvZ2ljYWxIZWlnaHQoSW5saW5l
TGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0KSB7IG1fbG9naWNhbFJlY3Quc2V0SGVpZ2h0KGxvZ2lj
YWxIZWlnaHQpOyB9CiAgICAgdm9pZCBzZXRIb3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KElubGlu
ZUxheW91dFVuaXQgaG9yaXpvbnRhbEFsaWdubWVudE9mZnNldCkgeyBtX2hvcml6b250YWxBbGln
bm1lbnRPZmZzZXQgPSBob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0OyB9CiAKLSAgICB2b2lkIGFk
ZFJvb3RJbmxpbmVCb3goc3RkOjp1bmlxdWVfcHRyPElubGluZUxldmVsQm94PiYmKTsKICAgICB2
b2lkIGFkZElubGluZUxldmVsQm94KHN0ZDo6dW5pcXVlX3B0cjxJbmxpbmVMZXZlbEJveD4mJik7
CiAKICAgICBJbmxpbmVMZXZlbEJveCYgcm9vdElubGluZUJveCgpIHsgcmV0dXJuICptX3Jvb3RJ
bmxpbmVCb3g7IH0KQEAgLTE5MSwxMSArMTg5LDYgQEAgcHJpdmF0ZToKICAgICBIYXNoTWFwPGNv
bnN0IEJveCosIElubGluZUxldmVsQm94Kj4gbV9pbmxpbmVMZXZlbEJveFJlY3RNYXA7CiB9Owog
Ci1pbmxpbmUgc3RkOjp1bmlxdWVfcHRyPExpbmVCb3g6OklubGluZUxldmVsQm94PiBMaW5lQm94
OjpJbmxpbmVMZXZlbEJveDo6Y3JlYXRlUm9vdElubGluZUJveChjb25zdCBCb3gmIGxheW91dEJv
eCwgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsTGVmdCwgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2Fs
V2lkdGgpCi17Ci0gICAgcmV0dXJuIG1ha2VVbmlxdWU8TGluZUJveDo6SW5saW5lTGV2ZWxCb3g+
KGxheW91dEJveCwgbG9naWNhbExlZnQsIElubGluZUxheW91dFNpemUgeyBsb2dpY2FsV2lkdGgs
IHsgfSB9LCBUeXBlOjpSb290SW5saW5lQm94KTsKLX0KLQogaW5saW5lIHN0ZDo6dW5pcXVlX3B0
cjxMaW5lQm94OjpJbmxpbmVMZXZlbEJveD4gTGluZUJveDo6SW5saW5lTGV2ZWxCb3g6OmNyZWF0
ZUF0b21pY0lubGluZUxldmVsQm94KGNvbnN0IEJveCYgbGF5b3V0Qm94LCBJbmxpbmVMYXlvdXRV
bml0IGxvZ2ljYWxMZWZ0LCBJbmxpbmVMYXlvdXRTaXplIGxvZ2ljYWxTaXplKQogewogICAgIHJl
dHVybiBtYWtlVW5pcXVlPExpbmVCb3g6OklubGluZUxldmVsQm94PihsYXlvdXRCb3gsIGxvZ2lj
YWxMZWZ0LCBsb2dpY2FsU2l6ZSwgVHlwZTo6QXRvbWljSW5saW5lTGV2ZWxCb3gpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421765</attachid>
            <date>2021-02-27 20:50:42 -0800</date>
            <delta_ts>2021-02-28 08:22:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222520-20210227205041.patch</filename>
            <type>text/plain</type>
            <size>11500</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNTk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWE3YmUwYzRhZDQzMTQ3
MmRiZTg3MTk0M2YxYjZjYmU2YjdiZTNlYS4uZDgxYjZhZjk2MDgyODUyMTJjMmE2MGY3N2MwNWJh
NmQ0ODkxNDcyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTAyLTI3ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBFdmVyeSBs
aW5lIGJveCBtdXN0IGhhdmUgYSByb290IGlubGluZSBib3gKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMjUyMAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIExldCdzIGNyZWF0ZSB0aGUgcm9vdCBpbmxpbmUg
Ym94IGR1cmluZyBMaW5lQm94IGNvbnN0cnVjdGlvbiBhcyBldmVuCisgICAgICAgIGFuIGVtcHR5
IExpbmVCb3ggaGFzIHRvIGhhdmUgYSByb290IGlubGluZSBib3guCisKKyAgICAgICAgKiBsYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6bV9yb290SW5saW5lQm94KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGlu
ZUJveDo6bG9naWNhbFJlY3RGb3JUZXh0UnVuIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dDo6TGluZUJveDo6bG9naWNhbFJlY3RGb3JJbmxpbmVMZXZlbEJveCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6Om1faG9yaXpvbnRhbEFsaWdubWVudE9mZnNldCk6IERlbGV0
ZWQuCisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJveC5oOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94Ojpyb290SW5saW5lQm94IGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJveDo6cm9vdElubGluZUJveCk6CisKIDIw
MjEtMDItMjYgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFtQ
YXltZW50IFJlcXVlc3RdIGxvZyB3aGVuIHRoZSByZXF1ZXN0IGlzIGNhbmNlbGxlZCB3aGlsZSB3
YWl0aW5nIGZvciB0aGUgYFByb21pc2VgIHByb3ZpZGVkIHRvIGBzaG93KClgL2B1cGRhdGVXaXRo
KClgIHRvIHNldHRsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZv
cm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dEdlb21l
dHJ5LmNwcAppbmRleCA4MDY2YmFiZmU2N2ZmZWI3NDY5MTBhMGUyZmQ2NjA5ZDg2MTRhMTA5Li4y
MjJiNWM2MGNlNDUzMWZjZGJhMjIwMTQ3NWI2M2M4ZjIwMmU5OGU4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4
dEdlb21ldHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGlu
Zy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcApAQCAtMTU3LDEwICsxNTcsOSBA
QCBMaW5lQm94IExpbmVCb3hCdWlsZGVyOjpidWlsZChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNv
bnRlbnQmIGxpbmVDb250ZW50KQogICAgIGF1dG8mIHJ1bnMgPSBsaW5lQ29udGVudC5ydW5zOwog
ICAgIGF1dG8gbGluZUxvZ2ljYWxXaWR0aCA9IGxpbmVDb250ZW50LmxpbmVMb2dpY2FsV2lkdGg7
CiAgICAgYXV0byBjb250ZW50TG9naWNhbFdpZHRoID0gbGluZUNvbnRlbnQuY29udGVudExvZ2lj
YWxXaWR0aDsKLSAgICBhdXRvIGxpbmVCb3ggPSBMaW5lQm94IHsgbGluZUNvbnRlbnQubG9naWNh
bFRvcExlZnQsIGxpbmVMb2dpY2FsV2lkdGgsIGNvbnRlbnRMb2dpY2FsV2lkdGgsIHJ1bnMuc2l6
ZSgpIH07CisgICAgYXV0byBob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0ID0gTGF5b3V0Ojpob3Jp
em9udGFsQWxpZ25tZW50T2Zmc2V0KHJ1bnMsIHJvb3RCb3goKS5zdHlsZSgpLnRleHRBbGlnbigp
LCBsaW5lTG9naWNhbFdpZHRoLCBjb250ZW50TG9naWNhbFdpZHRoLCBsaW5lQ29udGVudC5pc0xh
c3RMaW5lV2l0aElubGluZUNvbnRlbnQpOworICAgIGF1dG8gbGluZUJveCA9IExpbmVCb3ggeyBy
b290Qm94KCksIGxpbmVDb250ZW50LmxvZ2ljYWxUb3BMZWZ0LCBsaW5lTG9naWNhbFdpZHRoLCBj
b250ZW50TG9naWNhbFdpZHRoLCBob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0LCBydW5zLnNpemUo
KSB9OwogCi0gICAgaWYgKGF1dG8gaG9yaXpvbnRhbEFsaWdubWVudE9mZnNldCA9IExheW91dDo6
aG9yaXpvbnRhbEFsaWdubWVudE9mZnNldChydW5zLCByb290Qm94KCkuc3R5bGUoKS50ZXh0QWxp
Z24oKSwgbGluZUxvZ2ljYWxXaWR0aCwgY29udGVudExvZ2ljYWxXaWR0aCwgbGluZUNvbnRlbnQu
aXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50KSkKLSAgICAgICAgbGluZUJveC5zZXRIb3Jpem9u
dGFsQWxpZ25tZW50T2Zmc2V0KCpob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KTsKICAgICBjb25z
dHJ1Y3RJbmxpbmVMZXZlbEJveGVzKGxpbmVCb3gsIHJ1bnMpOwogICAgIGlmIChtX2lubGluZUxl
dmVsQm94ZXNOZWVkVmVydGljYWxBbGlnbm1lbnQpCiAgICAgICAgIGNvbXB1dGVMaW5lQm94SGVp
Z2h0QW5kQWxpZ25JbmxpbmVMZXZlbEJveGVzVmVydGljYWxseShsaW5lQm94KTsKQEAgLTIwOSwx
NSArMjA4LDkgQEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6Y29uc3RydWN0SW5saW5lTGV2ZWxCb3hl
cyhMaW5lQm94JiBsaW5lQm94LCBjb25zdCBMaW5lOjpSdW4KICAgICAgICAgSW5saW5lTGF5b3V0
VW5pdCBsaW5lQm94Qm90dG9tIHsgMCB9OwogICAgICAgICBJbmxpbmVMYXlvdXRVbml0IHJvb3RJ
bmxpbmVCb3hUb3AgeyAwIH07CiAgICAgfTsKLSAgICBhdXRvIHNpbXBsaWZpZWRWZXJ0aWNhbEFs
aWdubWVudCA9IFNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudCB7IH07Ci0KLSAgICBhdXRvIGNy
ZWF0ZVJvb3RJbmxpbmVCb3ggPSBbJl0gewotICAgICAgICBhdXRvIHJvb3RJbmxpbmVCb3ggPSBM
aW5lQm94OjpJbmxpbmVMZXZlbEJveDo6Y3JlYXRlUm9vdElubGluZUJveChyb290Qm94KCksIGhv
cml6b250YWxBbGlnbWVudE9mZnNldCwgbGluZUJveC5jb250ZW50TG9naWNhbFdpZHRoKCkpOwot
ICAgICAgICBzZXRWZXJ0aWNhbEdlb21ldHJ5Rm9ySW5saW5lQm94KCpyb290SW5saW5lQm94KTsK
LSAgICAgICAgc2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50ID0geyB7IH0gLCByb290SW5saW5l
Qm94LT5sYXlvdXRCb3VuZHMoKS5oZWlnaHQoKSwgcm9vdElubGluZUJveC0+bGF5b3V0Qm91bmRz
KCkuYXNjZW50IC0gcm9vdElubGluZUJveC0+YmFzZWxpbmUoKSB9OwotICAgICAgICBsaW5lQm94
LmFkZFJvb3RJbmxpbmVCb3goV1RGTW92ZShyb290SW5saW5lQm94KSk7Ci0gICAgfTsKLSAgICBj
cmVhdGVSb290SW5saW5lQm94KCk7CisgICAgYXV0byYgcm9vdElubGluZUJveCA9IGxpbmVCb3gu
cm9vdElubGluZUJveCgpOworICAgIHNldFZlcnRpY2FsR2VvbWV0cnlGb3JJbmxpbmVCb3gocm9v
dElubGluZUJveCk7CisgICAgYXV0byBzaW1wbGlmaWVkVmVydGljYWxBbGlnbm1lbnQgPSBTaW1w
bGlmaWVkVmVydGljYWxBbGlnbm1lbnQgeyB7IH0gLCByb290SW5saW5lQm94LmxheW91dEJvdW5k
cygpLmhlaWdodCgpLCByb290SW5saW5lQm94LmxheW91dEJvdW5kcygpLmFzY2VudCAtIHJvb3RJ
bmxpbmVCb3guYmFzZWxpbmUoKSB9OwogCiAgICAgYXV0byBjcmVhdGVXcmFwcGVkSW5saW5lQm94
ZXMgPSBbJl0gewogICAgICAgICBpZiAocnVucy5pc0VtcHR5KCkpCkBAIC0yNTUsNyArMjQ4LDYg
QEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6Y29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcyhMaW5lQm94
JiBsaW5lQm94LCBjb25zdCBMaW5lOjpSdW4KICAgICB9OwogICAgIGNyZWF0ZVdyYXBwZWRJbmxp
bmVCb3hlcygpOwogCi0gICAgYXV0byYgcm9vdElubGluZUJveCA9IGxpbmVCb3gucm9vdElubGlu
ZUJveCgpOwogICAgIGF1dG8gbGluZUhhc0NvbnRlbnQgPSBmYWxzZTsKICAgICBmb3IgKGF1dG8m
IHJ1biA6IHJ1bnMpIHsKICAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gcnVuLmxheW91dEJveCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5s
aW5lTGluZUJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9J
bmxpbmVMaW5lQm94LmNwcAppbmRleCBiOGEwYzZhNTQyMTFhZDQ3OGU3NWUwMzA0M2NjMTg4MDg3
ZTI0ZWZjLi41MDBiNmRhNTE2YzcyZjdkMDdkODk1MDY4MGE3NGYwMjNkNWI0OTllIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQm94
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVM
aW5lQm94LmNwcApAQCAtODMsMTggKzgzLDE1IEBAIGJvb2wgTGluZUJveDo6SW5saW5lTGV2ZWxC
b3g6Omhhc0xpbmVCb3hSZWxhdGl2ZUFsaWdubWVudCgpIGNvbnN0CiAgICAgcmV0dXJuIHZlcnRp
Y2FsQWxpZ25tZW50ID09IFZlcnRpY2FsQWxpZ246OlRvcCB8fCB2ZXJ0aWNhbEFsaWdubWVudCA9
PSBWZXJ0aWNhbEFsaWduOjpCb3R0b207CiB9CiAKLUxpbmVCb3g6OkxpbmVCb3goY29uc3QgSW5s
aW5lTGF5b3V0UG9pbnQmIGxvZ2ljYWxUb3BsZWZ0LCBJbmxpbmVMYXlvdXRVbml0IGxpbmVMb2dp
Y2FsV2lkdGgsIElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxXaWR0aCwgc2l6ZV90IG51
bWJlck9mUnVucykKK0xpbmVCb3g6OkxpbmVCb3goY29uc3QgQm94JiByb290TGF5b3V0Qm94LCBj
b25zdCBJbmxpbmVMYXlvdXRQb2ludCYgbG9naWNhbFRvcGxlZnQsIElubGluZUxheW91dFVuaXQg
bGluZUxvZ2ljYWxXaWR0aCwgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbFdpZHRoLCBP
cHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0LCBzaXpl
X3QgbnVtYmVyT2ZSdW5zKQogICAgIDogbV9sb2dpY2FsUmVjdChsb2dpY2FsVG9wbGVmdCwgSW5s
aW5lTGF5b3V0U2l6ZSB7IGxpbmVMb2dpY2FsV2lkdGgsIHsgfSB9KQogICAgICwgbV9jb250ZW50
TG9naWNhbFdpZHRoKGNvbnRlbnRMb2dpY2FsV2lkdGgpCisgICAgLCBtX2hvcml6b250YWxBbGln
bm1lbnRPZmZzZXQoaG9yaXpvbnRhbEFsaWdubWVudE9mZnNldCkKKyAgICAsIG1fcm9vdElubGlu
ZUJveChtYWtlVW5pcXVlUmVmPExpbmVCb3g6OklubGluZUxldmVsQm94Pihyb290TGF5b3V0Qm94
LCBob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0LnZhbHVlT3IoSW5saW5lTGF5b3V0VW5pdCB7IH0p
LCBJbmxpbmVMYXlvdXRTaXplIHsgY29udGVudExvZ2ljYWxXaWR0aCwgeyB9IH0sIElubGluZUxl
dmVsQm94OjpUeXBlOjpSb290SW5saW5lQm94KSkKIHsKICAgICBtX25vblJvb3RJbmxpbmVMZXZl
bEJveExpc3QucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShudW1iZXJPZlJ1bnMpOwogICAgIG1faW5s
aW5lTGV2ZWxCb3hSZWN0TWFwLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobnVtYmVyT2ZSdW5zKTsK
LX0KLQotdm9pZCBMaW5lQm94OjphZGRSb290SW5saW5lQm94KHN0ZDo6dW5pcXVlX3B0cjxJbmxp
bmVMZXZlbEJveD4mJiByb290SW5saW5lQm94KQotewotICAgIHN0ZDo6ZXhjaGFuZ2UobV9yb290
SW5saW5lQm94LCBXVEZNb3ZlKHJvb3RJbmxpbmVCb3gpKTsKLSAgICBtX2lubGluZUxldmVsQm94
UmVjdE1hcC5zZXQoJm1fcm9vdElubGluZUJveC0+bGF5b3V0Qm94KCksIG1fcm9vdElubGluZUJv
eC5nZXQoKSk7CisgICAgbV9pbmxpbmVMZXZlbEJveFJlY3RNYXAuc2V0KCZyb290TGF5b3V0Qm94
LCAmbV9yb290SW5saW5lQm94KTsKIH0KIAogdm9pZCBMaW5lQm94OjphZGRJbmxpbmVMZXZlbEJv
eChzdGQ6OnVuaXF1ZV9wdHI8SW5saW5lTGV2ZWxCb3g+JiYgaW5saW5lTGV2ZWxCb3gpCkBAIC0x
MTIsNyArMTA5LDcgQEAgSW5saW5lUmVjdCBMaW5lQm94Ojpsb2dpY2FsUmVjdEZvclRleHRSdW4o
Y29uc3QgTGluZTo6UnVuJiBydW4pIGNvbnN0CiAgICAgYXV0byYgZm9udE1ldHJpY3MgPSBwYXJl
bnRJbmxpbmVCb3gtPnN0eWxlKCkuZm9udE1ldHJpY3MoKTsKICAgICBhdXRvIHJ1bmxvZ2ljYWxU
b3AgPSBwYXJlbnRJbmxpbmVCb3gtPmxvZ2ljYWxUb3AoKSArIHBhcmVudElubGluZUJveC0+YmFz
ZWxpbmUoKSAtIGZvbnRNZXRyaWNzLmFzY2VudCgpOwogCi0gICAgd2hpbGUgKHBhcmVudElubGlu
ZUJveCAhPSBtX3Jvb3RJbmxpbmVCb3guZ2V0KCkgJiYgIXBhcmVudElubGluZUJveC0+aGFzTGlu
ZUJveFJlbGF0aXZlQWxpZ25tZW50KCkpIHsKKyAgICB3aGlsZSAocGFyZW50SW5saW5lQm94ICE9
ICZtX3Jvb3RJbmxpbmVCb3ggJiYgIXBhcmVudElubGluZUJveC0+aGFzTGluZUJveFJlbGF0aXZl
QWxpZ25tZW50KCkpIHsKICAgICAgICAgcGFyZW50SW5saW5lQm94ID0gJmlubGluZUxldmVsQm94
Rm9yTGF5b3V0Qm94KHBhcmVudElubGluZUJveC0+bGF5b3V0Qm94KCkucGFyZW50KCkpOwogICAg
ICAgICBBU1NFUlQocGFyZW50SW5saW5lQm94LT5pc0lubGluZUJveCgpKTsKICAgICAgICAgcnVu
bG9naWNhbFRvcCArPSBwYXJlbnRJbmxpbmVCb3gtPmxvZ2ljYWxUb3AoKTsKQEAgLTE0NCw3ICsx
NDEsNyBAQCBJbmxpbmVSZWN0IExpbmVCb3g6OmxvZ2ljYWxSZWN0Rm9ySW5saW5lTGV2ZWxCb3go
Y29uc3QgQm94JiBsYXlvdXRCb3gpIGNvbnN0CiAKICAgICAvLyBlLmcgPGRpdj48c3Bhbj48aW1n
Pjwvc3Bhbj48L2Rpdj4KICAgICBhdXRvIGlubGluZUJveEFic29sdXRlbG9naWNhbFRvcCA9IGlu
bGluZUJveExvZ2ljYWxSZWN0LnRvcCgpOwotICAgIHdoaWxlIChpbmxpbmVCb3ggIT0gbV9yb290
SW5saW5lQm94LmdldCgpICYmICFpbmxpbmVCb3gtPmhhc0xpbmVCb3hSZWxhdGl2ZUFsaWdubWVu
dCgpKSB7CisgICAgd2hpbGUgKGlubGluZUJveCAhPSAmbV9yb290SW5saW5lQm94ICYmICFpbmxp
bmVCb3gtPmhhc0xpbmVCb3hSZWxhdGl2ZUFsaWdubWVudCgpKSB7CiAgICAgICAgIGlubGluZUJv
eCA9ICZpbmxpbmVMZXZlbEJveEZvckxheW91dEJveChpbmxpbmVCb3gtPmxheW91dEJveCgpLnBh
cmVudCgpKTsKICAgICAgICAgQVNTRVJUKGlubGluZUJveC0+aXNJbmxpbmVCb3goKSk7CiAgICAg
ICAgIGlubGluZUJveEFic29sdXRlbG9naWNhbFRvcCArPSBpbmxpbmVCb3gtPmxvZ2ljYWxUb3Ao
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lu
bGluZUxpbmVCb3guaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lu
bGluZUxpbmVCb3guaAppbmRleCA0ZDMxOGNkM2NkNGNmYTBjNzM0YTdmMTA5YjM3YTZkODBmMGIw
NjM3Li45NjNjODRkODhjNmZhMTc2YjI5MzczYzMyZTk5NjIyMjA2OWZjMjcwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQm94LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJv
eC5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiSW5saW5lTGluZS5oIgogI2luY2x1ZGUg
IklubGluZVJlY3QuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorI2luY2x1
ZGUgPHd0Zi9VbmlxdWVSZWYuaD4KICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC02MCw3ICs2MSw2IEBAIHB1YmxpYzoKICAgICBzdHJ1Y3QgSW5saW5l
TGV2ZWxCb3ggewogICAgICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lOTElORShJbmxpbmVM
ZXZlbEJveCk7CiAgICAgcHVibGljOgotICAgICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPExp
bmVCb3g6OklubGluZUxldmVsQm94PiBjcmVhdGVSb290SW5saW5lQm94KGNvbnN0IEJveCYsIElu
bGluZUxheW91dFVuaXQgbG9naWNhbExlZnQsIElubGluZUxheW91dFVuaXQgbG9naWNhbFdpZHRo
KTsKICAgICAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxMaW5lQm94OjpJbmxpbmVMZXZlbEJv
eD4gY3JlYXRlSW5saW5lQm94KGNvbnN0IEJveCYsIElubGluZUxheW91dFVuaXQgbG9naWNhbExl
ZnQsIElubGluZUxheW91dFVuaXQgbG9naWNhbFdpZHRoKTsKICAgICAgICAgc3RhdGljIHN0ZDo6
dW5pcXVlX3B0cjxMaW5lQm94OjpJbmxpbmVMZXZlbEJveD4gY3JlYXRlQXRvbWljSW5saW5lTGV2
ZWxCb3goY29uc3QgQm94JiwgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsTGVmdCwgSW5saW5lTGF5
b3V0U2l6ZSk7CiAgICAgICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8TGluZUJveDo6SW5saW5l
TGV2ZWxCb3g+IGNyZWF0ZUxpbmVCcmVha0JveChjb25zdCBCb3gmLCBJbmxpbmVMYXlvdXRVbml0
IGxvZ2ljYWxMZWZ0KTsKQEAgLTEzMSw3ICsxMzEsNyBAQCBwdWJsaWM6CiAgICAgICAgIFR5cGUg
bV90eXBlIHsgVHlwZTo6SW5saW5lQm94IH07CiAgICAgfTsKIAotICAgIExpbmVCb3goY29uc3Qg
SW5saW5lTGF5b3V0UG9pbnQmIGxvZ2ljYWxUb3BMZWZ0LCBJbmxpbmVMYXlvdXRVbml0IGxpbmVM
b2dpY2FsV2lkdGgsIElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxXaWR0aCwgc2l6ZV90
IG51bWJlck9mUnVucyk7CisgICAgTGluZUJveChjb25zdCBCb3gmIHJvb3RMYXlvdXRCb3gsIGNv
bnN0IElubGluZUxheW91dFBvaW50JiBsb2dpY2FsVG9wTGVmdCwgSW5saW5lTGF5b3V0VW5pdCBs
aW5lTG9naWNhbFdpZHRoLCBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsV2lkdGgsIE9w
dGlvbmFsPElubGluZUxheW91dFVuaXQ+IGhvcml6b250YWxBbGlnbm1lbnRPZmZzZXQsIHNpemVf
dCBudW1iZXJPZlJ1bnMpOwogCiAgICAgY29uc3QgSW5saW5lUmVjdCYgbG9naWNhbFJlY3QoKSBj
b25zdCB7IHJldHVybiBtX2xvZ2ljYWxSZWN0OyB9CiAgICAgSW5saW5lTGF5b3V0VW5pdCBsb2dp
Y2FsV2lkdGgoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsU2l6ZSgpLndpZHRoKCk7IH0KQEAgLTE1
Niw3ICsxNTYsNyBAQCBwdWJsaWM6CiAgICAgSW5saW5lUmVjdCBsb2dpY2FsQm9yZGVyQm94Rm9y
QXRvbWljSW5saW5lTGV2ZWxCb3goY29uc3QgQm94JiwgY29uc3QgQm94R2VvbWV0cnkmKSBjb25z
dDsKICAgICBJbmxpbmVSZWN0IGxvZ2ljYWxCb3JkZXJCb3hGb3JJbmxpbmVCb3goY29uc3QgQm94
JiwgY29uc3QgQm94R2VvbWV0cnkmKSBjb25zdDsKIAotICAgIGNvbnN0IElubGluZUxldmVsQm94
JiByb290SW5saW5lQm94KCkgY29uc3QgeyByZXR1cm4gKm1fcm9vdElubGluZUJveDsgfQorICAg
IGNvbnN0IElubGluZUxldmVsQm94JiByb290SW5saW5lQm94KCkgY29uc3QgeyByZXR1cm4gbV9y
b290SW5saW5lQm94OyB9CiAgICAgdXNpbmcgSW5saW5lTGV2ZWxCb3hMaXN0ID0gVmVjdG9yPHN0
ZDo6dW5pcXVlX3B0cjxJbmxpbmVMZXZlbEJveD4+OwogICAgIGNvbnN0IElubGluZUxldmVsQm94
TGlzdCYgbm9uUm9vdElubGluZUxldmVsQm94ZXMoKSBjb25zdCB7IHJldHVybiBtX25vblJvb3RJ
bmxpbmVMZXZlbEJveExpc3Q7IH0KIApAQCAtMTY4LDEwICsxNjgsOSBAQCBwcml2YXRlOgogICAg
IHZvaWQgc2V0TG9naWNhbEhlaWdodChJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQpIHsg
bV9sb2dpY2FsUmVjdC5zZXRIZWlnaHQobG9naWNhbEhlaWdodCk7IH0KICAgICB2b2lkIHNldEhv
cml6b250YWxBbGlnbm1lbnRPZmZzZXQoSW5saW5lTGF5b3V0VW5pdCBob3Jpem9udGFsQWxpZ25t
ZW50T2Zmc2V0KSB7IG1faG9yaXpvbnRhbEFsaWdubWVudE9mZnNldCA9IGhvcml6b250YWxBbGln
bm1lbnRPZmZzZXQ7IH0KIAotICAgIHZvaWQgYWRkUm9vdElubGluZUJveChzdGQ6OnVuaXF1ZV9w
dHI8SW5saW5lTGV2ZWxCb3g+JiYpOwogICAgIHZvaWQgYWRkSW5saW5lTGV2ZWxCb3goc3RkOjp1
bmlxdWVfcHRyPElubGluZUxldmVsQm94PiYmKTsKIAotICAgIElubGluZUxldmVsQm94JiByb290
SW5saW5lQm94KCkgeyByZXR1cm4gKm1fcm9vdElubGluZUJveDsgfQorICAgIElubGluZUxldmVs
Qm94JiByb290SW5saW5lQm94KCkgeyByZXR1cm4gbV9yb290SW5saW5lQm94OyB9CiAKICAgICBJ
bmxpbmVMZXZlbEJveCYgaW5saW5lTGV2ZWxCb3hGb3JMYXlvdXRCb3goY29uc3QgQm94JiBsYXlv
dXRCb3gpIHsgcmV0dXJuICptX2lubGluZUxldmVsQm94UmVjdE1hcC5nZXQoJmxheW91dEJveCk7
IH0KICAgICBJbmxpbmVSZWN0IGxvZ2ljYWxSZWN0Rm9ySW5saW5lTGV2ZWxCb3goY29uc3QgQm94
JiBsYXlvdXRCb3gpIGNvbnN0OwpAQCAtMTg1LDE3ICsxODQsMTIgQEAgcHJpdmF0ZToKICAgICBP
cHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBtX2hvcml6b250YWxBbGlnbm1lbnRPZmZzZXQ7CiAg
ICAgT3B0aW9uU2V0PElubGluZUxldmVsQm94OjpUeXBlPiBtX2JveFR5cGVzOwogCi0gICAgc3Rk
Ojp1bmlxdWVfcHRyPElubGluZUxldmVsQm94PiBtX3Jvb3RJbmxpbmVCb3g7CisgICAgVW5pcXVl
UmVmPElubGluZUxldmVsQm94PiBtX3Jvb3RJbmxpbmVCb3g7CiAgICAgSW5saW5lTGV2ZWxCb3hM
aXN0IG1fbm9uUm9vdElubGluZUxldmVsQm94TGlzdDsKIAogICAgIEhhc2hNYXA8Y29uc3QgQm94
KiwgSW5saW5lTGV2ZWxCb3gqPiBtX2lubGluZUxldmVsQm94UmVjdE1hcDsKIH07CiAKLWlubGlu
ZSBzdGQ6OnVuaXF1ZV9wdHI8TGluZUJveDo6SW5saW5lTGV2ZWxCb3g+IExpbmVCb3g6OklubGlu
ZUxldmVsQm94OjpjcmVhdGVSb290SW5saW5lQm94KGNvbnN0IEJveCYgbGF5b3V0Qm94LCBJbmxp
bmVMYXlvdXRVbml0IGxvZ2ljYWxMZWZ0LCBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCkK
LXsKLSAgICByZXR1cm4gbWFrZVVuaXF1ZTxMaW5lQm94OjpJbmxpbmVMZXZlbEJveD4obGF5b3V0
Qm94LCBsb2dpY2FsTGVmdCwgSW5saW5lTGF5b3V0U2l6ZSB7IGxvZ2ljYWxXaWR0aCwgeyB9IH0s
IFR5cGU6OlJvb3RJbmxpbmVCb3gpOwotfQotCiBpbmxpbmUgc3RkOjp1bmlxdWVfcHRyPExpbmVC
b3g6OklubGluZUxldmVsQm94PiBMaW5lQm94OjpJbmxpbmVMZXZlbEJveDo6Y3JlYXRlQXRvbWlj
SW5saW5lTGV2ZWxCb3goY29uc3QgQm94JiBsYXlvdXRCb3gsIElubGluZUxheW91dFVuaXQgbG9n
aWNhbExlZnQsIElubGluZUxheW91dFNpemUgbG9naWNhbFNpemUpCiB7CiAgICAgcmV0dXJuIG1h
a2VVbmlxdWU8TGluZUJveDo6SW5saW5lTGV2ZWxCb3g+KGxheW91dEJveCwgbG9naWNhbExlZnQs
IGxvZ2ljYWxTaXplLCBUeXBlOjpBdG9taWNJbmxpbmVMZXZlbEJveCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>