<?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>216982</bug_id>
          
          <creation_ts>2020-09-25 11:00:35 -0700</creation_ts>
          <short_desc>[GPU Process] fast/canvas/canvas-composite-canvas.html and fast/canvas/canvas-composite-image.html fail</short_desc>
          <delta_ts>2020-09-26 03:18:04 -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>Canvas</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1691948</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-09-25 11:00:35 -0700</bug_when>
    <thetext>SSIA</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692018</commentid>
    <comment_count>1</comment_count>
      <attachid>409735</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-09-25 14:03:09 -0700</bug_when>
    <thetext>Created attachment 409735
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692046</commentid>
    <comment_count>2</comment_count>
      <attachid>409743</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-09-25 14:48:04 -0700</bug_when>
    <thetext>Created attachment 409743
Update ChangeLog entry to include ImageBufferCGBitmapBackend.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692082</commentid>
    <comment_count>3</comment_count>
      <attachid>409754</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-09-25 16:10:43 -0700</bug_when>
    <thetext>Created attachment 409754
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692139</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-25 19:44:06 -0700</bug_when>
    <thetext>Committed r267616: &lt;https://trac.webkit.org/changeset/267616&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 409754.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692140</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-25 19:45:42 -0700</bug_when>
    <thetext>&lt;rdar://problem/69607603&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692173</commentid>
    <comment_count>6</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-09-26 03:18:04 -0700</bug_when>
    <thetext>I think this patch is not the right approach. These tests are also broken when &quot;Enable Display List Drawing&quot; is turned on. So it is a display-list rendering issue.

The LayoutTests change suggests that the display-list CPU drawing for canvas is now broken and/or the coordinates are flipped. Either way this does not seem right.

I think the problem is the code in setupContext() is not recorded in the display list. If we succeed in recording them, getCTM() will return the correct CTM always and the compositing bug is fixed. To do that, I would suggest the following:

1. Remove the call to setupContext() from the constructor of ImageBufferCGBitmapBackend and ImageBufferIOSurfaceBackend.

2. Make setupContext() a virtual empty method of ImageBufferBackend and override it only in ImageBufferCGBackend.

3. Make setupContext() takes a GraphicsContext argument and use it instead of using ImageBufferBackend::context(). We need to pass ImageBuffer::context() always to setupContext(). ImageBuffer::context() can be either the backend or the display list context. So if the ImageBuffer is backed by a display list, these commands will be recorded before they are applied to the backend.

2. For CPU based ImageBuffers, make the call to setupContext() in ConcreteImageBuffer::create() after creating the ImageBuffer.

5. For GPU based ImageBuffer, the call to setupContext() should happen in the WebProcess after the backend is created (i.e. RemoteImageBuffer::createBackend()). For the GPU side (i.e. RemoteImageBufferProxy), we should never call setupContext(). Flipping the coordinates should happen while replaying back the display list. So we need to implement RemoteImageBufferProxy::create() instead of calling the ConcreteImageBuffer::create().</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409735</attachid>
            <date>2020-09-25 14:03:09 -0700</date>
            <delta_ts>2020-09-25 16:03:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216982-20200925140309.patch</filename>
            <type>text/plain</type>
            <size>11473</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmRhNGI5Mjc1MmEzMDJh
