<?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>196926</bug_id>
          
          <creation_ts>2019-04-15 12:39:17 -0700</creation_ts>
          <short_desc>Drawingarea should only capture painting related milestones</short_desc>
          <delta_ts>2019-04-16 11:51:03 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=196948</see_also>
          <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>aakash_jain</cc>
    
    <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bot-watchers-bugzilla</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1527326</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-04-15 12:39:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/48003845&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527335</commentid>
    <comment_count>1</comment_count>
      <attachid>367443</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-04-15 12:52:11 -0700</bug_when>
    <thetext>Created attachment 367443
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527337</commentid>
    <comment_count>2</comment_count>
      <attachid>367443</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-04-15 12:56:21 -0700</bug_when>
    <thetext>Comment on attachment 367443
Patch

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

&gt; Source/WebKit/ChangeLog:3
&gt; +        Drawingarea should only capture painting related milestones

DrawingArea? Drawing Area?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527343</commentid>
    <comment_count>3</comment_count>
      <attachid>367444</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-04-15 13:02:59 -0700</bug_when>
    <thetext>Created attachment 367444
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527421</commentid>
    <comment_count>4</comment_count>
      <attachid>367444</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-15 14:34:21 -0700</bug_when>
    <thetext>Comment on attachment 367444
Patch

Clearing flags on attachment: 367444

Committed r244291: &lt;https://trac.webkit.org/changeset/244291&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527422</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-15 14:34:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527530</commentid>
    <comment_count>6</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-04-15 17:05:08 -0700</bug_when>
    <thetext>Seems like this commit broke API test: AutoLayoutRenderingProgressRelativeOrdering.

