<?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>110299</bug_id>
          
          <creation_ts>2013-02-19 21:41:31 -0800</creation_ts>
          <short_desc>[WK2] add setNeedsDisplay in DrawingArea to mark whole layer as dirty.</short_desc>
          <delta_ts>2013-02-26 17:16:16 -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>WebKit2</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>110066</blocked>
    
    <blocked>110311</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dongseong Hwang">dongseong.hwang</reporter>
          <assigned_to name="Dongseong Hwang">dongseong.hwang</assigned_to>
          <cc>andersca</cc>
    
    <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>kenneth</cc>
    
    <cc>luiz</cc>
    
    <cc>noam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>837121</commentid>
    <comment_count>0</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-02-19 21:41:31 -0800</bug_when>
    <thetext>Currently, we call setNeedsDisplay with the size of WebPage to mark whole
backing store as dirty. However, the size of non compositing layer can be
inconsistent with the size of WebPage. For example, in Coordinated Graphics, the
size of non compositing layer is contents size.

So, WebPage should not assume the size of non compositing layer, and should just
call setNeedsDisplay when marking whole layer as dirty.

In addition, this patch renames from setNeedsDisplay() with a rect argument to
setNeedsDisplayInRect(), which matches to the terms of GraphicsLayer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837124</commentid>
    <comment_count>1</comment_count>
      <attachid>189234</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-02-19 21:46:38 -0800</bug_when>
    <thetext>Created attachment 189234
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837524</commentid>
    <comment_count>2</comment_count>
      <attachid>189234</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-02-20 09:45:16 -0800</bug_when>
    <thetext>Comment on attachment 189234
Patch

Looks good. Longer term I&apos;d recommend that you&apos;d get rid of the non-composited contents and just always enter accelerated compositing mode - this is what we do on Mac. That&apos;d allow us to simplify a lot of code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837538</commentid>
    <comment_count>3</comment_count>
      <attachid>189234</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-20 10:12:05 -0800</bug_when>
    <thetext>Comment on attachment 189234
Patch

Clearing flags on attachment: 189234

Committed r143472: &lt;http://trac.webkit.org/changeset/143472&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837539</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-20 10:12:08 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837545</commentid>
    <comment_count>5</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-02-20 10:22:50 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 189234 [details])
&gt; Looks good. Longer term I&apos;d recommend that you&apos;d get rid of the non-composited contents and just always enter accelerated compositing mode - this is what we do on Mac. That&apos;d allow us to simplify a lot of code.

I agree. Created but https://bugs.webkit.org/show_bug.cgi?id=110355</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842525</commentid>
    <comment_count>6</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-02-26 16:54:37 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 189234 [details])
&gt; Looks good. Longer term I&apos;d recommend that you&apos;d get rid of the non-composited contents and just always enter accelerated compositing mode - this is what we do on Mac. That&apos;d allow us to simplify a lot of code.

It seems right direction! could you explain more detail?

After I read your comment, I thought LayerTreeHostMac does not have nonCompositedContentsLayer and RenderLayerCompositor::rootLayer deals with non-composited contents. But in upstream code, LayerTreeHostMac is very similar to CoordinatedLayerTreeHost; both have nonCompositedContentsLayer.
Could you let me know what bug or revision simplified a lot of code on Mac?

Thanks in advance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842529</commentid>
    <comment_count>7</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-02-26 16:59:47 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #2)
&gt; &gt; (From update of attachment 189234 [details] [details])
&gt; &gt; Looks good. Longer term I&apos;d recommend that you&apos;d get rid of the non-composited contents and just always enter accelerated compositing mode - this is what we do on Mac. That&apos;d allow us to simplify a lot of code.
&gt; 
&gt; It seems right direction! could you explain more detail?

Noam filed a radar about this in https://bugs.webkit.org/show_bug.cgi?id=110355 - it should have some information.

&gt; 
&gt; After I read your comment, I thought LayerTreeHostMac does not have nonCompositedContentsLayer and RenderLayerCompositor::rootLayer deals with non-composited contents. But in upstream code, LayerTreeHostMac is very similar to CoordinatedLayerTreeHost; both have nonCompositedContentsLayer.
&gt; Could you let me know what bug or revision simplified a lot of code on Mac?

Sure! We actually only use LayerTreeHostMac on OS X Lion. On Mountain Lion we use a different drawing area, the TiledCoreAnimationDrawingArea.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842550</commentid>
    <comment_count>8</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-02-26 17:16:16 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; Sure! We actually only use LayerTreeHostMac on OS X Lion. On Mountain Lion we use a different drawing area, the TiledCoreAnimationDrawingArea.

aha, TiledCoreAnimationDrawingArea is key. Thanks.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189234</attachid>
            <date>2013-02-19 21:46:38 -0800</date>
            <delta_ts>2013-02-20 10:12:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110299-20130220144158.patch</filename>
            <type>text/plain</type>
            <size>23953</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzMzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNzFmZDU4OGU5NDM3Mjlh