YjEwZDA2ZDU4ODYxMjJiMDUyNGQxYzQzOS4uMWQyMDE1M2YwZTQzYTY4YTM0NTMxMmJlODY0OGRm
ODU3MWE0MzJlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDIwLTA5LTI1ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtHUFUgUHJvY2Vz
c10gZmFzdC9jYW52YXMvY2FudmFzLWNvbXBvc2l0ZS1jYW52YXMuaHRtbCBhbmQgZmFzdC9jYW52
YXMvY2FudmFzLWNvbXBvc2l0ZS1pbWFnZS5odG1sIGZhaWwKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNjk4MgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gcGFpbnRpbmcgaW50byBkaXNwbGF5LWxp
c3QtYmFja2VkIGltYWdlIGJ1ZmZlcnMgd2l0aCByZW1vdGUgYElPU3VyZmFjZWAtYmFja2VkIGlt
YWdlIGJ1ZmZlcnMgaW4gdGhlIEdQVQorICAgICAgICBwcm9jZXNzLCB0aGUgZGlzcGxheS1saXN0
LWJhY2tlZCBpbWFnZSBidWZmZXIgaGFzIGFuIGluaXRpYWwgQ1RNIG9mIHRoZSBpZGVudGl0eSBt
YXRyaXgsIHdoaWxlIHRoZSBgSU9TdXJmYWNlYC0KKyAgICAgICAgYmFja2VkIGltYWdlIGJ1ZmZl
cidzIGluaXRpYWwgQ1RNIGlzIGZsaXBwZWQgYWJvdXQgdGhlIHgtYXhpcy4gVGhpcyBpcyBiZWNh
dXNlIGltYWdlIGJ1ZmZlciBiYWNrZW5kcyBiYXNlZCBvbgorICAgICAgICBDb3JlR3JhcGhpY3Mg
YWx3YXlzIGZsaXAgdGhlaXIgY29udGV4dCBhYm91dCB0aGUgeC1heGlzIHVwb24gY3JlYXRpb24s
IGluIGBJbWFnZUJ1ZmZlckNHQmFja2VuZDo6c2V0dXBDb250ZXh0KClgLgorICAgICAgICBUaGlz
IGNhdXNlcyB0aGUgQ1RNIG9mIHRoZSBEaXNwbGF5TGlzdCBjb250ZXh0IGluIHRoZSB3ZWIgcHJv
Y2VzcyB0byBmYWxsIG91dCBvZiBzeW5jIHdpdGggdGhlIENUTSBvZiB0aGUKKyAgICAgICAgcGxh
dGZvcm0gY29udGV4dCBpbiB0aGUgR1BVIHByb2Nlc3MsIHNvIGFueSBjYW52YXMgcmVuZGVyaW5n
IGNvZGVwYXRocyB0aGF0IGF0dGVtcHQgdG8gY29uc3VsdCB0aGUgY3VycmVudCBDVE0KKyAgICAg
ICAgaW4gdGhlIHdlYiBwcm9jZXNzIChlLmcuIGBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNl
OjpmdWxsQ2FudmFzQ29tcG9zaXRlZERyYXdJbWFnZWApIHdpbGwgZ2V0IGFuIGluY29ycmVjdAor
ICAgICAgICB2YWx1ZS4KKworICAgICAgICBUbyBmaXggdGhpcywgd2UgZ2l2ZSB0aGUgZGlzcGxh
eS1saXN0LWJhY2tlZCBpbWFnZSBidWZmZXIgaW4gdGhlIHdlYiBwcm9jZXNzIGFuIGluaXRpYWwg
Q1RNIHRoYXQgbWF0Y2hlcyB0aGUgQ1RNCisgICAgICAgIG9mIHRoZSBuYXRpdmUgaW1hZ2UgYnVm
ZmVyIGluIHRoZSBHUFUgcHJvY2Vzczsgc2VlIGJlbG93IGZvciBtb3JlIGRldGFpbHMuCisKKyAg
ICAgICAgVGVzdHM6IGZhc3QvY2FudmFzL2NhbnZhcy1jb21wb3NpdGUtY2FudmFzLmh0bWwgYW5k
IGZhc3QvY2FudmFzL2NhbnZhcy1jb21wb3NpdGUtaW1hZ2UuaHRtbAorCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXJCYWNrZW5kLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJDR0JhY2tlbmQuaDoKKworICAgICAgICBBZGQgYSBmbGFn
IGluZGljYXRpbmcgd2hldGhlciB0aGUgb3JpZ2luICgwLCAwKSBpcyBpbnRlbmRlZCB0byBiZSBh
dCB0aGUgdG9wIGxlZnQgY29ybmVyIG9mIHRoZSBpbWFnZSwgaW4gd2hpY2gKKyAgICAgICAgY2Fz
ZSB3ZSBzZXQgdXAgdGhlIGltYWdlIGJ1ZmZlcidzIGdyYXBoaWNzIGNvbnRleHQgYnkgZmxpcHBp
bmcgaXQgdmVydGljYWxseSBhYm91dCB0aGUgeC1heGlzLiBUaGlzIGlzIHRydWUgb24KKyAgICAg
ICAgQ29yZUdyYXBoaWNzLWJhY2tlZCBpbWFnZSBidWZmZXJzLgorCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0RHJhd2luZ0NvbnRleHQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OkRyYXdpbmdDb250ZXh0OjpEcmF3aW5nQ29u
dGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlM
aXN0RHJhd2luZ0NvbnRleHQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpEcmF3
aW5nQ29udGV4dDo6RHJhd2luZ0NvbnRleHQpOgorCisgICAgICAgIEFkZCBhbiBhZGRpdGlvbmFs
IGFyZ3VtZW50IHRvIHRoZSBjb25zdHJ1Y3RvciBvZiBgRHJhd2luZ0NvbnRleHRgLCBzbyB0aGF0
IGl0IG5vdyB0YWtlcyBhbiBpbml0aWFsIGFmZmluZSBDVE0uCisgICAgICAgIEJ5IGRlZmF1bHQs
IHRoaXMgaXMgdGhlIGlkZW50aXR5IG1hdHJpeC4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEltYWdlQnVmZmVyLmg6CisgICAgICAgIChXZWJD
b3JlOjpEaXNwbGF5TGlzdDo6SW1hZ2VCdWZmZXI6OkltYWdlQnVmZmVyKToKKyAgICAgICAgKFdl
YkNvcmU6OkRpc3BsYXlMaXN0OjpJbWFnZUJ1ZmZlcjo6aW5pdGlhbERyYXdpbmdDb250ZXh0Q1RN
KToKKworICAgICAgICBBZGQgYSBoZWxwZXIgdG8gY29tcHV0ZSB0aGUgaW5pdGlhbCBDVE0gb2Yg
dGhlIGRyYXdpbmcgY29udGV4dC4gVGhpcyB3YXMgcHJldmlvdXNseSBvbmx5IHRoZSBpZGVudGl0
eSBtYXRyaXgsCisgICAgICAgIGJ1dCBpZiB3ZSdyZSB1c2luZyBhbiBpbWFnZSBidWZmZXIgYmFj
a2VuZCB0aGF0IHdpbGwgZmxpcCB0aGUgY29udGV4dCB2ZXJ0aWNhbGx5LCB0aGVuIHdlIG5lZWQg
dG8gc3RhcnQgdGhlCisgICAgICAgIENUTSBvZiB0aGUgZGlzcGxheS1saXN0LWJhY2tlZCBpbWFn
ZSBidWZmZXIgaW4gdGhlIHNhbWUgc3RhdGUuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpEaXNwbGF5TGlzdDo6UmVjb3JkZXI6OlJlY29yZGVyKToKKworICAgICAgICBSZW5hbWUgdGhl
IGBiYXNlQ1RNYCBhcmd1bWVudCB0byBgaW5pdGlhbENUTWAuIFRoaXMgaXMgYmVjYXVzZSB0aGlz
IGFyZ3VtZW50IGRldGVybWluZXMgdGhlIENUTSBvZiB0aGUgaW5pdGlhbAorICAgICAgICBncmFw
aGljcyBjb250ZXh0IHN0YXRlIGluIHRoZSBzdGF0ZSBzdGFjaywgcmF0aGVyIHRoYW4gdGhlIHZh
bHVlIG9mIHRoZSBiYXNlIENUTS4gU2VlIGFib3ZlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5oOiBBZGQg
V0VCQ09SRV9FWFBPUlQuCisKIDIwMjAtMDktMjUgIFBlbmcgTGl1ICA8cGVuZy5saXU2QGFwcGxl
LmNvbT4KIAogICAgICAgICBDbGVhbiB1cCBWaWRlb0xheWVyTWFuYWdlck9iakMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyQmFja2VuZC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXJCYWNrZW5kLmgK
aW5kZXggMjUxMTJkZmI0NGJjNjc3NDgwMDNmMGU2MTRlMmUzZTU3NjdmNGU3My4uYzAxMGEwZjBj
ZmNkOGM1ZTdhYjZjOTRjNWMzYzM2ZjQ4Mzg2ZDAxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXJCYWNrZW5kLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXJCYWNrZW5kLmgKQEAgLTk5LDYgKzk5
LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGxhdGZvcm1MYXllciogcGxhdGZvcm1MYXllcigp
IGNvbnN0IHsgcmV0dXJuIG51bGxwdHI7IH0KICAgICB2aXJ0dWFsIGJvb2wgY29weVRvUGxhdGZv
cm1UZXh0dXJlKEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMJiwgR0NHTGVudW0sIFBsYXRmb3JtR0xP
YmplY3QsIEdDR0xlbnVtLCBib29sLCBib29sKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAg
IAorICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBpc09yaWdpbkF0VXBwZXJMZWZ0Q29ybmVyID0g
ZmFsc2U7CiAgICAgdmlydHVhbCBib29sIGlzQWNjZWxlcmF0ZWQoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQogCiBwcm90ZWN0ZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZC5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQuaAppbmRl
eCAwNjkyMzY1ZDAzODRiNDZlMGUyNzU0YjAyNjY2MGJjZDk5YWFkNTk3Li5iOWJkN2YxYmFiNDdm
ZjdjNzk3NDM0ODMzYzI3YTU0OTczMTA4Mjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0dCaXRtYXBCYWNr
ZW5kLmgKQEAgLTQ5LDYgKzQ5LDggQEAgcHVibGljOgogICAgIFJlZlB0cjxJbWFnZURhdGE+IGdl
dEltYWdlRGF0YShBbHBoYVByZW11bHRpcGxpY2F0aW9uIG91dHB1dEZvcm1hdCwgY29uc3QgSW50
UmVjdCYpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZvaWQgcHV0SW1hZ2VEYXRhKEFscGhhUHJlbXVs
dGlwbGljYXRpb24gaW5wdXRGb3JtYXQsIGNvbnN0IEltYWdlRGF0YSYsIGNvbnN0IEludFJlY3Qm
IHNyY1JlY3QsIGNvbnN0IEludFBvaW50JiBkZXN0UG9pbnQsIEFscGhhUHJlbXVsdGlwbGljYXRp
b24gZGVzdEZvcm1hdCkgb3ZlcnJpZGU7CiAKKyAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgaXNP
cmlnaW5BdFVwcGVyTGVmdENvcm5lciA9IHRydWU7CisKIHByaXZhdGU6CiAgICAgSW1hZ2VCdWZm
ZXJDR0JpdG1hcEJhY2tlbmQoY29uc3QgRmxvYXRTaXplJiBsb2dpY2FsU2l6ZSwgY29uc3QgSW50
U2l6ZSYgcGh5c2ljYWxTaXplLCBmbG9hdCByZXNvbHV0aW9uU2NhbGUsIENvbG9yU3BhY2UsIHZv
aWQqIGRhdGEsIFJldGFpblB0cjxDR0RhdGFQcm92aWRlclJlZj4mJiwgc3RkOjp1bmlxdWVfcHRy
PEdyYXBoaWNzQ29udGV4dD4mJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVySU9TdXJmYWNlQmFja2VuZC5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJJT1N1cmZhY2VCYWNrZW5kLmgK
aW5kZXggYzBiNjQ3ODE0MDlmOGQzYWFiODlkM2Q5NmU3N2MwOTQzNTgzNjNlYi4uMjQxOGYxZDQ1
ZDUzZDQ1OTMzYjM5MDRhMjg4YzYxMDFmMTRiY2MzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJJT1N1cmZhY2VCYWNrZW5kLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJJT1N1cmZh
Y2VCYWNrZW5kLmgKQEAgLTY0LDYgKzY0LDggQEAgcHVibGljOgogICAgIElPU3VyZmFjZSogc3Vy
ZmFjZSgpOwogICAgIGJvb2wgaXNBY2NlbGVyYXRlZCgpIGNvbnN0IG92ZXJyaWRlOwogCisgICAg
c3RhdGljIGNvbnN0ZXhwciBib29sIGlzT3JpZ2luQXRVcHBlckxlZnRDb3JuZXIgPSB0cnVlOwor
CiBwcm90ZWN0ZWQ6CiAgICAgc3RhdGljIFJldGFpblB0cjxDR0NvbG9yU3BhY2VSZWY+IGNvbnRl
eHRDb2xvclNwYWNlKGNvbnN0IEdyYXBoaWNzQ29udGV4dCYpOwogICAgIHVuc2lnbmVkIGJ5dGVz
UGVyUm93KCkgY29uc3Qgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3REcmF3aW5nQ29udGV4dC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxp
c3REcmF3aW5nQ29udGV4dC5jcHAKaW5kZXggYTgzNmYxMDUyOTBjN2NlZTBlZDY1NjQzM2QzMTJh
MDQxMDIwZDMzNy4uMjNjYzA3ZThhZTQ0MmJkY2VhMGQzNjc0YTVhODU1MWM2NWNmZGM4NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rp
c3BsYXlMaXN0RHJhd2luZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdERyYXdpbmdDb250ZXh0LmNwcApAQCAt
MzMsOSArMzMsOSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIERpc3BsYXlMaXN0
IHsKIAotRHJhd2luZ0NvbnRleHQ6OkRyYXdpbmdDb250ZXh0KGNvbnN0IEZsb2F0U2l6ZSYgbG9n
aWNhbFNpemUsIFJlY29yZGVyOjpPYnNlcnZlciogb2JzZXJ2ZXIpCitEcmF3aW5nQ29udGV4dDo6
RHJhd2luZ0NvbnRleHQoY29uc3QgRmxvYXRTaXplJiBsb2dpY2FsU2l6ZSwgY29uc3QgQWZmaW5l
VHJhbnNmb3JtJiBpbml0aWFsQ1RNLCBSZWNvcmRlcjo6T2JzZXJ2ZXIqIG9ic2VydmVyKQogICAg
IDogbV9jb250ZXh0KFsmXShHcmFwaGljc0NvbnRleHQmIGRpc3BsYXlMaXN0Q29udGV4dCkgewot
ICAgICAgICByZXR1cm4gbWFrZVVuaXF1ZTxSZWNvcmRlcj4oZGlzcGxheUxpc3RDb250ZXh0LCBt
X2Rpc3BsYXlMaXN0LCBHcmFwaGljc0NvbnRleHRTdGF0ZSgpLCBGbG9hdFJlY3QoeyB9LCBsb2dp
Y2FsU2l6ZSksIEFmZmluZVRyYW5zZm9ybSgpLCBvYnNlcnZlcik7CisgICAgICAgIHJldHVybiBt
YWtlVW5pcXVlPFJlY29yZGVyPihkaXNwbGF5TGlzdENvbnRleHQsIG1fZGlzcGxheUxpc3QsIEdy
YXBoaWNzQ29udGV4dFN0YXRlKCksIEZsb2F0UmVjdCh7IH0sIGxvZ2ljYWxTaXplKSwgaW5pdGlh
bENUTSwgb2JzZXJ2ZXIpOwogICAgIH0pCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3REcmF3aW5nQ29udGV4
dC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3Bs
YXlMaXN0RHJhd2luZ0NvbnRleHQuaAppbmRleCAzNTIxYTkzYTQwMzc1NzU3NDI3ZTkzZDk0ZWU4
Y2E0MTdiYzBmMGMyLi5lODY3ODM3MjRiZWU4YjA1YjdlMmJhYzk5ZmFmMmZkNDhhODFlNzcyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMv
RGlzcGxheUxpc3REcmF3aW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdERyYXdpbmdDb250ZXh0LmgKQEAgLTM1
LDcgKzM1LDcgQEAgbmFtZXNwYWNlIERpc3BsYXlMaXN0IHsKIGNsYXNzIERyYXdpbmdDb250ZXh0
IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VY
UE9SVCBEcmF3aW5nQ29udGV4dChjb25zdCBGbG9hdFNpemUmIGxvZ2ljYWxTaXplLCBSZWNvcmRl
cjo6T2JzZXJ2ZXIqID0gbnVsbHB0cik7CisgICAgV0VCQ09SRV9FWFBPUlQgRHJhd2luZ0NvbnRl
eHQoY29uc3QgRmxvYXRTaXplJiBsb2dpY2FsU2l6ZSwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBp
bml0aWFsQ1RNID0geyB9LCBSZWNvcmRlcjo6T2JzZXJ2ZXIqID0gbnVsbHB0cik7CiAKICAgICBH
cmFwaGljc0NvbnRleHQmIGNvbnRleHQoKSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0PERyYXdp
bmdDb250ZXh0Jj4oKnRoaXMpLm1fY29udGV4dDsgfQogICAgIFdFQkNPUkVfRVhQT1JUIFJlY29y
ZGVyJiByZWNvcmRlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SW1hZ2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEltYWdlQnVmZmVy
LmgKaW5kZXggNzdhYTBjOGE5NDQ5ZmM4MGRkZmVjOGViNTdjNDJlNjMwNGU2MjczOS4uODY3MmIx
YjQ3MDg0NzY5MDE4NTA4NDk1OWE3N2FmNDJmZGI4MDQzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SW1hZ2VCdWZm
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMv
RGlzcGxheUxpc3RJbWFnZUJ1ZmZlci5oCkBAIC00OCwxMiArNDgsMTIgQEAgcHVibGljOgogCiAg
ICAgSW1hZ2VCdWZmZXIoc3RkOjp1bmlxdWVfcHRyPEJhY2tlbmRUeXBlPiYmIGRhdGFCYWNrZW5k
LCBjb25zdCBGbG9hdFNpemUmIHNpemUpCiAgICAgICAgIDogQmFzZUNvbmNyZXRlSW1hZ2VCdWZm
ZXIoV1RGTW92ZShkYXRhQmFja2VuZCkpCi0gICAgICAgICwgbV9kcmF3aW5nQ29udGV4dChzaXpl
LCB0aGlzKQorICAgICAgICAsIG1fZHJhd2luZ0NvbnRleHQoc2l6ZSwgaW5pdGlhbERyYXdpbmdD
b250ZXh0Q1RNKHNpemUpLCB0aGlzKQogICAgIHsKICAgICB9CiAKICAgICBJbWFnZUJ1ZmZlcihj
b25zdCBGbG9hdFNpemUmIHNpemUpCi0gICAgICAgIDogbV9kcmF3aW5nQ29udGV4dChzaXplLCB0
aGlzKQorICAgICAgICA6IG1fZHJhd2luZ0NvbnRleHQoc2l6ZSwgaW5pdGlhbERyYXdpbmdDb250
ZXh0Q1RNKHNpemUpLCB0aGlzKQogICAgIHsKICAgICB9CiAKQEAgLTc0LDcgKzc0LDE3IEBAIHB1
YmxpYzoKICAgICAgICAgbV9kcmF3aW5nQ29udGV4dC5yZXBsYXlEaXNwbGF5TGlzdChCYXNlQ29u
Y3JldGVJbWFnZUJ1ZmZlcjo6Y29udGV4dCgpKTsKICAgICB9CiAKK3Byb3RlY3RlZDoKICAgICBE
cmF3aW5nQ29udGV4dCBtX2RyYXdpbmdDb250ZXh0OworCitwcml2YXRlOgorICAgIHN0YXRpYyBB
ZmZpbmVUcmFuc2Zvcm0gaW5pdGlhbERyYXdpbmdDb250ZXh0Q1RNKGNvbnN0IEZsb2F0U2l6ZSYg
bG9naWNhbFNpemUpCisgICAgeworICAgICAgICBBZmZpbmVUcmFuc2Zvcm0gaW5pdGlhbENUTTsK
KyAgICAgICAgaWYgKEJhY2tlbmRUeXBlOjppc09yaWdpbkF0VXBwZXJMZWZ0Q29ybmVyKQorICAg
ICAgICAgICAgaW5pdGlhbENUTSA9IGluaXRpYWxDVE0uc2NhbGUoMSwgLTEpLnRyYW5zbGF0ZSgw
LCAtbG9naWNhbFNpemUuaGVpZ2h0KCkpOworICAgICAgICByZXR1cm4gaW5pdGlhbENUTTsKKyAg
ICB9CiB9OwogCiB9IC8vIERpc3BsYXlMaXN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RS
ZWNvcmRlci5jcHAKaW5kZXggNzJhMTgxY2MwYTk2NWViZTg5ZjZjOGJlZTNiNjYzZTFiNjJiNDk0
ZS4uYjJiNmY2MTc2ZThlNDU4MWUwNjgxYzJkMDA5ZGZlNGY1ZTdhNTcwZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0
UmVjb3JkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3Bs
YXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmNwcApAQCAtMzYsMTMgKzM2LDEzIEBACiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBuYW1lc3BhY2UgRGlzcGxheUxpc3QgewogCi1SZWNvcmRlcjo6UmVj
b3JkZXIoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBEaXNwbGF5TGlzdCYgZGlzcGxheUxpc3Qs
IGNvbnN0IEdyYXBoaWNzQ29udGV4dFN0YXRlJiBzdGF0ZSwgY29uc3QgRmxvYXRSZWN0JiBpbml0
aWFsQ2xpcCwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBiYXNlQ1RNLCBPYnNlcnZlciogb2JzZXJ2
ZXIpCi0gICAgOiBHcmFwaGljc0NvbnRleHRJbXBsKGNvbnRleHQsIGluaXRpYWxDbGlwLCBiYXNl
Q1RNKQorUmVjb3JkZXI6OlJlY29yZGVyKEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgRGlzcGxh
eUxpc3QmIGRpc3BsYXlMaXN0LCBjb25zdCBHcmFwaGljc0NvbnRleHRTdGF0ZSYgc3RhdGUsIGNv
bnN0IEZsb2F0UmVjdCYgaW5pdGlhbENsaXAsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgaW5pdGlh
bENUTSwgT2JzZXJ2ZXIqIG9ic2VydmVyKQorICAgIDogR3JhcGhpY3NDb250ZXh0SW1wbChjb250
ZXh0LCBpbml0aWFsQ2xpcCwgQWZmaW5lVHJhbnNmb3JtKCkpCiAgICAgLCBtX2Rpc3BsYXlMaXN0
KGRpc3BsYXlMaXN0KQogICAgICwgbV9vYnNlcnZlcihvYnNlcnZlcikKIHsKICAgICBMT0dfV0lU
SF9TVFJFQU0oRGlzcGxheUxpc3RzLCBzdHJlYW0gPDwgIlxuUmVjb3JkaW5nIHdpdGggY2xpcCAi
IDw8IGluaXRpYWxDbGlwKTsKLSAgICBtX3N0YXRlU3RhY2suYXBwZW5kKENvbnRleHRTdGF0ZShz
dGF0ZSwgYmFzZUNUTSwgaW5pdGlhbENsaXApKTsKKyAgICBtX3N0YXRlU3RhY2suYXBwZW5kKHsg
c3RhdGUsIGluaXRpYWxDVE0sIGluaXRpYWxDbGlwIH0pOwogfQogCiBSZWNvcmRlcjo6flJlY29y
ZGVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5z
Zm9ybXMvQWZmaW5lVHJhbnNmb3JtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90cmFuc2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5oCmluZGV4IGY0ZDY0YWQwMWJmNmQ1MjI0YmEy
MzljOWMxYWE4MTc5MGM1ZWQ5YjAuLjhjNDBkYzFmNjA4MmNkMzQ5OTY3ZTg3ZjkwZTI5NjdkMDU3
ZGRhNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5z
Zm9ybXMvQWZmaW5lVHJhbnNmb3JtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zvcm0uaApAQCAtMTExLDcgKzExMSw3IEBAIHB1
YmxpYzoKIAogICAgIFdFQkNPUkVfRVhQT1JUIEFmZmluZVRyYW5zZm9ybSYgbXVsdGlwbHkoY29u
c3QgQWZmaW5lVHJhbnNmb3JtJiBvdGhlcik7CiAgICAgV0VCQ09SRV9FWFBPUlQgQWZmaW5lVHJh
bnNmb3JtJiBzY2FsZShkb3VibGUpOwotICAgIEFmZmluZVRyYW5zZm9ybSYgc2NhbGUoZG91Ymxl
IHN4LCBkb3VibGUgc3kpOyAKKyAgICBXRUJDT1JFX0VYUE9SVCBBZmZpbmVUcmFuc2Zvcm0mIHNj
YWxlKGRvdWJsZSBzeCwgZG91YmxlIHN5KTsKICAgICBXRUJDT1JFX0VYUE9SVCBBZmZpbmVUcmFu
c2Zvcm0mIHNjYWxlTm9uVW5pZm9ybShkb3VibGUgc3gsIGRvdWJsZSBzeSk7IC8vIFNhbWUgYXMg
c2NhbGUoc3gsIHN5KS4KICAgICBXRUJDT1JFX0VYUE9SVCBBZmZpbmVUcmFuc2Zvcm0mIHNjYWxl
KGNvbnN0IEZsb2F0U2l6ZSYpOwogICAgIFdFQkNPUkVfRVhQT1JUIEFmZmluZVRyYW5zZm9ybSYg
cm90YXRlKGRvdWJsZSk7Cg==
</data>
<flag name="review"
          id="425525"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
    <flag name="commit-queue"
          id="425555"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409743</attachid>
            <date>2020-09-25 14:48:04 -0700</date>
            <delta_ts>2020-09-25 16:10:56 -0700</delta_ts>
            <desc>Update ChangeLog entry to include ImageBufferCGBitmapBackend.h</desc>
            <filename>bug-216982-20200925144803.patch</filename>
            <type>text/plain</type>
            <size>11520</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmRhNGI5Mjc1MmEzMDJh