EWS did indicate this API test failure (on obsolete patch of this bug). See https://ews-build.webkit.org/#/builders/3/builds/578</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527534</commentid>
    <comment_count>7</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-04-15 17:15:30 -0700</bug_when>
    <thetext>(In reply to Aakash Jain from comment #6)
&gt; Seems like this commit broke API test:
&gt; AutoLayoutRenderingProgressRelativeOrdering.
&gt; 
&gt; EWS did indicate this API test failure (on obsolete patch of this bug). See
&gt; https://ews-build.webkit.org/#/builders/3/builds/578
This might require some test changes. See https://bugs.webkit.org/show_bug.cgi?id=196948#c3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527580</commentid>
    <comment_count>8</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-04-15 19:13:09 -0700</bug_when>
    <thetext>(In reply to zalan from comment #7)
&gt; (In reply to Aakash Jain from comment #6)
&gt; &gt; Seems like this commit broke API test:
&gt; &gt; AutoLayoutRenderingProgressRelativeOrdering.
&gt; &gt; 
&gt; &gt; EWS did indicate this API test failure (on obsolete patch of this bug). See
&gt; &gt; https://ews-build.webkit.org/#/builders/3/builds/578
&gt; This might require some test changes. See
&gt; https://bugs.webkit.org/show_bug.cgi?id=196948#c3

It seems like autosizing clients rely on this order. However I am not convinced that updateIntrinsicContentSizeIfNeeded should be tied to flushLayer() as it looks purely layoutish (and surely auto-sizing only).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527583</commentid>
    <comment_count>9</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-04-15 19:21:31 -0700</bug_when>
    <thetext>(In reply to zalan from comment #8)
&gt; (In reply to zalan from comment #7)
&gt; &gt; (In reply to Aakash Jain from comment #6)
&gt; &gt; &gt; Seems like this commit broke API test:
&gt; &gt; &gt; AutoLayoutRenderingProgressRelativeOrdering.
&gt; &gt; &gt; 
&gt; &gt; &gt; EWS did indicate this API test failure (on obsolete patch of this bug). See
&gt; &gt; &gt; https://ews-build.webkit.org/#/builders/3/builds/578
&gt; &gt; This might require some test changes. See
&gt; &gt; https://bugs.webkit.org/show_bug.cgi?id=196948#c3
&gt; 
&gt; It seems like autosizing clients rely on this order. However I am not
&gt; convinced that updateIntrinsicContentSizeIfNeeded should be tied to
&gt; flushLayer() as it looks purely layoutish (and surely auto-sizing only).

It may appear &quot;layoutish&quot; but in platform toolkit land &quot;layout&quot; and &quot;painting&quot; happen synchronously and take effect simultaneously, so it&apos;s likely important that autosizing changes and painted-content changes happen at the same time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527584</commentid>
    <comment_count>10</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-04-15 19:24:49 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #9)
&gt; (In reply to zalan from comment #8)
&gt; &gt; (In reply to zalan from comment #7)
&gt; &gt; &gt; (In reply to Aakash Jain from comment #6)
&gt; &gt; &gt; &gt; Seems like this commit broke API test:
&gt; &gt; &gt; &gt; AutoLayoutRenderingProgressRelativeOrdering.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; EWS did indicate this API test failure (on obsolete patch of this bug). See
&gt; &gt; &gt; &gt; https://ews-build.webkit.org/#/builders/3/builds/578
&gt; &gt; &gt; This might require some test changes. See
&gt; &gt; &gt; https://bugs.webkit.org/show_bug.cgi?id=196948#c3
&gt; &gt; 
&gt; &gt; It seems like autosizing clients rely on this order. However I am not
&gt; &gt; convinced that updateIntrinsicContentSizeIfNeeded should be tied to
&gt; &gt; flushLayer() as it looks purely layoutish (and surely auto-sizing only).
&gt; 
&gt; It may appear &quot;layoutish&quot; but in platform toolkit land &quot;layout&quot; and
&gt; &quot;painting&quot; happen synchronously and take effect simultaneously, so it&apos;s
&gt; likely important that autosizing changes and painted-content changes happen
&gt; at the same time.
The callback is in flushLayers() and not in the commit handler, so not sure what &quot;same time&quot; means in that context.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527585</commentid>
    <comment_count>11</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-04-15 19:26:24 -0700</bug_when>
    <thetext>(In reply to zalan from comment #10)
&gt; (In reply to Tim Horton from comment #9)
&gt; &gt; (In reply to zalan from comment #8)
&gt; &gt; &gt; (In reply to zalan from comment #7)
&gt; &gt; &gt; &gt; (In reply to Aakash Jain from comment #6)
&gt; &gt; &gt; &gt; &gt; Seems like this commit broke API test:
&gt; &gt; &gt; &gt; &gt; AutoLayoutRenderingProgressRelativeOrdering.
&gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; EWS did indicate this API test failure (on obsolete patch of this bug). See
&gt; &gt; &gt; &gt; &gt; https://ews-build.webkit.org/#/builders/3/builds/578
&gt; &gt; &gt; &gt; This might require some test changes. See
&gt; &gt; &gt; &gt; https://bugs.webkit.org/show_bug.cgi?id=196948#c3
&gt; &gt; &gt; 
&gt; &gt; &gt; It seems like autosizing clients rely on this order. However I am not
&gt; &gt; &gt; convinced that updateIntrinsicContentSizeIfNeeded should be tied to
&gt; &gt; &gt; flushLayer() as it looks purely layoutish (and surely auto-sizing only).
&gt; &gt; 
&gt; &gt; It may appear &quot;layoutish&quot; but in platform toolkit land &quot;layout&quot; and
&gt; &gt; &quot;painting&quot; happen synchronously and take effect simultaneously, so it&apos;s
&gt; &gt; likely important that autosizing changes and painted-content changes happen
&gt; &gt; at the same time.
&gt; The callback is in flushLayers() and not in the commit handler, so not sure
&gt; what &quot;same time&quot; means in that context.
Unless &quot;painted-content&quot; changes and the actual painting are unrelated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527802</commentid>
    <comment_count>12</comment_count>
      <attachid>367444</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-04-16 11:51:03 -0700</bug_when>
    <thetext>Comment on attachment 367444
Patch

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

&gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:6229
&gt; +        static auto paintMilestones = OptionSet&lt;WebCore::LayoutMilestone&gt; { DidHitRelevantRepaintedObjectsAreaThreshold, DidFirstFlushForHeaderLayer, DidFirstPaintAfterSuppressedIncrementalRendering, DidRenderSignificantAmountOfText, DidFirstMeaningfulPaint };   

This can be made ever so slightly more optimal by making this a constexpr and not static.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367443</attachid>
            <date>2019-04-15 12:52:11 -0700</date>
            <delta_ts>2019-04-15 13:02:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196926-20190415125210.patch</filename>
            <type>text/plain</type>
            <size>16072</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MjA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDczYTc5NDkzNzBmNGVkNTUz
YjI2ZWE3Nzk5ZGVkNzE3NGNiNmUxMjEuLjgyZjY4ZWFjYWJlYTc1ZmM0YWEzMzZjOWFjMTZlODlm
NWQzZDRkNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMTktMDQtMTUgIFphbGFuIEJ1
anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBEcmF3aW5nYXJlYSBzaG91bGQgb25s
eSBjYXB0dXJlIHBhaW50aW5nIHJlbGF0ZWQgbWlsZXN0b25lcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2OTI2CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS80ODAwMzg0NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBXaGlsZSBkaXNwYXRjaGluZyBsYXlvdXQgbWlsZXN0b25lcyAobWl4dHVyZSBvZiBs
YXlvdXQgYW5kIHBhaW50aW5nIGl0ZW1zKSwgdGhlIGFzc29jaWF0ZWQgZHJhd2luZyBhcmVhcyBz
aG91bGQgb25seSBjYXB0dXJlIHRoZSBwYWludGluZyByZWxhdGVkIG1pbGVzdG9uZXMuCisgICAg
ICAgIFRoZXNlIGNhcHR1cmVkIG1pbGVzdG9uZXMgZ2V0IGRpc3BhdGNoZWQgbGF0ZXIgaW4gdGhl
IGNvbW1pdCBoYW5kbGVyIHRvIGVuc3VyZSB0aGF0IHRoZXkgYXJlIG5vdCBmb3J3YXJkZWQgcHJl
bWF0dXJlbHkuCisgICAgICAgIEhvd2V2ZXIgdGhlIHRydWx5IGxheW91dCByZWxhdGVkIG1pbGVz
dG9uZXMgKGUuZy4gRGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0KSBzaG91bGQgYmUgZGlz
cGF0Y2hlZCByaWdodCBhd2F5IHdpdGggbm8gZGVsYXkuCisKKyAgICAgICAgKiBTaGFyZWQvUmVt
b3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmg6CisgICAgICAgIChXZWJL
aXQ6OlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpuZXdseVJlYWNoZWRQYWludGluZ01pbGVz
dG9uZXMgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlv
bjo6c2V0TmV3bHlSZWFjaGVkUGFpbnRpbmdNaWxlc3RvbmVzKToKKyAgICAgICAgKFdlYktpdDo6
UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246Om5ld2x5UmVhY2hlZExheW91dE1pbGVzdG9uZXMg
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2Fj
dGlvbjo6c2V0TmV3bHlSZWFjaGVkTGF5b3V0TWlsZXN0b25lcyk6IERlbGV0ZWQuCisgICAgICAg
ICogU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5tbToK
KyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OmVuY29kZSBjb25z
dCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpkZWNvZGUp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRHJh
d2luZ0FyZWFQcm94eS5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2lu
Z0FyZWFQcm94eTo6Y29tbWl0TGF5ZXJUcmVlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvRHJhd2luZ0FyZWEuaDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWE6OmFkZE1pbGVz
dG9uZXNUb0Rpc3BhdGNoKToKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWE6OmRpc3BhdGNo
RGlkUmVhY2hMYXlvdXRNaWxlc3RvbmUpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEuaDoKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OmFkZE1pbGVzdG9uZXNU
b0Rpc3BhdGNoKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVl
L1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVM
YXllclRyZWVEcmF3aW5nQXJlYTo6Zmx1c2hMYXllcnMpOgorICAgICAgICAoV2ViS2l0OjpSZW1v
dGVMYXllclRyZWVEcmF3aW5nQXJlYTo6ZGlzcGF0Y2hEaWRSZWFjaExheW91dE1pbGVzdG9uZSk6
IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlOjpkaXNwYXRjaERpZFJlYWNoTGF5b3V0TWlsZXN0b25lKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdp
bmdBcmVhLmg6CisgICAgICAgIChXZWJLaXQ6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVh
OjphZGRNaWxlc3RvbmVzVG9EaXNwYXRjaCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbToKKyAgICAgICAgKFdlYktpdDo6
VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OnNlbmRQZW5kaW5nTmV3bHlSZWFjaGVkUGFp
bnRpbmdNaWxlc3RvbmVzKToKKyAgICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0aW9uRHJh
d2luZ0FyZWE6OmZsdXNoTGF5ZXJzKToKKyAgICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0
aW9uRHJhd2luZ0FyZWE6OnNlbmRQZW5kaW5nTmV3bHlSZWFjaGVkTGF5b3V0TWlsZXN0b25lcyk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVh
OjpkaXNwYXRjaERpZFJlYWNoTGF5b3V0TWlsZXN0b25lKTogRGVsZXRlZC4KKwogMjAxOS0wNC0x
MSAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFVw
ZGF0ZSAnU2F2ZSBJbWFnZScgdG8gbW9yZSBjbGVhciBpbnN0cnVjdGlvbnMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVUcmFu
c2FjdGlvbi5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxh
eWVyVHJlZVRyYW5zYWN0aW9uLmgKaW5kZXggNTkxN2FhYTE4YmNhN2YwZTIwYzRjYWJlYzMzYzVj
NzE0OGMyYzUwMC4uZWEyYmU5MzA4Y2JiZTZkZDdlYjhjZjJjNTg4YzhmZjYxOWVhOTkzYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVy
VHJlZVRyYW5zYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJU
cmVlL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmgKQEAgLTI3MSw4ICsyNzEsOCBAQCBwdWJs
aWM6CiAgICAgY29uc3QgVmVjdG9yPFRyYW5zYWN0aW9uQ2FsbGJhY2tJRD4mIGNhbGxiYWNrSURz
KCkgY29uc3QgeyByZXR1cm4gbV9jYWxsYmFja0lEczsgfQogICAgIHZvaWQgc2V0Q2FsbGJhY2tJ
RHMoVmVjdG9yPFRyYW5zYWN0aW9uQ2FsbGJhY2tJRD4mJiBjYWxsYmFja0lEcykgeyBtX2NhbGxi
YWNrSURzID0gV1RGTW92ZShjYWxsYmFja0lEcyk7IH0KIAotICAgIE9wdGlvblNldDxXZWJDb3Jl
OjpMYXlvdXRNaWxlc3RvbmU+IG5ld2x5UmVhY2hlZExheW91dE1pbGVzdG9uZXMoKSBjb25zdCB7
IHJldHVybiBtX25ld2x5UmVhY2hlZExheW91dE1pbGVzdG9uZXM7IH0KLSAgICB2b2lkIHNldE5l
d2x5UmVhY2hlZExheW91dE1pbGVzdG9uZXMoT3B0aW9uU2V0PFdlYkNvcmU6OkxheW91dE1pbGVz
dG9uZT4gbWlsZXN0b25lcykgeyBtX25ld2x5UmVhY2hlZExheW91dE1pbGVzdG9uZXMgPSBtaWxl
c3RvbmVzOyB9CisgICAgT3B0aW9uU2V0PFdlYkNvcmU6OkxheW91dE1pbGVzdG9uZT4gbmV3bHlS
ZWFjaGVkUGFpbnRpbmdNaWxlc3RvbmVzKCkgY29uc3QgeyByZXR1cm4gbV9uZXdseVJlYWNoZWRQ
YWludGluZ01pbGVzdG9uZXM7IH0KKyAgICB2b2lkIHNldE5ld2x5UmVhY2hlZFBhaW50aW5nTWls
ZXN0b25lcyhPcHRpb25TZXQ8V2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lPiBtaWxlc3RvbmVzKSB7
IG1fbmV3bHlSZWFjaGVkUGFpbnRpbmdNaWxlc3RvbmVzID0gbWlsZXN0b25lczsgfQogCiAgICAg
Ym9vbCBoYXNFZGl0b3JTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuICEhbV9lZGl0b3JTdGF0ZTsgfQog
ICAgIGNvbnN0IEVkaXRvclN0YXRlJiBlZGl0b3JTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZWRp
dG9yU3RhdGUudmFsdWUoKTsgfQpAQCAtMzA4LDcgKzMwOCw3IEBAIHByaXZhdGU6CiAgICAgdWlu
dDY0X3QgbV9yZW5kZXJUcmVlU2l6ZSB7IDAgfTsKICAgICB1aW50NjRfdCBtX3RyYW5zYWN0aW9u
SUQgeyAwIH07CiAgICAgQWN0aXZpdHlTdGF0ZUNoYW5nZUlEIG1fYWN0aXZpdHlTdGF0ZUNoYW5n
ZUlEIHsgQWN0aXZpdHlTdGF0ZUNoYW5nZUFzeW5jaHJvbm91cyB9OwotICAgIE9wdGlvblNldDxX
ZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmU+IG1fbmV3bHlSZWFjaGVkTGF5b3V0TWlsZXN0b25lczsK
KyAgICBPcHRpb25TZXQ8V2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lPiBtX25ld2x5UmVhY2hlZFBh
aW50aW5nTWlsZXN0b25lczsKICAgICBib29sIG1fc2NhbGVXYXNTZXRCeVVJUHJvY2VzcyB7IGZh
bHNlIH07CiAgICAgYm9vbCBtX2FsbG93c1VzZXJTY2FsaW5nIHsgZmFsc2UgfTsKICAgICBib29s
IG1fYXZvaWRzVW5zYWZlQXJlYSB7IHRydWUgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5tbSBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVUcmFuc2Fj
dGlvbi5tbQppbmRleCA0YTAzYTI4ZWYzZmNhZWZiNjEyMGE5M2M2NGMwMTQxNzA1ODMzMTlkLi4x
ZjJkZTRkMDM3ZWEzZTgzMDI4N2FiOThjYjJhOGYyMWM0ZWNlYTJlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rp
b24ubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxh
eWVyVHJlZVRyYW5zYWN0aW9uLm1tCkBAIC01NjIsNyArNTYyLDcgQEAgdm9pZCBSZW1vdGVMYXll
clRyZWVUcmFuc2FjdGlvbjo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAg
ICBlbmNvZGVyIDw8IG1fdHJhbnNhY3Rpb25JRDsKICAgICBlbmNvZGVyIDw8IG1fYWN0aXZpdHlT
dGF0ZUNoYW5nZUlEOwogCi0gICAgZW5jb2RlciA8PCBtX25ld2x5UmVhY2hlZExheW91dE1pbGVz
dG9uZXM7CisgICAgZW5jb2RlciA8PCBtX25ld2x5UmVhY2hlZFBhaW50aW5nTWlsZXN0b25lczsK
IAogICAgIGVuY29kZXIgPDwgbV9zY2FsZVdhc1NldEJ5VUlQcm9jZXNzOwogICAgIGVuY29kZXIg
PDwgbV9hbGxvd3NVc2VyU2NhbGluZzsKQEAgLTY3Myw3ICs2NzMsNyBAQCBib29sIFJlbW90ZUxh
eWVyVHJlZVRyYW5zYWN0aW9uOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBSZW1vdGVM
YXllclRyZWVUcgogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm1fYWN0aXZpdHlTdGF0
ZUNoYW5nZUlEKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShyZXN1bHQubV9uZXdseVJlYWNoZWRMYXlvdXRNaWxlc3RvbmVzKSkKKyAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKHJlc3VsdC5tX25ld2x5UmVhY2hlZFBhaW50aW5nTWlsZXN0b25lcykpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm1f
c2NhbGVXYXNTZXRCeVVJUHJvY2VzcykpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbSBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVE
cmF3aW5nQXJlYVByb3h5Lm1tCmluZGV4IDcwNjg0NDMzNmEyNWM3MTM5NmI4YTYyZmU0ZmNiZmQw
Yzc4ZTZiZDcuLmU0ZGU4OTBmMGExMGI1NTU1M2Y1MmM0MmJiMDk1OGJmYTFjMGUwMjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXll
clRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Jl
bW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tCkBAIC0yNTUs
NyArMjU1LDcgQEAgdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Ojpjb21taXRM
YXllclRyZWUoY29uc3QgUmVtb3RlTGF5ZXJUcmVlVHJhbnMKICAgICBkaWRSZWZyZXNoRGlzcGxh
eSgpOwogI2VuZGlmCiAKLSAgICBpZiAoYXV0byBtaWxlc3RvbmVzID0gbGF5ZXJUcmVlVHJhbnNh
Y3Rpb24ubmV3bHlSZWFjaGVkTGF5b3V0TWlsZXN0b25lcygpKQorICAgIGlmIChhdXRvIG1pbGVz
dG9uZXMgPSBsYXllclRyZWVUcmFuc2FjdGlvbi5uZXdseVJlYWNoZWRQYWludGluZ01pbGVzdG9u
ZXMoKSkKICAgICAgICAgbV93ZWJQYWdlUHJveHkuZGlkUmVhY2hMYXlvdXRNaWxlc3RvbmUobWls
ZXN0b25lcyk7CiAKICAgICBmb3IgKGF1dG8mIGNhbGxiYWNrSUQgOiBsYXllclRyZWVUcmFuc2Fj
dGlvbi5jYWxsYmFja0lEcygpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvRHJhd2luZ0FyZWEuaAppbmRleCA3YzU2Y2EwZmRkNTVkMmVhMWRlMTJmYjkxMjQ3MmI4YTgy
ZGRjYjczLi44MDY5YTE1OGVlMjlhM2I0MzZhNzBhYzBkMjA0YmFlNTdmZGRmMDliIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgKQEAgLTEzMiw3
ICsxMzIsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvdWxkU2NhbGVWaWV3
VG9GaXREb2N1bWVudChib29sKSB7IH0KIAotICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRjaERpZFJl
YWNoTGF5b3V0TWlsZXN0b25lKE9wdGlvblNldDxXZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmU+KSB7
IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCBhZGRNaWxlc3RvbmVzVG9EaXNwYXRj
aChPcHRpb25TZXQ8V2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lPikgeyByZXR1cm4gZmFsc2U7IH0K
IAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIC8vIFVzZWQgYnkgVGlsZWRDb3JlQW5pbWF0aW9u
RHJhd2luZ0FyZWEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEuaCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVE
cmF3aW5nQXJlYS5oCmluZGV4IDI3MWRjMzMxMmJhZjliODI5NGJlY2FhZjFiMjliMGFiZGQ1ZGM1
ZTQuLjQzMzE1OWY4NTk0ZmZlYTBkZThjZWY3OWEyNjYwZGU2MTQ3NzcwZGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVM
YXllclRyZWVEcmF3aW5nQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5oCkBAIC0xMDks
NyArMTA5LDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgYWRqdXN0TGF5ZXJGbHVzaFRocm90dGxp
bmcoV2ViQ29yZTo6TGF5ZXJGbHVzaFRocm90dGxlU3RhdGU6OkZsYWdzKSBvdmVycmlkZTsKIAot
ICAgIGJvb2wgZGlzcGF0Y2hEaWRSZWFjaExheW91dE1pbGVzdG9uZShPcHRpb25TZXQ8V2ViQ29y
ZTo6TGF5b3V0TWlsZXN0b25lPikgb3ZlcnJpZGU7CisgICAgYm9vbCBhZGRNaWxlc3RvbmVzVG9E
aXNwYXRjaChPcHRpb25TZXQ8V2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lPikgb3ZlcnJpZGU7CiAK
ICAgICB2b2lkIHVwZGF0ZVNjcm9sbGVkRXhwb3NlZFJlY3QoKTsKICAgICB2b2lkIHVwZGF0ZVJv
b3RMYXllcnMoKTsKQEAgLTE3MywxMiArMTczLDE4IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPFJl
bW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpUcmFuc2FjdGlvbkNhbGxiYWNrSUQ+IG1fcGVuZGlu
Z0NhbGxiYWNrSURzOwogICAgIEFjdGl2aXR5U3RhdGVDaGFuZ2VJRCBtX2FjdGl2aXR5U3RhdGVD
aGFuZ2VJRCB7IEFjdGl2aXR5U3RhdGVDaGFuZ2VBc3luY2hyb25vdXMgfTsKIAotICAgIE9wdGlv
blNldDxXZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmU+IG1fcGVuZGluZ05ld2x5UmVhY2hlZExheW91
dE1pbGVzdG9uZXM7CisgICAgT3B0aW9uU2V0PFdlYkNvcmU6OkxheW91dE1pbGVzdG9uZT4gbV9w
ZW5kaW5nTmV3bHlSZWFjaGVkUGFpbnRpbmdNaWxlc3RvbmVzOwogCiAgICAgUmVmUHRyPFdlYkNv
cmU6OkdyYXBoaWNzTGF5ZXI+IG1fY29udGVudExheWVyOwogICAgIFJlZlB0cjxXZWJDb3JlOjpH
cmFwaGljc0xheWVyPiBtX3ZpZXdPdmVybGF5Um9vdExheWVyOwogfTsKIAoraW5saW5lIGJvb2wg
UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OmFkZE1pbGVzdG9uZXNUb0Rpc3BhdGNoKE9wdGlv
blNldDxXZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmU+IHBhaW50TWlsZXN0b25lcykKK3sKKyAgICBt
X3BlbmRpbmdOZXdseVJlYWNoZWRQYWludGluZ01pbGVzdG9uZXMuYWRkKHBhaW50TWlsZXN0b25l
cyk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiBTUEVD
SUFMSVpFX1RZUEVfVFJBSVRTX0RSQVdJTkdfQVJFQShSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJl
YSwgRHJhd2luZ0FyZWFUeXBlUmVtb3RlTGF5ZXJUcmVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURy
YXdpbmdBcmVhLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5
ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tCmluZGV4IDhjNDNmMzNmNzkzNmE5
ZTNjY2RjYmQwNjBkODZhOWU3YThhM2I5NzAuLmI3NTJjMWM1NGQ0NmYwOGRkYTY2NWI1ZjM1NjRk
NTQyYTY2NWVjZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJU
cmVlRHJhd2luZ0FyZWEubW0KQEAgLTM5MCw4ICszOTAsOCBAQCB2b2lkIFJlbW90ZUxheWVyVHJl
ZURyYXdpbmdBcmVhOjpmbHVzaExheWVycygpCiAgICAgYmFja2luZ1N0b3JlQ29sbGVjdGlvbi53
aWxsQ29tbWl0TGF5ZXJUcmVlKGxheWVyVHJhbnNhY3Rpb24pOwogICAgIG1fd2ViUGFnZS53aWxs
Q29tbWl0TGF5ZXJUcmVlKGxheWVyVHJhbnNhY3Rpb24pOwogCi0gICAgbGF5ZXJUcmFuc2FjdGlv
bi5zZXROZXdseVJlYWNoZWRMYXlvdXRNaWxlc3RvbmVzKG1fcGVuZGluZ05ld2x5UmVhY2hlZExh
eW91dE1pbGVzdG9uZXMpOwotICAgIG1fcGVuZGluZ05ld2x5UmVhY2hlZExheW91dE1pbGVzdG9u
ZXMgPSB7IH07CisgICAgbGF5ZXJUcmFuc2FjdGlvbi5zZXROZXdseVJlYWNoZWRQYWludGluZ01p
bGVzdG9uZXMobV9wZW5kaW5nTmV3bHlSZWFjaGVkUGFpbnRpbmdNaWxlc3RvbmVzKTsKKyAgICBt
X3BlbmRpbmdOZXdseVJlYWNoZWRQYWludGluZ01pbGVzdG9uZXMgPSB7IH07CiAKICAgICBsYXll
clRyYW5zYWN0aW9uLnNldEFjdGl2aXR5U3RhdGVDaGFuZ2VJRChtX2FjdGl2aXR5U3RhdGVDaGFu
Z2VJRCk7CiAgICAgbV9hY3Rpdml0eVN0YXRlQ2hhbmdlSUQgPSBBY3Rpdml0eVN0YXRlQ2hhbmdl
QXN5bmNocm9ub3VzOwpAQCAtNTMyLDEyICs1MzIsNiBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURy
YXdpbmdBcmVhOjphZGRUcmFuc2FjdGlvbkNhbGxiYWNrSUQoQ2FsbGJhY2tJRCBjYWxsYmFja0lE
KQogICAgIHNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKCk7CiB9CiAKLWJvb2wgUmVtb3Rl
TGF5ZXJUcmVlRHJhd2luZ0FyZWE6OmRpc3BhdGNoRGlkUmVhY2hMYXlvdXRNaWxlc3RvbmUoT3B0
aW9uU2V0PFdlYkNvcmU6OkxheW91dE1pbGVzdG9uZT4gbGF5b3V0TWlsZXN0b25lcykKLXsKLSAg
ICBtX3BlbmRpbmdOZXdseVJlYWNoZWRMYXlvdXRNaWxlc3RvbmVzLmFkZChsYXlvdXRNaWxlc3Rv
bmVzKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5n
QXJlYTo6YWRvcHRMYXllcnNGcm9tRHJhd2luZ0FyZWEoRHJhd2luZ0FyZWEmIG9sZERyYXdpbmdB
cmVhKQogewogICAgIFJFTEVBU0VfQVNTRVJUKG9sZERyYXdpbmdBcmVhLnR5cGUoKSA9PSB0eXBl
KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRl
eCBjMTIzMDVlNGRhNDkwNDVmNzRiODE4ODQ1YjlkNmI5MDhlMjE2Njk0Li5hMDk0MGQyMzhjYWZl
NWUxNTNmNTdjNWMyOGZhYWE4M2E1MmFhZGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNjIyNSw4ICs2MjI1LDEyIEBAIHZvaWQgV2ViUGFn
ZTo6ZGlzcGF0Y2hEaWRSZWFjaExheW91dE1pbGVzdG9uZShPcHRpb25TZXQ8V2ViQ29yZTo6TGF5
b3V0TWlsZXN0b25lCiAgICAgQVNTRVJUKCF1c2VyRGF0YSk7CiAKICAgICAvLyBUaGUgZHJhd2lu
ZyBhcmVhIG1pZ2h0IHdhbnQgdG8gZGVmZXIgZGlzcGF0Y2ggb2YgZGlkTGF5b3V0IHRvIHRoZSBV
SSBwcm9jZXNzLgotICAgIGlmIChtX2RyYXdpbmdBcmVhICYmIG1fZHJhd2luZ0FyZWEtPmRpc3Bh
dGNoRGlkUmVhY2hMYXlvdXRNaWxlc3RvbmUobWlsZXN0b25lcykpCi0gICAgICAgIHJldHVybjsK
KyAgICBpZiAobV9kcmF3aW5nQXJlYSkgeworICAgICAgICBzdGF0aWMgYXV0byBwYWludE1pbGVz
dG9uZXMgPSBPcHRpb25TZXQ8V2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lPiB7IERpZEhpdFJlbGV2
YW50UmVwYWludGVkT2JqZWN0c0FyZWFUaHJlc2hvbGQsIERpZEZpcnN0Rmx1c2hGb3JIZWFkZXJM
YXllciwgRGlkRmlyc3RQYWludEFmdGVyU3VwcHJlc3NlZEluY3JlbWVudGFsUmVuZGVyaW5nLCBE
aWRSZW5kZXJTaWduaWZpY2FudEFtb3VudE9mVGV4dCwgRGlkRmlyc3RNZWFuaW5nZnVsUGFpbnQg
fTsgICAKKyAgICAgICAgYXV0byBkcmF3aW5nQXJlYVJlbGF0ZWRNaWxlc3RvbmVzID0gbWlsZXN0
b25lcyAmIHBhaW50TWlsZXN0b25lczsKKyAgICAgICAgaWYgKGRyYXdpbmdBcmVhUmVsYXRlZE1p
bGVzdG9uZXMgJiYgbV9kcmF3aW5nQXJlYS0+YWRkTWlsZXN0b25lc1RvRGlzcGF0Y2goZHJhd2lu
Z0FyZWFSZWxhdGVkTWlsZXN0b25lcykpCisgICAgICAgICAgICBtaWxlc3RvbmVzLnJlbW92ZShk
cmF3aW5nQXJlYVJlbGF0ZWRNaWxlc3RvbmVzKTsKKyAgICB9CiAKICAgICBzZW5kKE1lc3NhZ2Vz
OjpXZWJQYWdlUHJveHk6OkRpZFJlYWNoTGF5b3V0TWlsZXN0b25lKG1pbGVzdG9uZXMpKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENv
cmVBbmltYXRpb25EcmF3aW5nQXJlYS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLmgKaW5kZXggOTc2MmZjMDMxODRh
NjI1NGNhMjcwMTQyMDA2OTI1YjI4MDkxMGYwZi4uOWFmMWU3ZmQ0ZGE1ZDExNjM2M2IwMjg1MGQ4
ZWM1OTNjNjExOWUxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLmgKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLmgK
QEAgLTg2LDcgKzg2LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgYXR0YWNoVmlld092ZXJsYXlH
cmFwaGljc0xheWVyKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqKSBvdmVycmlkZTsKIAotICAgIGJv
b2wgZGlzcGF0Y2hEaWRSZWFjaExheW91dE1pbGVzdG9uZShPcHRpb25TZXQ8V2ViQ29yZTo6TGF5
b3V0TWlsZXN0b25lPikgb3ZlcnJpZGU7CisgICAgYm9vbCBhZGRNaWxlc3RvbmVzVG9EaXNwYXRj
aChPcHRpb25TZXQ8V2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lPiBwYWludE1pbGVzdG9uZXMpIG92
ZXJyaWRlOwogCiAgICAgZW51bSBjbGFzcyBGbHVzaFR5cGUgeyBOb3JtYWwsIFRyYW5zaWVudFpv
b20gfTsKICAgICB2b2lkIGZsdXNoTGF5ZXJzKEZsdXNoVHlwZSA9IEZsdXNoVHlwZTo6Tm9ybWFs
KTsKQEAgLTEyNSw3ICsxMjUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgdXBkYXRlU2Nyb2xsZWRF
eHBvc2VkUmVjdCgpOwogICAgIHZvaWQgc2NhbGVWaWV3VG9GaXREb2N1bWVudElmTmVlZGVkKCk7
CiAKLSAgICB2b2lkIHNlbmRQZW5kaW5nTmV3bHlSZWFjaGVkTGF5b3V0TWlsZXN0b25lcygpOwor
ICAgIHZvaWQgc2VuZFBlbmRpbmdOZXdseVJlYWNoZWRQYWludGluZ01pbGVzdG9uZXMoKTsKIAog
ICAgIHZvaWQgbGF5ZXJGbHVzaFJ1bkxvb3BDYWxsYmFjaygpOwogICAgIHZvaWQgaW52YWxpZGF0
ZUxheWVyRmx1c2hSdW5Mb29wT2JzZXJ2ZXIoKTsKQEAgLTE2Myw3ICsxNjMsNyBAQCBwcml2YXRl
OgogCiAgICAgUmVmUHRyPFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI+IG1fdmlld092ZXJsYXlSb290
TGF5ZXI7CiAKLSAgICBPcHRpb25TZXQ8V2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lPiBtX3BlbmRp
bmdOZXdseVJlYWNoZWRMYXlvdXRNaWxlc3RvbmVzOworICAgIE9wdGlvblNldDxXZWJDb3JlOjpM
YXlvdXRNaWxlc3RvbmU+IG1fcGVuZGluZ05ld2x5UmVhY2hlZFBhaW50aW5nTWlsZXN0b25lczsK
ICAgICBWZWN0b3I8Q2FsbGJhY2tJRD4gbV9wZW5kaW5nQ2FsbGJhY2tJRHM7CiAKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8V2ViQ29yZTo6UnVuTG9vcE9ic2VydmVyPiBtX2xheWVyRmx1c2hSdW5Mb29w
T2JzZXJ2ZXI7CkBAIC0xNzgsNiArMTc4LDEyIEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX25lZWRz
U2VuZEVudGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUgeyB0cnVlIH07CiB9OwogCitpbmxp
bmUgYm9vbCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6YWRkTWlsZXN0b25lc1RvRGlz
cGF0Y2goT3B0aW9uU2V0PFdlYkNvcmU6OkxheW91dE1pbGVzdG9uZT4gcGFpbnRNaWxlc3RvbmVz
KQoreworICAgIG1fcGVuZGluZ05ld2x5UmVhY2hlZFBhaW50aW5nTWlsZXN0b25lcy5hZGQocGFp
bnRNaWxlc3RvbmVzKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CiAKIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRFJBV0lOR19BUkVBKFRpbGVkQ29yZUFuaW1h
dGlvbkRyYXdpbmdBcmVhLCBEcmF3aW5nQXJlYVR5cGVUaWxlZENvcmVBbmltYXRpb24pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5p
bWF0aW9uRHJhd2luZ0FyZWEubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9t
YWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KaW5kZXggYTRiOWZhNWFhMjEwNGQ0
OTA0MWFmMzZhYjk0ZTA5NWYzZjQyYzFkOC4uODVmMGNhMmNkZWU1ODJhOTYxYjMwYjFmNzE1NTA3
YzU1ZWU4ZmU1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
bWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQpA
QCAtNDM2LDEzICs0MzYsMTMgQEAgdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6
ZGlzcGF0Y2hBZnRlckVuc3VyaW5nVXBkYXRlZFNjcm9sbFBvc2l0aW9uKFcKICNlbmRpZgogfQog
Ci12b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjpzZW5kUGVuZGluZ05ld2x5UmVh
Y2hlZExheW91dE1pbGVzdG9uZXMoKQordm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJl
YTo6c2VuZFBlbmRpbmdOZXdseVJlYWNoZWRQYWludGluZ01pbGVzdG9uZXMoKQogewotICAgIGlm
ICghbV9wZW5kaW5nTmV3bHlSZWFjaGVkTGF5b3V0TWlsZXN0b25lcykKKyAgICBpZiAoIW1fcGVu
ZGluZ05ld2x5UmVhY2hlZFBhaW50aW5nTWlsZXN0b25lcykKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgbV93ZWJQYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkUmVhY2hMYXlvdXRN
aWxlc3RvbmUobV9wZW5kaW5nTmV3bHlSZWFjaGVkTGF5b3V0TWlsZXN0b25lcykpOwotICAgIG1f
cGVuZGluZ05ld2x5UmVhY2hlZExheW91dE1pbGVzdG9uZXMgPSB7IH07CisgICAgbV93ZWJQYWdl
LnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkUmVhY2hMYXlvdXRNaWxlc3RvbmUobV9w
ZW5kaW5nTmV3bHlSZWFjaGVkUGFpbnRpbmdNaWxlc3RvbmVzKSk7CisgICAgbV9wZW5kaW5nTmV3
bHlSZWFjaGVkUGFpbnRpbmdNaWxlc3RvbmVzID0geyB9OwogfQogCiB2b2lkIFRpbGVkQ29yZUFu
aW1hdGlvbkRyYXdpbmdBcmVhOjphZGRUcmFuc2FjdGlvbkNhbGxiYWNrSUQoQ2FsbGJhY2tJRCBj
YWxsYmFja0lEKQpAQCAtNDg0LDcgKzQ4NCw3IEBAIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJh
d2luZ0FyZWE6OmZsdXNoTGF5ZXJzKEZsdXNoVHlwZSBmbHVzaFR5cGUpCiAgICAgICAgICAgICAg
ICAgICAgIGNvcmVQYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCkuZGlkQ29tcG9zaXRlKCpjb3Jl
RnJhbWUpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKGF1dG8gZHJhd2luZ0FyZWEg
PSBzdGF0aWNfY2FzdDxUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYSo+KHJldGFpbmVkUGFn
ZS0+ZHJhd2luZ0FyZWEoKSkpCi0gICAgICAgICAgICAgICAgZHJhd2luZ0FyZWEtPnNlbmRQZW5k
aW5nTmV3bHlSZWFjaGVkTGF5b3V0TWlsZXN0b25lcygpOworICAgICAgICAgICAgICAgIGRyYXdp
bmdBcmVhLT5zZW5kUGVuZGluZ05ld2x5UmVhY2hlZFBhaW50aW5nTWlsZXN0b25lcygpOwogICAg
ICAgICB9IGZvclBoYXNlOmtDQVRyYW5zYWN0aW9uUGhhc2VQb3N0Q29tbWl0XTsKIAogICAgICAg
ICBib29sIGRpZEZsdXNoQWxsRnJhbWVzID0gbV93ZWJQYWdlLm1haW5GcmFtZVZpZXcoKS0+Zmx1
c2hDb21wb3NpdGluZ1N0YXRlSW5jbHVkaW5nU3ViZnJhbWVzKCk7CkBAIC05MzEsMTIgKzkzMSw2
IEBAIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmFkZEZlbmNlKGNvbnN0IE1h
Y2hTZW5kUmlnaHQmIGZlbmNlUG9ydCkKICAgICBtX2xheWVySG9zdGluZ0NvbnRleHQtPnNldEZl
bmNlUG9ydChmZW5jZVBvcnQuc2VuZFJpZ2h0KCkpOwogfQogCi1ib29sIFRpbGVkQ29yZUFuaW1h
dGlvbkRyYXdpbmdBcmVhOjpkaXNwYXRjaERpZFJlYWNoTGF5b3V0TWlsZXN0b25lKE9wdGlvblNl
dDxXZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmU+IGxheW91dE1pbGVzdG9uZXMpCi17Ci0gICAgbV9w
ZW5kaW5nTmV3bHlSZWFjaGVkTGF5b3V0TWlsZXN0b25lcy5hZGQobGF5b3V0TWlsZXN0b25lcyk7
Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0Fy
ZWE6OmxheWVyRmx1c2hSdW5Mb29wQ2FsbGJhY2soKQogewogICAgIGZsdXNoTGF5ZXJzKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367444</attachid>
            <date>2019-04-15 13:02:59 -0700</date>
            <delta_ts>2019-04-15 14:34:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196926-20190415130258.patch</filename>
            <type>text/plain</type>
            <size>16068</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MjA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDczYTc5NDkzNzBmNGVkNTUz
YjI2ZWE3Nzk5ZGVkNzE3NGNiNmUxMjEuLjJiOGIwMjIxNjllNTg0MWU5ZDBkNGQ0ZGZjNGE3NzQ1
MzNiZTkxYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMTktMDQtMTUgIFphbGFuIEJ1
anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBEcmF3aW5nQXJlYSBzaG91bGQgb25s
eSBjYXB0dXJlIHBhaW50aW5nIHJlbGF0ZWQgbWlsZXN0b25lcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2OTI2CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS80ODAwMzg0NT4KKworICAgICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAg
ICAgIFdoaWxlIGRpc3BhdGNoaW5nIGxheW91dCBtaWxlc3RvbmVzIChtaXh0dXJlIG9mIGxheW91
dCBhbmQgcGFpbnRpbmcgaXRlbXMpLCB0aGUgYXNzb2NpYXRlZCBkcmF3aW5nIGFyZWFzIHNob3Vs
ZCBvbmx5IGNhcHR1cmUgdGhlIHBhaW50aW5nIHJlbGF0ZWQgbWlsZXN0b25lcy4KKyAgICAgICAg
VGhlc2UgY2FwdHVyZWQgbWlsZXN0b25lcyBnZXQgZGlzcGF0Y2hlZCBsYXRlciBpbiB0aGUgY29t
bWl0IGhhbmRsZXIgdG8gZW5zdXJlIHRoYXQgdGhleSBhcmUgbm90IGZvcndhcmRlZCBwcmVtYXR1
cmVseS4KKyAgICAgICAgSG93ZXZlciB0aGUgdHJ1bHkgbGF5b3V0IHJlbGF0ZWQgbWlsZXN0b25l
cyAoZS5nLiBEaWRGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXQpIHNob3VsZCBiZSBkaXNwYXRj
aGVkIHJpZ2h0IGF3YXkgd2l0aCBubyBkZWxheS4KKworICAgICAgICAqIFNoYXJlZC9SZW1vdGVM
YXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24uaDoKKyAgICAgICAgKFdlYktpdDo6
UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246Om5ld2x5UmVhY2hlZFBhaW50aW5nTWlsZXN0b25l
cyBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpz
ZXROZXdseVJlYWNoZWRQYWludGluZ01pbGVzdG9uZXMpOgorICAgICAgICAoV2ViS2l0OjpSZW1v
dGVMYXllclRyZWVUcmFuc2FjdGlvbjo6bmV3bHlSZWFjaGVkTGF5b3V0TWlsZXN0b25lcyBjb25z
dCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9u
OjpzZXROZXdseVJlYWNoZWRMYXlvdXRNaWxlc3RvbmVzKTogRGVsZXRlZC4KKyAgICAgICAgKiBT
aGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLm1tOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6ZW5jb2RlIGNvbnN0KToK
KyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OmRlY29kZSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5n
QXJlYVByb3h5Lm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJl
YVByb3h5Ojpjb21taXRMYXllclRyZWUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9E
cmF3aW5nQXJlYS5oOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYTo6YWRkTWlsZXN0b25l
c1RvRGlzcGF0Y2gpOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYTo6ZGlzcGF0Y2hEaWRS
ZWFjaExheW91dE1pbGVzdG9uZSk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5oOgorICAgICAg
ICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6YWRkTWlsZXN0b25lc1RvRGlz
cGF0Y2gpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUmVt
b3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVy
VHJlZURyYXdpbmdBcmVhOjpmbHVzaExheWVycyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxh
eWVyVHJlZURyYXdpbmdBcmVhOjpkaXNwYXRjaERpZFJlYWNoTGF5b3V0TWlsZXN0b25lKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2U6OmRpc3BhdGNoRGlkUmVhY2hMYXlvdXRNaWxlc3RvbmUpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0Fy
ZWEuaDoKKyAgICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmFk
ZE1pbGVzdG9uZXNUb0Rpc3BhdGNoKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFj
L1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tOgorICAgICAgICAoV2ViS2l0OjpUaWxl
ZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6c2VuZFBlbmRpbmdOZXdseVJlYWNoZWRQYWludGlu
Z01pbGVzdG9uZXMpOgorICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3aW5n
QXJlYTo6Zmx1c2hMYXllcnMpOgorICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25E
cmF3aW5nQXJlYTo6c2VuZFBlbmRpbmdOZXdseVJlYWNoZWRMYXlvdXRNaWxlc3RvbmVzKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmRp
c3BhdGNoRGlkUmVhY2hMYXlvdXRNaWxlc3RvbmUpOiBEZWxldGVkLgorCiAyMDE5LTA0LTExICBN
ZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRl
ICdTYXZlIEltYWdlJyB0byBtb3JlIGNsZWFyIGluc3RydWN0aW9ucwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0
aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJU
cmVlVHJhbnNhY3Rpb24uaAppbmRleCA1OTE3YWFhMThiY2E3ZjBlMjBjNGNhYmVjMzNjNWM3MTQ4
YzJjNTAwLi5lYTJiZTkzMDhjYmJlNmRkN2ViOGNmMmM1ODhjOGZmNjE5ZWE5OTNjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVl
VHJhbnNhY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUv
UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24uaApAQCAtMjcxLDggKzI3MSw4IEBAIHB1YmxpYzoK
ICAgICBjb25zdCBWZWN0b3I8VHJhbnNhY3Rpb25DYWxsYmFja0lEPiYgY2FsbGJhY2tJRHMoKSBj
b25zdCB7IHJldHVybiBtX2NhbGxiYWNrSURzOyB9CiAgICAgdm9pZCBzZXRDYWxsYmFja0lEcyhW
ZWN0b3I8VHJhbnNhY3Rpb25DYWxsYmFja0lEPiYmIGNhbGxiYWNrSURzKSB7IG1fY2FsbGJhY2tJ
RHMgPSBXVEZNb3ZlKGNhbGxiYWNrSURzKTsgfQogCi0gICAgT3B0aW9uU2V0PFdlYkNvcmU6Okxh
eW91dE1pbGVzdG9uZT4gbmV3bHlSZWFjaGVkTGF5b3V0TWlsZXN0b25lcygpIGNvbnN0IHsgcmV0
dXJuIG1fbmV3bHlSZWFjaGVkTGF5b3V0TWlsZXN0b25lczsgfQotICAgIHZvaWQgc2V0TmV3bHlS
ZWFjaGVkTGF5b3V0TWlsZXN0b25lcyhPcHRpb25TZXQ8V2ViQ29yZTo6TGF5b3V0TWlsZXN0b25l
PiBtaWxlc3RvbmVzKSB7IG1fbmV3bHlSZWFjaGVkTGF5b3V0TWlsZXN0b25lcyA9IG1pbGVzdG9u
ZXM7IH0KKyAgICBPcHRpb25TZXQ8V2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lPiBuZXdseVJlYWNo
ZWRQYWludGluZ01pbGVzdG9uZXMoKSBjb25zdCB7IHJldHVybiBtX25ld2x5UmVhY2hlZFBhaW50
aW5nTWlsZXN0b25lczsgfQorICAgIHZvaWQgc2V0TmV3bHlSZWFjaGVkUGFpbnRpbmdNaWxlc3Rv
bmVzKE9wdGlvblNldDxXZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmU+IG1pbGVzdG9uZXMpIHsgbV9u
ZXdseVJlYWNoZWRQYWludGluZ01pbGVzdG9uZXMgPSBtaWxlc3RvbmVzOyB9CiAKICAgICBib29s
IGhhc0VkaXRvclN0YXRlKCkgY29uc3QgeyByZXR1cm4gISFtX2VkaXRvclN0YXRlOyB9CiAgICAg
Y29uc3QgRWRpdG9yU3RhdGUmIGVkaXRvclN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9lZGl0b3JT
dGF0ZS52YWx1ZSgpOyB9CkBAIC0zMDgsNyArMzA4LDcgQEAgcHJpdmF0ZToKICAgICB1aW50NjRf
dCBtX3JlbmRlclRyZWVTaXplIHsgMCB9OwogICAgIHVpbnQ2NF90IG1fdHJhbnNhY3Rpb25JRCB7
IDAgfTsKICAgICBBY3Rpdml0eVN0YXRlQ2hhbmdlSUQgbV9hY3Rpdml0eVN0YXRlQ2hhbmdlSUQg
eyBBY3Rpdml0eVN0YXRlQ2hhbmdlQXN5bmNocm9ub3VzIH07Ci0gICAgT3B0aW9uU2V0PFdlYkNv
cmU6OkxheW91dE1pbGVzdG9uZT4gbV9uZXdseVJlYWNoZWRMYXlvdXRNaWxlc3RvbmVzOworICAg
IE9wdGlvblNldDxXZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmU+IG1fbmV3bHlSZWFjaGVkUGFpbnRp
bmdNaWxlc3RvbmVzOwogICAgIGJvb2wgbV9zY2FsZVdhc1NldEJ5VUlQcm9jZXNzIHsgZmFsc2Ug
fTsKICAgICBib29sIG1fYWxsb3dzVXNlclNjYWxpbmcgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9h
dm9pZHNVbnNhZmVBcmVhIHsgdHJ1ZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLm1tIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9u
Lm1tCmluZGV4IDRhMDNhMjhlZjNmY2FlZmI2MTIwYTkzYzY0YzAxNDE3MDU4MzMxOWQuLjFmMmRl
NGQwMzdlYTNlODMwMjg3YWI5OGNiMmE4ZjIxYzRlY2VhMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJU
cmVlVHJhbnNhY3Rpb24ubW0KQEAgLTU2Miw3ICs1NjIsNyBAQCB2b2lkIFJlbW90ZUxheWVyVHJl
ZVRyYW5zYWN0aW9uOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVu
Y29kZXIgPDwgbV90cmFuc2FjdGlvbklEOwogICAgIGVuY29kZXIgPDwgbV9hY3Rpdml0eVN0YXRl
Q2hhbmdlSUQ7CiAKLSAgICBlbmNvZGVyIDw8IG1fbmV3bHlSZWFjaGVkTGF5b3V0TWlsZXN0b25l
czsKKyAgICBlbmNvZGVyIDw8IG1fbmV3bHlSZWFjaGVkUGFpbnRpbmdNaWxlc3RvbmVzOwogCiAg
ICAgZW5jb2RlciA8PCBtX3NjYWxlV2FzU2V0QnlVSVByb2Nlc3M7CiAgICAgZW5jb2RlciA8PCBt
X2FsbG93c1VzZXJTY2FsaW5nOwpAQCAtNjczLDcgKzY3Myw3IEBAIGJvb2wgUmVtb3RlTGF5ZXJU
cmVlVHJhbnNhY3Rpb246OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIFJlbW90ZUxheWVy
VHJlZVRyCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQubV9hY3Rpdml0eVN0YXRlQ2hh
bmdlSUQpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KHJlc3VsdC5tX25ld2x5UmVhY2hlZExheW91dE1pbGVzdG9uZXMpKQorICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUocmVzdWx0Lm1fbmV3bHlSZWFjaGVkUGFpbnRpbmdNaWxlc3RvbmVzKSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQubV9zY2Fs
ZVdhc1NldEJ5VUlQcm9jZXNzKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhUHJveHkubW0KaW5kZXggNzA2ODQ0MzM2YTI1YzcxMzk2YjhhNjJmZTRmY2JmZDBjNzhl
NmJkNy4uZTRkZTg5MGYwYTEwYjU1NTUzZjUyYzQyYmIwOTU4YmZhMWMwZTAyNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJl
ZURyYXdpbmdBcmVhUHJveHkubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3Rl
TGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubW0KQEAgLTI1NSw3ICsy
NTUsNyBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmNvbW1pdExheWVy
VHJlZShjb25zdCBSZW1vdGVMYXllclRyZWVUcmFucwogICAgIGRpZFJlZnJlc2hEaXNwbGF5KCk7
CiAjZW5kaWYKIAotICAgIGlmIChhdXRvIG1pbGVzdG9uZXMgPSBsYXllclRyZWVUcmFuc2FjdGlv
bi5uZXdseVJlYWNoZWRMYXlvdXRNaWxlc3RvbmVzKCkpCisgICAgaWYgKGF1dG8gbWlsZXN0b25l
cyA9IGxheWVyVHJlZVRyYW5zYWN0aW9uLm5ld2x5UmVhY2hlZFBhaW50aW5nTWlsZXN0b25lcygp
KQogICAgICAgICBtX3dlYlBhZ2VQcm94eS5kaWRSZWFjaExheW91dE1pbGVzdG9uZShtaWxlc3Rv
bmVzKTsKIAogICAgIGZvciAoYXV0byYgY2FsbGJhY2tJRCA6IGxheWVyVHJlZVRyYW5zYWN0aW9u
LmNhbGxiYWNrSURzKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0RyYXdpbmdBcmVhLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9E
cmF3aW5nQXJlYS5oCmluZGV4IDdjNTZjYTBmZGQ1NWQyZWExZGUxMmZiOTEyNDcyYjhhODJkZGNi
NzMuLjgwNjlhMTU4ZWUyOWEzYjQzNmE3MGFjMGQyMDRiYWU1N2ZkZGYwOWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaApAQCAtMTMyLDcgKzEz
Miw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRTaG91bGRTY2FsZVZpZXdUb0Zp
dERvY3VtZW50KGJvb2wpIHsgfQogCi0gICAgdmlydHVhbCBib29sIGRpc3BhdGNoRGlkUmVhY2hM
YXlvdXRNaWxlc3RvbmUoT3B0aW9uU2V0PFdlYkNvcmU6OkxheW91dE1pbGVzdG9uZT4pIHsgcmV0
dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIGFkZE1pbGVzdG9uZXNUb0Rpc3BhdGNoKE9w
dGlvblNldDxXZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmU+KSB7IHJldHVybiBmYWxzZTsgfQogCiAj
aWYgUExBVEZPUk0oQ09DT0EpCiAgICAgLy8gVXNlZCBieSBUaWxlZENvcmVBbmltYXRpb25EcmF3
aW5nQXJlYS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1Jl
bW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5oIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhLmgKaW5kZXggMjcxZGMzMzEyYmFmOWI4Mjk0YmVjYWFmMWIyOWIwYWJkZDVkYzVlNC4u
NDMzMTU5Zjg1OTRmZmVhMGRlOGNlZjc5YTI2NjBkZTYxNDc3NzBkYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVy
VHJlZURyYXdpbmdBcmVhLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
UmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLmgKQEAgLTEwOSw3ICsx
MDksNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBhZGp1c3RMYXllckZsdXNoVGhyb3R0bGluZyhX
ZWJDb3JlOjpMYXllckZsdXNoVGhyb3R0bGVTdGF0ZTo6RmxhZ3MpIG92ZXJyaWRlOwogCi0gICAg
Ym9vbCBkaXNwYXRjaERpZFJlYWNoTGF5b3V0TWlsZXN0b25lKE9wdGlvblNldDxXZWJDb3JlOjpM
YXlvdXRNaWxlc3RvbmU+KSBvdmVycmlkZTsKKyAgICBib29sIGFkZE1pbGVzdG9uZXNUb0Rpc3Bh
dGNoKE9wdGlvblNldDxXZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmU+KSBvdmVycmlkZTsKIAogICAg
IHZvaWQgdXBkYXRlU2Nyb2xsZWRFeHBvc2VkUmVjdCgpOwogICAgIHZvaWQgdXBkYXRlUm9vdExh
eWVycygpOwpAQCAtMTczLDEyICsxNzMsMTggQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8UmVtb3Rl
TGF5ZXJUcmVlVHJhbnNhY3Rpb246OlRyYW5zYWN0aW9uQ2FsbGJhY2tJRD4gbV9wZW5kaW5nQ2Fs
bGJhY2tJRHM7CiAgICAgQWN0aXZpdHlTdGF0ZUNoYW5nZUlEIG1fYWN0aXZpdHlTdGF0ZUNoYW5n
ZUlEIHsgQWN0aXZpdHlTdGF0ZUNoYW5nZUFzeW5jaHJvbm91cyB9OwogCi0gICAgT3B0aW9uU2V0
PFdlYkNvcmU6OkxheW91dE1pbGVzdG9uZT4gbV9wZW5kaW5nTmV3bHlSZWFjaGVkTGF5b3V0TWls
ZXN0b25lczsKKyAgICBPcHRpb25TZXQ8V2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lPiBtX3BlbmRp
bmdOZXdseVJlYWNoZWRQYWludGluZ01pbGVzdG9uZXM7CiAKICAgICBSZWZQdHI8V2ViQ29yZTo6
R3JhcGhpY3NMYXllcj4gbV9jb250ZW50TGF5ZXI7CiAgICAgUmVmUHRyPFdlYkNvcmU6OkdyYXBo
aWNzTGF5ZXI+IG1fdmlld092ZXJsYXlSb290TGF5ZXI7CiB9OwogCitpbmxpbmUgYm9vbCBSZW1v
dGVMYXllclRyZWVEcmF3aW5nQXJlYTo6YWRkTWlsZXN0b25lc1RvRGlzcGF0Y2goT3B0aW9uU2V0
PFdlYkNvcmU6OkxheW91dE1pbGVzdG9uZT4gcGFpbnRNaWxlc3RvbmVzKQoreworICAgIG1fcGVu
ZGluZ05ld2x5UmVhY2hlZFBhaW50aW5nTWlsZXN0b25lcy5hZGQocGFpbnRNaWxlc3RvbmVzKTsK
KyAgICByZXR1cm4gdHJ1ZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKIFNQRUNJQUxJ
WkVfVFlQRV9UUkFJVFNfRFJBV0lOR19BUkVBKFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLCBE
cmF3aW5nQXJlYVR5cGVSZW1vdGVMYXllclRyZWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRHJhd2lu
Z0FyZWEubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRy
ZWUvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0KaW5kZXggOGM0M2YzM2Y3OTM2YTllM2Nj
ZGNiZDA2MGQ4NmE5ZTdhOGEzYjk3MC4uYjc1MmMxYzU0ZDQ2ZjA4ZGRhNjY1YjVmMzU2NGQ1NDJh
NjY1ZWNmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVt
b3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVE
cmF3aW5nQXJlYS5tbQpAQCAtMzkwLDggKzM5MCw4IEBAIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJh
d2luZ0FyZWE6OmZsdXNoTGF5ZXJzKCkKICAgICBiYWNraW5nU3RvcmVDb2xsZWN0aW9uLndpbGxD
b21taXRMYXllclRyZWUobGF5ZXJUcmFuc2FjdGlvbik7CiAgICAgbV93ZWJQYWdlLndpbGxDb21t
aXRMYXllclRyZWUobGF5ZXJUcmFuc2FjdGlvbik7CiAKLSAgICBsYXllclRyYW5zYWN0aW9uLnNl
dE5ld2x5UmVhY2hlZExheW91dE1pbGVzdG9uZXMobV9wZW5kaW5nTmV3bHlSZWFjaGVkTGF5b3V0
TWlsZXN0b25lcyk7Ci0gICAgbV9wZW5kaW5nTmV3bHlSZWFjaGVkTGF5b3V0TWlsZXN0b25lcyA9
IHsgfTsKKyAgICBsYXllclRyYW5zYWN0aW9uLnNldE5ld2x5UmVhY2hlZFBhaW50aW5nTWlsZXN0
b25lcyhtX3BlbmRpbmdOZXdseVJlYWNoZWRQYWludGluZ01pbGVzdG9uZXMpOworICAgIG1fcGVu
ZGluZ05ld2x5UmVhY2hlZFBhaW50aW5nTWlsZXN0b25lcyA9IHsgfTsKIAogICAgIGxheWVyVHJh
bnNhY3Rpb24uc2V0QWN0aXZpdHlTdGF0ZUNoYW5nZUlEKG1fYWN0aXZpdHlTdGF0ZUNoYW5nZUlE
KTsKICAgICBtX2FjdGl2aXR5U3RhdGVDaGFuZ2VJRCA9IEFjdGl2aXR5U3RhdGVDaGFuZ2VBc3lu
Y2hyb25vdXM7CkBAIC01MzIsMTIgKzUzMiw2IEBAIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2lu
Z0FyZWE6OmFkZFRyYW5zYWN0aW9uQ2FsbGJhY2tJRChDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiAg
ICAgc2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2goKTsKIH0KIAotYm9vbCBSZW1vdGVMYXll
clRyZWVEcmF3aW5nQXJlYTo6ZGlzcGF0Y2hEaWRSZWFjaExheW91dE1pbGVzdG9uZShPcHRpb25T
ZXQ8V2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lPiBsYXlvdXRNaWxlc3RvbmVzKQotewotICAgIG1f
cGVuZGluZ05ld2x5UmVhY2hlZExheW91dE1pbGVzdG9uZXMuYWRkKGxheW91dE1pbGVzdG9uZXMp
OwotICAgIHJldHVybiB0cnVlOwotfQotCiB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVh
OjphZG9wdExheWVyc0Zyb21EcmF3aW5nQXJlYShEcmF3aW5nQXJlYSYgb2xkRHJhd2luZ0FyZWEp
CiB7CiAgICAgUkVMRUFTRV9BU1NFUlQob2xkRHJhd2luZ0FyZWEudHlwZSgpID09IHR5cGUoKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGMx
MjMwNWU0ZGE0OTA0NWY3NGI4MTg4NDViOWQ2YjkwOGUyMTY2OTQuLmEwOTQwZDIzOGNhZmU1ZTE1
M2Y1N2M1YzI4ZmFhYTgzYTUyYWFkZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC02MjI1LDggKzYyMjUsMTIgQEAgdm9pZCBXZWJQYWdlOjpk
aXNwYXRjaERpZFJlYWNoTGF5b3V0TWlsZXN0b25lKE9wdGlvblNldDxXZWJDb3JlOjpMYXlvdXRN
aWxlc3RvbmUKICAgICBBU1NFUlQoIXVzZXJEYXRhKTsKIAogICAgIC8vIFRoZSBkcmF3aW5nIGFy
ZWEgbWlnaHQgd2FudCB0byBkZWZlciBkaXNwYXRjaCBvZiBkaWRMYXlvdXQgdG8gdGhlIFVJIHBy
b2Nlc3MuCi0gICAgaWYgKG1fZHJhd2luZ0FyZWEgJiYgbV9kcmF3aW5nQXJlYS0+ZGlzcGF0Y2hE
aWRSZWFjaExheW91dE1pbGVzdG9uZShtaWxlc3RvbmVzKSkKLSAgICAgICAgcmV0dXJuOworICAg
IGlmIChtX2RyYXdpbmdBcmVhKSB7CisgICAgICAgIHN0YXRpYyBhdXRvIHBhaW50TWlsZXN0b25l
cyA9IE9wdGlvblNldDxXZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmU+IHsgRGlkSGl0UmVsZXZhbnRS
ZXBhaW50ZWRPYmplY3RzQXJlYVRocmVzaG9sZCwgRGlkRmlyc3RGbHVzaEZvckhlYWRlckxheWVy
LCBEaWRGaXJzdFBhaW50QWZ0ZXJTdXBwcmVzc2VkSW5jcmVtZW50YWxSZW5kZXJpbmcsIERpZFJl
bmRlclNpZ25pZmljYW50QW1vdW50T2ZUZXh0LCBEaWRGaXJzdE1lYW5pbmdmdWxQYWludCB9OyAg
IAorICAgICAgICBhdXRvIGRyYXdpbmdBcmVhUmVsYXRlZE1pbGVzdG9uZXMgPSBtaWxlc3RvbmVz
ICYgcGFpbnRNaWxlc3RvbmVzOworICAgICAgICBpZiAoZHJhd2luZ0FyZWFSZWxhdGVkTWlsZXN0
b25lcyAmJiBtX2RyYXdpbmdBcmVhLT5hZGRNaWxlc3RvbmVzVG9EaXNwYXRjaChkcmF3aW5nQXJl
YVJlbGF0ZWRNaWxlc3RvbmVzKSkKKyAgICAgICAgICAgIG1pbGVzdG9uZXMucmVtb3ZlKGRyYXdp
bmdBcmVhUmVsYXRlZE1pbGVzdG9uZXMpOworICAgIH0KIAogICAgIHNlbmQoTWVzc2FnZXM6Oldl
YlBhZ2VQcm94eTo6RGlkUmVhY2hMYXlvdXRNaWxlc3RvbmUobWlsZXN0b25lcykpOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFu
aW1hdGlvbkRyYXdpbmdBcmVhLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9t
YWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEuaAppbmRleCA5NzYyZmMwMzE4NGE2MjU0
Y2EyNzAxNDIwMDY5MjViMjgwOTEwZjBmLi45YWYxZTdmZDRkYTVkMTE2MzYzYjAyODUwZDhlYzU5
M2M2MTE5ZTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9t
YWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEuaApAQCAt
ODYsNyArODYsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBhdHRhY2hWaWV3T3ZlcmxheUdyYXBo
aWNzTGF5ZXIoV2ViQ29yZTo6R3JhcGhpY3NMYXllciopIG92ZXJyaWRlOwogCi0gICAgYm9vbCBk
aXNwYXRjaERpZFJlYWNoTGF5b3V0TWlsZXN0b25lKE9wdGlvblNldDxXZWJDb3JlOjpMYXlvdXRN
aWxlc3RvbmU+KSBvdmVycmlkZTsKKyAgICBib29sIGFkZE1pbGVzdG9uZXNUb0Rpc3BhdGNoKE9w
dGlvblNldDxXZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmU+IHBhaW50TWlsZXN0b25lcykgb3ZlcnJp
ZGU7CiAKICAgICBlbnVtIGNsYXNzIEZsdXNoVHlwZSB7IE5vcm1hbCwgVHJhbnNpZW50Wm9vbSB9
OwogICAgIHZvaWQgZmx1c2hMYXllcnMoRmx1c2hUeXBlID0gRmx1c2hUeXBlOjpOb3JtYWwpOwpA
QCAtMTI1LDcgKzEyNSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCB1cGRhdGVTY3JvbGxlZEV4cG9z
ZWRSZWN0KCk7CiAgICAgdm9pZCBzY2FsZVZpZXdUb0ZpdERvY3VtZW50SWZOZWVkZWQoKTsKIAot
ICAgIHZvaWQgc2VuZFBlbmRpbmdOZXdseVJlYWNoZWRMYXlvdXRNaWxlc3RvbmVzKCk7CisgICAg
dm9pZCBzZW5kUGVuZGluZ05ld2x5UmVhY2hlZFBhaW50aW5nTWlsZXN0b25lcygpOwogCiAgICAg
dm9pZCBsYXllckZsdXNoUnVuTG9vcENhbGxiYWNrKCk7CiAgICAgdm9pZCBpbnZhbGlkYXRlTGF5
ZXJGbHVzaFJ1bkxvb3BPYnNlcnZlcigpOwpAQCAtMTYzLDcgKzE2Myw3IEBAIHByaXZhdGU6CiAK
ICAgICBSZWZQdHI8V2ViQ29yZTo6R3JhcGhpY3NMYXllcj4gbV92aWV3T3ZlcmxheVJvb3RMYXll
cjsKIAotICAgIE9wdGlvblNldDxXZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmU+IG1fcGVuZGluZ05l
d2x5UmVhY2hlZExheW91dE1pbGVzdG9uZXM7CisgICAgT3B0aW9uU2V0PFdlYkNvcmU6OkxheW91
dE1pbGVzdG9uZT4gbV9wZW5kaW5nTmV3bHlSZWFjaGVkUGFpbnRpbmdNaWxlc3RvbmVzOwogICAg
IFZlY3RvcjxDYWxsYmFja0lEPiBtX3BlbmRpbmdDYWxsYmFja0lEczsKIAogICAgIHN0ZDo6dW5p
cXVlX3B0cjxXZWJDb3JlOjpSdW5Mb29wT2JzZXJ2ZXI+IG1fbGF5ZXJGbHVzaFJ1bkxvb3BPYnNl
cnZlcjsKQEAgLTE3OCw2ICsxNzgsMTIgQEAgcHJpdmF0ZToKICAgICBib29sIG1fbmVlZHNTZW5k
RW50ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSB7IHRydWUgfTsKIH07CiAKK2lubGluZSBi
b29sIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjphZGRNaWxlc3RvbmVzVG9EaXNwYXRj
aChPcHRpb25TZXQ8V2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lPiBwYWludE1pbGVzdG9uZXMpCit7
CisgICAgbV9wZW5kaW5nTmV3bHlSZWFjaGVkUGFpbnRpbmdNaWxlc3RvbmVzLmFkZChwYWludE1p
bGVzdG9uZXMpOworICAgIHJldHVybiB0cnVlOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
IAogU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19EUkFXSU5HX0FSRUEoVGlsZWRDb3JlQW5pbWF0aW9u
RHJhd2luZ0FyZWEsIERyYXdpbmdBcmVhVHlwZVRpbGVkQ29yZUFuaW1hdGlvbikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRp
b25EcmF3aW5nQXJlYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9U
aWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQppbmRleCBhNGI5ZmE1YWEyMTA0ZDQ5MDQx
YWYzNmFiOTRlMDk1ZjNmNDJjMWQ4Li44NWYwY2EyY2RlZTU4MmE5NjFiMzBiMWY3MTU1MDdjNTVl
ZThmZTUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMv
VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCkBAIC00
MzYsMTMgKzQzNiwxMyBAQCB2b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjpkaXNw
YXRjaEFmdGVyRW5zdXJpbmdVcGRhdGVkU2Nyb2xsUG9zaXRpb24oVwogI2VuZGlmCiB9CiAKLXZv
aWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OnNlbmRQZW5kaW5nTmV3bHlSZWFjaGVk
TGF5b3V0TWlsZXN0b25lcygpCit2b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjpz
ZW5kUGVuZGluZ05ld2x5UmVhY2hlZFBhaW50aW5nTWlsZXN0b25lcygpCiB7Ci0gICAgaWYgKCFt
X3BlbmRpbmdOZXdseVJlYWNoZWRMYXlvdXRNaWxlc3RvbmVzKQorICAgIGlmICghbV9wZW5kaW5n
TmV3bHlSZWFjaGVkUGFpbnRpbmdNaWxlc3RvbmVzKQogICAgICAgICByZXR1cm47CiAKLSAgICBt
X3dlYlBhZ2Uuc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRSZWFjaExheW91dE1pbGVz
dG9uZShtX3BlbmRpbmdOZXdseVJlYWNoZWRMYXlvdXRNaWxlc3RvbmVzKSk7Ci0gICAgbV9wZW5k
aW5nTmV3bHlSZWFjaGVkTGF5b3V0TWlsZXN0b25lcyA9IHsgfTsKKyAgICBtX3dlYlBhZ2Uuc2Vu
ZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRSZWFjaExheW91dE1pbGVzdG9uZShtX3BlbmRp
bmdOZXdseVJlYWNoZWRQYWludGluZ01pbGVzdG9uZXMpKTsKKyAgICBtX3BlbmRpbmdOZXdseVJl
YWNoZWRQYWludGluZ01pbGVzdG9uZXMgPSB7IH07CiB9CiAKIHZvaWQgVGlsZWRDb3JlQW5pbWF0
aW9uRHJhd2luZ0FyZWE6OmFkZFRyYW5zYWN0aW9uQ2FsbGJhY2tJRChDYWxsYmFja0lEIGNhbGxi
YWNrSUQpCkBAIC00ODQsNyArNDg0LDcgQEAgdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5n
QXJlYTo6Zmx1c2hMYXllcnMoRmx1c2hUeXBlIGZsdXNoVHlwZSkKICAgICAgICAgICAgICAgICAg
ICAgY29yZVBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS5kaWRDb21wb3NpdGUoKmNvcmVGcmFt
ZSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoYXV0byBkcmF3aW5nQXJlYSA9IHN0
YXRpY19jYXN0PFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhKj4ocmV0YWluZWRQYWdlLT5k
cmF3aW5nQXJlYSgpKSkKLSAgICAgICAgICAgICAgICBkcmF3aW5nQXJlYS0+c2VuZFBlbmRpbmdO
ZXdseVJlYWNoZWRMYXlvdXRNaWxlc3RvbmVzKCk7CisgICAgICAgICAgICAgICAgZHJhd2luZ0Fy
ZWEtPnNlbmRQZW5kaW5nTmV3bHlSZWFjaGVkUGFpbnRpbmdNaWxlc3RvbmVzKCk7CiAgICAgICAg
IH0gZm9yUGhhc2U6a0NBVHJhbnNhY3Rpb25QaGFzZVBvc3RDb21taXRdOwogCiAgICAgICAgIGJv
b2wgZGlkRmx1c2hBbGxGcmFtZXMgPSBtX3dlYlBhZ2UubWFpbkZyYW1lVmlldygpLT5mbHVzaENv
bXBvc2l0aW5nU3RhdGVJbmNsdWRpbmdTdWJmcmFtZXMoKTsKQEAgLTkzMSwxMiArOTMxLDYgQEAg
dm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6YWRkRmVuY2UoY29uc3QgTWFjaFNl
bmRSaWdodCYgZmVuY2VQb3J0KQogICAgIG1fbGF5ZXJIb3N0aW5nQ29udGV4dC0+c2V0RmVuY2VQ
b3J0KGZlbmNlUG9ydC5zZW5kUmlnaHQoKSk7CiB9CiAKLWJvb2wgVGlsZWRDb3JlQW5pbWF0aW9u
RHJhd2luZ0FyZWE6OmRpc3BhdGNoRGlkUmVhY2hMYXlvdXRNaWxlc3RvbmUoT3B0aW9uU2V0PFdl
YkNvcmU6OkxheW91dE1pbGVzdG9uZT4gbGF5b3V0TWlsZXN0b25lcykKLXsKLSAgICBtX3BlbmRp
bmdOZXdseVJlYWNoZWRMYXlvdXRNaWxlc3RvbmVzLmFkZChsYXlvdXRNaWxlc3RvbmVzKTsKLSAg
ICByZXR1cm4gdHJ1ZTsKLX0KLQogdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6
bGF5ZXJGbHVzaFJ1bkxvb3BDYWxsYmFjaygpCiB7CiAgICAgZmx1c2hMYXllcnMoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>