<?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>218401</bug_id>
          
          <creation_ts>2020-10-30 12:56:44 -0700</creation_ts>
          <short_desc>[GPU Process] Flush canvas displayList from doAfterUpdateRendering</short_desc>
          <delta_ts>2020-11-03 13:25:18 -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>Canvas</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="Rini Patel">rini_patel</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1703167</commentid>
    <comment_count>0</comment_count>
    <who name="Rini Patel">rini_patel</who>
    <bug_when>2020-10-30 12:56:44 -0700</bug_when>
    <thetext>&lt;rdar://problem/70891766&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703188</commentid>
    <comment_count>1</comment_count>
      <attachid>412791</attachid>
    <who name="Rini Patel">rini_patel</who>
    <bug_when>2020-10-30 13:38:39 -0700</bug_when>
    <thetext>Created attachment 412791
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703191</commentid>
    <comment_count>2</comment_count>
      <attachid>412791</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-10-30 13:45:13 -0700</bug_when>
    <thetext>Comment on attachment 412791
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +
&gt; +        No new tests (OOPS!).

This needs some explanation for the change. Remove the &quot;No new tests&quot; line.

&gt; Source/WebCore/html/HTMLCanvasElement.cpp:373
&gt; +    if (m_context)
&gt; +        addObserver(document());

I don&apos;t think you should do this unconditionally. You should only do this when GPU Process is active. In fact, you should only do this when GPU Process is active, and drawing has occurred since the last flush.

&gt; Source/WebCore/html/canvas/CanvasRenderingContext2DBase.h:310
&gt; +    bool needsPreparationForDisplay() const final { return true; }

This can&apos;t be unconditional. You should only return true when using the GPU backend. Ideally it would only return true if there is new drawing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703579</commentid>
    <comment_count>3</comment_count>
      <attachid>412939</attachid>
    <who name="Rini Patel">rini_patel</who>
    <bug_when>2020-11-02 10:27:11 -0800</bug_when>
    <thetext>Created attachment 412939
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703582</commentid>
    <comment_count>4</comment_count>
    <who name="Rini Patel">rini_patel</who>
    <bug_when>2020-11-02 10:33:56 -0800</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #2)
&gt; Comment on attachment 412791 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=412791&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:8
&gt; &gt; +
&gt; &gt; +        No new tests (OOPS!).
&gt; 
&gt; This needs some explanation for the change. Remove the &quot;No new tests&quot; line.
&gt; 
&gt; &gt; Source/WebCore/html/HTMLCanvasElement.cpp:373
&gt; &gt; +    if (m_context)
&gt; &gt; +        addObserver(document());
&gt; 
&gt; I don&apos;t think you should do this unconditionally. You should only do this
&gt; when GPU Process is active. In fact, you should only do this when GPU
&gt; Process is active, and drawing has occurred since the last flush.
&gt; 
&gt; &gt; Source/WebCore/html/canvas/CanvasRenderingContext2DBase.h:310
&gt; &gt; +    bool needsPreparationForDisplay() const final { return true; }
&gt; 
&gt; This can&apos;t be unconditional. You should only return true when using the GPU
&gt; backend. Ideally it would only return true if there is new drawing.

We only flush from flushDrawingContextAndCommit() if there&apos;re new items in display list after the last flush. Should that be enough?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703591</commentid>
    <comment_count>5</comment_count>
      <attachid>412939</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-11-02 10:49:54 -0800</bug_when>
    <thetext>Comment on attachment 412939
Patch

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

&gt; Source/WebCore/html/HTMLCanvasElement.cpp:375
&gt; +#if ENABLE(GPU_PROCESS)
&gt; +    if (m_context)
&gt; +        addObserver(document());
&gt; +#endif

It seems inherently wrong for WebCore to have to care about the GPU Process, so this #ifdef should really never be used in WebCore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703605</commentid>
    <comment_count>6</comment_count>
      <attachid>412939</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-11-02 11:04:28 -0800</bug_when>
    <thetext>Comment on attachment 412939
Patch

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

&gt; Source/WebCore/html/HTMLCanvasElement.cpp:375
&gt; +#if ENABLE(GPU_PROCESS)
&gt; +    if (m_context)
&gt; +        addObserver(document());
&gt; +#endif

This needs to be a runtime check not a compile-time check, and should only happen when we make a remote image buffer.

&gt; Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp:2051
&gt; +    if (buffer &amp;&amp; buffer-&gt;renderingResourceIdentifier())

I don&apos;t think checking for a renderingResourceIdentifier is the right approach. Maybe add ImageBuffer::flushContextAsync() and just call it always, then specialize the remote image buffer to flush the display list etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703794</commentid>
    <comment_count>7</comment_count>
      <attachid>412996</attachid>
    <who name="Rini Patel">rini_patel</who>
    <bug_when>2020-11-02 19:27:43 -0800</bug_when>
    <thetext>Created attachment 412996
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704045</commentid>
    <comment_count>8</comment_count>
      <attachid>412996</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-11-03 09:52:52 -0800</bug_when>
    <thetext>Comment on attachment 412996
Patch

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

Almost there! Let&apos;s do one more round.

&gt; Source/WebCore/html/canvas/CanvasRenderingContext2DBase.h:310
&gt; +    bool needsPreparationForDisplay() const final { return true; }

This needs to also consult the buffer&apos;s shouldEagerlyFlush(), otherwise you&apos;ve changed the behavior at Document::canvasChanged().

&gt; Source/WebCore/platform/graphics/ImageBuffer.h:71
&gt; +    virtual bool shouldEagerlyFlush() { return false; }

I&apos;m trying to think of a better name for this. How about prefersPreparationForDisplay().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704099</commentid>
    <comment_count>9</comment_count>
      <attachid>413079</attachid>
    <who name="Rini Patel">rini_patel</who>
    <bug_when>2020-11-03 11:19:11 -0800</bug_when>
    <thetext>Created attachment 413079
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704100</commentid>
    <comment_count>10</comment_count>
    <who name="Rini Patel">rini_patel</who>
    <bug_when>2020-11-03 11:19:54 -0800</bug_when>
    <thetext>Okay. Changed the method name. I think this should be close to what we&apos;re looking for.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704116</commentid>
    <comment_count>11</comment_count>
      <attachid>413079</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-11-03 11:51:12 -0800</bug_when>
    <thetext>Comment on attachment 413079
Patch

Let&apos;s wait for the Windows bot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704142</commentid>
    <comment_count>12</comment_count>
    <who name="Rini Patel">rini_patel</who>
    <bug_when>2020-11-03 12:34:31 -0800</bug_when>
    <thetext>Looks like it failed on first run and passed on retry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704143</commentid>
    <comment_count>13</comment_count>
    <who name="Rini Patel">rini_patel</who>
    <bug_when>2020-11-03 12:35:44 -0800</bug_when>
    <thetext>Is it concerning? 