YjEwZDA2ZDU4ODYxMjJiMDUyNGQxYzQzOS4uMzJjOTE4MDIwOTgxNzg2ZGE5YzY3NTAyYTI2ODM5
MTIyNWY4ZDQ2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDIwLTA5LTI1ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtHUFUgUHJvY2Vz
c10gZmFzdC9jYW52YXMvY2FudmFzLWNvbXBvc2l0ZS1jYW52YXMuaHRtbCBhbmQgZmFzdC9jYW52
YXMvY2FudmFzLWNvbXBvc2l0ZS1pbWFnZS5odG1sIGZhaWwKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNjk4MgorCisgICAgICAgIFJldmlld2VkIGJ5
IFNpbW9uIEZyYXNlci4KKworICAgICAgICBXaGVuIHBhaW50aW5nIGludG8gZGlzcGxheS1saXN0
LWJhY2tlZCBpbWFnZSBidWZmZXJzIHdpdGggcmVtb3RlIGBJT1N1cmZhY2VgLWJhY2tlZCBpbWFn
ZSBidWZmZXJzIGluIHRoZSBHUFUKKyAgICAgICAgcHJvY2VzcywgdGhlIGRpc3BsYXktbGlzdC1i
YWNrZWQgaW1hZ2UgYnVmZmVyIGhhcyBhbiBpbml0aWFsIENUTSBvZiB0aGUgaWRlbnRpdHkgbWF0
cml4LCB3aGlsZSB0aGUgYElPU3VyZmFjZWAtCisgICAgICAgIGJhY2tlZCBpbWFnZSBidWZmZXIn
cyBpbml0aWFsIENUTSBpcyBmbGlwcGVkIGFib3V0IHRoZSB4LWF4aXMuIFRoaXMgaXMgYmVjYXVz
ZSBpbWFnZSBidWZmZXIgYmFja2VuZHMgYmFzZWQgb24KKyAgICAgICAgQ29yZUdyYXBoaWNzIGFs
d2F5cyBmbGlwIHRoZWlyIGNvbnRleHQgYWJvdXQgdGhlIHgtYXhpcyB1cG9uIGNyZWF0aW9uLCBp
biBgSW1hZ2VCdWZmZXJDR0JhY2tlbmQ6OnNldHVwQ29udGV4dCgpYC4KKyAgICAgICAgVGhpcyBj
YXVzZXMgdGhlIENUTSBvZiB0aGUgRGlzcGxheUxpc3QgY29udGV4dCBpbiB0aGUgd2ViIHByb2Nl
c3MgdG8gZmFsbCBvdXQgb2Ygc3luYyB3aXRoIHRoZSBDVE0gb2YgdGhlCisgICAgICAgIHBsYXRm
b3JtIGNvbnRleHQgaW4gdGhlIEdQVSBwcm9jZXNzLCBzbyBhbnkgY2FudmFzIHJlbmRlcmluZyBj
b2RlcGF0aHMgdGhhdCBhdHRlbXB0IHRvIGNvbnN1bHQgdGhlIGN1cnJlbnQgQ1RNCisgICAgICAg
IGluIHRoZSB3ZWIgcHJvY2VzcyAoZS5nLiBgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6
ZnVsbENhbnZhc0NvbXBvc2l0ZWREcmF3SW1hZ2VgKSB3aWxsIGdldCBhbiBpbmNvcnJlY3QKKyAg
ICAgICAgdmFsdWUuCisKKyAgICAgICAgVG8gZml4IHRoaXMsIHdlIGdpdmUgdGhlIGRpc3BsYXkt
bGlzdC1iYWNrZWQgaW1hZ2UgYnVmZmVyIGluIHRoZSB3ZWIgcHJvY2VzcyBhbiBpbml0aWFsIENU
TSB0aGF0IG1hdGNoZXMgdGhlIENUTQorICAgICAgICBvZiB0aGUgbmF0aXZlIGltYWdlIGJ1ZmZl
ciBpbiB0aGUgR1BVIHByb2Nlc3M7IHNlZSBiZWxvdyBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAg
ICAgIFRlc3RzOiBmYXN0L2NhbnZhcy9jYW52YXMtY29tcG9zaXRlLWNhbnZhcy5odG1sIGFuZCBm
YXN0L2NhbnZhcy9jYW52YXMtY29tcG9zaXRlLWltYWdlLmh0bWwKKworICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyQmFja2VuZC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kLmg6CisKKyAgICAgICAgQWRkIGEg
ZmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIG9yaWdpbiAoMCwgMCkgaXMgaW50ZW5kZWQgdG8g
YmUgYXQgdGhlIHRvcCBsZWZ0IGNvcm5lciBvZiB0aGUgaW1hZ2UsIGluIHdoaWNoCisgICAgICAg
IGNhc2Ugd2Ugc2V0IHVwIHRoZSBpbWFnZSBidWZmZXIncyBncmFwaGljcyBjb250ZXh0IGJ5IGZs
aXBwaW5nIGl0IHZlcnRpY2FsbHkgYWJvdXQgdGhlIHgtYXhpcy4gVGhpcyBpcyB0cnVlIG9uCisg
ICAgICAgIENvcmVHcmFwaGljcy1iYWNrZWQgaW1hZ2UgYnVmZmVycy4KKworICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVySU9TdXJmYWNlQmFja2VuZC5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdERyYXdpbmdDb250
ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpEcmF3aW5nQ29udGV4dDo6
RHJhd2luZ0NvbnRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0
cy9EaXNwbGF5TGlzdERyYXdpbmdDb250ZXh0Lmg6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5
TGlzdDo6RHJhd2luZ0NvbnRleHQ6OkRyYXdpbmdDb250ZXh0KToKKworICAgICAgICBBZGQgYW4g
YWRkaXRpb25hbCBhcmd1bWVudCB0byB0aGUgY29uc3RydWN0b3Igb2YgYERyYXdpbmdDb250ZXh0
YCwgc28gdGhhdCBpdCBub3cgdGFrZXMgYW4gaW5pdGlhbCBhZmZpbmUgQ1RNLgorICAgICAgICBC
eSBkZWZhdWx0LCB0aGlzIGlzIHRoZSBpZGVudGl0eSBtYXRyaXguCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJbWFnZUJ1ZmZlci5oOgorICAg
ICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OkltYWdlQnVmZmVyOjpJbWFnZUJ1ZmZlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SW1hZ2VCdWZmZXI6OmluaXRpYWxEcmF3aW5n
Q29udGV4dENUTSk6CisKKyAgICAgICAgQWRkIGEgaGVscGVyIHRvIGNvbXB1dGUgdGhlIGluaXRp
YWwgQ1RNIG9mIHRoZSBkcmF3aW5nIGNvbnRleHQuIFRoaXMgd2FzIHByZXZpb3VzbHkgb25seSB0
aGUgaWRlbnRpdHkgbWF0cml4LAorICAgICAgICBidXQgaWYgd2UncmUgdXNpbmcgYW4gaW1hZ2Ug
YnVmZmVyIGJhY2tlbmQgdGhhdCB3aWxsIGZsaXAgdGhlIGNvbnRleHQgdmVydGljYWxseSwgdGhl
biB3ZSBuZWVkIHRvIHN0YXJ0IHRoZQorICAgICAgICBDVE0gb2YgdGhlIGRpc3BsYXktbGlzdC1i
YWNrZWQgaW1hZ2UgYnVmZmVyIGluIHRoZSBzYW1lIHN0YXRlLgorCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVjb3JkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlJlY29yZGVyOjpSZWNvcmRlcik6CisKKyAgICAgICAg
UmVuYW1lIHRoZSBgYmFzZUNUTWAgYXJndW1lbnQgdG8gYGluaXRpYWxDVE1gLiBUaGlzIGlzIGJl
Y2F1c2UgdGhpcyBhcmd1bWVudCBkZXRlcm1pbmVzIHRoZSBDVE0gb2YgdGhlIGluaXRpYWwKKyAg
ICAgICAgZ3JhcGhpY3MgY29udGV4dCBzdGF0ZSBpbiB0aGUgc3RhdGUgc3RhY2ssIHJhdGhlciB0
aGFuIHRoZSB2YWx1ZSBvZiB0aGUgYmFzZSBDVE0uIFNlZSBhYm92ZSBmb3IgbW9yZSBkZXRhaWxz
LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zv
cm0uaDoKKwogMjAyMC0wOS0yNSAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAg
ICAgICAgIENsZWFuIHVwIFZpZGVvTGF5ZXJNYW5hZ2VyT2JqQwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXJCYWNrZW5kLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlckJhY2tlbmQuaAppbmRleCAyNTEx
MmRmYjQ0YmM2Nzc0ODAwM2YwZTYxNGUyZTNlNTc2N2Y0ZTczLi5jMDEwYTBmMGNmY2Q4YzVlN2Fi
NmM5NGM1YzNjMzZmNDgzODZkMDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9JbWFnZUJ1ZmZlckJhY2tlbmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlckJhY2tlbmQuaApAQCAtOTksNiArOTksNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCBQbGF0Zm9ybUxheWVyKiBwbGF0Zm9ybUxheWVyKCkgY29uc3QgeyBy
ZXR1cm4gbnVsbHB0cjsgfQogICAgIHZpcnR1YWwgYm9vbCBjb3B5VG9QbGF0Zm9ybVRleHR1cmUo
R3JhcGhpY3NDb250ZXh0R0xPcGVuR0wmLCBHQ0dMZW51bSwgUGxhdGZvcm1HTE9iamVjdCwgR0NH
TGVudW0sIGJvb2wsIGJvb2wpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgCisgICAgc3Rh
dGljIGNvbnN0ZXhwciBib29sIGlzT3JpZ2luQXRVcHBlckxlZnRDb3JuZXIgPSBmYWxzZTsKICAg
ICB2aXJ0dWFsIGJvb2wgaXNBY2NlbGVyYXRlZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAK
IHByb3RlY3RlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NnL0ltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZC5oCmluZGV4IDA2OTIzNjVk
MDM4NGI0NmUwZTI3NTRiMDI2NjYwYmNkOTlhYWQ1OTcuLmI5YmQ3ZjFiYWI0N2ZmN2M3OTc0MzQ4
MzNjMjdhNTQ5NzMxMDgyODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQuaApAQCAt
NDksNiArNDksOCBAQCBwdWJsaWM6CiAgICAgUmVmUHRyPEltYWdlRGF0YT4gZ2V0SW1hZ2VEYXRh
KEFscGhhUHJlbXVsdGlwbGljYXRpb24gb3V0cHV0Rm9ybWF0LCBjb25zdCBJbnRSZWN0JikgY29u
c3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBwdXRJbWFnZURhdGEoQWxwaGFQcmVtdWx0aXBsaWNhdGlv
biBpbnB1dEZvcm1hdCwgY29uc3QgSW1hZ2VEYXRhJiwgY29uc3QgSW50UmVjdCYgc3JjUmVjdCwg
Y29uc3QgSW50UG9pbnQmIGRlc3RQb2ludCwgQWxwaGFQcmVtdWx0aXBsaWNhdGlvbiBkZXN0Rm9y
bWF0KSBvdmVycmlkZTsKIAorICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBpc09yaWdpbkF0VXBw
ZXJMZWZ0Q29ybmVyID0gdHJ1ZTsKKwogcHJpdmF0ZToKICAgICBJbWFnZUJ1ZmZlckNHQml0bWFw
QmFja2VuZChjb25zdCBGbG9hdFNpemUmIGxvZ2ljYWxTaXplLCBjb25zdCBJbnRTaXplJiBwaHlz
aWNhbFNpemUsIGZsb2F0IHJlc29sdXRpb25TY2FsZSwgQ29sb3JTcGFjZSwgdm9pZCogZGF0YSwg
UmV0YWluUHRyPENHRGF0YVByb3ZpZGVyUmVmPiYmLCBzdGQ6OnVuaXF1ZV9wdHI8R3JhcGhpY3ND
b250ZXh0PiYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2cvSW1hZ2VCdWZmZXJJT1N1cmZhY2VCYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQuaAppbmRleCBjMGI2
NDc4MTQwOWY4ZDNhYWI4OWQzZDk2ZTc3YzA5NDM1ODM2M2ViLi4yNDE4ZjFkNDVkNTNkNDU5MzNi
MzkwNGEyODhjNjEwMWYxNGJjYzMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQu
aApAQCAtNjQsNiArNjQsOCBAQCBwdWJsaWM6CiAgICAgSU9TdXJmYWNlKiBzdXJmYWNlKCk7CiAg
ICAgYm9vbCBpc0FjY2VsZXJhdGVkKCkgY29uc3Qgb3ZlcnJpZGU7CiAKKyAgICBzdGF0aWMgY29u
c3RleHByIGJvb2wgaXNPcmlnaW5BdFVwcGVyTGVmdENvcm5lciA9IHRydWU7CisKIHByb3RlY3Rl
ZDoKICAgICBzdGF0aWMgUmV0YWluUHRyPENHQ29sb3JTcGFjZVJlZj4gY29udGV4dENvbG9yU3Bh
Y2UoY29uc3QgR3JhcGhpY3NDb250ZXh0Jik7CiAgICAgdW5zaWduZWQgYnl0ZXNQZXJSb3coKSBj
b25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdERyYXdpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdERyYXdpbmdD
b250ZXh0LmNwcAppbmRleCBhODM2ZjEwNTI5MGM3Y2VlMGVkNjU2NDMzZDMxMmEwNDEwMjBkMzM3
Li4yM2NjMDdlOGFlNDQyYmRjZWEwZDM2NzRhNWE4NTUxYzY1Y2ZkYzg3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RE
cmF3aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0RHJhd2luZ0NvbnRleHQuY3BwCkBAIC0zMyw5ICszMyw5
IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBuYW1lc3BhY2UgRGlzcGxheUxpc3QgewogCi1EcmF3
aW5nQ29udGV4dDo6RHJhd2luZ0NvbnRleHQoY29uc3QgRmxvYXRTaXplJiBsb2dpY2FsU2l6ZSwg
UmVjb3JkZXI6Ok9ic2VydmVyKiBvYnNlcnZlcikKK0RyYXdpbmdDb250ZXh0OjpEcmF3aW5nQ29u
dGV4dChjb25zdCBGbG9hdFNpemUmIGxvZ2ljYWxTaXplLCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0m
IGluaXRpYWxDVE0sIFJlY29yZGVyOjpPYnNlcnZlciogb2JzZXJ2ZXIpCiAgICAgOiBtX2NvbnRl
eHQoWyZdKEdyYXBoaWNzQ29udGV4dCYgZGlzcGxheUxpc3RDb250ZXh0KSB7Ci0gICAgICAgIHJl
dHVybiBtYWtlVW5pcXVlPFJlY29yZGVyPihkaXNwbGF5TGlzdENvbnRleHQsIG1fZGlzcGxheUxp
c3QsIEdyYXBoaWNzQ29udGV4dFN0YXRlKCksIEZsb2F0UmVjdCh7IH0sIGxvZ2ljYWxTaXplKSwg
QWZmaW5lVHJhbnNmb3JtKCksIG9ic2VydmVyKTsKKyAgICAgICAgcmV0dXJuIG1ha2VVbmlxdWU8
UmVjb3JkZXI+KGRpc3BsYXlMaXN0Q29udGV4dCwgbV9kaXNwbGF5TGlzdCwgR3JhcGhpY3NDb250
ZXh0U3RhdGUoKSwgRmxvYXRSZWN0KHsgfSwgbG9naWNhbFNpemUpLCBpbml0aWFsQ1RNLCBvYnNl
cnZlcik7CiAgICAgfSkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdERyYXdpbmdDb250ZXh0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3REcmF3
aW5nQ29udGV4dC5oCmluZGV4IDM1MjFhOTNhNDAzNzU3NTc0MjdlOTNkOTRlZThjYTQxN2JjMGYw
YzIuLmU4Njc4MzcyNGJlZThiMDViN2UyYmFjOTlmYWYyZmQ0OGE4MWU3NzIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlz
dERyYXdpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0RHJhd2luZ0NvbnRleHQuaApAQCAtMzUsNyArMzUsNyBA
QCBuYW1lc3BhY2UgRGlzcGxheUxpc3QgewogY2xhc3MgRHJhd2luZ0NvbnRleHQgewogICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIFdFQkNPUkVfRVhQT1JUIERyYXdp
bmdDb250ZXh0KGNvbnN0IEZsb2F0U2l6ZSYgbG9naWNhbFNpemUsIFJlY29yZGVyOjpPYnNlcnZl
ciogPSBudWxscHRyKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBEcmF3aW5nQ29udGV4dChjb25zdCBG
bG9hdFNpemUmIGxvZ2ljYWxTaXplLCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIGluaXRpYWxDVE0g
PSB7IH0sIFJlY29yZGVyOjpPYnNlcnZlciogPSBudWxscHRyKTsKIAogICAgIEdyYXBoaWNzQ29u
dGV4dCYgY29udGV4dCgpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8RHJhd2luZ0NvbnRleHQm
PigqdGhpcykubV9jb250ZXh0OyB9CiAgICAgV0VCQ09SRV9FWFBPUlQgUmVjb3JkZXImIHJlY29y
ZGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNw
bGF5bGlzdHMvRGlzcGxheUxpc3RJbWFnZUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SW1hZ2VCdWZmZXIuaAppbmRleCA3
N2FhMGM4YTk0NDlmYzgwZGRmZWM4ZWI1N2M0MmU2MzA0ZTYyNzM5Li44NjcyYjFiNDcwODQ3Njkw
MTg1MDg0OTU5YTc3YWY0MmZkYjgwNDNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJbWFnZUJ1ZmZlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlz
dEltYWdlQnVmZmVyLmgKQEAgLTQ4LDEyICs0OCwxMiBAQCBwdWJsaWM6CiAKICAgICBJbWFnZUJ1
ZmZlcihzdGQ6OnVuaXF1ZV9wdHI8QmFja2VuZFR5cGU+JiYgZGF0YUJhY2tlbmQsIGNvbnN0IEZs
b2F0U2l6ZSYgc2l6ZSkKICAgICAgICAgOiBCYXNlQ29uY3JldGVJbWFnZUJ1ZmZlcihXVEZNb3Zl
KGRhdGFCYWNrZW5kKSkKLSAgICAgICAgLCBtX2RyYXdpbmdDb250ZXh0KHNpemUsIHRoaXMpCisg
ICAgICAgICwgbV9kcmF3aW5nQ29udGV4dChzaXplLCBpbml0aWFsRHJhd2luZ0NvbnRleHRDVE0o
c2l6ZSksIHRoaXMpCiAgICAgewogICAgIH0KIAogICAgIEltYWdlQnVmZmVyKGNvbnN0IEZsb2F0
U2l6ZSYgc2l6ZSkKLSAgICAgICAgOiBtX2RyYXdpbmdDb250ZXh0KHNpemUsIHRoaXMpCisgICAg
ICAgIDogbV9kcmF3aW5nQ29udGV4dChzaXplLCBpbml0aWFsRHJhd2luZ0NvbnRleHRDVE0oc2l6
ZSksIHRoaXMpCiAgICAgewogICAgIH0KIApAQCAtNzQsNyArNzQsMTcgQEAgcHVibGljOgogICAg
ICAgICBtX2RyYXdpbmdDb250ZXh0LnJlcGxheURpc3BsYXlMaXN0KEJhc2VDb25jcmV0ZUltYWdl
QnVmZmVyOjpjb250ZXh0KCkpOwogICAgIH0KIAorcHJvdGVjdGVkOgogICAgIERyYXdpbmdDb250
ZXh0IG1fZHJhd2luZ0NvbnRleHQ7CisKK3ByaXZhdGU6CisgICAgc3RhdGljIEFmZmluZVRyYW5z
Zm9ybSBpbml0aWFsRHJhd2luZ0NvbnRleHRDVE0oY29uc3QgRmxvYXRTaXplJiBsb2dpY2FsU2l6
ZSkKKyAgICB7CisgICAgICAgIEFmZmluZVRyYW5zZm9ybSBpbml0aWFsQ1RNOworICAgICAgICBp
ZiAoQmFja2VuZFR5cGU6OmlzT3JpZ2luQXRVcHBlckxlZnRDb3JuZXIpCisgICAgICAgICAgICBp
bml0aWFsQ1RNID0gaW5pdGlhbENUTS5zY2FsZSgxLCAtMSkudHJhbnNsYXRlKDAsIC1sb2dpY2Fs
U2l6ZS5oZWlnaHQoKSk7CisgICAgICAgIHJldHVybiBpbml0aWFsQ1RNOworICAgIH0KIH07CiAK
IH0gLy8gRGlzcGxheUxpc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmNw
cAppbmRleCA3MmExODFjYzBhOTY1ZWJlODlmNmM4YmVlM2I2NjNlMWI2MmI0OTRlLi5iMmI2ZjYx
NzZlOGU0NTgxZTA2ODFjMmQwMDlkZmU0ZjVlN2E1NzBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rp
c3BsYXlMaXN0UmVjb3JkZXIuY3BwCkBAIC0zNiwxMyArMzYsMTMgQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIG5hbWVzcGFjZSBEaXNwbGF5TGlzdCB7CiAKLVJlY29yZGVyOjpSZWNvcmRlcihHcmFw
aGljc0NvbnRleHQmIGNvbnRleHQsIERpc3BsYXlMaXN0JiBkaXNwbGF5TGlzdCwgY29uc3QgR3Jh
cGhpY3NDb250ZXh0U3RhdGUmIHN0YXRlLCBjb25zdCBGbG9hdFJlY3QmIGluaXRpYWxDbGlwLCBj
b25zdCBBZmZpbmVUcmFuc2Zvcm0mIGJhc2VDVE0sIE9ic2VydmVyKiBvYnNlcnZlcikKLSAgICA6
IEdyYXBoaWNzQ29udGV4dEltcGwoY29udGV4dCwgaW5pdGlhbENsaXAsIGJhc2VDVE0pCitSZWNv
cmRlcjo6UmVjb3JkZXIoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBEaXNwbGF5TGlzdCYgZGlz
cGxheUxpc3QsIGNvbnN0IEdyYXBoaWNzQ29udGV4dFN0YXRlJiBzdGF0ZSwgY29uc3QgRmxvYXRS
ZWN0JiBpbml0aWFsQ2xpcCwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBpbml0aWFsQ1RNLCBPYnNl
cnZlciogb2JzZXJ2ZXIpCisgICAgOiBHcmFwaGljc0NvbnRleHRJbXBsKGNvbnRleHQsIGluaXRp
YWxDbGlwLCBBZmZpbmVUcmFuc2Zvcm0oKSkKICAgICAsIG1fZGlzcGxheUxpc3QoZGlzcGxheUxp
c3QpCiAgICAgLCBtX29ic2VydmVyKG9ic2VydmVyKQogewogICAgIExPR19XSVRIX1NUUkVBTShE
aXNwbGF5TGlzdHMsIHN0cmVhbSA8PCAiXG5SZWNvcmRpbmcgd2l0aCBjbGlwICIgPDwgaW5pdGlh
bENsaXApOwotICAgIG1fc3RhdGVTdGFjay5hcHBlbmQoQ29udGV4dFN0YXRlKHN0YXRlLCBiYXNl
Q1RNLCBpbml0aWFsQ2xpcCkpOworICAgIG1fc3RhdGVTdGFjay5hcHBlbmQoeyBzdGF0ZSwgaW5p
dGlhbENUTSwgaW5pdGlhbENsaXAgfSk7CiB9CiAKIFJlY29yZGVyOjp+UmVjb3JkZXIoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZp
bmVUcmFuc2Zvcm0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9y
bXMvQWZmaW5lVHJhbnNmb3JtLmgKaW5kZXggZjRkNjRhZDAxYmY2ZDUyMjRiYTIzOWM5YzFhYTgx
NzkwYzVlZDliMC4uOGM0MGRjMWY2MDgyY2QzNDk5NjdlODdmOTBlMjk2N2QwNTdkZGE1NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZp
bmVUcmFuc2Zvcm0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFu
c2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5oCkBAIC0xMTEsNyArMTExLDcgQEAgcHVibGljOgogCiAg
ICAgV0VCQ09SRV9FWFBPUlQgQWZmaW5lVHJhbnNmb3JtJiBtdWx0aXBseShjb25zdCBBZmZpbmVU
cmFuc2Zvcm0mIG90aGVyKTsKICAgICBXRUJDT1JFX0VYUE9SVCBBZmZpbmVUcmFuc2Zvcm0mIHNj
YWxlKGRvdWJsZSk7Ci0gICAgQWZmaW5lVHJhbnNmb3JtJiBzY2FsZShkb3VibGUgc3gsIGRvdWJs
ZSBzeSk7IAorICAgIFdFQkNPUkVfRVhQT1JUIEFmZmluZVRyYW5zZm9ybSYgc2NhbGUoZG91Ymxl
IHN4LCBkb3VibGUgc3kpOwogICAgIFdFQkNPUkVfRVhQT1JUIEFmZmluZVRyYW5zZm9ybSYgc2Nh
bGVOb25Vbmlmb3JtKGRvdWJsZSBzeCwgZG91YmxlIHN5KTsgLy8gU2FtZSBhcyBzY2FsZShzeCwg
c3kpLgogICAgIFdFQkNPUkVfRVhQT1JUIEFmZmluZVRyYW5zZm9ybSYgc2NhbGUoY29uc3QgRmxv
YXRTaXplJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgQWZmaW5lVHJhbnNmb3JtJiByb3RhdGUoZG91
YmxlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409754</attachid>
            <date>2020-09-25 16:10:43 -0700</date>
            <delta_ts>2020-09-25 19:44:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216982-20200925161042.patch</filename>
            <type>text/plain</type>
            <size>13160</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmRhNGI5Mjc1MmEzMDJh