MzEyZjI2Mzk4MGM2M2ZjYzYyN2E5NThkYi4uZGY3MjZmNmFhMjU4YWZiNzY5ODBkMTEzZDg1ZjZm
MTQzZDU5YjY0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDgyIEBACiAyMDEzLTAyLTE5ICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgogCisgICAgICAgIFtXSzJdIGFk
ZCBzZXROZWVkc0Rpc3BsYXkgaW4gRHJhd2luZ0FyZWEgdG8gbWFyayB3aG9sZSBsYXllciBhcyBk
aXJ0eS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEx
MDI5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEN1
cnJlbnRseSwgd2UgY2FsbCBzZXROZWVkc0Rpc3BsYXkgd2l0aCB0aGUgc2l6ZSBvZiBXZWJQYWdl
IHRvIG1hcmsgd2hvbGUKKyAgICAgICAgYmFja2luZyBzdG9yZSBhcyBkaXJ0eS4gSG93ZXZlciwg
dGhlIHNpemUgb2Ygbm9uIGNvbXBvc2l0aW5nIGxheWVyIGNhbiBiZQorICAgICAgICBpbmNvbnNp
c3RlbnQgd2l0aCB0aGUgc2l6ZSBvZiBXZWJQYWdlLiBGb3IgZXhhbXBsZSwgaW4gQ29vcmRpbmF0
ZWQgR3JhcGhpY3MsIHRoZQorICAgICAgICBzaXplIG9mIG5vbiBjb21wb3NpdGluZyBsYXllciBp
cyBjb250ZW50cyBzaXplLgorCisgICAgICAgIFNvLCBXZWJQYWdlIHNob3VsZCBub3QgYXNzdW1l
IHRoZSBzaXplIG9mIG5vbiBjb21wb3NpdGluZyBsYXllciwgYW5kIHNob3VsZCBqdXN0CisgICAg
ICAgIGNhbGwgc2V0TmVlZHNEaXNwbGF5IHdoZW4gbWFya2luZyB3aG9sZSBsYXllciBhcyBkaXJ0
eS4KKworICAgICAgICBJbiBhZGRpdGlvbiwgdGhpcyBwYXRjaCByZW5hbWVzIGZyb20gc2V0TmVl
ZHNEaXNwbGF5KCkgd2l0aCBhIHJlY3QgYXJndW1lbnQgdG8KKyAgICAgICAgc2V0TmVlZHNEaXNw
bGF5SW5SZWN0KCksIHdoaWNoIG1hdGNoZXMgdG8gdGhlIHRlcm1zIG9mIEdyYXBoaWNzTGF5ZXIu
CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6aW52YWxpZGF0ZUNvbnRlbnRz
QW5kUm9vdFZpZXcpOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OmludmFsaWRh
dGVDb250ZW50c0ZvclNsb3dTY3JvbGwpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFt
ZUxvYWRlckNsaWVudDo6cmVzdG9yZVZpZXdTdGF0ZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzZXROb25Db21wb3Np
dGVkQ29udGVudHNOZWVkRGlzcGxheSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2Vi
S2l0OjpDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OnNldE5vbkNvbXBvc2l0ZWRDb250ZW50c05l
ZWREaXNwbGF5SW5SZWN0KToKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0OjpzY3JvbGxOb25Db21wb3NpdGVkQ29udGVudHMpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5oOgor
ICAgICAgICAoQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0KToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvRHJhd2luZ0FyZWEuaDoKKyAgICAgICAgKERyYXdpbmdBcmVhKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6RHJhd2luZ0FyZWFJbXBsOjpzZXROZWVkc0Rpc3BsYXkpOgorICAgICAgICAoV2ViS2l0KToK
KyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFJbXBsOjpzZXROZWVkc0Rpc3BsYXlJblJlY3Qp
OgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYUltcGw6OnNjcm9sbCk6CisgICAgICAgIChX
ZWJLaXQ6OkRyYXdpbmdBcmVhSW1wbDo6Zm9yY2VSZXBhaW50KToKKyAgICAgICAgKFdlYktpdDo6
RHJhd2luZ0FyZWFJbXBsOjpkaWRVbmluc3RhbGxQYWdlT3ZlcmxheSk6CisgICAgICAgIChXZWJL
aXQ6OkRyYXdpbmdBcmVhSW1wbDo6c2V0UGFnZU92ZXJsYXlOZWVkc0Rpc3BsYXkpOgorICAgICAg
ICAoV2ViS2l0OjpEcmF3aW5nQXJlYUltcGw6OnJlc3VtZVBhaW50aW5nKToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmg6CisgICAgICAgIChEcmF3aW5nQXJl
YUltcGwpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0Lmg6Cisg
ICAgICAgIChMYXllclRyZWVIb3N0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldFNpemUpOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlOjpzZXREcmF3c0JhY2tncm91bmQpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjpzZXREcmF3c1RyYW5zcGFyZW50QmFja2dyb3VuZCk6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2U6OnJlc3VtZUFjdGl2ZURPTU9iamVjdHNBbmRBbmltYXRpb25zKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL0xheWVyVHJlZUhvc3RHdGsuY3BwOgorICAgICAgICAo
V2ViS2l0OjpMYXllclRyZWVIb3N0R3RrOjpzZXROb25Db21wb3NpdGVkQ29udGVudHNOZWVkRGlz
cGxheSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0
R3RrOjpzZXROb25Db21wb3NpdGVkQ29udGVudHNOZWVkRGlzcGxheUluUmVjdCk6CisgICAgICAg
IChXZWJLaXQ6OkxheWVyVHJlZUhvc3RHdGs6OnNjcm9sbE5vbkNvbXBvc2l0ZWRDb250ZW50cyk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9MYXllclRyZWVIb3N0R3RrLmg6Cisg
ICAgICAgIChMYXllclRyZWVIb3N0R3RrKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
bWFjL0xheWVyVHJlZUhvc3RNYWMuaDoKKyAgICAgICAgKExheWVyVHJlZUhvc3RNYWMpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvTGF5ZXJUcmVlSG9zdE1hYy5tbToKKyAgICAg
ICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdE1hYzo6c2V0Tm9uQ29tcG9zaXRlZENvbnRlbnRzTmVl
ZERpc3BsYXkpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVl
SG9zdE1hYzo6c2V0Tm9uQ29tcG9zaXRlZENvbnRlbnRzTmVlZERpc3BsYXlJblJlY3QpOgorICAg
ICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0TWFjOjpzY3JvbGxOb25Db21wb3NpdGVkQ29udGVu
dHMpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJh
d2luZ0FyZWEuaDoKKyAgICAgICAgKFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1t
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2V0TmVlZHNE
aXNwbGF5KToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVy
VHJlZURyYXdpbmdBcmVhOjpzZXROZWVkc0Rpc3BsYXlJblJlY3QpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEuaDoKKyAgICAg
ICAgKFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhKToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tOgorICAgICAgICAo
V2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6c2V0TmVlZHNEaXNwbGF5KToK
KyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OlRpbGVkQ29yZUFuaW1hdGlvbkRy
YXdpbmdBcmVhOjpzZXROZWVkc0Rpc3BsYXlJblJlY3QpOgorCisyMDEzLTAyLTE5ICBIdWFuZyBE
b25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCiAgICAgICAgIENvb3JkaW5hdGVk
IEdyYXBoaWNzOiBDb29yZGluYXRlZExheWVyVHJlZUhvc3Qgc2V0cyBpdHMgb3duIHNldHRpbmdz
LgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwMjk4
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCBlMDQwNTVhMmU2ZTgxYWI2YTIzMjM3YTdl
ZGQxMTc0M2Y0MjczOWM2Li5kZmFiYThiNTZkMWVkMDI4YWJmNGFjMGJmMjk1ZWNkNGVlMTdiODg1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC0zOTAsNyArMzkwLDcgQEAgdm9pZCBXZWJD
aHJvbWVDbGllbnQ6OmludmFsaWRhdGVDb250ZW50c0FuZFJvb3RWaWV3KGNvbnN0IEludFJlY3Qm
IHJlY3QsIGJvb2wpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgbV9wYWdlLT5k
cmF3aW5nQXJlYSgpLT5zZXROZWVkc0Rpc3BsYXkocmVjdCk7CisgICAgbV9wYWdlLT5kcmF3aW5n
QXJlYSgpLT5zZXROZWVkc0Rpc3BsYXlJblJlY3QocmVjdCk7CiB9CiAKIHZvaWQgV2ViQ2hyb21l
Q2xpZW50OjppbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0IEludFJlY3QmIHJl
Y3QsIGJvb2wpCkBAIC00MDEsNyArNDAxLDcgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmludmFs
aWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50UmVjdCYgcmVjdCwgYm9vbCkKICAg
ICB9CiAKICAgICBtX3BhZ2UtPnBhZ2VEaWRTY3JvbGwoKTsKLSAgICBtX3BhZ2UtPmRyYXdpbmdB
cmVhKCktPnNldE5lZWRzRGlzcGxheShyZWN0KTsKKyAgICBtX3BhZ2UtPmRyYXdpbmdBcmVhKCkt
PnNldE5lZWRzRGlzcGxheUluUmVjdChyZWN0KTsKIH0KIAogdm9pZCBXZWJDaHJvbWVDbGllbnQ6
OnNjcm9sbChjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgY29uc3QgSW50UmVjdCYgc2Nyb2xs
UmVjdCwgY29uc3QgSW50UmVjdCYgY2xpcFJlY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGll
bnQuY3BwCmluZGV4IGY5M2I3M2RjYmM3N2IxMTgxODExMzExM2QyYzI4ZWFjYmNiYjY5MTUuLjA1
Zjk1MzMxMjY0MzdhMWY5MDQ1NmRkN2M1NDU5ZDIyMGI1NjI5Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJh
bWVMb2FkZXJDbGllbnQuY3BwCkBAIC0xMTI5LDcgKzExMjksNyBAQCB2b2lkIFdlYkZyYW1lTG9h
ZGVyQ2xpZW50OjpyZXN0b3JlVmlld1N0YXRlKCkKICAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQg
bm90IGJlIG5lY2Vzc2FyeS4gV2ViQ29yZSBzaG91bGQgYmUgY29ycmVjdGx5IGludmFsaWRhdGlu
ZwogICAgIC8vIHRoZSB2aWV3IG9uIHJlc3RvcmVzIGZyb20gdGhlIGJhY2svZm9yd2FyZCBjYWNo
ZS4KICAgICBpZiAobV9mcmFtZSA9PSBtX2ZyYW1lLT5wYWdlKCktPm1haW5XZWJGcmFtZSgpKQot
ICAgICAgICBtX2ZyYW1lLT5wYWdlKCktPmRyYXdpbmdBcmVhKCktPnNldE5lZWRzRGlzcGxheSht
X2ZyYW1lLT5wYWdlKCktPmJvdW5kcygpKTsKKyAgICAgICAgbV9mcmFtZS0+cGFnZSgpLT5kcmF3
aW5nQXJlYSgpLT5zZXROZWVkc0Rpc3BsYXkoKTsKIH0KIAogdm9pZCBXZWJGcmFtZUxvYWRlckNs
aWVudDo6cHJvdmlzaW9uYWxMb2FkU3RhcnRlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVy
VHJlZUhvc3QuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcAppbmRleCBkMWYxNTYzM2Ux
M2JiZWMwY2U0YzU0MzE2NzIzM2QwZmU2YjlkZjM2Li44N2ZlZjI3ZDA1NmQyYTgwZTMyZTBiYTQy
ODAwZDhlMmM4OTIzY2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKQEAgLTE4MSw3ICsxODEsMTYgQEAgdm9pZCBD
b29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmludmFsaWRhdGUoKQogICAgIG1faXNWYWxpZCA9IGZh
bHNlOwogfQogCi12b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6c2V0Tm9uQ29tcG9zaXRl
ZENvbnRlbnRzTmVlZERpc3BsYXkoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgcmVjdCkKK3ZvaWQg
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzZXROb25Db21wb3NpdGVkQ29udGVudHNOZWVkRGlz
cGxheSgpCit7CisgICAgbV9ub25Db21wb3NpdGVkQ29udGVudExheWVyLT5zZXROZWVkc0Rpc3Bs
YXkoKTsKKyAgICBpZiAobV9wYWdlT3ZlcmxheUxheWVyKQorICAgICAgICBtX3BhZ2VPdmVybGF5
TGF5ZXItPnNldE5lZWRzRGlzcGxheSgpOworCisgICAgc2NoZWR1bGVMYXllckZsdXNoKCk7Cit9
CisKK3ZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzZXROb25Db21wb3NpdGVkQ29udGVu
dHNOZWVkRGlzcGxheUluUmVjdChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiByZWN0KQogewogICAg
IG1fbm9uQ29tcG9zaXRlZENvbnRlbnRMYXllci0+c2V0TmVlZHNEaXNwbGF5SW5SZWN0KHJlY3Qp
OwogICAgIGlmIChtX3BhZ2VPdmVybGF5TGF5ZXIpCkBAIC0xOTIsNyArMjAxLDcgQEAgdm9pZCBD
b29yZGluYXRlZExheWVyVHJlZUhvc3Q6OnNldE5vbkNvbXBvc2l0ZWRDb250ZW50c05lZWREaXNw
bGF5KGNvbnN0IFdlYkNvcmUKIAogdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OnNjcm9s
bE5vbkNvbXBvc2l0ZWRDb250ZW50cyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBzY3JvbGxSZWN0
KQogewotICAgIHNldE5vbkNvbXBvc2l0ZWRDb250ZW50c05lZWREaXNwbGF5KHNjcm9sbFJlY3Qp
OworICAgIHNldE5vbkNvbXBvc2l0ZWRDb250ZW50c05lZWREaXNwbGF5SW5SZWN0KHNjcm9sbFJl
Y3QpOwogfQogCiB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6Zm9yY2VSZXBhaW50KCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRl
ZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5oIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0LmgKaW5kZXggODM3OTEwMTE1Y2E4YTg3NTI1OWVkYmYxZmRjMmQ1ZWVkZmYxNDUwMy4uODQ0
NmY2Zjg0NDVlYjZhN2E5YmNhODQ3OGZjZjhkMDE3ODk5NDYyZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0
ZWRMYXllclRyZWVIb3N0LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmgKQEAgLTY0LDcg
KzY0LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRSb290Q29tcG9zaXRpbmdMYXll
cihXZWJDb3JlOjpHcmFwaGljc0xheWVyKik7CiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGUo
KTsKIAotICAgIHZpcnR1YWwgdm9pZCBzZXROb25Db21wb3NpdGVkQ29udGVudHNOZWVkRGlzcGxh
eShjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jik7CisgICAgdmlydHVhbCB2b2lkIHNldE5vbkNvbXBv
c2l0ZWRDb250ZW50c05lZWREaXNwbGF5KCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHNl
dE5vbkNvbXBvc2l0ZWRDb250ZW50c05lZWREaXNwbGF5SW5SZWN0KGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsTm9uQ29tcG9zaXRlZENv
bnRlbnRzKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHNjcm9sbFJlY3QpOwogICAgIHZpcnR1YWwg
dm9pZCBmb3JjZVJlcGFpbnQoKTsKICAgICB2aXJ0dWFsIGJvb2wgZm9yY2VSZXBhaW50QXN5bmMo
dWludDY0X3QgY2FsbGJhY2tJRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9EcmF3aW5nQXJlYS5oCmluZGV4IGQ2MDViMDNhODU2YzI4OTMzYjY3NTExY2JlMmVjZTVi
YTVlOGMyN2QuLjE3NzFjMjJkNzhiMGYyY2EyM2Q4MmJiMzU0NDQ4YmFkODYzYmM2YTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oCkBAIC02
MCw3ICs2MCw4IEBAIHB1YmxpYzoKICAgICAKICAgICB2b2lkIGRpZFJlY2VpdmVEcmF3aW5nQXJl
YU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7
CiAKLSAgICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHNEaXNwbGF5KGNvbnN0IFdlYkNvcmU6OkludFJl
Y3QmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNldE5lZWRzRGlzcGxheSgpID0gMDsKKyAgICB2
aXJ0dWFsIHZvaWQgc2V0TmVlZHNEaXNwbGF5SW5SZWN0KGNvbnN0IFdlYkNvcmU6OkludFJlY3Qm
KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNjcm9sbChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBz
Y3JvbGxSZWN0LCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzY3JvbGxEZWx0YSkgPSAwOwogCiAg
ICAgLy8gRklYTUU6IFRoZXNlIHNob3VsZCBiZSBwdXJlIHZpcnR1YWwuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCmluZGV4
IDk3ZTM2YzZkNWZkOWQzMTZjYTlkN2JhNDAyZGI0MzA1YjEwZDYzNTAuLmI4ODAwNTIyYmQ0ZDFk
MTkxOTE0ZmY3YjgxMWQ0NjA2OTUxNmZkOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCkBAIC03OSwyNCArNzksMzcg
QEAgRHJhd2luZ0FyZWFJbXBsOjpEcmF3aW5nQXJlYUltcGwoV2ViUGFnZSogd2ViUGFnZSwgY29u
c3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGUKICAgICAgICAgZW50ZXJBY2NlbGVyYXRlZENvbXBv
c2l0aW5nTW9kZSgwKTsKIH0KIAotdm9pZCBEcmF3aW5nQXJlYUltcGw6OnNldE5lZWRzRGlzcGxh
eShjb25zdCBJbnRSZWN0JiByZWN0KQordm9pZCBEcmF3aW5nQXJlYUltcGw6OnNldE5lZWRzRGlz
cGxheSgpCiB7CiAgICAgaWYgKCFtX2lzUGFpbnRpbmdFbmFibGVkKQogICAgICAgICByZXR1cm47
CiAKLSAgICBJbnRSZWN0IGRpcnR5UmVjdCA9IHJlY3Q7Ci0gICAgZGlydHlSZWN0LmludGVyc2Vj
dChtX3dlYlBhZ2UtPmJvdW5kcygpKTsKKyAgICBpZiAobV9sYXllclRyZWVIb3N0KSB7CisgICAg
ICAgIEFTU0VSVChtX2RpcnR5UmVnaW9uLmlzRW1wdHkoKSk7CisgICAgICAgIG1fbGF5ZXJUcmVl
SG9zdC0+c2V0Tm9uQ29tcG9zaXRlZENvbnRlbnRzTmVlZERpc3BsYXkoKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KIAotICAgIGlmIChkaXJ0eVJlY3QuaXNFbXB0eSgpKQorICAgIHNldE5lZWRz
RGlzcGxheUluUmVjdChtX3dlYlBhZ2UtPmJvdW5kcygpKTsKK30KKwordm9pZCBEcmF3aW5nQXJl
YUltcGw6OnNldE5lZWRzRGlzcGxheUluUmVjdChjb25zdCBJbnRSZWN0JiByZWN0KQoreworICAg
IGlmICghbV9pc1BhaW50aW5nRW5hYmxlZCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKG1f
bGF5ZXJUcmVlSG9zdCkgewogICAgICAgICBBU1NFUlQobV9kaXJ0eVJlZ2lvbi5pc0VtcHR5KCkp
OwotCi0gICAgICAgIG1fbGF5ZXJUcmVlSG9zdC0+c2V0Tm9uQ29tcG9zaXRlZENvbnRlbnRzTmVl
ZERpc3BsYXkoZGlydHlSZWN0KTsKKyAgICAgICAgbV9sYXllclRyZWVIb3N0LT5zZXROb25Db21w
b3NpdGVkQ29udGVudHNOZWVkRGlzcGxheUluUmVjdChyZWN0KTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KICAgICAKKyAgICBJbnRSZWN0IGRpcnR5UmVjdCA9IHJlY3Q7CisgICAgZGlydHlSZWN0
LmludGVyc2VjdChtX3dlYlBhZ2UtPmJvdW5kcygpKTsKKworICAgIGlmIChkaXJ0eVJlY3QuaXNF
bXB0eSgpKQorICAgICAgICByZXR1cm47CisKICAgICBpZiAobV93ZWJQYWdlLT5tYWluRnJhbWVI
YXNDdXN0b21SZXByZXNlbnRhdGlvbigpKQogICAgICAgICByZXR1cm47CiAKQEAgLTEzMSwxMiAr
MTQ0LDEyIEBAIHZvaWQgRHJhd2luZ0FyZWFJbXBsOjpzY3JvbGwoY29uc3QgSW50UmVjdCYgc2Ny
b2xsUmVjdCwgY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsCiAgICAgICAgIGlmIChjdXJyZW50U2Ny
b2xsQXJlYSA+PSBzY3JvbGxBcmVhKSB7CiAgICAgICAgICAgICAvLyBUaGUgcmVjdCBiZWluZyBz
Y3JvbGxlZCBpcyBhdCBsZWFzdCBhcyBsYXJnZSBhcyB0aGUgcmVjdCB3ZSdkIGxpa2UgdG8gc2Ny
b2xsLgogICAgICAgICAgICAgLy8gR28gYWhlYWQgYW5kIGp1c3QgaW52YWxpZGF0ZSB0aGUgc2Ny
b2xsIHJlY3QuCi0gICAgICAgICAgICBzZXROZWVkc0Rpc3BsYXkoc2Nyb2xsUmVjdCk7CisgICAg
ICAgICAgICBzZXROZWVkc0Rpc3BsYXlJblJlY3Qoc2Nyb2xsUmVjdCk7CiAgICAgICAgICAgICBy
ZXR1cm47CiAgICAgICAgIH0KIAogICAgICAgICAvLyBKdXN0IHJlcGFpbnQgdGhlIGVudGlyZSBj
dXJyZW50IHNjcm9sbCByZWN0LCB3ZSdsbCBzY3JvbGwgdGhlIG5ldyByZWN0IGluc3RlYWQuCi0g
ICAgICAgIHNldE5lZWRzRGlzcGxheShtX3Njcm9sbFJlY3QpOworICAgICAgICBzZXROZWVkc0Rp
c3BsYXlJblJlY3QobV9zY3JvbGxSZWN0KTsKICAgICAgICAgbV9zY3JvbGxSZWN0ID0gSW50UmVj
dCgpOwogICAgICAgICBtX3Njcm9sbE9mZnNldCA9IEludFNpemUoKTsKICAgICB9CkBAIC0xODMs
NyArMTk2LDcgQEAgdm9pZCBEcmF3aW5nQXJlYUltcGw6OnNldExheWVyVHJlZVN0YXRlSXNGcm96
ZW4oYm9vbCBpc0Zyb3plbikKIAogdm9pZCBEcmF3aW5nQXJlYUltcGw6OmZvcmNlUmVwYWludCgp
CiB7Ci0gICAgc2V0TmVlZHNEaXNwbGF5KG1fd2ViUGFnZS0+Ym91bmRzKCkpOworICAgIHNldE5l
ZWRzRGlzcGxheSgpOwogCiAgICAgbV93ZWJQYWdlLT5sYXlvdXRJZk5lZWRlZCgpOwogCkBAIC0y
MjIsNyArMjM1LDcgQEAgdm9pZCBEcmF3aW5nQXJlYUltcGw6OmRpZFVuaW5zdGFsbFBhZ2VPdmVy
bGF5KCkKICAgICBpZiAobV9sYXllclRyZWVIb3N0KQogICAgICAgICBtX2xheWVyVHJlZUhvc3Qt
PmRpZFVuaW5zdGFsbFBhZ2VPdmVybGF5KCk7CiAKLSAgICBzZXROZWVkc0Rpc3BsYXkobV93ZWJQ
YWdlLT5ib3VuZHMoKSk7CisgICAgc2V0TmVlZHNEaXNwbGF5KCk7CiB9CiAKIHZvaWQgRHJhd2lu
Z0FyZWFJbXBsOjpzZXRQYWdlT3ZlcmxheU5lZWRzRGlzcGxheShjb25zdCBJbnRSZWN0JiByZWN0
KQpAQCAtMjMyLDcgKzI0NSw3IEBAIHZvaWQgRHJhd2luZ0FyZWFJbXBsOjpzZXRQYWdlT3Zlcmxh
eU5lZWRzRGlzcGxheShjb25zdCBJbnRSZWN0JiByZWN0KQogICAgICAgICByZXR1cm47CiAgICAg
fQogCi0gICAgc2V0TmVlZHNEaXNwbGF5KHJlY3QpOworICAgIHNldE5lZWRzRGlzcGxheUluUmVj
dChyZWN0KTsKIH0KIAogdm9pZCBEcmF3aW5nQXJlYUltcGw6OnNldFBhZ2VPdmVybGF5T3BhY2l0
eShmbG9hdCB2YWx1ZSkKQEAgLTQ4Nyw3ICs1MDAsNyBAQCB2b2lkIERyYXdpbmdBcmVhSW1wbDo6
cmVzdW1lUGFpbnRpbmcoKQogICAgIG1faXNQYWludGluZ1N1c3BlbmRlZCA9IGZhbHNlOwogCiAg
ICAgLy8gRklYTUU6IFdlIHNob3VsZG4ndCBhbHdheXMgcmVwYWludCBldmVyeXRoaW5nIGhlcmUu
Ci0gICAgc2V0TmVlZHNEaXNwbGF5KG1fd2ViUGFnZS0+Ym91bmRzKCkpOworICAgIHNldE5lZWRz
RGlzcGxheSgpOwogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIGlmIChtX3dlYlBhZ2UtPndpbmRv
d0lzVmlzaWJsZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0RyYXdpbmdBcmVhSW1wbC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0RyYXdpbmdBcmVhSW1wbC5oCmluZGV4IGY4ODQxMDUzNTQyMWY0NDk5MTk1Yzc5ZDA1N2ZjZTM5
NWVlODBmMWEuLmQ4OTdhMTk2MmZiMTc1MzJlN2I1MWMyYzdlNGE5Y2I2YTgwZWUxYzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBs
LmgKQEAgLTUxLDcgKzUxLDggQEAgcHJpdmF0ZToKICAgICBEcmF3aW5nQXJlYUltcGwoV2ViUGFn
ZSosIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmKTsKIAogICAgIC8vIERyYXdpbmdB
cmVhCi0gICAgdmlydHVhbCB2b2lkIHNldE5lZWRzRGlzcGxheShjb25zdCBXZWJDb3JlOjpJbnRS
ZWN0Jik7CisgICAgdmlydHVhbCB2b2lkIHNldE5lZWRzRGlzcGxheSgpIE9WRVJSSURFOworICAg
IHZpcnR1YWwgdm9pZCBzZXROZWVkc0Rpc3BsYXlJblJlY3QoY29uc3QgV2ViQ29yZTo6SW50UmVj
dCYpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzY3JvbGwoY29uc3QgV2ViQ29yZTo6SW50
UmVjdCYgc2Nyb2xsUmVjdCwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2Nyb2xsRGVsdGEpOwog
ICAgIHZpcnR1YWwgdm9pZCBzZXRMYXllclRyZWVTdGF0ZUlzRnJvemVuKGJvb2wpOwogICAgIHZp
cnR1YWwgYm9vbCBsYXllclRyZWVTdGF0ZUlzRnJvemVuKCkgY29uc3QgeyByZXR1cm4gbV9sYXll
clRyZWVTdGF0ZUlzRnJvemVuOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0xheWVyVHJlZUhvc3QuaAppbmRleCAwNjM4YTVhMWJiY2EzZmY2MzRmN2IwOGVkODdj
MzE1NmViZTE1M2I2Li4zOWZlZjgyNGZhMjk0YTViNWZlNmExM2ExNTY3NTkzNWZlNzM1YWM5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9z
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0
LmgKQEAgLTY0LDcgKzY0LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRSb290Q29t
cG9zaXRpbmdMYXllcihXZWJDb3JlOjpHcmFwaGljc0xheWVyKikgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCBpbnZhbGlkYXRlKCkgPSAwOwogCi0gICAgdmlydHVhbCB2b2lkIHNldE5vbkNvbXBvc2l0
ZWRDb250ZW50c05lZWREaXNwbGF5KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSA9IDA7CisgICAg
dmlydHVhbCB2b2lkIHNldE5vbkNvbXBvc2l0ZWRDb250ZW50c05lZWREaXNwbGF5KCkgPSAwOwor
ICAgIHZpcnR1YWwgdm9pZCBzZXROb25Db21wb3NpdGVkQ29udGVudHNOZWVkRGlzcGxheUluUmVj
dChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxO
b25Db21wb3NpdGVkQ29udGVudHMoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc2Nyb2xsUmVjdCkg
PSAwOwogICAgIHZpcnR1YWwgdm9pZCBmb3JjZVJlcGFpbnQoKSA9IDA7CiAgICAgdmlydHVhbCBi
b29sIGZvcmNlUmVwYWludEFzeW5jKHVpbnQ2NF90IC8qY2FsbGJhY2tJRCovKSB7IHJldHVybiBm
YWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CmluZGV4IDc2MDQwZjM2ZGY5NjRhNzcxMmZkNzBmYTdkMGRkMWI2ZTQ0ZWUzODQuLjgxMWNhNjkw
NWUxMTlmMzlkMjAwZmNjMTBjMzkyNTBhMDIyZWM5NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTk5MCw3ICs5OTAsNyBAQCB2b2lkIFdl
YlBhZ2U6OnNldFNpemUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgdmlld1NpemUpCiAKICAgICB2
aWV3LT5yZXNpemUodmlld1NpemUpOwogICAgIHZpZXctPnNldE5lZWRzTGF5b3V0KCk7Ci0gICAg
bV9kcmF3aW5nQXJlYS0+c2V0TmVlZHNEaXNwbGF5KEludFJlY3QoSW50UG9pbnQoMCwgMCksIHZp
ZXdTaXplKSk7CisgICAgbV9kcmF3aW5nQXJlYS0+c2V0TmVlZHNEaXNwbGF5KCk7CiAgICAgCiAg
ICAgbV92aWV3U2l6ZSA9IHZpZXdTaXplOwogfQpAQCAtMTg2Nyw3ICsxODY3LDcgQEAgdm9pZCBX
ZWJQYWdlOjpzZXREcmF3c0JhY2tncm91bmQoYm9vbCBkcmF3c0JhY2tncm91bmQpCiAgICAgfQog
CiAgICAgbV9kcmF3aW5nQXJlYS0+cGFnZUJhY2tncm91bmRUcmFuc3BhcmVuY3lDaGFuZ2VkKCk7
Ci0gICAgbV9kcmF3aW5nQXJlYS0+c2V0TmVlZHNEaXNwbGF5KEludFJlY3QoSW50UG9pbnQoMCwg
MCksIG1fdmlld1NpemUpKTsKKyAgICBtX2RyYXdpbmdBcmVhLT5zZXROZWVkc0Rpc3BsYXkoKTsK
IH0KIAogdm9pZCBXZWJQYWdlOjpzZXREcmF3c1RyYW5zcGFyZW50QmFja2dyb3VuZChib29sIGRy
YXdzVHJhbnNwYXJlbnRCYWNrZ3JvdW5kKQpAQCAtMTg4NCw3ICsxODg0LDcgQEAgdm9pZCBXZWJQ
YWdlOjpzZXREcmF3c1RyYW5zcGFyZW50QmFja2dyb3VuZChib29sIGRyYXdzVHJhbnNwYXJlbnRC
YWNrZ3JvdW5kKQogICAgIH0KIAogICAgIG1fZHJhd2luZ0FyZWEtPnBhZ2VCYWNrZ3JvdW5kVHJh
bnNwYXJlbmN5Q2hhbmdlZCgpOwotICAgIG1fZHJhd2luZ0FyZWEtPnNldE5lZWRzRGlzcGxheShJ
bnRSZWN0KEludFBvaW50KDAsIDApLCBtX3ZpZXdTaXplKSk7CisgICAgbV9kcmF3aW5nQXJlYS0+
c2V0TmVlZHNEaXNwbGF5KCk7CiB9CiAKIHZvaWQgV2ViUGFnZTo6dmlld1dpbGxTdGFydExpdmVS
ZXNpemUoKQpAQCAtMjAyNCw3ICsyMDI0LDcgQEAgdm9pZCBXZWJQYWdlOjpyZXN1bWVBY3RpdmVE
T01PYmplY3RzQW5kQW5pbWF0aW9ucygpCiAgICAgbV9wYWdlLT5yZXN1bWVBY3RpdmVET01PYmpl
Y3RzQW5kQW5pbWF0aW9ucygpOwogCiAgICAgLy8gV2UgbmVlZCB0byByZXBhaW50IG9uIHJlc3Vt
ZSB0byBraWNrc3RhcnQgYW5pbWF0ZWQgcGFpbnRpbmcgYWdhaW4uCi0gICAgbV9kcmF3aW5nQXJl
YS0+c2V0TmVlZHNEaXNwbGF5KEludFJlY3QoSW50UG9pbnQoMCwgMCksIG1fdmlld1NpemUpKTsK
KyAgICBtX2RyYXdpbmdBcmVhLT5zZXROZWVkc0Rpc3BsYXkoKTsKIH0KIAogSW50UG9pbnQgV2Vi
UGFnZTo6c2NyZWVuVG9XaW5kb3coY29uc3QgSW50UG9pbnQmIHBvaW50KQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9MYXllclRyZWVIb3N0R3RrLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvTGF5ZXJUcmVlSG9zdEd0
ay5jcHAKaW5kZXggZTY0YWExN2U0ZWJkMjZjNDhmOWZmZDdiYTYxOTliYjFkMDcxYWE1NS4uMDE3
Y2QwYTQ5YTk5YmMyMzMwMDY5Mzc3ZTY1ODA5NWVlOGU1M2YwMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9MYXllclRyZWVIb3N0R3RrLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL0xheWVyVHJlZUhvc3RHdGsu
Y3BwCkBAIC0xNjgsNyArMTY4LDE2IEBAIHZvaWQgTGF5ZXJUcmVlSG9zdEd0azo6aW52YWxpZGF0
ZSgpCiAgICAgbV9pc1ZhbGlkID0gZmFsc2U7CiB9CiAKLXZvaWQgTGF5ZXJUcmVlSG9zdEd0azo6
c2V0Tm9uQ29tcG9zaXRlZENvbnRlbnRzTmVlZERpc3BsYXkoY29uc3QgSW50UmVjdCYgcmVjdCkK
K3ZvaWQgTGF5ZXJUcmVlSG9zdEd0azo6c2V0Tm9uQ29tcG9zaXRlZENvbnRlbnRzTmVlZERpc3Bs
YXkoKQoreworICAgIG1fbm9uQ29tcG9zaXRlZENvbnRlbnRMYXllci0+c2V0TmVlZHNEaXNwbGF5
KCk7CisgICAgaWYgKG1fcGFnZU92ZXJsYXlMYXllcikKKyAgICAgICAgbV9wYWdlT3ZlcmxheUxh
eWVyLT5zZXROZWVkc0Rpc3BsYXkoKTsKKworICAgIHNjaGVkdWxlTGF5ZXJGbHVzaCgpOworfQor
Cit2b2lkIExheWVyVHJlZUhvc3RHdGs6OnNldE5vbkNvbXBvc2l0ZWRDb250ZW50c05lZWREaXNw
bGF5SW5SZWN0KGNvbnN0IEludFJlY3QmIHJlY3QpCiB7CiAgICAgbV9ub25Db21wb3NpdGVkQ29u
dGVudExheWVyLT5zZXROZWVkc0Rpc3BsYXlJblJlY3QocmVjdCk7CiAgICAgaWYgKG1fcGFnZU92
ZXJsYXlMYXllcikKQEAgLTE3OSw3ICsxODgsNyBAQCB2b2lkIExheWVyVHJlZUhvc3RHdGs6OnNl
dE5vbkNvbXBvc2l0ZWRDb250ZW50c05lZWREaXNwbGF5KGNvbnN0IEludFJlY3QmIHJlY3QpCiAK
IHZvaWQgTGF5ZXJUcmVlSG9zdEd0azo6c2Nyb2xsTm9uQ29tcG9zaXRlZENvbnRlbnRzKGNvbnN0
IEludFJlY3QmIHNjcm9sbFJlY3QpCiB7Ci0gICAgc2V0Tm9uQ29tcG9zaXRlZENvbnRlbnRzTmVl
ZERpc3BsYXkoc2Nyb2xsUmVjdCk7CisgICAgc2V0Tm9uQ29tcG9zaXRlZENvbnRlbnRzTmVlZERp
c3BsYXlJblJlY3Qoc2Nyb2xsUmVjdCk7CiB9CiAKIHZvaWQgTGF5ZXJUcmVlSG9zdEd0azo6c2l6
ZURpZENoYW5nZShjb25zdCBJbnRTaXplJiBuZXdTaXplKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9MYXllclRyZWVIb3N0R3RrLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL0xheWVyVHJlZUhvc3RHdGsuaAppbmRleCA1
ODMyODIzYjdmMzQzOTBhZDA5YzhhYzY4ZTg2MzkwOGI3OTJiYzBmLi4xOTU1NjM0NTY1OWY5NTM1
MmMxMjUzMDUyNmFjNjkyODE1ZTY5YTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvZ3RrL0xheWVyVHJlZUhvc3RHdGsuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL0xheWVyVHJlZUhvc3RHdGsuaApAQCAtNjQsNyArNjQs
OCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgY29uc3QgTGF5ZXJUcmVlQ29udGV4dCYgbGF5ZXJU
cmVlQ29udGV4dCgpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRTaG91bGROb3RpZnlBZnRlck5leHRT
Y2hlZHVsZWRMYXllckZsdXNoKGJvb2wpOwogCi0gICAgdmlydHVhbCB2b2lkIHNldE5vbkNvbXBv
c2l0ZWRDb250ZW50c05lZWREaXNwbGF5KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKTsKKyAgICB2
aXJ0dWFsIHZvaWQgc2V0Tm9uQ29tcG9zaXRlZENvbnRlbnRzTmVlZERpc3BsYXkoKSBPVkVSUklE
RTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Tm9uQ29tcG9zaXRlZENvbnRlbnRzTmVlZERpc3BsYXlJ
blJlY3QoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9p
ZCBzY3JvbGxOb25Db21wb3NpdGVkQ29udGVudHMoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc2Ny
b2xsUmVjdCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkSW5zdGFsbFBhZ2VPdmVybGF5KCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0xheWVyVHJl
ZUhvc3RNYWMuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvTGF5ZXJU
cmVlSG9zdE1hYy5oCmluZGV4IDc1YjM1MzdlNjk2MDBjYWY5Yjk2ZDU4YTkwMjMwNTZkMjE4NTE1
MTAuLjEzMWEzNmUxNDRkYjIwNWE2OTNmODRkNmE5ODY5MGRiZTQ4ODA1YzMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvTGF5ZXJUcmVlSG9zdE1hYy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvTGF5ZXJUcmVlSG9z
dE1hYy5oCkBAIC01MCw3ICs1MCw4IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHNldFNo
b3VsZE5vdGlmeUFmdGVyTmV4dFNjaGVkdWxlZExheWVyRmx1c2goYm9vbCkgT1ZFUlJJREU7CiAg
ICAgdmlydHVhbCB2b2lkIHNldFJvb3RDb21wb3NpdGluZ0xheWVyKFdlYkNvcmU6OkdyYXBoaWNz
TGF5ZXIqKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZSgpIE9WRVJSSURF
OwotICAgIHZpcnR1YWwgdm9pZCBzZXROb25Db21wb3NpdGVkQ29udGVudHNOZWVkRGlzcGxheShj
b25zdCBXZWJDb3JlOjpJbnRSZWN0JikgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHNldE5v
bkNvbXBvc2l0ZWRDb250ZW50c05lZWREaXNwbGF5KCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2
b2lkIHNldE5vbkNvbXBvc2l0ZWRDb250ZW50c05lZWREaXNwbGF5SW5SZWN0KGNvbnN0IFdlYkNv
cmU6OkludFJlY3QmKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsTm9uQ29tcG9z
aXRlZENvbnRlbnRzKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHNjcm9sbFJlY3QpIE9WRVJSSURF
OwogICAgIHZpcnR1YWwgdm9pZCBmb3JjZVJlcGFpbnQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFs
IHZvaWQgc2l6ZURpZENoYW5nZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBuZXdTaXplKSBPVkVS
UklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMv
TGF5ZXJUcmVlSG9zdE1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9t
YWMvTGF5ZXJUcmVlSG9zdE1hYy5tbQppbmRleCBjMjQ4NDc1MWI1NjIyODM5M2E2ZjliNzc0ZGUz
Yzc5MWUxMTIxYTRhLi5iMWNjMWYzOTcwYjcyNGE5NmZjZTY0MjA5MDMyZDE4NjM0ZDdkZmM2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0xheWVyVHJl
ZUhvc3RNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9M
YXllclRyZWVIb3N0TWFjLm1tCkBAIC0xMTIsNyArMTEyLDE2IEBAIHZvaWQgTGF5ZXJUcmVlSG9z
dE1hYzo6aW52YWxpZGF0ZSgpCiAgICAgbV9sYXllckZsdXNoU2NoZWR1bGVyLmludmFsaWRhdGUo
KTsKIH0KIAotdm9pZCBMYXllclRyZWVIb3N0TWFjOjpzZXROb25Db21wb3NpdGVkQ29udGVudHNO
ZWVkRGlzcGxheShjb25zdCBJbnRSZWN0JiByZWN0KQordm9pZCBMYXllclRyZWVIb3N0TWFjOjpz
ZXROb25Db21wb3NpdGVkQ29udGVudHNOZWVkRGlzcGxheSgpCit7CisgICAgbV9ub25Db21wb3Np
dGVkQ29udGVudExheWVyLT5zZXROZWVkc0Rpc3BsYXkoKTsKKyAgICBpZiAobV9wYWdlT3Zlcmxh
eUxheWVyKQorICAgICAgICBtX3BhZ2VPdmVybGF5TGF5ZXItPnNldE5lZWRzRGlzcGxheSgpOwor
CisgICAgc2NoZWR1bGVMYXllckZsdXNoKCk7Cit9CisKK3ZvaWQgTGF5ZXJUcmVlSG9zdE1hYzo6
c2V0Tm9uQ29tcG9zaXRlZENvbnRlbnRzTmVlZERpc3BsYXlJblJlY3QoY29uc3QgSW50UmVjdCYg
cmVjdCkKIHsKICAgICBtX25vbkNvbXBvc2l0ZWRDb250ZW50TGF5ZXItPnNldE5lZWRzRGlzcGxh
eUluUmVjdChyZWN0KTsKICAgICBpZiAobV9wYWdlT3ZlcmxheUxheWVyKQpAQCAtMTIzLDcgKzEz
Miw3IEBAIHZvaWQgTGF5ZXJUcmVlSG9zdE1hYzo6c2V0Tm9uQ29tcG9zaXRlZENvbnRlbnRzTmVl
ZERpc3BsYXkoY29uc3QgSW50UmVjdCYgcmVjdCkKIAogdm9pZCBMYXllclRyZWVIb3N0TWFjOjpz
Y3JvbGxOb25Db21wb3NpdGVkQ29udGVudHMoY29uc3QgSW50UmVjdCYgc2Nyb2xsUmVjdCkKIHsK
LSAgICBzZXROb25Db21wb3NpdGVkQ29udGVudHNOZWVkRGlzcGxheShzY3JvbGxSZWN0KTsKKyAg
ICBzZXROb25Db21wb3NpdGVkQ29udGVudHNOZWVkRGlzcGxheUluUmVjdChzY3JvbGxSZWN0KTsK
IH0KIAogdm9pZCBMYXllclRyZWVIb3N0TWFjOjpmb3JjZVJlcGFpbnQoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3
aW5nQXJlYS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVM
YXllclRyZWVEcmF3aW5nQXJlYS5oCmluZGV4IGUxM2QwYTQxN2YwYzIxYWJhNzUwNTRkMTg0M2Zi
ZDZiNzNlMWEzMjkuLmU0OWQ2NmMyZmQwNmJmYjAwMzU3NDBlMmNhYmM5ZmRkYWJiNDk3OTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5
ZXJUcmVlRHJhd2luZ0FyZWEuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLmgKQEAgLTQyLDcgKzQyLDggQEAgcHJp
dmF0ZToKICAgICBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYShXZWJQYWdlKiwgY29uc3QgV2Vi
UGFnZUNyZWF0aW9uUGFyYW1ldGVycyYpOwogCiAgICAgLy8gRHJhd2luZ0FyZWEKLSAgICB2aXJ0
dWFsIHZvaWQgc2V0TmVlZHNEaXNwbGF5KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBPVkVSUklE
RTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHNEaXNwbGF5KCkgT1ZFUlJJREU7CisgICAgdmly
dHVhbCB2b2lkIHNldE5lZWRzRGlzcGxheUluUmVjdChjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jikg
T1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHNjcm9sbChjb25zdCBXZWJDb3JlOjpJbnRSZWN0
JiBzY3JvbGxSZWN0LCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzY3JvbGxEZWx0YSkgT1ZFUlJJ
REU7CiAKICAgICB2aXJ0dWFsIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJGYWN0b3J5KiBncmFwaGlj
c0xheWVyRmFjdG9yeSgpIE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbSBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0Fy
ZWEubW0KaW5kZXggYzM4ZmRmMTNjZDBmZGU2Y2Q1YTlhYmQ4ZmE3ZjBjMjk2NzI3YTk1OS4uZWNi
OTgzYzZhMGRmNTU1NmVhMmM2NjZmYWZlYjUzMDljNjZmZWM2NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJl
YS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxh
eWVyVHJlZURyYXdpbmdBcmVhLm1tCkBAIC00Nyw3ICs0NywxMSBAQCBSZW1vdGVMYXllclRyZWVE
cmF3aW5nQXJlYTo6flJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhKCkKIHsKIH0KIAotdm9pZCBS
ZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2V0TmVlZHNEaXNwbGF5KGNvbnN0IEludFJlY3Qm
KQordm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2V0TmVlZHNEaXNwbGF5KCkKK3sK
K30KKwordm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2V0TmVlZHNEaXNwbGF5SW5S
ZWN0KGNvbnN0IEludFJlY3QmKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLmggYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRy
YXdpbmdBcmVhLmgKaW5kZXggMjZjM2JjMTM2OTY0ZDk0OTUzMDI3ZDM3NzhjOGFjMjU4YWZlNWRl
NS4uMDQ0NjIxNTA0ZjhlZDUxNjY5MzFkZmVkOGZhYTA0N2M2YjBjMzdmOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25E
cmF3aW5nQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMv
VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEuaApAQCAtNTUsNyArNTUsOCBAQCBwcml2YXRl
OgogICAgIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhKFdlYlBhZ2UqLCBjb25zdCBXZWJQ
YWdlQ3JlYXRpb25QYXJhbWV0ZXJzJik7CiAKICAgICAvLyBEcmF3aW5nQXJlYQotICAgIHZpcnR1
YWwgdm9pZCBzZXROZWVkc0Rpc3BsYXkoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIE9WRVJSSURF
OworICAgIHZpcnR1YWwgdm9pZCBzZXROZWVkc0Rpc3BsYXkoKSBPVkVSUklERTsKKyAgICB2aXJ0
dWFsIHZvaWQgc2V0TmVlZHNEaXNwbGF5SW5SZWN0KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBP
VkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkludFJlY3Qm
IHNjcm9sbFJlY3QsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNjcm9sbERlbHRhKSBPVkVSUklE
RTsKIAogICAgIHZpcnR1YWwgdm9pZCBmb3JjZVJlcGFpbnQoKSBPVkVSUklERTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0
aW9uRHJhd2luZ0FyZWEubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFj
L1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCmluZGV4IDI2MDEyOTFjYTBmMTA4MTRl
NzI2MDg1NDBhZjJjYzEzZmFkOTQxZjYuLmQ0NTc2OWZlMmE0NTZjMWM5MmJiMWU3ZmM2ZDc0MDJk
ZTJlNWE3MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9t
YWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQpA
QCAtMTAwLDcgKzEwMCwxMSBAQCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6flRpbGVk
Q29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhKCkKICAgICBtX2xheWVyRmx1c2hTY2hlZHVsZXIuaW52
YWxpZGF0ZSgpOwogfQogCi12b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjpzZXRO
ZWVkc0Rpc3BsYXkoY29uc3QgSW50UmVjdCYgcmVjdCkKK3ZvaWQgVGlsZWRDb3JlQW5pbWF0aW9u
RHJhd2luZ0FyZWE6OnNldE5lZWRzRGlzcGxheSgpCit7Cit9CisKK3ZvaWQgVGlsZWRDb3JlQW5p
bWF0aW9uRHJhd2luZ0FyZWE6OnNldE5lZWRzRGlzcGxheUluUmVjdChjb25zdCBJbnRSZWN0JiBy
ZWN0KQogewogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>