(In reply to Rini Patel from comment #12)
&gt; Looks like it failed on first run and passed on retry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704144</commentid>
    <comment_count>14</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-11-03 12:37:03 -0800</bug_when>
    <thetext>(In reply to Rini Patel from comment #13)
&gt; Is it concerning? 
&gt; (In reply to Rini Patel from comment #12)
&gt; &gt; Looks like it failed on first run and passed on retry.

The Windows test failure (fast/visual-viewport/resize-event-fired-window-resized.html) looks unrelated — we&apos;re probably okay.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704194</commentid>
    <comment_count>15</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-03 13:24:22 -0800</bug_when>
    <thetext>Committed r269331: &lt;https://trac.webkit.org/changeset/269331&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 413079.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704195</commentid>
    <comment_count>16</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-03 13:25:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/71008643&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412791</attachid>
            <date>2020-10-30 13:38:39 -0700</date>
            <delta_ts>2020-11-02 10:27:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218401-20201030133838.patch</filename>
            <type>text/plain</type>
            <size>5909</size>
            <attacher name="Rini Patel">rini_patel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDFkMTM3MWU4MDU2NWVi
NzgxMGVmOTk0M2FmOWMzOTFiY2IyNzZkMS4uMTliZmE4NDVmZGQ4MGUzYzY4MWYzYWQ1ZGMwOTc1
MWE3Y2E1MzNiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIwLTEwLTMwICBSaW5p
IFBhdGVsICA8cmluaV9wYXRlbEBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVSBQcm9jZXNzXSBG
bHVzaCBjYW52YXMgZGlzcGxheUxpc3QgZnJvbSBkb0FmdGVyVXBkYXRlUmVuZGVyaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg0MDEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMg
KE9PUFMhKS4KKworICAgICAgICAqIGh0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTENhbnZhc0VsZW1lbnQ6OmNyZWF0ZUNvbnRleHQyZCk6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MQ2FudmFzRWxlbWVudDo6cHJlcGFyZUZvckRpc3BsYXkpOgorICAgICAg
ICAqIGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6cHJlcGFyZUZvckRpc3Bs
YXkpOgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2Uu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oOgorICAgICAgICAo
V2ViQ29yZTo6SW1hZ2VCdWZmZXI6OmZsdXNoRHJhd2luZ0NvbnRleHRBbmRDb21taXQpOgorCiAy
MDIwLTEwLTMwICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQmFz
ZUF1ZGlvQ29udGV4dC5kZWNvZGVBdWRpb0RhdGEoKSBzaG91bGQgdGhyb3cgYW4gSW52YWxpZFN0
YXRlRXJyb3Igd2hlbiBkb2N1bWVudCBpcyBub3QgZnVsbHkgYWN0aXZlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZm
ZDRjZTZlMzM5ZjhjZTRjMjg5MGVjOTZjZWVhNGNiNzc4YjVhNzAuLjBlZGVhODE2MWMwOGM1Mzg4
NTI4NzExNTgwNDljMjBmODI3NTA1M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAt
MTAtMzAgIFJpbmkgUGF0ZWwgIDxyaW5pX3BhdGVsQGFwcGxlLmNvbT4KKworICAgICAgICBbR1BV
IFByb2Nlc3NdIEZsdXNoIGNhbnZhcyBkaXNwbGF5TGlzdCBmcm9tIGRvQWZ0ZXJVcGRhdGVSZW5k
ZXJpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
ODQwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
V2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94eS5oOgorICAgICAg
ICAoV2ViS2l0OjpSZW1vdGVJbWFnZUJ1ZmZlclByb3h5OjpmbHVzaERyYXdpbmdDb250ZXh0QW5k
Q29tbWl0KTogRGVsZXRlZC4KKwogMjAyMC0xMC0zMCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFt
QGFwcGxlLmNvbT4KIAogICAgICAgICBDb3JyZWN0IHNhbmRib3ggdmlvbGF0aW9ucyBpbiBHUFUg
UHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAppbmRleCBh
YzQxMDg4OGExYTdmNDQ0Yzk1YzBjNWQxMWFkNWFiZGMxMTA3ZmRlLi40NjcyMjdhOGI0YTY2ODhm
MjE1ZTNiMGQ4MjcyY2U1ODIyYzI5YWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxDYW52YXNFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52
YXNFbGVtZW50LmNwcApAQCAtMzY5LDYgKzM2OSw5IEBAIENhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RCogSFRNTENhbnZhc0VsZW1lbnQ6OmNyZWF0ZUNvbnRleHQyZChjb25zdCBTdHJpbmcmIHR5cGUp
CiAKICAgICBtX2NvbnRleHQgPSBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmNyZWF0ZSgqdGhp
cywgZG9jdW1lbnQoKS5pblF1aXJrc01vZGUoKSk7CiAKKyAgICBpZiAobV9jb250ZXh0KQorICAg
ICAgICBhZGRPYnNlcnZlcihkb2N1bWVudCgpKTsKKwogI2lmIFVTRShJT1NVUkZBQ0VfQ0FOVkFT
X0JBQ0tJTkdfU1RPUkUpCiAgICAgLy8gTmVlZCB0byBtYWtlIHN1cmUgYSBSZW5kZXJMYXllciBh
bmQgY29tcG9zaXRpbmcgbGF5ZXIgZ2V0IGNyZWF0ZWQgZm9yIHRoZSBDYW52YXMuCiAgICAgaW52
YWxpZGF0ZVN0eWxlQW5kTGF5ZXJDb21wb3NpdGlvbigpOwpAQCAtMTA3MywxMiArMTA3NiwxMCBA
QCBib29sIEhUTUxDYW52YXNFbGVtZW50OjpuZWVkc1ByZXBhcmF0aW9uRm9yRGlzcGxheSgpCiAK
IHZvaWQgSFRNTENhbnZhc0VsZW1lbnQ6OnByZXBhcmVGb3JEaXNwbGF5KCkKIHsKLSNpZiBFTkFC
TEUoV0VCR0wpCiAgICAgQVNTRVJUKG5lZWRzUHJlcGFyYXRpb25Gb3JEaXNwbGF5KCkpOwogCiAg
ICAgaWYgKG1fY29udGV4dCkKICAgICAgICAgbV9jb250ZXh0LT5wcmVwYXJlRm9yRGlzcGxheSgp
OwotI2VuZGlmCiB9CiAKIGJvb2wgSFRNTENhbnZhc0VsZW1lbnQ6OmlzQ29udHJvbGxlZEJ5T2Zm
c2NyZWVuKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0Nh
bnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHAKaW5kZXggNmE4MGI4NDYwMGUwYTJi
YjA1NTUyMzk1NWZlOWNjNjBhOWFlYzNjYi4uZjQyMzA0ZDIwOTlhMjAzN2QyMjU5OThjN2Y4NWNl
YjIyZDdhNzAzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHAKQEAgLTIwMzksNiArMjAzOSwxMiBA
QCBHcmFwaGljc0NvbnRleHQqIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OmRyYXdpbmdD
b250ZXh0KCkgY29uc3QKICAgICByZXR1cm4gY2FudmFzQmFzZSgpLmRyYXdpbmdDb250ZXh0KCk7
CiB9CiAKK3ZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6cHJlcGFyZUZvckRpc3Bs
YXkoKQoreworICAgIGlmIChhdXRvIGJ1ZmZlciA9IGNhbnZhc0Jhc2UoKS5idWZmZXIoKSkKKyAg
ICAgICAgYnVmZmVyLT5mbHVzaERyYXdpbmdDb250ZXh0QW5kQ29tbWl0KCk7Cit9CisKIHN0YXRp
YyBSZWZQdHI8SW1hZ2VEYXRhPiBjcmVhdGVFbXB0eUltYWdlRGF0YShjb25zdCBJbnRTaXplJiBz
aXplKQogewogICAgIGF1dG8gZGF0YSA9IEltYWdlRGF0YTo6Y3JlYXRlKHNpemUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
QmFzZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEQmFzZS5oCmluZGV4IDQ2OGVlMzg4YjYxNjJkNGZiMWEyZjc2NWFmZGEyMWE0ODk5YjEzOTIu
LjdkOWM3NTNiYjI0ZGEzNDc2Mjk0NDk2OTIyMTEzYWRmYjQyZjk1NmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRC
YXNlLmgKQEAgLTMwNyw2ICszMDcsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBkaWREcmF3RW50
aXJlQ2FudmFzKCk7CiAKICAgICB2b2lkIHBhaW50UmVuZGVyaW5nUmVzdWx0c1RvQ2FudmFzKCkg
b3ZlcnJpZGU7CisgICAgYm9vbCBuZWVkc1ByZXBhcmF0aW9uRm9yRGlzcGxheSgpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIHRydWU7IH0KKyAgICB2b2lkIHByZXBhcmVGb3JEaXNwbGF5KCkgZmluYWw7
CiAKICAgICBHcmFwaGljc0NvbnRleHQqIGRyYXdpbmdDb250ZXh0KCkgY29uc3Q7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCmluZGV4IGU3MzZh
ZjgyMGE1Y2VkNjNhZTc1MTc2YTI5OTQyMzJiZGFkZjJhNDcuLmRhYjEwMzc0YmViMmVmNTIwZTVi
NzE3ZGUyNzEyZmNhZWU3ZGM5OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvSW1hZ2VCdWZmZXIuaApAQCAtNjksNiArNjksNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0
dWFsIERpc3BsYXlMaXN0OjpEcmF3aW5nQ29udGV4dCogZHJhd2luZ0NvbnRleHQoKSB7IHJldHVy
biBudWxscHRyOyB9CiAgICAgdmlydHVhbCB2b2lkIGZsdXNoRHJhd2luZ0NvbnRleHQoKSB7IH0K
KyAgICB2aXJ0dWFsIHZvaWQgZmx1c2hEcmF3aW5nQ29udGV4dEFuZENvbW1pdCgpIHsgfQogICAg
IHZpcnR1YWwgdm9pZCBmbHVzaERpc3BsYXlMaXN0KGNvbnN0IERpc3BsYXlMaXN0OjpEaXNwbGF5
TGlzdCYpIHsgfQogCiAgICAgdmlydHVhbCBBZmZpbmVUcmFuc2Zvcm0gYmFzZVRyYW5zZm9ybSgp
IGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3Jh
cGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmgKaW5kZXggMjI2NGViY2I2NjY0
ZDcxZmZmMGE0MDA0MmZiMjU0MmNhODA2NmViNC4uZDUwZmU1YzE5YTU5YWZiNGQ4MDVhYjIxYjcz
NjM1MDMyOWIyM2NjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9n
cmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmgKQEAgLTEyMCw3ICsx
MjAsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIC8vIFRoaXMgbWVhbnMgdGhhdCBwdXRJbWFnZURh
dGEoKSBpcyBvbmx5IGNhbGxlZCB3aGVuIG1fcmVzb2x1dGlvblNjYWxlID09IDEuCiAgICAgICAg
IEFTU0VSVChtX2JhY2tlbmQtPnJlc29sdXRpb25TY2FsZSgpID09IDEpOwogICAgICAgICBtX2Ry
YXdpbmdDb250ZXh0LnJlY29yZGVyKCkucHV0SW1hZ2VEYXRhKGlucHV0Rm9ybWF0LCBpbWFnZURh
dGEsIHNyY1JlY3QsIGRlc3RQb2ludCwgZGVzdEZvcm1hdCk7Ci0gICAgICAgIGZsdXNoRHJhd2lu
Z0NvbnRleHRBbmRDb21taXQoKTsKICAgICB9CiAKICAgICB2b2lkIGZsdXNoQ29udGV4dCgpIG92
ZXJyaWRlCkBAIC0xMzUsNyArMTM0LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICB0aW1lb3V0V2Fp
dEZvckZsdXNoRGlzcGxheUxpc3RXYXNDb21taXR0ZWQoKTsKICAgICB9CiAKLSAgICB2b2lkIGZs
dXNoRHJhd2luZ0NvbnRleHRBbmRDb21taXQoKQorICAgIHZvaWQgZmx1c2hEcmF3aW5nQ29udGV4
dEFuZENvbW1pdCgpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBpZiAoIW1fcmVtb3RlUmVuZGVy
aW5nQmFja2VuZFByb3h5KQogICAgICAgICAgICAgcmV0dXJuOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412939</attachid>
            <date>2020-11-02 10:27:11 -0800</date>
            <delta_ts>2020-11-02 19:27:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218401-20201102102710.patch</filename>
            <type>text/plain</type>
            <size>6264</size>
            <attacher name="Rini Patel">rini_patel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MjQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzcyYjY2ZDEyMjZjMGVl
ZjRlZjRlZDg5NDk4ZjlkMTU4YjVlY2ZiZS4uZmE0OWYxZWQ3Y2EwODZhYmNhNTcwZTI5ZWRlNjZh
OGUwYTQzOGU2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIwLTEwLTMwICBSaW5p
IFBhdGVsICA8cmluaV9wYXRlbEBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVSBQcm9jZXNzXSBG
bHVzaCBjYW52YXMgZGlzcGxheUxpc3QgZnJvbSBkb0FmdGVyVXBkYXRlUmVuZGVyaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg0MDEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMZXZlcmFnZSBwcmVw
YXJlQ2FudmFzZXNGb3JEaXNwbGF5SWZOZWVkZWQoKSBmb3IgY2FudmFzIDJEIGNvbnRleHQgdG8g
Zmx1c2ggdGhlIGRpc3BsYXkgbGlzdCBpdGVtcyB2aWEgZG9BZnRlclVwZGF0ZVJlbmRlcmluZy4K
KworICAgICAgICAqIGh0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTENhbnZhc0VsZW1lbnQ6OmNyZWF0ZUNvbnRleHQyZCk6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MQ2FudmFzRWxlbWVudDo6cHJlcGFyZUZvckRpc3BsYXkpOgorICAgICAgICAqIGh0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6cHJlcGFyZUZvckRpc3BsYXkpOgorICAg
ICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VCdWZmZXI6OmZsdXNoRHJhd2luZ0NvbnRleHRBbmRDb21taXQpOgorCiAyMDIwLTExLTAx
ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkMg
RGlzcGxheV0gUGFzcyBkZXZpY2VTY2FsZUZhY3RvciBhcm91bmQgd2l0aCBHcmFwaGljc0NvbnRl
eHQgYXQgcGFpbnQgdGltZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAyNDQwMzVjZjljY2Q5YmYyNzA3MGIxMThmODcw
YWYxOTM0YTc5ZjAwLi5mODJhM2YwZjJiNjdhNWI4Mzk2OTkzMjcyZTMyMjk5ZDFlYThhMmU3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTEwLTMwICBSaW5pIFBhdGVsICA8cmluaV9w
YXRlbEBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVSBQcm9jZXNzXSBGbHVzaCBjYW52YXMgZGlz
cGxheUxpc3QgZnJvbSBkb0FmdGVyVXBkYXRlUmVuZGVyaW5nCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg0MDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1Jl
bW90ZUltYWdlQnVmZmVyUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlSW1hZ2VCdWZm
ZXJQcm94eTo6Zmx1c2hEcmF3aW5nQ29udGV4dEFuZENvbW1pdCk6IERlbGV0ZWQuCisKIDIwMjAt
MTEtMDEgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBy
ZW1haW5pbmcgYWx0ZXJuYXRpdmUgcHJlZmVyZW5jZSBzZXR0aW5nIG1lY2hhbmlzbXMgZnJvbSBM
YXlvdXRUZXN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAppbmRl
eCBhYzQxMDg4OGExYTdmNDQ0Yzk1YzBjNWQxMWFkNWFiZGMxMTA3ZmRlLi5jMTBhZTUzOWEzOThj
M2Y0M2UxZjk0ZmZlZjhkNzVkOTE5ODQwOThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxD
YW52YXNFbGVtZW50LmNwcApAQCAtMzY5LDYgKzM2OSwxMSBAQCBDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQqIEhUTUxDYW52YXNFbGVtZW50OjpjcmVhdGVDb250ZXh0MmQoY29uc3QgU3RyaW5nJiB0
eXBlKQogCiAgICAgbV9jb250ZXh0ID0gQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpjcmVhdGUo
KnRoaXMsIGRvY3VtZW50KCkuaW5RdWlya3NNb2RlKCkpOwogCisjaWYgRU5BQkxFKEdQVV9QUk9D
RVNTKQorICAgIGlmIChtX2NvbnRleHQpCisgICAgICAgIGFkZE9ic2VydmVyKGRvY3VtZW50KCkp
OworI2VuZGlmCisKICNpZiBVU0UoSU9TVVJGQUNFX0NBTlZBU19CQUNLSU5HX1NUT1JFKQogICAg
IC8vIE5lZWQgdG8gbWFrZSBzdXJlIGEgUmVuZGVyTGF5ZXIgYW5kIGNvbXBvc2l0aW5nIGxheWVy
IGdldCBjcmVhdGVkIGZvciB0aGUgQ2FudmFzLgogICAgIGludmFsaWRhdGVTdHlsZUFuZExheWVy
Q29tcG9zaXRpb24oKTsKQEAgLTEwNzMsMTIgKzEwNzgsMTAgQEAgYm9vbCBIVE1MQ2FudmFzRWxl
bWVudDo6bmVlZHNQcmVwYXJhdGlvbkZvckRpc3BsYXkoKQogCiB2b2lkIEhUTUxDYW52YXNFbGVt
ZW50OjpwcmVwYXJlRm9yRGlzcGxheSgpCiB7Ci0jaWYgRU5BQkxFKFdFQkdMKQogICAgIEFTU0VS
VChuZWVkc1ByZXBhcmF0aW9uRm9yRGlzcGxheSgpKTsKIAogICAgIGlmIChtX2NvbnRleHQpCiAg
ICAgICAgIG1fY29udGV4dC0+cHJlcGFyZUZvckRpc3BsYXkoKTsKLSNlbmRpZgogfQogCiBib29s
IEhUTUxDYW52YXNFbGVtZW50Ojppc0NvbnRyb2xsZWRCeU9mZnNjcmVlbigpIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0
MkRCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyREJhc2UuY3BwCmluZGV4IDZhODBiODQ2MDBlMGEyYmIwNTU1MjM5NTVmZTljYzYwYTlh
ZWMzY2IuLjlmZDExODkyZTZjNzg2ZWFhMTBhNGRhNjQ1YTZkODM0MzY4NmZhNDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJh
c2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyREJhc2UuY3BwCkBAIC0yMDM5LDYgKzIwMzksMjAgQEAgR3JhcGhpY3NDb250ZXh0KiBD
YW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpkcmF3aW5nQ29udGV4dCgpIGNvbnN0CiAgICAg
cmV0dXJuIGNhbnZhc0Jhc2UoKS5kcmF3aW5nQ29udGV4dCgpOwogfQogCit2b2lkIENhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyREJhc2U6OnByZXBhcmVGb3JEaXNwbGF5KCkKK3sKKyAgICBpZiAoYXV0
byBidWZmZXIgPSBjYW52YXNCYXNlKCkuYnVmZmVyKCkpCisgICAgICAgIGJ1ZmZlci0+Zmx1c2hE
cmF3aW5nQ29udGV4dEFuZENvbW1pdCgpOworfQorCitib29sIENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyREJhc2U6Om5lZWRzUHJlcGFyYXRpb25Gb3JEaXNwbGF5KCkgY29uc3QKK3sKKyAgICBhdXRv
IGJ1ZmZlciA9IGNhbnZhc0Jhc2UoKS5idWZmZXIoKTsKKyAgICBpZiAoYnVmZmVyICYmIGJ1ZmZl
ci0+cmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyKCkpCisgICAgICAgIHJldHVybiB0cnVlOwor
ICAgIHJldHVybiBmYWxzZTsKK30KKwogc3RhdGljIFJlZlB0cjxJbWFnZURhdGE+IGNyZWF0ZUVt
cHR5SW1hZ2VEYXRhKGNvbnN0IEludFNpemUmIHNpemUpCiB7CiAgICAgYXV0byBkYXRhID0gSW1h
Z2VEYXRhOjpjcmVhdGUoc2l6ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmgKaW5kZXggNDY4ZWUzODhiNjE2
MmQ0ZmIxYTJmNzY1YWZkYTIxYTQ4OTliMTM5Mi4uMDUzYWU3ZGVkNGQxMTVjZTMxNDVhOTc5MTIz
N2Q0MTg0ZDUzZmRlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuaApAQCAtMzA3LDYgKzMwNyw4IEBAIHBy
b3RlY3RlZDoKICAgICB2b2lkIGRpZERyYXdFbnRpcmVDYW52YXMoKTsKIAogICAgIHZvaWQgcGFp
bnRSZW5kZXJpbmdSZXN1bHRzVG9DYW52YXMoKSBvdmVycmlkZTsKKyAgICBib29sIG5lZWRzUHJl
cGFyYXRpb25Gb3JEaXNwbGF5KCkgY29uc3QgZmluYWw7CisgICAgdm9pZCBwcmVwYXJlRm9yRGlz
cGxheSgpIGZpbmFsOwogCiAgICAgR3JhcGhpY3NDb250ZXh0KiBkcmF3aW5nQ29udGV4dCgpIGNv
bnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFn
ZUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIu
aAppbmRleCBlNzM2YWY4MjBhNWNlZDYzYWU3NTE3NmEyOTk0MjMyYmRhZGYyYTQ3Li5kYWIxMDM3
NGJlYjJlZjUyMGU1YjcxN2RlMjcxMmZjYWVlN2RjOTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKQEAgLTY5LDYgKzY5LDcgQEAgcHVibGlj
OgogCiAgICAgdmlydHVhbCBEaXNwbGF5TGlzdDo6RHJhd2luZ0NvbnRleHQqIGRyYXdpbmdDb250
ZXh0KCkgeyByZXR1cm4gbnVsbHB0cjsgfQogICAgIHZpcnR1YWwgdm9pZCBmbHVzaERyYXdpbmdD
b250ZXh0KCkgeyB9CisgICAgdmlydHVhbCB2b2lkIGZsdXNoRHJhd2luZ0NvbnRleHRBbmRDb21t
aXQoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZmx1c2hEaXNwbGF5TGlzdChjb25zdCBEaXNwbGF5
TGlzdDo6RGlzcGxheUxpc3QmKSB7IH0KIAogICAgIHZpcnR1YWwgQWZmaW5lVHJhbnNmb3JtIGJh
c2VUcmFuc2Zvcm0oKSBjb25zdCA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyUHJveHkuaCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94eS5oCmluZGV4
IDIyNjRlYmNiNjY2NGQ3MWZmZjBhNDAwNDJmYjI1NDJjYTgwNjZlYjQuLmQ1MGZlNWMxOWE1OWFm
YjRkODA1YWIyMWI3MzYzNTAzMjliMjNjYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94eS5o
CkBAIC0xMjAsNyArMTIwLDYgQEAgcHJvdGVjdGVkOgogICAgICAgICAvLyBUaGlzIG1lYW5zIHRo
YXQgcHV0SW1hZ2VEYXRhKCkgaXMgb25seSBjYWxsZWQgd2hlbiBtX3Jlc29sdXRpb25TY2FsZSA9
PSAxLgogICAgICAgICBBU1NFUlQobV9iYWNrZW5kLT5yZXNvbHV0aW9uU2NhbGUoKSA9PSAxKTsK
ICAgICAgICAgbV9kcmF3aW5nQ29udGV4dC5yZWNvcmRlcigpLnB1dEltYWdlRGF0YShpbnB1dEZv
cm1hdCwgaW1hZ2VEYXRhLCBzcmNSZWN0LCBkZXN0UG9pbnQsIGRlc3RGb3JtYXQpOwotICAgICAg
ICBmbHVzaERyYXdpbmdDb250ZXh0QW5kQ29tbWl0KCk7CiAgICAgfQogCiAgICAgdm9pZCBmbHVz
aENvbnRleHQoKSBvdmVycmlkZQpAQCAtMTM1LDcgKzEzNCw3IEBAIHByb3RlY3RlZDoKICAgICAg
ICAgdGltZW91dFdhaXRGb3JGbHVzaERpc3BsYXlMaXN0V2FzQ29tbWl0dGVkKCk7CiAgICAgfQog
Ci0gICAgdm9pZCBmbHVzaERyYXdpbmdDb250ZXh0QW5kQ29tbWl0KCkKKyAgICB2b2lkIGZsdXNo
RHJhd2luZ0NvbnRleHRBbmRDb21taXQoKSBvdmVycmlkZQogICAgIHsKICAgICAgICAgaWYgKCFt
X3JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eSkKICAgICAgICAgICAgIHJldHVybjsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412996</attachid>
            <date>2020-11-02 19:27:43 -0800</date>
            <delta_ts>2020-11-03 11:19:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218401-20201102192740.patch</filename>
            <type>text/plain</type>
            <size>6206</size>
            <attacher name="Rini Patel">rini_patel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MjQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzcyYjY2ZDEyMjZjMGVl
ZjRlZjRlZDg5NDk4ZjlkMTU4YjVlY2ZiZS4uZmE0OWYxZWQ3Y2EwODZhYmNhNTcwZTI5ZWRlNjZh
OGUwYTQzOGU2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIwLTEwLTMwICBSaW5p
IFBhdGVsICA8cmluaV9wYXRlbEBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVSBQcm9jZXNzXSBG
bHVzaCBjYW52YXMgZGlzcGxheUxpc3QgZnJvbSBkb0FmdGVyVXBkYXRlUmVuZGVyaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg0MDEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMZXZlcmFnZSBwcmVw
YXJlQ2FudmFzZXNGb3JEaXNwbGF5SWZOZWVkZWQoKSBmb3IgY2FudmFzIDJEIGNvbnRleHQgdG8g
Zmx1c2ggdGhlIGRpc3BsYXkgbGlzdCBpdGVtcyB2aWEgZG9BZnRlclVwZGF0ZVJlbmRlcmluZy4K
KworICAgICAgICAqIGh0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTENhbnZhc0VsZW1lbnQ6OmNyZWF0ZUNvbnRleHQyZCk6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MQ2FudmFzRWxlbWVudDo6cHJlcGFyZUZvckRpc3BsYXkpOgorICAgICAgICAqIGh0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6cHJlcGFyZUZvckRpc3BsYXkpOgorICAg
ICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VCdWZmZXI6OmZsdXNoRHJhd2luZ0NvbnRleHRBbmRDb21taXQpOgorCiAyMDIwLTExLTAx
ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkMg
RGlzcGxheV0gUGFzcyBkZXZpY2VTY2FsZUZhY3RvciBhcm91bmQgd2l0aCBHcmFwaGljc0NvbnRl
eHQgYXQgcGFpbnQgdGltZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAyNDQwMzVjZjljY2Q5YmYyNzA3MGIxMThmODcw
YWYxOTM0YTc5ZjAwLi5mODJhM2YwZjJiNjdhNWI4Mzk2OTkzMjcyZTMyMjk5ZDFlYThhMmU3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTEwLTMwICBSaW5pIFBhdGVsICA8cmluaV9w
YXRlbEBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVSBQcm9jZXNzXSBGbHVzaCBjYW52YXMgZGlz
cGxheUxpc3QgZnJvbSBkb0FmdGVyVXBkYXRlUmVuZGVyaW5nCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg0MDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1Jl
bW90ZUltYWdlQnVmZmVyUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlSW1hZ2VCdWZm
ZXJQcm94eTo6Zmx1c2hEcmF3aW5nQ29udGV4dEFuZENvbW1pdCk6IERlbGV0ZWQuCisKIDIwMjAt
MTEtMDEgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBy
ZW1haW5pbmcgYWx0ZXJuYXRpdmUgcHJlZmVyZW5jZSBzZXR0aW5nIG1lY2hhbmlzbXMgZnJvbSBM
YXlvdXRUZXN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAppbmRl
eCBhYzQxMDg4OGExYTdmNDQ0Yzk1YzBjNWQxMWFkNWFiZGMxMTA3ZmRlLi4wYjg3MGZhYTEyNjAw
NTYzMmVkZGJjODU0YzIxY2E4MjJmN2Q5MjgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxD
YW52YXNFbGVtZW50LmNwcApAQCAtOTUwLDYgKzk1MCw5IEBAIHZvaWQgSFRNTENhbnZhc0VsZW1l
bnQ6OmNyZWF0ZUltYWdlQnVmZmVyKCkgY29uc3QKICAgICAgICAgY29uc3RfY2FzdDxIVE1MQ2Fu
dmFzRWxlbWVudCo+KHRoaXMpLT5pbnZhbGlkYXRlU3R5bGVBbmRMYXllckNvbXBvc2l0aW9uKCk7
CiAgICAgfQogI2VuZGlmCisKKyAgICBpZiAobV9jb250ZXh0ICYmIGJ1ZmZlcigpICYmIGJ1ZmZl
cigpLT5zaG91bGRFYWdlcmx5Rmx1c2goKSkKKyAgICAgICAgY29uc3RfY2FzdDxIVE1MQ2FudmFz
RWxlbWVudCo+KHRoaXMpLT5hZGRPYnNlcnZlcihkb2N1bWVudCgpKTsKIH0KIAogdm9pZCBIVE1M
Q2FudmFzRWxlbWVudDo6c2V0SW1hZ2VCdWZmZXJBbmRNYXJrRGlydHkoc3RkOjp1bmlxdWVfcHRy
PEltYWdlQnVmZmVyPiYmIGJ1ZmZlcikKQEAgLTEwNzMsMTIgKzEwNzYsMTAgQEAgYm9vbCBIVE1M
Q2FudmFzRWxlbWVudDo6bmVlZHNQcmVwYXJhdGlvbkZvckRpc3BsYXkoKQogCiB2b2lkIEhUTUxD
YW52YXNFbGVtZW50OjpwcmVwYXJlRm9yRGlzcGxheSgpCiB7Ci0jaWYgRU5BQkxFKFdFQkdMKQog
ICAgIEFTU0VSVChuZWVkc1ByZXBhcmF0aW9uRm9yRGlzcGxheSgpKTsKIAogICAgIGlmIChtX2Nv
bnRleHQpCiAgICAgICAgIG1fY29udGV4dC0+cHJlcGFyZUZvckRpc3BsYXkoKTsKLSNlbmRpZgog
fQogCiBib29sIEhUTUxDYW52YXNFbGVtZW50Ojppc0NvbnRyb2xsZWRCeU9mZnNjcmVlbigpIGNv
bnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJp
bmdDb250ZXh0MkRCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyREJhc2UuY3BwCmluZGV4IDZhODBiODQ2MDBlMGEyYmIwNTU1MjM5NTVm
ZTljYzYwYTlhZWMzY2IuLmY0MjMwNGQyMDk5YTIwMzdkMjI1OTk4YzdmODVjZWIyMmQ3YTcwMzQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyREJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyREJhc2UuY3BwCkBAIC0yMDM5LDYgKzIwMzksMTIgQEAgR3JhcGhpY3ND
b250ZXh0KiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpkcmF3aW5nQ29udGV4dCgpIGNv
bnN0CiAgICAgcmV0dXJuIGNhbnZhc0Jhc2UoKS5kcmF3aW5nQ29udGV4dCgpOwogfQogCit2b2lk
IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OnByZXBhcmVGb3JEaXNwbGF5KCkKK3sKKyAg
ICBpZiAoYXV0byBidWZmZXIgPSBjYW52YXNCYXNlKCkuYnVmZmVyKCkpCisgICAgICAgIGJ1ZmZl
ci0+Zmx1c2hEcmF3aW5nQ29udGV4dEFuZENvbW1pdCgpOworfQorCiBzdGF0aWMgUmVmUHRyPElt
YWdlRGF0YT4gY3JlYXRlRW1wdHlJbWFnZURhdGEoY29uc3QgSW50U2l6ZSYgc2l6ZSkKIHsKICAg
ICBhdXRvIGRhdGEgPSBJbWFnZURhdGE6OmNyZWF0ZShzaXplKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuaApp
bmRleCA0NjhlZTM4OGI2MTYyZDRmYjFhMmY3NjVhZmRhMjFhNDg5OWIxMzkyLi43ZDljNzUzYmIy
NGRhMzQ3NjI5NDQ5NjkyMjExM2FkZmI0MmY5NTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5oCkBAIC0z
MDcsNiArMzA3LDggQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgZGlkRHJhd0VudGlyZUNhbnZhcygp
OwogCiAgICAgdm9pZCBwYWludFJlbmRlcmluZ1Jlc3VsdHNUb0NhbnZhcygpIG92ZXJyaWRlOwor
ICAgIGJvb2wgbmVlZHNQcmVwYXJhdGlvbkZvckRpc3BsYXkoKSBjb25zdCBmaW5hbCB7IHJldHVy
biB0cnVlOyB9CisgICAgdm9pZCBwcmVwYXJlRm9yRGlzcGxheSgpIGZpbmFsOwogCiAgICAgR3Jh
cGhpY3NDb250ZXh0KiBkcmF3aW5nQ29udGV4dCgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaAppbmRleCBlNzM2YWY4MjBhNWNlZDYz
YWU3NTE3NmEyOTk0MjMyYmRhZGYyYTQ3Li45OWE2ZWJhYTA5MTZkM2MxMDA0ZWU3ZGU3NDY5NmIx
Zjc4NWZhNDYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9J
bWFnZUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdl
QnVmZmVyLmgKQEAgLTY4LDcgKzY4LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBmbHVz
aENvbnRleHQoKSA9IDA7CiAKICAgICB2aXJ0dWFsIERpc3BsYXlMaXN0OjpEcmF3aW5nQ29udGV4
dCogZHJhd2luZ0NvbnRleHQoKSB7IHJldHVybiBudWxscHRyOyB9CisgICAgdmlydHVhbCBib29s
IHNob3VsZEVhZ2VybHlGbHVzaCgpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lk
IGZsdXNoRHJhd2luZ0NvbnRleHQoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZmx1c2hEcmF3aW5n
Q29udGV4dEFuZENvbW1pdCgpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBmbHVzaERpc3BsYXlMaXN0
KGNvbnN0IERpc3BsYXlMaXN0OjpEaXNwbGF5TGlzdCYpIHsgfQogCiAgICAgdmlydHVhbCBBZmZp
bmVUcmFuc2Zvcm0gYmFzZVRyYW5zZm9ybSgpIGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94eS5o
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZl
clByb3h5LmgKaW5kZXggMjI2NGViY2I2NjY0ZDcxZmZmMGE0MDA0MmZiMjU0MmNhODA2NmViNC4u
NDU4MTQ5NmQxZDU3NjdmMGM2MmNmYzJmODhiYzQ1YWI5OWNjMTY4MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5
LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJbWFn
ZUJ1ZmZlclByb3h5LmgKQEAgLTEyMCw5ICsxMjAsMTAgQEAgcHJvdGVjdGVkOgogICAgICAgICAv
LyBUaGlzIG1lYW5zIHRoYXQgcHV0SW1hZ2VEYXRhKCkgaXMgb25seSBjYWxsZWQgd2hlbiBtX3Jl
c29sdXRpb25TY2FsZSA9PSAxLgogICAgICAgICBBU1NFUlQobV9iYWNrZW5kLT5yZXNvbHV0aW9u
U2NhbGUoKSA9PSAxKTsKICAgICAgICAgbV9kcmF3aW5nQ29udGV4dC5yZWNvcmRlcigpLnB1dElt
YWdlRGF0YShpbnB1dEZvcm1hdCwgaW1hZ2VEYXRhLCBzcmNSZWN0LCBkZXN0UG9pbnQsIGRlc3RG
b3JtYXQpOwotICAgICAgICBmbHVzaERyYXdpbmdDb250ZXh0QW5kQ29tbWl0KCk7CiAgICAgfQog
CisgICAgYm9vbCBzaG91bGRFYWdlcmx5Rmx1c2goKSBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9
CisKICAgICB2b2lkIGZsdXNoQ29udGV4dCgpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBmbHVz
aERyYXdpbmdDb250ZXh0KCk7CkBAIC0xMzUsNyArMTM2LDcgQEAgcHJvdGVjdGVkOgogICAgICAg
ICB0aW1lb3V0V2FpdEZvckZsdXNoRGlzcGxheUxpc3RXYXNDb21taXR0ZWQoKTsKICAgICB9CiAK
LSAgICB2b2lkIGZsdXNoRHJhd2luZ0NvbnRleHRBbmRDb21taXQoKQorICAgIHZvaWQgZmx1c2hE
cmF3aW5nQ29udGV4dEFuZENvbW1pdCgpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBpZiAoIW1f
cmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5KQogICAgICAgICAgICAgcmV0dXJuOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413079</attachid>
            <date>2020-11-03 11:19:11 -0800</date>
            <delta_ts>2020-11-03 13:24:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218401-20201103111908.patch</filename>
            <type>text/plain</type>
            <size>6443</size>
            <attacher name="Rini Patel">rini_patel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MjQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzcyYjY2ZDEyMjZjMGVl
ZjRlZjRlZDg5NDk4ZjlkMTU4YjVlY2ZiZS4uZmE0OWYxZWQ3Y2EwODZhYmNhNTcwZTI5ZWRlNjZh
OGUwYTQzOGU2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIwLTEwLTMwICBSaW5p
IFBhdGVsICA8cmluaV9wYXRlbEBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVSBQcm9jZXNzXSBG
bHVzaCBjYW52YXMgZGlzcGxheUxpc3QgZnJvbSBkb0FmdGVyVXBkYXRlUmVuZGVyaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg0MDEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMZXZlcmFnZSBwcmVw
YXJlQ2FudmFzZXNGb3JEaXNwbGF5SWZOZWVkZWQoKSBmb3IgY2FudmFzIDJEIGNvbnRleHQgdG8g
Zmx1c2ggdGhlIGRpc3BsYXkgbGlzdCBpdGVtcyB2aWEgZG9BZnRlclVwZGF0ZVJlbmRlcmluZy4K
KworICAgICAgICAqIGh0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTENhbnZhc0VsZW1lbnQ6OmNyZWF0ZUNvbnRleHQyZCk6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MQ2FudmFzRWxlbWVudDo6cHJlcGFyZUZvckRpc3BsYXkpOgorICAgICAgICAqIGh0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6cHJlcGFyZUZvckRpc3BsYXkpOgorICAg
ICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VCdWZmZXI6OmZsdXNoRHJhd2luZ0NvbnRleHRBbmRDb21taXQpOgorCiAyMDIwLTExLTAx
ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkMg
RGlzcGxheV0gUGFzcyBkZXZpY2VTY2FsZUZhY3RvciBhcm91bmQgd2l0aCBHcmFwaGljc0NvbnRl
eHQgYXQgcGFpbnQgdGltZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAyNDQwMzVjZjljY2Q5YmYyNzA3MGIxMThmODcw
YWYxOTM0YTc5ZjAwLi5mODJhM2YwZjJiNjdhNWI4Mzk2OTkzMjcyZTMyMjk5ZDFlYThhMmU3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTEwLTMwICBSaW5pIFBhdGVsICA8cmluaV9w
YXRlbEBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVSBQcm9jZXNzXSBGbHVzaCBjYW52YXMgZGlz
cGxheUxpc3QgZnJvbSBkb0FmdGVyVXBkYXRlUmVuZGVyaW5nCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg0MDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1Jl
bW90ZUltYWdlQnVmZmVyUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlSW1hZ2VCdWZm
ZXJQcm94eTo6Zmx1c2hEcmF3aW5nQ29udGV4dEFuZENvbW1pdCk6IERlbGV0ZWQuCisKIDIwMjAt
MTEtMDEgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBy
ZW1haW5pbmcgYWx0ZXJuYXRpdmUgcHJlZmVyZW5jZSBzZXR0aW5nIG1lY2hhbmlzbXMgZnJvbSBM
YXlvdXRUZXN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAppbmRl
eCBhYzQxMDg4OGExYTdmNDQ0Yzk1YzBjNWQxMWFkNWFiZGMxMTA3ZmRlLi41NmIxOTIzMGExZTYw
NjNhYWYwOTI4YWQxZDQ1MzM3MmNmYWQwNjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxD
YW52YXNFbGVtZW50LmNwcApAQCAtOTUwLDYgKzk1MCw5IEBAIHZvaWQgSFRNTENhbnZhc0VsZW1l
bnQ6OmNyZWF0ZUltYWdlQnVmZmVyKCkgY29uc3QKICAgICAgICAgY29uc3RfY2FzdDxIVE1MQ2Fu
dmFzRWxlbWVudCo+KHRoaXMpLT5pbnZhbGlkYXRlU3R5bGVBbmRMYXllckNvbXBvc2l0aW9uKCk7
CiAgICAgfQogI2VuZGlmCisKKyAgICBpZiAobV9jb250ZXh0ICYmIGJ1ZmZlcigpICYmIGJ1ZmZl
cigpLT5wcmVmZXJzUHJlcGFyYXRpb25Gb3JEaXNwbGF5KCkpCisgICAgICAgIGNvbnN0X2Nhc3Q8
SFRNTENhbnZhc0VsZW1lbnQqPih0aGlzKS0+YWRkT2JzZXJ2ZXIoZG9jdW1lbnQoKSk7CiB9CiAK
IHZvaWQgSFRNTENhbnZhc0VsZW1lbnQ6OnNldEltYWdlQnVmZmVyQW5kTWFya0RpcnR5KHN0ZDo6
dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4mJiBidWZmZXIpCkBAIC0xMDczLDEyICsxMDc2LDEwIEBA
IGJvb2wgSFRNTENhbnZhc0VsZW1lbnQ6Om5lZWRzUHJlcGFyYXRpb25Gb3JEaXNwbGF5KCkKIAog
dm9pZCBIVE1MQ2FudmFzRWxlbWVudDo6cHJlcGFyZUZvckRpc3BsYXkoKQogewotI2lmIEVOQUJM
RShXRUJHTCkKICAgICBBU1NFUlQobmVlZHNQcmVwYXJhdGlvbkZvckRpc3BsYXkoKSk7CiAKICAg
ICBpZiAobV9jb250ZXh0KQogICAgICAgICBtX2NvbnRleHQtPnByZXBhcmVGb3JEaXNwbGF5KCk7
Ci0jZW5kaWYKIH0KIAogYm9vbCBIVE1MQ2FudmFzRWxlbWVudDo6aXNDb250cm9sbGVkQnlPZmZz
Y3JlZW4oKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmNwcAppbmRleCA2YTgwYjg0NjAwZTBhMmJi
MDU1NTIzOTU1ZmU5Y2M2MGE5YWVjM2NiLi41YmFiMjc2ZGJlNTdhYTg1YjQ1YWYzNjY5MTc2ZmZi
YzdjODUzNjEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkRCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmNwcApAQCAtMjAzOSw2ICsyMDM5LDIxIEBA
IEdyYXBoaWNzQ29udGV4dCogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6ZHJhd2luZ0Nv
bnRleHQoKSBjb25zdAogICAgIHJldHVybiBjYW52YXNCYXNlKCkuZHJhd2luZ0NvbnRleHQoKTsK
IH0KIAordm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpwcmVwYXJlRm9yRGlzcGxh
eSgpCit7CisgICAgaWYgKGF1dG8gYnVmZmVyID0gY2FudmFzQmFzZSgpLmJ1ZmZlcigpKQorICAg
ICAgICBidWZmZXItPmZsdXNoRHJhd2luZ0NvbnRleHRBbmRDb21taXQoKTsKK30KKworYm9vbCBD
YW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpuZWVkc1ByZXBhcmF0aW9uRm9yRGlzcGxheSgp
IGNvbnN0Cit7CisgICAgYXV0byBidWZmZXIgPSBjYW52YXNCYXNlKCkuYnVmZmVyKCk7CisgICAg
aWYgKGJ1ZmZlciAmJiBidWZmZXItPnByZWZlcnNQcmVwYXJhdGlvbkZvckRpc3BsYXkoKSkKKyAg
ICAgICAgcmV0dXJuIHRydWU7CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIHN0YXRpYyBSZWZQ
dHI8SW1hZ2VEYXRhPiBjcmVhdGVFbXB0eUltYWdlRGF0YShjb25zdCBJbnRTaXplJiBzaXplKQog
ewogICAgIGF1dG8gZGF0YSA9IEltYWdlRGF0YTo6Y3JlYXRlKHNpemUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFz
ZS5oCmluZGV4IDQ2OGVlMzg4YjYxNjJkNGZiMWEyZjc2NWFmZGEyMWE0ODk5YjEzOTIuLjA1M2Fl
N2RlZDRkMTE1Y2UzMTQ1YTk3OTEyMzdkNDE4NGQ1M2ZkZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmgK
QEAgLTMwNyw2ICszMDcsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBkaWREcmF3RW50aXJlQ2Fu
dmFzKCk7CiAKICAgICB2b2lkIHBhaW50UmVuZGVyaW5nUmVzdWx0c1RvQ2FudmFzKCkgb3ZlcnJp
ZGU7CisgICAgYm9vbCBuZWVkc1ByZXBhcmF0aW9uRm9yRGlzcGxheSgpIGNvbnN0IGZpbmFsOwor
ICAgIHZvaWQgcHJlcGFyZUZvckRpc3BsYXkoKSBmaW5hbDsKIAogICAgIEdyYXBoaWNzQ29udGV4
dCogZHJhd2luZ0NvbnRleHQoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKaW5kZXggZTczNmFmODIwYTVjZWQ2M2FlNzUxNzZhMjk5
NDIzMmJkYWRmMmE0Ny4uMjFjOGIyYTQ1ZTdiN2U3ZGI2M2QzM2FmNThiMTc0ODM2YzZiY2Y2OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCkBA
IC02OCw3ICs2OCw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZmx1c2hDb250ZXh0KCkg
PSAwOwogCiAgICAgdmlydHVhbCBEaXNwbGF5TGlzdDo6RHJhd2luZ0NvbnRleHQqIGRyYXdpbmdD
b250ZXh0KCkgeyByZXR1cm4gbnVsbHB0cjsgfQorICAgIHZpcnR1YWwgYm9vbCBwcmVmZXJzUHJl
cGFyYXRpb25Gb3JEaXNwbGF5KCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQg
Zmx1c2hEcmF3aW5nQ29udGV4dCgpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBmbHVzaERyYXdpbmdD
b250ZXh0QW5kQ29tbWl0KCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGZsdXNoRGlzcGxheUxpc3Qo
Y29uc3QgRGlzcGxheUxpc3Q6OkRpc3BsYXlMaXN0JikgeyB9CiAKICAgICB2aXJ0dWFsIEFmZmlu
ZVRyYW5zZm9ybSBiYXNlVHJhbnNmb3JtKCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVy
UHJveHkuaAppbmRleCAyMjY0ZWJjYjY2NjRkNzFmZmYwYTQwMDQyZmIyNTQyY2E4MDY2ZWI0Li40
NDg0YjAzMDkzMjMzYmI5ZTNiOTkyMDI4Y2Q5ZThjMGY3NDM2OWU3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyUHJveHku
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdl
QnVmZmVyUHJveHkuaApAQCAtMTIwLDkgKzEyMCwxMCBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIC8v
IFRoaXMgbWVhbnMgdGhhdCBwdXRJbWFnZURhdGEoKSBpcyBvbmx5IGNhbGxlZCB3aGVuIG1fcmVz
b2x1dGlvblNjYWxlID09IDEuCiAgICAgICAgIEFTU0VSVChtX2JhY2tlbmQtPnJlc29sdXRpb25T
Y2FsZSgpID09IDEpOwogICAgICAgICBtX2RyYXdpbmdDb250ZXh0LnJlY29yZGVyKCkucHV0SW1h
Z2VEYXRhKGlucHV0Rm9ybWF0LCBpbWFnZURhdGEsIHNyY1JlY3QsIGRlc3RQb2ludCwgZGVzdEZv
cm1hdCk7Ci0gICAgICAgIGZsdXNoRHJhd2luZ0NvbnRleHRBbmRDb21taXQoKTsKICAgICB9CiAK
KyAgICBib29sIHByZWZlcnNQcmVwYXJhdGlvbkZvckRpc3BsYXkoKSBvdmVycmlkZSB7IHJldHVy
biB0cnVlOyB9CisKICAgICB2b2lkIGZsdXNoQ29udGV4dCgpIG92ZXJyaWRlCiAgICAgewogICAg
ICAgICBmbHVzaERyYXdpbmdDb250ZXh0KCk7CkBAIC0xMzUsNyArMTM2LDcgQEAgcHJvdGVjdGVk
OgogICAgICAgICB0aW1lb3V0V2FpdEZvckZsdXNoRGlzcGxheUxpc3RXYXNDb21taXR0ZWQoKTsK
ICAgICB9CiAKLSAgICB2b2lkIGZsdXNoRHJhd2luZ0NvbnRleHRBbmRDb21taXQoKQorICAgIHZv
aWQgZmx1c2hEcmF3aW5nQ29udGV4dEFuZENvbW1pdCgpIG92ZXJyaWRlCiAgICAgewogICAgICAg
ICBpZiAoIW1fcmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5KQogICAgICAgICAgICAgcmV0dXJu
Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>