YjEwZDA2ZDU4ODYxMjJiMDUyNGQxYzQzOS4uMzJjOTE4MDIwOTgxNzg2ZGE5YzY3NTAyYTI2ODM5
MTIyNWY4ZDQ2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDIwLTA5LTI1ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtHUFUgUHJvY2Vz
c10gZmFzdC9jYW52YXMvY2FudmFzLWNvbXBvc2l0ZS1jYW52YXMuaHRtbCBhbmQgZmFzdC9jYW52
YXMvY2FudmFzLWNvbXBvc2l0ZS1pbWFnZS5odG1sIGZhaWwKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNjk4MgorCisgICAgICAgIFJldmlld2VkIGJ5
IFNpbW9uIEZyYXNlci4KKworICAgICAgICBXaGVuIHBhaW50aW5nIGludG8gZGlzcGxheS1saXN0
LWJhY2tlZCBpbWFnZSBidWZmZXJzIHdpdGggcmVtb3RlIGBJT1N1cmZhY2VgLWJhY2tlZCBpbWFn
ZSBidWZmZXJzIGluIHRoZSBHUFUKKyAgICAgICAgcHJvY2VzcywgdGhlIGRpc3BsYXktbGlzdC1i
YWNrZWQgaW1hZ2UgYnVmZmVyIGhhcyBhbiBpbml0aWFsIENUTSBvZiB0aGUgaWRlbnRpdHkgbWF0
cml4LCB3aGlsZSB0aGUgYElPU3VyZmFjZWAtCisgICAgICAgIGJhY2tlZCBpbWFnZSBidWZmZXIn
cyBpbml0aWFsIENUTSBpcyBmbGlwcGVkIGFib3V0IHRoZSB4LWF4aXMuIFRoaXMgaXMgYmVjYXVz
ZSBpbWFnZSBidWZmZXIgYmFja2VuZHMgYmFzZWQgb24KKyAgICAgICAgQ29yZUdyYXBoaWNzIGFs
d2F5cyBmbGlwIHRoZWlyIGNvbnRleHQgYWJvdXQgdGhlIHgtYXhpcyB1cG9uIGNyZWF0aW9uLCBp
biBgSW1hZ2VCdWZmZXJDR0JhY2tlbmQ6OnNldHVwQ29udGV4dCgpYC4KKyAgICAgICAgVGhpcyBj
YXVzZXMgdGhlIENUTSBvZiB0aGUgRGlzcGxheUxpc3QgY29udGV4dCBpbiB0aGUgd2ViIHByb2Nl
c3MgdG8gZmFsbCBvdXQgb2Ygc3luYyB3aXRoIHRoZSBDVE0gb2YgdGhlCisgICAgICAgIHBsYXRm
b3JtIGNvbnRleHQgaW4gdGhlIEdQVSBwcm9jZXNzLCBzbyBhbnkgY2FudmFzIHJlbmRlcmluZyBj
b2RlcGF0aHMgdGhhdCBhdHRlbXB0IHRvIGNvbnN1bHQgdGhlIGN1cnJlbnQgQ1RNCisgICAgICAg
IGluIHRoZSB3ZWIgcHJvY2VzcyAoZS5nLiBgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6
ZnVsbENhbnZhc0NvbXBvc2l0ZWREcmF3SW1hZ2VgKSB3aWxsIGdldCBhbiBpbmNvcnJlY3QKKyAg
ICAgICAgdmFsdWUuCisKKyAgICAgICAgVG8gZml4IHRoaXMsIHdlIGdpdmUgdGhlIGRpc3BsYXkt
bGlzdC1iYWNrZWQgaW1hZ2UgYnVmZmVyIGluIHRoZSB3ZWIgcHJvY2VzcyBhbiBpbml0aWFsIENU
TSB0aGF0IG1hdGNoZXMgdGhlIENUTQorICAgICAgICBvZiB0aGUgbmF0aXZlIGltYWdlIGJ1ZmZl
ciBpbiB0aGUgR1BVIHByb2Nlc3M7IHNlZSBiZWxvdyBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAg
ICAgIFRlc3RzOiBmYXN0L2NhbnZhcy9jYW52YXMtY29tcG9zaXRlLWNhbnZhcy5odG1sIGFuZCBm
YXN0L2NhbnZhcy9jYW52YXMtY29tcG9zaXRlLWltYWdlLmh0bWwKKworICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyQmFja2VuZC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kLmg6CisKKyAgICAgICAgQWRkIGEg
ZmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIG9yaWdpbiAoMCwgMCkgaXMgaW50ZW5kZWQgdG8g
YmUgYXQgdGhlIHRvcCBsZWZ0IGNvcm5lciBvZiB0aGUgaW1hZ2UsIGluIHdoaWNoCisgICAgICAg
IGNhc2Ugd2Ugc2V0IHVwIHRoZSBpbWFnZSBidWZmZXIncyBncmFwaGljcyBjb250ZXh0IGJ5IGZs
aXBwaW5nIGl0IHZlcnRpY2FsbHkgYWJvdXQgdGhlIHgtYXhpcy4gVGhpcyBpcyB0cnVlIG9uCisg
ICAgICAgIENvcmVHcmFwaGljcy1iYWNrZWQgaW1hZ2UgYnVmZmVycy4KKworICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVySU9TdXJmYWNlQmFja2VuZC5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdERyYXdpbmdDb250
ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpEcmF3aW5nQ29udGV4dDo6
RHJhd2luZ0NvbnRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0
cy9EaXNwbGF5TGlzdERyYXdpbmdDb250ZXh0Lmg6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5
TGlzdDo6RHJhd2luZ0NvbnRleHQ6OkRyYXdpbmdDb250ZXh0KToKKworICAgICAgICBBZGQgYW4g
YWRkaXRpb25hbCBhcmd1bWVudCB0byB0aGUgY29uc3RydWN0b3Igb2YgYERyYXdpbmdDb250ZXh0
YCwgc28gdGhhdCBpdCBub3cgdGFrZXMgYW4gaW5pdGlhbCBhZmZpbmUgQ1RNLgorICAgICAgICBC
eSBkZWZhdWx0LCB0aGlzIGlzIHRoZSBpZGVudGl0eSBtYXRyaXguCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJbWFnZUJ1ZmZlci5oOgorICAg
ICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OkltYWdlQnVmZmVyOjpJbWFnZUJ1ZmZlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SW1hZ2VCdWZmZXI6OmluaXRpYWxEcmF3aW5n
Q29udGV4dENUTSk6CisKKyAgICAgICAgQWRkIGEgaGVscGVyIHRvIGNvbXB1dGUgdGhlIGluaXRp
YWwgQ1RNIG9mIHRoZSBkcmF3aW5nIGNvbnRleHQuIFRoaXMgd2FzIHByZXZpb3VzbHkgb25seSB0
aGUgaWRlbnRpdHkgbWF0cml4LAorICAgICAgICBidXQgaWYgd2UncmUgdXNpbmcgYW4gaW1hZ2Ug
YnVmZmVyIGJhY2tlbmQgdGhhdCB3aWxsIGZsaXAgdGhlIGNvbnRleHQgdmVydGljYWxseSwgdGhl
biB3ZSBuZWVkIHRvIHN0YXJ0IHRoZQorICAgICAgICBDVE0gb2YgdGhlIGRpc3BsYXktbGlzdC1i
YWNrZWQgaW1hZ2UgYnVmZmVyIGluIHRoZSBzYW1lIHN0YXRlLgorCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVjb3JkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlJlY29yZGVyOjpSZWNvcmRlcik6CisKKyAgICAgICAg
UmVuYW1lIHRoZSBgYmFzZUNUTWAgYXJndW1lbnQgdG8gYGluaXRpYWxDVE1gLiBUaGlzIGlzIGJl
Y2F1c2UgdGhpcyBhcmd1bWVudCBkZXRlcm1pbmVzIHRoZSBDVE0gb2YgdGhlIGluaXRpYWwKKyAg
ICAgICAgZ3JhcGhpY3MgY29udGV4dCBzdGF0ZSBpbiB0aGUgc3RhdGUgc3RhY2ssIHJhdGhlciB0
aGFuIHRoZSB2YWx1ZSBvZiB0aGUgYmFzZSBDVE0uIFNlZSBhYm92ZSBmb3IgbW9yZSBkZXRhaWxz
LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zv
cm0uaDoKKwogMjAyMC0wOS0yNSAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAg
ICAgICAgIENsZWFuIHVwIFZpZGVvTGF5ZXJNYW5hZ2VyT2JqQwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXJCYWNrZW5kLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlckJhY2tlbmQuaAppbmRleCAyNTEx
MmRmYjQ0YmM2Nzc0ODAwM2YwZTYxNGUyZTNlNTc2N2Y0ZTczLi5jMDEwYTBmMGNmY2Q4YzVlN2Fi
NmM5NGM1YzNjMzZmNDgzODZkMDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9JbWFnZUJ1ZmZlckJhY2tlbmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlckJhY2tlbmQuaApAQCAtOTksNiArOTksNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCBQbGF0Zm9ybUxheWVyKiBwbGF0Zm9ybUxheWVyKCkgY29uc3QgeyBy
ZXR1cm4gbnVsbHB0cjsgfQogICAgIHZpcnR1YWwgYm9vbCBjb3B5VG9QbGF0Zm9ybVRleHR1cmUo
R3JhcGhpY3NDb250ZXh0R0xPcGVuR0wmLCBHQ0dMZW51bSwgUGxhdGZvcm1HTE9iamVjdCwgR0NH
TGVudW0sIGJvb2wsIGJvb2wpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgCisgICAgc3Rh
dGljIGNvbnN0ZXhwciBib29sIGlzT3JpZ2luQXRVcHBlckxlZnRDb3JuZXIgPSBmYWxzZTsKICAg
ICB2aXJ0dWFsIGJvb2wgaXNBY2NlbGVyYXRlZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAK
IHByb3RlY3RlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NnL0ltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZC5oCmluZGV4IDA2OTIzNjVk
MDM4NGI0NmUwZTI3NTRiMDI2NjYwYmNkOTlhYWQ1OTcuLmI5YmQ3ZjFiYWI0N2ZmN2M3OTc0MzQ4
MzNjMjdhNTQ5NzMxMDgyODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQuaApAQCAt
NDksNiArNDksOCBAQCBwdWJsaWM6CiAgICAgUmVmUHRyPEltYWdlRGF0YT4gZ2V0SW1hZ2VEYXRh
KEFscGhhUHJlbXVsdGlwbGljYXRpb24gb3V0cHV0Rm9ybWF0LCBjb25zdCBJbnRSZWN0JikgY29u
c3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBwdXRJbWFnZURhdGEoQWxwaGFQcmVtdWx0aXBsaWNhdGlv
biBpbnB1dEZvcm1hdCwgY29uc3QgSW1hZ2VEYXRhJiwgY29uc3QgSW50UmVjdCYgc3JjUmVjdCwg
Y29uc3QgSW50UG9pbnQmIGRlc3RQb2ludCwgQWxwaGFQcmVtdWx0aXBsaWNhdGlvbiBkZXN0Rm9y
bWF0KSBvdmVycmlkZTsKIAorICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBpc09yaWdpbkF0VXBw
ZXJMZWZ0Q29ybmVyID0gdHJ1ZTsKKwogcHJpdmF0ZToKICAgICBJbWFnZUJ1ZmZlckNHQml0bWFw
QmFja2VuZChjb25zdCBGbG9hdFNpemUmIGxvZ2ljYWxTaXplLCBjb25zdCBJbnRTaXplJiBwaHlz
aWNhbFNpemUsIGZsb2F0IHJlc29sdXRpb25TY2FsZSwgQ29sb3JTcGFjZSwgdm9pZCogZGF0YSwg
UmV0YWluUHRyPENHRGF0YVByb3ZpZGVyUmVmPiYmLCBzdGQ6OnVuaXF1ZV9wdHI8R3JhcGhpY3ND
b250ZXh0PiYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2cvSW1hZ2VCdWZmZXJJT1N1cmZhY2VCYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQuaAppbmRleCBjMGI2
NDc4MTQwOWY4ZDNhYWI4OWQzZDk2ZTc3YzA5NDM1ODM2M2ViLi4yNDE4ZjFkNDVkNTNkNDU5MzNi
MzkwNGEyODhjNjEwMWYxNGJjYzMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQu
aApAQCAtNjQsNiArNjQsOCBAQCBwdWJsaWM6CiAgICAgSU9TdXJmYWNlKiBzdXJmYWNlKCk7CiAg
ICAgYm9vbCBpc0FjY2VsZXJhdGVkKCkgY29uc3Qgb3ZlcnJpZGU7CiAKKyAgICBzdGF0aWMgY29u
c3RleHByIGJvb2wgaXNPcmlnaW5BdFVwcGVyTGVmdENvcm5lciA9IHRydWU7CisKIHByb3RlY3Rl
ZDoKICAgICBzdGF0aWMgUmV0YWluUHRyPENHQ29sb3JTcGFjZVJlZj4gY29udGV4dENvbG9yU3Bh
Y2UoY29uc3QgR3JhcGhpY3NDb250ZXh0Jik7CiAgICAgdW5zaWduZWQgYnl0ZXNQZXJSb3coKSBj
b25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdERyYXdpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdERyYXdpbmdD
b250ZXh0LmNwcAppbmRleCBhODM2ZjEwNTI5MGM3Y2VlMGVkNjU2NDMzZDMxMmEwNDEwMjBkMzM3
Li4yM2NjMDdlOGFlNDQyYmRjZWEwZDM2NzRhNWE4NTUxYzY1Y2ZkYzg3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RE
cmF3aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0RHJhd2luZ0NvbnRleHQuY3BwCkBAIC0zMyw5ICszMyw5
IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBuYW1lc3BhY2UgRGlzcGxheUxpc3QgewogCi1EcmF3
aW5nQ29udGV4dDo6RHJhd2luZ0NvbnRleHQoY29uc3QgRmxvYXRTaXplJiBsb2dpY2FsU2l6ZSwg
UmVjb3JkZXI6Ok9ic2VydmVyKiBvYnNlcnZlcikKK0RyYXdpbmdDb250ZXh0OjpEcmF3aW5nQ29u
dGV4dChjb25zdCBGbG9hdFNpemUmIGxvZ2ljYWxTaXplLCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0m
IGluaXRpYWxDVE0sIFJlY29yZGVyOjpPYnNlcnZlciogb2JzZXJ2ZXIpCiAgICAgOiBtX2NvbnRl
eHQoWyZdKEdyYXBoaWNzQ29udGV4dCYgZGlzcGxheUxpc3RDb250ZXh0KSB7Ci0gICAgICAgIHJl
dHVybiBtYWtlVW5pcXVlPFJlY29yZGVyPihkaXNwbGF5TGlzdENvbnRleHQsIG1fZGlzcGxheUxp
c3QsIEdyYXBoaWNzQ29udGV4dFN0YXRlKCksIEZsb2F0UmVjdCh7IH0sIGxvZ2ljYWxTaXplKSwg
QWZmaW5lVHJhbnNmb3JtKCksIG9ic2VydmVyKTsKKyAgICAgICAgcmV0dXJuIG1ha2VVbmlxdWU8
UmVjb3JkZXI+KGRpc3BsYXlMaXN0Q29udGV4dCwgbV9kaXNwbGF5TGlzdCwgR3JhcGhpY3NDb250
ZXh0U3RhdGUoKSwgRmxvYXRSZWN0KHsgfSwgbG9naWNhbFNpemUpLCBpbml0aWFsQ1RNLCBvYnNl
cnZlcik7CiAgICAgfSkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdERyYXdpbmdDb250ZXh0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3REcmF3
aW5nQ29udGV4dC5oCmluZGV4IDM1MjFhOTNhNDAzNzU3NTc0MjdlOTNkOTRlZThjYTQxN2JjMGYw
YzIuLmU4Njc4MzcyNGJlZThiMDViN2UyYmFjOTlmYWYyZmQ0OGE4MWU3NzIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlz
dERyYXdpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0RHJhd2luZ0NvbnRleHQuaApAQCAtMzUsNyArMzUsNyBA
QCBuYW1lc3BhY2UgRGlzcGxheUxpc3QgewogY2xhc3MgRHJhd2luZ0NvbnRleHQgewogICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIFdFQkNPUkVfRVhQT1JUIERyYXdp
bmdDb250ZXh0KGNvbnN0IEZsb2F0U2l6ZSYgbG9naWNhbFNpemUsIFJlY29yZGVyOjpPYnNlcnZl
ciogPSBudWxscHRyKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBEcmF3aW5nQ29udGV4dChjb25zdCBG
bG9hdFNpemUmIGxvZ2ljYWxTaXplLCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIGluaXRpYWxDVE0g
PSB7IH0sIFJlY29yZGVyOjpPYnNlcnZlciogPSBudWxscHRyKTsKIAogICAgIEdyYXBoaWNzQ29u
dGV4dCYgY29udGV4dCgpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8RHJhd2luZ0NvbnRleHQm
PigqdGhpcykubV9jb250ZXh0OyB9CiAgICAgV0VCQ09SRV9FWFBPUlQgUmVjb3JkZXImIHJlY29y
ZGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNw
bGF5bGlzdHMvRGlzcGxheUxpc3RJbWFnZUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SW1hZ2VCdWZmZXIuaAppbmRleCA3
N2FhMGM4YTk0NDlmYzgwZGRmZWM4ZWI1N2M0MmU2MzA0ZTYyNzM5Li44NjcyYjFiNDcwODQ3Njkw
MTg1MDg0OTU5YTc3YWY0MmZkYjgwNDNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJbWFnZUJ1ZmZlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlz
dEltYWdlQnVmZmVyLmgKQEAgLTQ4LDEyICs0OCwxMiBAQCBwdWJsaWM6CiAKICAgICBJbWFnZUJ1
ZmZlcihzdGQ6OnVuaXF1ZV9wdHI8QmFja2VuZFR5cGU+JiYgZGF0YUJhY2tlbmQsIGNvbnN0IEZs
b2F0U2l6ZSYgc2l6ZSkKICAgICAgICAgOiBCYXNlQ29uY3JldGVJbWFnZUJ1ZmZlcihXVEZNb3Zl
KGRhdGFCYWNrZW5kKSkKLSAgICAgICAgLCBtX2RyYXdpbmdDb250ZXh0KHNpemUsIHRoaXMpCisg
ICAgICAgICwgbV9kcmF3aW5nQ29udGV4dChzaXplLCBpbml0aWFsRHJhd2luZ0NvbnRleHRDVE0o
c2l6ZSksIHRoaXMpCiAgICAgewogICAgIH0KIAogICAgIEltYWdlQnVmZmVyKGNvbnN0IEZsb2F0
U2l6ZSYgc2l6ZSkKLSAgICAgICAgOiBtX2RyYXdpbmdDb250ZXh0KHNpemUsIHRoaXMpCisgICAg
ICAgIDogbV9kcmF3aW5nQ29udGV4dChzaXplLCBpbml0aWFsRHJhd2luZ0NvbnRleHRDVE0oc2l6
ZSksIHRoaXMpCiAgICAgewogICAgIH0KIApAQCAtNzQsNyArNzQsMTcgQEAgcHVibGljOgogICAg
ICAgICBtX2RyYXdpbmdDb250ZXh0LnJlcGxheURpc3BsYXlMaXN0KEJhc2VDb25jcmV0ZUltYWdl
QnVmZmVyOjpjb250ZXh0KCkpOwogICAgIH0KIAorcHJvdGVjdGVkOgogICAgIERyYXdpbmdDb250
ZXh0IG1fZHJhd2luZ0NvbnRleHQ7CisKK3ByaXZhdGU6CisgICAgc3RhdGljIEFmZmluZVRyYW5z
Zm9ybSBpbml0aWFsRHJhd2luZ0NvbnRleHRDVE0oY29uc3QgRmxvYXRTaXplJiBsb2dpY2FsU2l6
ZSkKKyAgICB7CisgICAgICAgIEFmZmluZVRyYW5zZm9ybSBpbml0aWFsQ1RNOworICAgICAgICBp
ZiAoQmFja2VuZFR5cGU6OmlzT3JpZ2luQXRVcHBlckxlZnRDb3JuZXIpCisgICAgICAgICAgICBp
bml0aWFsQ1RNID0gaW5pdGlhbENUTS5zY2FsZSgxLCAtMSkudHJhbnNsYXRlKDAsIC1sb2dpY2Fs
U2l6ZS5oZWlnaHQoKSk7CisgICAgICAgIHJldHVybiBpbml0aWFsQ1RNOworICAgIH0KIH07CiAK
IH0gLy8gRGlzcGxheUxpc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmNw
cAppbmRleCA3MmExODFjYzBhOTY1ZWJlODlmNmM4YmVlM2I2NjNlMWI2MmI0OTRlLi5iMmI2ZjYx
NzZlOGU0NTgxZTA2ODFjMmQwMDlkZmU0ZjVlN2E1NzBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rp
c3BsYXlMaXN0UmVjb3JkZXIuY3BwCkBAIC0zNiwxMyArMzYsMTMgQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIG5hbWVzcGFjZSBEaXNwbGF5TGlzdCB7CiAKLVJlY29yZGVyOjpSZWNvcmRlcihHcmFw
aGljc0NvbnRleHQmIGNvbnRleHQsIERpc3BsYXlMaXN0JiBkaXNwbGF5TGlzdCwgY29uc3QgR3Jh
cGhpY3NDb250ZXh0U3RhdGUmIHN0YXRlLCBjb25zdCBGbG9hdFJlY3QmIGluaXRpYWxDbGlwLCBj
b25zdCBBZmZpbmVUcmFuc2Zvcm0mIGJhc2VDVE0sIE9ic2VydmVyKiBvYnNlcnZlcikKLSAgICA6
IEdyYXBoaWNzQ29udGV4dEltcGwoY29udGV4dCwgaW5pdGlhbENsaXAsIGJhc2VDVE0pCitSZWNv
cmRlcjo6UmVjb3JkZXIoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBEaXNwbGF5TGlzdCYgZGlz
cGxheUxpc3QsIGNvbnN0IEdyYXBoaWNzQ29udGV4dFN0YXRlJiBzdGF0ZSwgY29uc3QgRmxvYXRS
ZWN0JiBpbml0aWFsQ2xpcCwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBpbml0aWFsQ1RNLCBPYnNl
cnZlciogb2JzZXJ2ZXIpCisgICAgOiBHcmFwaGljc0NvbnRleHRJbXBsKGNvbnRleHQsIGluaXRp
YWxDbGlwLCBBZmZpbmVUcmFuc2Zvcm0oKSkKICAgICAsIG1fZGlzcGxheUxpc3QoZGlzcGxheUxp
c3QpCiAgICAgLCBtX29ic2VydmVyKG9ic2VydmVyKQogewogICAgIExPR19XSVRIX1NUUkVBTShE
aXNwbGF5TGlzdHMsIHN0cmVhbSA8PCAiXG5SZWNvcmRpbmcgd2l0aCBjbGlwICIgPDwgaW5pdGlh
bENsaXApOwotICAgIG1fc3RhdGVTdGFjay5hcHBlbmQoQ29udGV4dFN0YXRlKHN0YXRlLCBiYXNl
Q1RNLCBpbml0aWFsQ2xpcCkpOworICAgIG1fc3RhdGVTdGFjay5hcHBlbmQoeyBzdGF0ZSwgaW5p
dGlhbENUTSwgaW5pdGlhbENsaXAgfSk7CiB9CiAKIFJlY29yZGVyOjp+UmVjb3JkZXIoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZp
bmVUcmFuc2Zvcm0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9y
bXMvQWZmaW5lVHJhbnNmb3JtLmgKaW5kZXggZjRkNjRhZDAxYmY2ZDUyMjRiYTIzOWM5YzFhYTgx
NzkwYzVlZDliMC4uOGM0MGRjMWY2MDgyY2QzNDk5NjdlODdmOTBlMjk2N2QwNTdkZGE1NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZp
bmVUcmFuc2Zvcm0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFu
c2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5oCkBAIC0xMTEsNyArMTExLDcgQEAgcHVibGljOgogCiAg
ICAgV0VCQ09SRV9FWFBPUlQgQWZmaW5lVHJhbnNmb3JtJiBtdWx0aXBseShjb25zdCBBZmZpbmVU
cmFuc2Zvcm0mIG90aGVyKTsKICAgICBXRUJDT1JFX0VYUE9SVCBBZmZpbmVUcmFuc2Zvcm0mIHNj
YWxlKGRvdWJsZSk7Ci0gICAgQWZmaW5lVHJhbnNmb3JtJiBzY2FsZShkb3VibGUgc3gsIGRvdWJs
ZSBzeSk7IAorICAgIFdFQkNPUkVfRVhQT1JUIEFmZmluZVRyYW5zZm9ybSYgc2NhbGUoZG91Ymxl
IHN4LCBkb3VibGUgc3kpOwogICAgIFdFQkNPUkVfRVhQT1JUIEFmZmluZVRyYW5zZm9ybSYgc2Nh
bGVOb25Vbmlmb3JtKGRvdWJsZSBzeCwgZG91YmxlIHN5KTsgLy8gU2FtZSBhcyBzY2FsZShzeCwg
c3kpLgogICAgIFdFQkNPUkVfRVhQT1JUIEFmZmluZVRyYW5zZm9ybSYgc2NhbGUoY29uc3QgRmxv
YXRTaXplJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgQWZmaW5lVHJhbnNmb3JtJiByb3RhdGUoZG91
YmxlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCA5NDM4OGI3M2I5ZWM3NWE2ZGU1ODc4MzAwZjA2MTBiNWI3YjU2OWQxLi4y
MWU2Mzk1ZGU1Yzg2OTI3YmMwNmU1OGRjNTE0NWY2NmNjMWRmYmVhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTUgQEAKKzIwMjAtMDktMjUgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+
CisKKyAgICAgICAgW0dQVSBQcm9jZXNzXSBmYXN0L2NhbnZhcy9jYW52YXMtY29tcG9zaXRlLWNh
bnZhcy5odG1sIGFuZCBmYXN0L2NhbnZhcy9jYW52YXMtY29tcG9zaXRlLWltYWdlLmh0bWwgZmFp
bAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2OTgy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIFJlYmFzZWxp
bmUgdGhpcyBkaXNwbGF5IGxpc3QgdGVzdCB0byBhY2NvdW50IGZvciB0aGUgZmFjdCB0aGF0IGRp
c3BsYXkgbGlzdCBleHRlbnQgcmVjdHMgYXJlIGluIHRoZSBnbG9iYWwKKyAgICAgICAgY29vcmRp
bmF0ZSBzcGFjZSwgYW5kIGFyZSB0aGVyZWZvcmUgdmVydGljYWxseSBmbGlwcGVkIHNpbmNlIHRo
ZSBpbml0aWFsIENUTSBmbGlwcyBldmVyeXRoaW5nIGFib3V0IHRoZSB4LWF4aXMuCisKKyAgICAg
ICAgKiBkaXNwbGF5bGlzdHMvY2FudmFzLWRpc3BsYXktbGlzdC1leHBlY3RlZC50eHQ6CisKIDIw
MjAtMDktMjUgIFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAg
VW5yZXZpZXdlZCB0ZXN0IGdhcmRlbmluZywgbGFuZCB0ZXN0IGV4cGVjdGF0aW9ucyBmb3IgcmRh
cjovLzY5MzQ3MjQ5LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZGlzcGxheWxpc3RzL2NhbnZh
cy1kaXNwbGF5LWxpc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZGlzcGxheWxpc3RzL2Nh
bnZhcy1kaXNwbGF5LWxpc3QtZXhwZWN0ZWQudHh0CmluZGV4IGFlYWVlMTEzYjRjZjZjYjFlYTgz
ZWVkMWY1MjVjNjY4YzViMmQ2NWUuLjBmZDk3NjNiNjZiMWI1ODM3MGU2MWUyNzJlMzk1ZWM4YTYx
ODY0MjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Rpc3BsYXlsaXN0cy9jYW52YXMtZGlzcGxh
eS1saXN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9kaXNwbGF5bGlzdHMvY2FudmFz
LWRpc3BsYXktbGlzdC1leHBlY3RlZC50eHQKQEAgLTYsMTEgKzYsMTEgQEAKICAgKGZpbGwtY29s
b3IgI0M4MDAwMCkKICAgKHNoYWRvd3MtaWdub3JlLXRyYW5zZm9ybXMgMSkpCiAoZmlsbC1yZWN0
Ci0gIChleHRlbnQgYXQgKDEwLDEwKSBzaXplIDU1eDUwKQorICAoZXh0ZW50IGF0ICgxMCwxNDAp
IHNpemUgNTV4NTApCiAgIChyZWN0IGF0ICgxMCwxMCkgc2l6ZSA1NXg1MCkpCiAoc2V0LXN0YXRl
CiAgIChjaGFuZ2UtZmxhZ3MgMTI4KQogICAoZmlsbC1jb2xvciAjMDAwMEM4ODApKQogKGZpbGwt
cmVjdAotICAoZXh0ZW50IGF0ICgzMCwzMCkgc2l6ZSA1NXg1MCkKKyAgKGV4dGVudCBhdCAoMzAs
MTIwKSBzaXplIDU1eDUwKQogICAocmVjdCBhdCAoMzAsMzApIHNpemUgNTV4NTApKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>