<?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>208560</bug_id>
          
          <creation_ts>2020-03-03 22:48:40 -0800</creation_ts>
          <short_desc>[GPU Process] Implement CanvasRenderingContext2D.getImageData()</short_desc>
          <delta_ts>2020-03-07 09:27:35 -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>New Bugs</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="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jonlee</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1625420</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-03-03 22:48:40 -0800</bug_when>
    <thetext>[GPU Process] Implement CanvasRenderingContext2D.getImageData()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625421</commentid>
    <comment_count>1</comment_count>
      <attachid>392373</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-03-03 22:48:55 -0800</bug_when>
    <thetext>Created attachment 392373
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625422</commentid>
    <comment_count>2</comment_count>
      <attachid>392374</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-03-03 22:52:56 -0800</bug_when>
    <thetext>Created attachment 392374
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625784</commentid>
    <comment_count>3</comment_count>
      <attachid>392488</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-03-04 14:44:35 -0800</bug_when>
    <thetext>Created attachment 392488
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625804</commentid>
    <comment_count>4</comment_count>
      <attachid>392494</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-03-04 15:16:57 -0800</bug_when>
    <thetext>Created attachment 392494
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625825</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-04 15:48:45 -0800</bug_when>
    <thetext>&lt;rdar://problem/60060618&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625826</commentid>
    <comment_count>6</comment_count>
      <attachid>392498</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-03-04 15:50:59 -0800</bug_when>
    <thetext>Created attachment 392498
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625853</commentid>
    <comment_count>7</comment_count>
      <attachid>392511</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-03-04 16:53:48 -0800</bug_when>
    <thetext>Created attachment 392511
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626206</commentid>
    <comment_count>8</comment_count>
      <attachid>392511</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2020-03-05 11:01:14 -0800</bug_when>
    <thetext>Comment on attachment 392511
Patch

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

&gt; Source/WebKit/WebProcess/GPU/graphics/RemoteImageBuffer.h:89
&gt; +    bool asyncronouslyFlushDrawingContext()

sp: asynchronously</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626454</commentid>
    <comment_count>9</comment_count>
      <attachid>392659</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-03-05 19:24:30 -0800</bug_when>
    <thetext>Created attachment 392659
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627033</commentid>
    <comment_count>10</comment_count>
      <attachid>392659</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-03-06 17:43:58 -0800</bug_when>
    <thetext>Comment on attachment 392659
Patch

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

&gt; Source/WebKit/GPUProcess/graphics/RemoteImageBufferMessageHandlerProxy.h:51
&gt; +    virtual RefPtr&lt;WebCore::ImageData&gt; performGetImageData(WebCore::AlphaPremultiplication outputFormat, WebCore::IntRect srcRect) = 0;

const WebCore::IntRect&amp;

&gt; Source/WebKit/GPUProcess/graphics/RemoteImageBufferProxy.h:60
&gt; +    RefPtr&lt;WebCore::ImageData&gt; performGetImageData(WebCore::AlphaPremultiplication outputFormat, WebCore::IntRect srcRect) override
&gt; +    {
&gt; +        return BaseConcreteImageBuffer::getImageData(outputFormat, srcRect);
&gt; +    }

You could have the same name getImageData() instead of performGetImageData(). Just define RemoteImageBufferMessageHandlerProxy::getImageData() exactly the same as ImageBuffer::getImageData() is defined. Change the above one to be 

    RefPtr&lt;WebCore::ImageData&gt; getImageData(WebCore::AlphaPremultiplication outputFormat, const WebCore::IntRect&amp; srcRect) const override
    {
        return BaseConcreteImageBuffer::getImageData(outputFormat, srcRect);
    }

&gt; Source/WebKit/GPUProcess/graphics/RemoteRenderingBackendProxy.cpp:108
&gt; +            completionHandler(WebCore::IntSize(), IPC::SharedBufferDataReference());

Should not we do a better job here? Can&apos;t we return an ImageData with the required size with zero bytes?

&gt; Source/WebKit/GPUProcess/graphics/RemoteRenderingBackendProxy.messages.in:29
&gt; +    CreateImageBuffer(WebCore::FloatSize logicalSize, WebCore::RenderingMode renderingMode, float resolutionScale, WebCore::ColorSpace colorSpace, WebKit::ImageBufferIdentifier imageBufferIdentifier)
&gt; +    ReleaseImageBuffer(WebKit::ImageBufferIdentifier imageBufferIdentifier)
&gt; +    FlushImageBufferDrawingContext(WebCore::DisplayList::DisplayList displayList, WebKit::ImageBufferFlushIdentifier flushIdentifier, WebKit::ImageBufferIdentifier imageBufferIdentifier)
&gt; +    GetImageData(enum:uint8_t WebCore::AlphaPremultiplication outputFormat, WebCore::IntRect srcRect, WebKit::ImageBufferIdentifier imageBufferIdentifier) -&gt; (WebCore::IntSize size, IPC::SharedBufferDataReference data) Synchronous

Is there a reason for removing the void? I am asking because Tim added asked me to add them verbally and I did not ask why.

&gt; Source/WebKit/WebProcess/GPU/graphics/RemoteImageBuffer.h:89
&gt; +    bool asynchronouslyFlushDrawingContext()

asynchronously is a little bit confusing since the message is asynchronous message anyway. Can&apos;t we keep this function flushDrawingContext() and name the other flushDrawingContextAndWait()?

&gt; Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.cpp:77
&gt; +    return ImageData::create(size, Uint8ClampedArray::create(reinterpret_cast&lt;const uint8_t*&gt;(data.data()), data.size()));

The ImageData should be encoded and decoded as one unit. right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627113</commentid>
    <comment_count>11</comment_count>
      <attachid>392842</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-03-06 19:50:07 -0800</bug_when>
    <thetext>Created attachment 392842
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627189</commentid>
    <comment_count>12</comment_count>
      <attachid>392855</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-03-07 00:42:37 -0800</bug_when>
    <thetext>Created attachment 392855
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627201</commentid>
    <comment_count>13</comment_count>
      <attachid>392855</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-07 01:28:12 -0800</bug_when>
    <thetext>Comment on attachment 392855
Patch for committing

Clearing flags on attachment: 392855

Committed r258069: &lt;https://trac.webkit.org/changeset/258069&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627226</commentid>
    <comment_count>14</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-03-07 09:27:35 -0800</bug_when>
    <thetext>Follow up unified-build fix: Committed r258072: &lt;https://trac.webkit.org/changeset/258072&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392373</attachid>
            <date>2020-03-03 22:48:55 -0800</date>
            <delta_ts>2020-03-03 22:52:54 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>bug-208560-20200303224854.patch</filename>
            <type>text/plain</type>
            <size>4799</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3ODIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDlhMzk0NmUwYjE5NThkNTM3
MjQ2MDA3YjkxNmY3ZDg4ZWI2YzZhMDIuLjE1OTAwOGRjYjQ2NDQ0YWJlMTgwNWE5ZWQ5NjZjM2Q0
MGY4YTU2YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDMtMDMgIE15bGVzIEMu
IE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbR1BVIFByb2Nlc3Nd
IEltcGxlbWVudCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuZ2V0SW1hZ2VEYXRhKCkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODU2MAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAo
T09QUyEpLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdC
YWNrZW5kUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2Vz
LnlhbWw6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZm
ZXIuaDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlSW1hZ2VCdWZmZXI6OmFzeW5jcm9ub3VzbHlG
bHVzaERyYXdpbmdDb250ZXh0KToKKwogMjAyMC0wMy0wMyAgSmFtZXMgU2F2YWdlICA8amFtZXMu
c2F2YWdlQGFwcGxlLmNvbT4KIAogICAgICAgICBSZWZpbmUgU3dpZnQgQVBJIGZvciBXS1dlYlZp
ZXcgSmF2YVNjcmlwdCBtZXRob2RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5Lm1lc3NhZ2VzLmluIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94
eS5tZXNzYWdlcy5pbgppbmRleCA2NWE4ZDkwYTY2Zjg1ZThmODgzYzE1ZTRiMGUzYmY4MGM2OTRj
YzE4Li45M2FkMTViYzJmYzAzZWY2Yzk3M2NhNWE1MzI0NGQzMTljNjUxYWVkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2Vu
ZFByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGlj
cy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkubWVzc2FnZXMuaW4KQEAgLTIzLDkgKzIzLDEw
IEBACiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQogCiBtZXNzYWdlcyAtPiBSZW1vdGVSZW5kZXJp
bmdCYWNrZW5kUHJveHkgTm90UmVmQ291bnRlZCB7Ci0gICAgdm9pZCBDcmVhdGVJbWFnZUJ1ZmZl
cihXZWJDb3JlOjpGbG9hdFNpemUgbG9naWNhbFNpemUsIFdlYkNvcmU6OlJlbmRlcmluZ01vZGUg
cmVuZGVyaW5nTW9kZSwgZmxvYXQgcmVzb2x1dGlvblNjYWxlLCBXZWJDb3JlOjpDb2xvclNwYWNl
IGNvbG9yU3BhY2UsIFdlYktpdDo6SW1hZ2VCdWZmZXJJZGVudGlmaWVyIGltYWdlQnVmZmVySWRl
bnRpZmllcikKLSAgICB2b2lkIFJlbGVhc2VJbWFnZUJ1ZmZlcihXZWJLaXQ6OkltYWdlQnVmZmVy
SWRlbnRpZmllciBpbWFnZUJ1ZmZlcklkZW50aWZpZXIpCi0gICAgdm9pZCBGbHVzaEltYWdlQnVm
ZmVyRHJhd2luZ0NvbnRleHQoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OkRpc3BsYXlMaXN0IGRpc3Bs
YXlMaXN0LCBXZWJLaXQ6OkltYWdlQnVmZmVyRmx1c2hJZGVudGlmaWVyIGZsdXNoSWRlbnRpZmll
ciwgV2ViS2l0OjpJbWFnZUJ1ZmZlcklkZW50aWZpZXIgaW1hZ2VCdWZmZXJJZGVudGlmaWVyKQor
ICAgIENyZWF0ZUltYWdlQnVmZmVyKFdlYkNvcmU6OkZsb2F0U2l6ZSBsb2dpY2FsU2l6ZSwgV2Vi
Q29yZTo6UmVuZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlLCBmbG9hdCByZXNvbHV0aW9uU2NhbGUs
IFdlYkNvcmU6OkNvbG9yU3BhY2UgY29sb3JTcGFjZSwgV2ViS2l0OjpJbWFnZUJ1ZmZlcklkZW50
aWZpZXIgaW1hZ2VCdWZmZXJJZGVudGlmaWVyKQorICAgIFJlbGVhc2VJbWFnZUJ1ZmZlcihXZWJL
aXQ6OkltYWdlQnVmZmVySWRlbnRpZmllciBpbWFnZUJ1ZmZlcklkZW50aWZpZXIpCisgICAgRmx1
c2hJbWFnZUJ1ZmZlckRyYXdpbmdDb250ZXh0KFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpEaXNwbGF5
TGlzdCBkaXNwbGF5TGlzdCwgV2ViS2l0OjpJbWFnZUJ1ZmZlckZsdXNoSWRlbnRpZmllciBmbHVz
aElkZW50aWZpZXIsIFdlYktpdDo6SW1hZ2VCdWZmZXJJZGVudGlmaWVyIGltYWdlQnVmZmVySWRl
bnRpZmllcikKKyAgICBnZXRJbWFnZURhdGEoZW51bTp1aW50OF90IFdlYkNvcmU6OkFscGhhUHJl
bXVsdGlwbGljYXRpb24gb3V0cHV0Rm9ybWF0LCBXZWJDb3JlOjpJbnRSZWN0IHNyY1JlY3QpIC0+
IChXZWJDb3JlOjpJbnRTaXplIHNpemUsIElQQzo6U2hhcmVkQnVmZmVyRGF0YVJlZmVyZW5jZSBk
YXRhKSBTeW5jaHJvbm91cwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKaW5kZXggNTAxMDRhOWM5YmJjYWE5
ODJmZDJmM2Q3MWFhMjNmNWEzZjZlZTk4YS4uM2VjZmJlYTE1OWUwYzg5MGRlNjFjNmE0NzQxODdh
ZmU0ZDQwMzliOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5j
ZXMueWFtbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCkBA
IC0xNzUyLDcgKzE3NTIsNyBAQCBDYXB0dXJlQXVkaW9JbkdQVVByb2Nlc3NFbmFibGVkOgogCiBS
ZW5kZXJDYW52YXNJbkdQVVByb2Nlc3NFbmFibGVkOgogICB0eXBlOiBib29sCi0gIGRlZmF1bHRW
YWx1ZTogZmFsc2UKKyAgZGVmYXVsdFZhbHVlOiB0cnVlCiAgIGh1bWFuUmVhZGFibGVOYW1lOiAi
UmVuZGVyIGNhbnZhcyBpbiBHUFUgUHJvY2VzcyIKICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9u
OiAiRW5hYmxlIGNhbnZhcyByZW5kZXJpbmcgaW4gR1BVIFByb2Nlc3MiCiAgIGNhdGVnb3J5OiBp
bnRlcm5hbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGlj
cy9SZW1vdGVJbWFnZUJ1ZmZlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFw
aGljcy9SZW1vdGVJbWFnZUJ1ZmZlci5oCmluZGV4IGI3YzBlOWI0NWYwZDcwMjY0OTRlM2NlMDk1
YzQ2NTRjOTc5ZjI4YzkuLmZlYTdmNzhhOGQ2ZTc4YzBiOTk2ZWFhNTlhZmExYmIzNDQ1YWQwNGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3Rl
SW1hZ2VCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNz
L1JlbW90ZUltYWdlQnVmZmVyLmgKQEAgLTcyLDIwICs3MiwzNyBAQCBwcm90ZWN0ZWQ6CiAgICAg
ICAgIHJldHVybiBtX2JhY2tlbmQuZ2V0KCk7CiAgICAgfQogCisgICAgUmVmUHRyPEltYWdlRGF0
YT4gZ2V0SW1hZ2VEYXRhKEFscGhhUHJlbXVsdGlwbGljYXRpb24gb3V0cHV0Rm9ybWF0LCBjb25z
dCBJbnRSZWN0JiBzcmNSZWN0KSBjb25zdCBvdmVycmlkZQorICAgIHsKKyAgICAgICAgLy8gRklY
TUU6IEltcGxlbWVudCB0aGlzLgorICAgICAgICBib29sIG5lZWRzV2FpdCA9IGFzeW5jcm9ub3Vz
bHlGbHVzaERyYXdpbmdDb250ZXh0KCk7CisgICAgICAgIGlmIChuZWVkc1dhaXQpCisgICAgICAg
ICAgICBSZW1vdGVJbWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyOjp3YWl0Rm9yQ29tbWl0SW1hZ2VC
dWZmZXJGbHVzaENvbnRleHQoKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorCiAg
ICAgdm9pZCBmbHVzaENvbnRleHQoKSBvdmVycmlkZQogICAgIHsKICAgICAgICAgZmx1c2hEcmF3
aW5nQ29udGV4dCgpOwogICAgICAgICBtX2JhY2tlbmQtPmZsdXNoQ29udGV4dCgpOwogICAgIH0K
IAotICAgIHZvaWQgZmx1c2hEcmF3aW5nQ29udGV4dCgpIG92ZXJyaWRlCisgICAgYm9vbCBhc3lu
Y3Jvbm91c2x5Rmx1c2hEcmF3aW5nQ29udGV4dCgpCiAgICAgewogICAgICAgICBhdXRvJiBkaXNw
bGF5TGlzdCA9IG1fZHJhd2luZ0NvbnRleHQuZGlzcGxheUxpc3QoKTsKICAgICAgICAgaWYgKGRp
c3BsYXlMaXN0Lml0ZW1Db3VudCgpKSB7CiAgICAgICAgICAgICBSZW1vdGVJbWFnZUJ1ZmZlck1l
c3NhZ2VIYW5kbGVyOjpmbHVzaERyYXdpbmdDb250ZXh0KGRpc3BsYXlMaXN0KTsKLSAgICAgICAg
ICAgIFJlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXI6OndhaXRGb3JDb21taXRJbWFnZUJ1
ZmZlckZsdXNoQ29udGV4dCgpOwotICAgICAgICAgICAgZGlzcGxheUxpc3QuY2xlYXIoKTsKKyAg
ICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICB9CisKKyAgICB2b2lkIGZsdXNoRHJhd2luZ0NvbnRleHQoKSBvdmVycmlkZQorICAgIHsK
KyAgICAgICAgYXV0byYgZGlzcGxheUxpc3QgPSBtX2RyYXdpbmdDb250ZXh0LmRpc3BsYXlMaXN0
KCk7CisgICAgICAgIGlmIChhc3luY3Jvbm91c2x5Rmx1c2hEcmF3aW5nQ29udGV4dCgpKQorICAg
ICAgICAgICAgUmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlcjo6d2FpdEZvckNvbW1pdElt
YWdlQnVmZmVyRmx1c2hDb250ZXh0KCk7CisgICAgICAgIGRpc3BsYXlMaXN0LmNsZWFyKCk7CiAg
ICAgfQogfTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392374</attachid>
            <date>2020-03-03 22:52:56 -0800</date>
            <delta_ts>2020-03-04 14:44:33 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>bug-208560-20200303225255.patch</filename>
            <type>text/plain</type>
            <size>6073</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3ODIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDlhMzk0NmUwYjE5NThkNTM3
MjQ2MDA3YjkxNmY3ZDg4ZWI2YzZhMDIuLjE1OTAwOGRjYjQ2NDQ0YWJlMTgwNWE5ZWQ5NjZjM2Q0
MGY4YTU2YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDMtMDMgIE15bGVzIEMu
IE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbR1BVIFByb2Nlc3Nd
IEltcGxlbWVudCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuZ2V0SW1hZ2VEYXRhKCkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODU2MAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAo
T09QUyEpLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdC
YWNrZW5kUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2Vz
LnlhbWw6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZm
ZXIuaDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlSW1hZ2VCdWZmZXI6OmFzeW5jcm9ub3VzbHlG
bHVzaERyYXdpbmdDb250ZXh0KToKKwogMjAyMC0wMy0wMyAgSmFtZXMgU2F2YWdlICA8amFtZXMu
c2F2YWdlQGFwcGxlLmNvbT4KIAogICAgICAgICBSZWZpbmUgU3dpZnQgQVBJIGZvciBXS1dlYlZp
ZXcgSmF2YVNjcmlwdCBtZXRob2RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmggYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmgKaW5kZXgg
NGY4YTg5YWZjNzJjMThkODRmNGRhM2FhNGNmOWVlODg5MjY3YmZkMy4uZTgzN2JiMzA0M2ExMjBj
NzFhMDcxMGJkZGEyNjRjMjIwNjQ2YTdiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHku
aApAQCAtNjMsMTEgKzYzLDEzIEBAIHByaXZhdGU6CiAKICAgICAvLyBJUEM6Ok1lc3NhZ2VSZWNl
aXZlcgogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpE
ZWNvZGVyJikgb3ZlcnJpZGU7CisgICAgdm9pZCBkaWRSZWNlaXZlU3luY01lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6RW5jb2Rlcj4m
KSBvdmVycmlkZTsKIAogICAgIC8vIE1lc3NhZ2VzIHRvIGJlIHJlY2VpdmVkLgogICAgIHZvaWQg
Y3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBsb2dpY2FsU2l6ZSwg
V2ViQ29yZTo6UmVuZGVyaW5nTW9kZSwgZmxvYXQgcmVzb2x1dGlvblNjYWxlLCBXZWJDb3JlOjpD
b2xvclNwYWNlLCBJbWFnZUJ1ZmZlcklkZW50aWZpZXIpOwogICAgIHZvaWQgcmVsZWFzZUltYWdl
QnVmZmVyKEltYWdlQnVmZmVySWRlbnRpZmllcik7CiAgICAgdm9pZCBmbHVzaEltYWdlQnVmZmVy
RHJhd2luZ0NvbnRleHQoY29uc3QgV2ViQ29yZTo6RGlzcGxheUxpc3Q6OkRpc3BsYXlMaXN0Jiwg
SW1hZ2VCdWZmZXJGbHVzaElkZW50aWZpZXIsIEltYWdlQnVmZmVySWRlbnRpZmllcik7CisgICAg
dm9pZCBHZXRJbWFnZURhdGEoQWxwaGFQcmVtdWx0aXBsaWNhdGlvbiBvdXRwdXRGb3JtYXQsIElu
dFJlY3Qgc3JjUmVjdCk7CiAKICAgICB1c2luZyBJbWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyTWFw
ID0gSGFzaE1hcDxJbWFnZUJ1ZmZlcklkZW50aWZpZXIsIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVJ
bWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyUHJveHk+PjsKICAgICBJbWFnZUJ1ZmZlck1lc3NhZ2VI
YW5kbGVyTWFwIG1faW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlck1hcDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJv
eHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3Rl
UmVuZGVyaW5nQmFja2VuZFByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDY1YThkOTBhNjZmODVlOGY4
ODNjMTVlNGIwZTNiZjgwYzY5NGNjMTguLjI2NThmZDBjOTJkYTQzMzc2M2JlMTBiMDkxMzkxODEx
NmRiZTliY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9S
ZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5tZXNzYWdl
cy5pbgpAQCAtMjMsOSArMjMsMTAgQEAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCiAKIG1lc3Nh
Z2VzIC0+IFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eSBOb3RSZWZDb3VudGVkIHsKLSAgICB2
b2lkIENyZWF0ZUltYWdlQnVmZmVyKFdlYkNvcmU6OkZsb2F0U2l6ZSBsb2dpY2FsU2l6ZSwgV2Vi
Q29yZTo6UmVuZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlLCBmbG9hdCByZXNvbHV0aW9uU2NhbGUs
IFdlYkNvcmU6OkNvbG9yU3BhY2UgY29sb3JTcGFjZSwgV2ViS2l0OjpJbWFnZUJ1ZmZlcklkZW50
aWZpZXIgaW1hZ2VCdWZmZXJJZGVudGlmaWVyKQotICAgIHZvaWQgUmVsZWFzZUltYWdlQnVmZmVy
KFdlYktpdDo6SW1hZ2VCdWZmZXJJZGVudGlmaWVyIGltYWdlQnVmZmVySWRlbnRpZmllcikKLSAg
ICB2b2lkIEZsdXNoSW1hZ2VCdWZmZXJEcmF3aW5nQ29udGV4dChXZWJDb3JlOjpEaXNwbGF5TGlz
dDo6RGlzcGxheUxpc3QgZGlzcGxheUxpc3QsIFdlYktpdDo6SW1hZ2VCdWZmZXJGbHVzaElkZW50
aWZpZXIgZmx1c2hJZGVudGlmaWVyLCBXZWJLaXQ6OkltYWdlQnVmZmVySWRlbnRpZmllciBpbWFn
ZUJ1ZmZlcklkZW50aWZpZXIpCisgICAgQ3JlYXRlSW1hZ2VCdWZmZXIoV2ViQ29yZTo6RmxvYXRT
aXplIGxvZ2ljYWxTaXplLCBXZWJDb3JlOjpSZW5kZXJpbmdNb2RlIHJlbmRlcmluZ01vZGUsIGZs
b2F0IHJlc29sdXRpb25TY2FsZSwgV2ViQ29yZTo6Q29sb3JTcGFjZSBjb2xvclNwYWNlLCBXZWJL
aXQ6OkltYWdlQnVmZmVySWRlbnRpZmllciBpbWFnZUJ1ZmZlcklkZW50aWZpZXIpCisgICAgUmVs
ZWFzZUltYWdlQnVmZmVyKFdlYktpdDo6SW1hZ2VCdWZmZXJJZGVudGlmaWVyIGltYWdlQnVmZmVy
SWRlbnRpZmllcikKKyAgICBGbHVzaEltYWdlQnVmZmVyRHJhd2luZ0NvbnRleHQoV2ViQ29yZTo6
RGlzcGxheUxpc3Q6OkRpc3BsYXlMaXN0IGRpc3BsYXlMaXN0LCBXZWJLaXQ6OkltYWdlQnVmZmVy
Rmx1c2hJZGVudGlmaWVyIGZsdXNoSWRlbnRpZmllciwgV2ViS2l0OjpJbWFnZUJ1ZmZlcklkZW50
aWZpZXIgaW1hZ2VCdWZmZXJJZGVudGlmaWVyKQorICAgIEdldEltYWdlRGF0YShlbnVtOnVpbnQ4
X3QgV2ViQ29yZTo6QWxwaGFQcmVtdWx0aXBsaWNhdGlvbiBvdXRwdXRGb3JtYXQsIFdlYkNvcmU6
OkludFJlY3Qgc3JjUmVjdCkgLT4gKFdlYkNvcmU6OkludFNpemUgc2l6ZSwgSVBDOjpTaGFyZWRC
dWZmZXJEYXRhUmVmZXJlbmNlIGRhdGEpIFN5bmNocm9ub3VzCiB9CiAKICNlbmRpZiAvLyBFTkFC
TEUoR1BVX1BST0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVm
ZXJlbmNlcy55YW1sIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbApp
bmRleCA1MDEwNGE5YzliYmNhYTk4MmZkMmYzZDcxYWEyM2Y1YTNmNmVlOThhLi4zZWNmYmVhMTU5
ZTBjODkwZGU2MWM2YTQ3NDE4N2FmZTRkNDAzOWI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YlByZWZlcmVuY2VzLnlhbWwKQEAgLTE3NTIsNyArMTc1Miw3IEBAIENhcHR1cmVBdWRpb0luR1BV
UHJvY2Vzc0VuYWJsZWQ6CiAKIFJlbmRlckNhbnZhc0luR1BVUHJvY2Vzc0VuYWJsZWQ6CiAgIHR5
cGU6IGJvb2wKLSAgZGVmYXVsdFZhbHVlOiBmYWxzZQorICBkZWZhdWx0VmFsdWU6IHRydWUKICAg
aHVtYW5SZWFkYWJsZU5hbWU6ICJSZW5kZXIgY2FudmFzIGluIEdQVSBQcm9jZXNzIgogICBodW1h
blJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgY2FudmFzIHJlbmRlcmluZyBpbiBHUFUgUHJv
Y2VzcyIKICAgY2F0ZWdvcnk6IGludGVybmFsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyLmggYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyLmgKaW5kZXggYjdjMGU5
YjQ1ZjBkNzAyNjQ5NGUzY2UwOTVjNDY1NGM5NzlmMjhjOS4uZmVhN2Y3OGE4ZDZlNzhjMGI5OTZl
YWE1OWFmYTFiYjM0NDVhZDA0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXIuaApAQCAtNzIsMjAgKzcyLDM3
IEBAIHByb3RlY3RlZDoKICAgICAgICAgcmV0dXJuIG1fYmFja2VuZC5nZXQoKTsKICAgICB9CiAK
KyAgICBSZWZQdHI8SW1hZ2VEYXRhPiBnZXRJbWFnZURhdGEoQWxwaGFQcmVtdWx0aXBsaWNhdGlv
biBvdXRwdXRGb3JtYXQsIGNvbnN0IEludFJlY3QmIHNyY1JlY3QpIGNvbnN0IG92ZXJyaWRlCisg
ICAgeworICAgICAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMuCisgICAgICAgIGJvb2wgbmVl
ZHNXYWl0ID0gYXN5bmNyb25vdXNseUZsdXNoRHJhd2luZ0NvbnRleHQoKTsKKyAgICAgICAgaWYg
KG5lZWRzV2FpdCkKKyAgICAgICAgICAgIFJlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXI6
OndhaXRGb3JDb21taXRJbWFnZUJ1ZmZlckZsdXNoQ29udGV4dCgpOworICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKyAgICB9CisKICAgICB2b2lkIGZsdXNoQ29udGV4dCgpIG92ZXJyaWRlCiAgICAg
ewogICAgICAgICBmbHVzaERyYXdpbmdDb250ZXh0KCk7CiAgICAgICAgIG1fYmFja2VuZC0+Zmx1
c2hDb250ZXh0KCk7CiAgICAgfQogCi0gICAgdm9pZCBmbHVzaERyYXdpbmdDb250ZXh0KCkgb3Zl
cnJpZGUKKyAgICBib29sIGFzeW5jcm9ub3VzbHlGbHVzaERyYXdpbmdDb250ZXh0KCkKICAgICB7
CiAgICAgICAgIGF1dG8mIGRpc3BsYXlMaXN0ID0gbV9kcmF3aW5nQ29udGV4dC5kaXNwbGF5TGlz
dCgpOwogICAgICAgICBpZiAoZGlzcGxheUxpc3QuaXRlbUNvdW50KCkpIHsKICAgICAgICAgICAg
IFJlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXI6OmZsdXNoRHJhd2luZ0NvbnRleHQoZGlz
cGxheUxpc3QpOwotICAgICAgICAgICAgUmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlcjo6
d2FpdEZvckNvbW1pdEltYWdlQnVmZmVyRmx1c2hDb250ZXh0KCk7Ci0gICAgICAgICAgICBkaXNw
bGF5TGlzdC5jbGVhcigpOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0KKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIHZvaWQgZmx1c2hEcmF3aW5nQ29udGV4
dCgpIG92ZXJyaWRlCisgICAgeworICAgICAgICBhdXRvJiBkaXNwbGF5TGlzdCA9IG1fZHJhd2lu
Z0NvbnRleHQuZGlzcGxheUxpc3QoKTsKKyAgICAgICAgaWYgKGFzeW5jcm9ub3VzbHlGbHVzaERy
YXdpbmdDb250ZXh0KCkpCisgICAgICAgICAgICBSZW1vdGVJbWFnZUJ1ZmZlck1lc3NhZ2VIYW5k
bGVyOjp3YWl0Rm9yQ29tbWl0SW1hZ2VCdWZmZXJGbHVzaENvbnRleHQoKTsKKyAgICAgICAgZGlz
cGxheUxpc3QuY2xlYXIoKTsKICAgICB9CiB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392488</attachid>
            <date>2020-03-04 14:44:35 -0800</date>
            <delta_ts>2020-03-04 15:16:56 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>bug-208560-20200304144434.patch</filename>
            <type>text/plain</type>
            <size>16334</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3ODcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDhjY2YzZjRjMzZjN2Y3NTUx
ZGQzYmMxYTczNTIxMmY4ZDRkZmVhODEuLjZlYjkxOTU0NTUxY2VjZjNhZjY2NjYzY2RlNmUxOWRh
MTRhODJiNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDMtMDQgIE15bGVzIEMu
IE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbR1BVIFByb2Nlc3Nd
IEltcGxlbWVudCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuZ2V0SW1hZ2VEYXRhKCkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODU2MAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAo
T09QUyEpLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdC
YWNrZW5kUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2Vz
LnlhbWw6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZm
ZXIuaDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlSW1hZ2VCdWZmZXI6OmFzeW5jcm9ub3VzbHlG
bHVzaERyYXdpbmdDb250ZXh0KToKKwogMjAyMC0wMy0wNCAgQW50b2luZSBRdWludCAgPGdyYW91
dHNAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhbiBTUEkgdG8gYWxsb3cgVXNlclN0eWxlU2hl
ZXQgaW5qZWN0aW9uIHRvIHRhcmdldCBhIHNwZWNpZmljIFdLV2ViVmlldwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQWxwaGFQcmVtdWx0aXBsaWNhdGlvbi5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQWxwaGFQcmVtdWx0aXBsaWNhdGlv
bi5oCmluZGV4IDZkMWNhZWY4NTQxZGVlMDYyYmZlMDU0MTZjZGEyZjJhN2Y3OTI2ZTIuLmIyNzc4
MGY2MmIxOTJmNTgxYzI0MzkyYWQxOTE3ZTBjNWM1ZjcwOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0FscGhhUHJlbXVsdGlwbGljYXRpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9BbHBoYVByZW11bHRpcGxpY2F0aW9uLmgK
QEAgLTM0LDYgKzM0LDE3IEBAIGVudW0gY2xhc3MgQWxwaGFQcmVtdWx0aXBsaWNhdGlvbiA6IHVp
bnQ4X3QgewogICAgIFVucHJlbXVsdGlwbGllZAogfTsKIAorCiBXRUJDT1JFX0VYUE9SVCBXVEY6
OlRleHRTdHJlYW0mIG9wZXJhdG9yPDwoV1RGOjpUZXh0U3RyZWFtJiwgQWxwaGFQcmVtdWx0aXBs
aWNhdGlvbik7CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK30KKworbmFtZXNwYWNlIFdURiB7
Cit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OkFscGhhUHJlbXVsdGlwbGlj
YXRpb24+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJDb3Jl
OjpBbHBoYVByZW11bHRpcGxpY2F0aW9uLAorICAgICAgICBXZWJDb3JlOjpBbHBoYVByZW11bHRp
cGxpY2F0aW9uOjpQcmVtdWx0aXBsaWVkLAorICAgICAgICBXZWJDb3JlOjpBbHBoYVByZW11bHRp
cGxpY2F0aW9uOjpVbnByZW11bHRpcGxpZWQKKyAgICA+OworfTsKK30KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlck1lc3NhZ2VI
YW5kbGVyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVJ
bWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyUHJveHkuaAppbmRleCAzOGZjZGJiZjBhZGFjZGQzZjk1
YTExZDBjYzA1NGM2YjQ1ZWIyNGE0Li43ZmYzZjFiYWM3NWFjYmJlMmE3MDExZWUxOTkyYzJjN2Ez
ZTljYjk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVt
b3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXJQcm94eS5o
CkBAIC0zMyw2ICszMywxMSBAQAogI2luY2x1ZGUgPFdlYkNvcmUvRGlzcGxheUxpc3QuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL0Zsb2F0U2l6ZS5oPgogCituYW1lc3BhY2UgV2ViQ29yZSB7CitlbnVt
IGNsYXNzIEFscGhhUHJlbXVsdGlwbGljYXRpb24gOiB1aW50OF90OworY2xhc3MgSW1hZ2VEYXRh
OworfQorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgUmVtb3RlUmVuZGVyaW5nQmFja2Vu
ZFByb3h5OwpAQCAtNDMsNiArNDgsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBNZXNzYWdlcyB0byBi
ZSByZWNlaXZlZC4gU2VlIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5tZXNzYWdlcy5pbi4K
ICAgICB2aXJ0dWFsIHZvaWQgZmx1c2hEcmF3aW5nQ29udGV4dChjb25zdCBXZWJDb3JlOjpEaXNw
bGF5TGlzdDo6RGlzcGxheUxpc3QmLCBJbWFnZUJ1ZmZlckZsdXNoSWRlbnRpZmllcikgPSAwOwor
ICAgIHZpcnR1YWwgUmVmUHRyPFdlYkNvcmU6OkltYWdlRGF0YT4gcGVyZm9ybUdldEltYWdlRGF0
YShXZWJDb3JlOjpBbHBoYVByZW11bHRpcGxpY2F0aW9uIG91dHB1dEZvcm1hdCwgV2ViQ29yZTo6
SW50UmVjdCBzcmNSZWN0KSA9IDA7CiAKIHByb3RlY3RlZDoKICAgICBSZW1vdGVJbWFnZUJ1ZmZl
ck1lc3NhZ2VIYW5kbGVyUHJveHkoUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5JiwgSW1hZ2VC
dWZmZXJJZGVudGlmaWVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9n
cmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94eS5oCmluZGV4IDAwNjFkNzdlOWNmNDRj
YWJkNDJjOTNhOTQ5NmY0YmE3ZDVhODhhMTkuLmZmY2RiOTJiMmZjNTFjMmM3MTAyZmUyZjdlNDFi
ZWY4NTlmMmE5MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGlj
cy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyUHJveHkuaApAQCAtNTQsNiArNTQsMTEgQEAgcHVi
bGljOgogcHJpdmF0ZToKICAgICB1c2luZyBCYXNlQ29uY3JldGVJbWFnZUJ1ZmZlcjo6Zmx1c2hE
cmF3aW5nQ29udGV4dDsKIAorICAgIFJlZlB0cjxXZWJDb3JlOjpJbWFnZURhdGE+IHBlcmZvcm1H
ZXRJbWFnZURhdGEoV2ViQ29yZTo6QWxwaGFQcmVtdWx0aXBsaWNhdGlvbiBvdXRwdXRGb3JtYXQs
IFdlYkNvcmU6OkludFJlY3Qgc3JjUmVjdCkgb3ZlcnJpZGUKKyAgICB7CisgICAgICAgIHJldHVy
biBCYXNlQ29uY3JldGVJbWFnZUJ1ZmZlcjo6Z2V0SW1hZ2VEYXRhKG91dHB1dEZvcm1hdCwgc3Jj
UmVjdCk7CisgICAgfQorCiAgICAgdm9pZCBmbHVzaERyYXdpbmdDb250ZXh0KGNvbnN0IFdlYkNv
cmU6OkRpc3BsYXlMaXN0OjpEaXNwbGF5TGlzdCYgZGlzcGxheUxpc3QsIEltYWdlQnVmZmVyRmx1
c2hJZGVudGlmaWVyIGZsdXNoSWRlbnRpZmllcikgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIGlm
IChkaXNwbGF5TGlzdC5pdGVtQ291bnQoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5
LmNwcAppbmRleCBlNDMxNzA2YjBlOGZmMDkyZmY4NmYyNjNlZGU1NjNlMmRiMTQ2YTIzLi43NDg2
NWMyN2RlMmNjYmE1MGEwOTE3MzRiMWRhNWUwNjI0NjQxMzU4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5n
QmFja2VuZFByb3h5LmNwcApAQCAtMTAwLDYgKzEwMCwxNSBAQCB2b2lkIFJlbW90ZVJlbmRlcmlu
Z0JhY2tlbmRQcm94eTo6cmVsZWFzZUltYWdlQnVmZmVyKEltYWdlQnVmZmVySWRlbnRpZmllciBp
bWFnZQogICAgIEFTU0VSVF9VTlVTRUQoZm91bmQsIGZvdW5kKTsKIH0KIAordm9pZCBSZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kUHJveHk6OmdldEltYWdlRGF0YShXZWJDb3JlOjpBbHBoYVByZW11bHRp
cGxpY2F0aW9uIG91dHB1dEZvcm1hdCwgV2ViQ29yZTo6SW50UmVjdCBzcmNSZWN0LCBJbWFnZUJ1
ZmZlcklkZW50aWZpZXIgaW1hZ2VCdWZmZXJJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKFdlYkNvcmU6OkludFNpemUmJiwgSVBDOjpTaGFyZWRCdWZmZXJEYXRhUmVmZXJlbmNlJiYp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIGlmIChhdXRvIGltYWdlQnVmZmVyID0gbV9p
bWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyTWFwLmdldChpbWFnZUJ1ZmZlcklkZW50aWZpZXIpKSB7
CisgICAgICAgIGF1dG8gaW1hZ2VEYXRhID0gaW1hZ2VCdWZmZXItPnBlcmZvcm1HZXRJbWFnZURh
dGEob3V0cHV0Rm9ybWF0LCBzcmNSZWN0KTsKKyAgICAgICAgLy8gRklYTUU6IEltcGxlbWVudCB0
aGlzLgorICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXZWJDb3JlOjpJbnRTaXplKCksIElQQzo6
U2hhcmVkQnVmZmVyRGF0YVJlZmVyZW5jZSgpKTsKKyAgICB9Cit9CisKIHZvaWQgUmVtb3RlUmVu
ZGVyaW5nQmFja2VuZFByb3h5OjpmbHVzaEltYWdlQnVmZmVyRHJhd2luZ0NvbnRleHQoY29uc3Qg
V2ViQ29yZTo6RGlzcGxheUxpc3Q6OkRpc3BsYXlMaXN0JiBkaXNwbGF5TGlzdCwgSW1hZ2VCdWZm
ZXJGbHVzaElkZW50aWZpZXIgZmx1c2hJZGVudGlmaWVyLCBJbWFnZUJ1ZmZlcklkZW50aWZpZXIg
aW1hZ2VCdWZmZXJJZGVudGlmaWVyKQogewogICAgIGlmIChhdXRvIGltYWdlQnVmZmVyID0gbV9p
bWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyTWFwLmdldChpbWFnZUJ1ZmZlcklkZW50aWZpZXIpKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRl
cmluZ0JhY2tlbmRQcm94eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1Jl
bW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5oCmluZGV4IDRmOGE4OWFmYzcyYzE4ZDg0ZjRkYTNh
YTRjZjllZTg4OTI2N2JmZDMuLmJjODI2OWMzMTdjOWE3MjQwODZiY2Y0OTljOGU1NTNhNzA3ZTMx
M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3Jh
cGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmgKQEAgLTM0LDYgKzM0LDcgQEAKICNp
bmNsdWRlICJNZXNzYWdlU2VuZGVyLmgiCiAjaW5jbHVkZSAiUmVtb3RlSW1hZ2VCdWZmZXJNZXNz
YWdlSGFuZGxlclByb3h5LmgiCiAjaW5jbHVkZSAiUmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIu
aCIKKyNpbmNsdWRlICJTaGFyZWRCdWZmZXJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSA8V2Vi
Q29yZS9Db2xvclNwYWNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9EaXNwbGF5TGlzdEl0ZW1zLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9GbG9hdFNpemUuaD4KQEAgLTYzLDExICs2NCwxMyBAQCBwcml2
YXRlOgogCiAgICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIKICAgICB2b2lkIGRpZFJlY2VpdmVN
ZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIG92ZXJyaWRlOworICAgIHZv
aWQgZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYs
IHN0ZDo6dW5pcXVlX3B0cjxJUEM6OkVuY29kZXI+Jikgb3ZlcnJpZGU7CiAKICAgICAvLyBNZXNz
YWdlcyB0byBiZSByZWNlaXZlZC4KICAgICB2b2lkIGNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0IFdl
YkNvcmU6OkZsb2F0U2l6ZSYgbG9naWNhbFNpemUsIFdlYkNvcmU6OlJlbmRlcmluZ01vZGUsIGZs
b2F0IHJlc29sdXRpb25TY2FsZSwgV2ViQ29yZTo6Q29sb3JTcGFjZSwgSW1hZ2VCdWZmZXJJZGVu
dGlmaWVyKTsKICAgICB2b2lkIHJlbGVhc2VJbWFnZUJ1ZmZlcihJbWFnZUJ1ZmZlcklkZW50aWZp
ZXIpOwogICAgIHZvaWQgZmx1c2hJbWFnZUJ1ZmZlckRyYXdpbmdDb250ZXh0KGNvbnN0IFdlYkNv
cmU6OkRpc3BsYXlMaXN0OjpEaXNwbGF5TGlzdCYsIEltYWdlQnVmZmVyRmx1c2hJZGVudGlmaWVy
LCBJbWFnZUJ1ZmZlcklkZW50aWZpZXIpOworICAgIHZvaWQgZ2V0SW1hZ2VEYXRhKFdlYkNvcmU6
OkFscGhhUHJlbXVsdGlwbGljYXRpb24gb3V0cHV0Rm9ybWF0LCBXZWJDb3JlOjpJbnRSZWN0IHNy
Y1JlY3QsIEltYWdlQnVmZmVySWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJD
b3JlOjpJbnRTaXplJiYsIElQQzo6U2hhcmVkQnVmZmVyRGF0YVJlZmVyZW5jZSYmKT4mJik7CiAK
ICAgICB1c2luZyBJbWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyTWFwID0gSGFzaE1hcDxJbWFnZUJ1
ZmZlcklkZW50aWZpZXIsIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVJbWFnZUJ1ZmZlck1lc3NhZ2VI
YW5kbGVyUHJveHk+PjsKICAgICBJbWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyTWFwIG1faW1hZ2VC
dWZmZXJNZXNzYWdlSGFuZGxlck1hcDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkubWVzc2FnZXMuaW4gYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFBy
b3h5Lm1lc3NhZ2VzLmluCmluZGV4IDY1YThkOTBhNjZmODVlOGY4ODNjMTVlNGIwZTNiZjgwYzY5
NGNjMTguLjI3YzE3MWNlMzMwMzA3OGI4NTAwZTc2MTM4YzUxOTdiODIyY2VmZWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBo
aWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5tZXNzYWdlcy5pbgpAQCAtMjMsOSArMjMs
MTAgQEAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCiAKIG1lc3NhZ2VzIC0+IFJlbW90ZVJlbmRl
cmluZ0JhY2tlbmRQcm94eSBOb3RSZWZDb3VudGVkIHsKLSAgICB2b2lkIENyZWF0ZUltYWdlQnVm
ZmVyKFdlYkNvcmU6OkZsb2F0U2l6ZSBsb2dpY2FsU2l6ZSwgV2ViQ29yZTo6UmVuZGVyaW5nTW9k
ZSByZW5kZXJpbmdNb2RlLCBmbG9hdCByZXNvbHV0aW9uU2NhbGUsIFdlYkNvcmU6OkNvbG9yU3Bh
Y2UgY29sb3JTcGFjZSwgV2ViS2l0OjpJbWFnZUJ1ZmZlcklkZW50aWZpZXIgaW1hZ2VCdWZmZXJJ
ZGVudGlmaWVyKQotICAgIHZvaWQgUmVsZWFzZUltYWdlQnVmZmVyKFdlYktpdDo6SW1hZ2VCdWZm
ZXJJZGVudGlmaWVyIGltYWdlQnVmZmVySWRlbnRpZmllcikKLSAgICB2b2lkIEZsdXNoSW1hZ2VC
dWZmZXJEcmF3aW5nQ29udGV4dChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6RGlzcGxheUxpc3QgZGlz
cGxheUxpc3QsIFdlYktpdDo6SW1hZ2VCdWZmZXJGbHVzaElkZW50aWZpZXIgZmx1c2hJZGVudGlm
aWVyLCBXZWJLaXQ6OkltYWdlQnVmZmVySWRlbnRpZmllciBpbWFnZUJ1ZmZlcklkZW50aWZpZXIp
CisgICAgQ3JlYXRlSW1hZ2VCdWZmZXIoV2ViQ29yZTo6RmxvYXRTaXplIGxvZ2ljYWxTaXplLCBX
ZWJDb3JlOjpSZW5kZXJpbmdNb2RlIHJlbmRlcmluZ01vZGUsIGZsb2F0IHJlc29sdXRpb25TY2Fs
ZSwgV2ViQ29yZTo6Q29sb3JTcGFjZSBjb2xvclNwYWNlLCBXZWJLaXQ6OkltYWdlQnVmZmVySWRl
bnRpZmllciBpbWFnZUJ1ZmZlcklkZW50aWZpZXIpCisgICAgUmVsZWFzZUltYWdlQnVmZmVyKFdl
YktpdDo6SW1hZ2VCdWZmZXJJZGVudGlmaWVyIGltYWdlQnVmZmVySWRlbnRpZmllcikKKyAgICBG
bHVzaEltYWdlQnVmZmVyRHJhd2luZ0NvbnRleHQoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OkRpc3Bs
YXlMaXN0IGRpc3BsYXlMaXN0LCBXZWJLaXQ6OkltYWdlQnVmZmVyRmx1c2hJZGVudGlmaWVyIGZs
dXNoSWRlbnRpZmllciwgV2ViS2l0OjpJbWFnZUJ1ZmZlcklkZW50aWZpZXIgaW1hZ2VCdWZmZXJJ
ZGVudGlmaWVyKQorICAgIEdldEltYWdlRGF0YShlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6QWxwaGFQ
cmVtdWx0aXBsaWNhdGlvbiBvdXRwdXRGb3JtYXQsIFdlYkNvcmU6OkludFJlY3Qgc3JjUmVjdCwg
V2ViS2l0OjpJbWFnZUJ1ZmZlcklkZW50aWZpZXIgaW1hZ2VCdWZmZXJJZGVudGlmaWVyKSAtPiAo
V2ViQ29yZTo6SW50U2l6ZSBzaXplLCBJUEM6OlNoYXJlZEJ1ZmZlckRhdGFSZWZlcmVuY2UgZGF0
YSkgU3luY2hyb25vdXMKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL01lc3NhZ2VTZW5kZXIuaCBiL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm0vSVBDL01lc3NhZ2VTZW5kZXIuaAppbmRleCA4MTBhNTE0OTcwNzI3
Njg0MDFiZmI5ZGZmZTE1OWM2MGIwOWRlNzFiLi4zMjE5YzdkZGE1YzFlNGFkMDI0MDgwM2Y0NDUz
ZjBmMzgyODE3ZDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9NZXNz
YWdlU2VuZGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvTWVzc2FnZVNlbmRl
ci5oCkBAIC03MSw2ICs3MSwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtZXNzYWdlU2Vu
ZGVyQ29ubmVjdGlvbigpLT5zZW5kU3luYyhXVEZNb3ZlKG1lc3NhZ2UpLCBXVEZNb3ZlKHJlcGx5
KSwgZGVzdGluYXRpb25JRCwgdGltZW91dCwgc2VuZFN5bmNPcHRpb25zKTsKICAgICB9CiAKKyAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBVLCB0eXBlbmFtZSBUPgorICAgIGJvb2wgc2VuZFN5bmMoVSYm
IG1lc3NhZ2UsIHR5cGVuYW1lIFU6OlJlcGx5JiYgcmVwbHksIE9iamVjdElkZW50aWZpZXI8VD4g
ZGVzdGluYXRpb25JRCwgU2Vjb25kcyB0aW1lb3V0ID0gU2Vjb25kczo6aW5maW5pdHkoKSwgT3B0
aW9uU2V0PFNlbmRTeW5jT3B0aW9uPiBzZW5kU3luY09wdGlvbnMgPSB7IH0pCisgICAgeworICAg
ICAgICByZXR1cm4gc2VuZFN5bmM8VT4oc3RkOjpmb3J3YXJkPFU+KG1lc3NhZ2UpLCBXVEZNb3Zl
KHJlcGx5KSwgZGVzdGluYXRpb25JRC50b1VJbnQ2NCgpLCB0aW1lb3V0LCBzZW5kU3luY09wdGlv
bnMpOworICAgIH0KKwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIEM+CiAgICAg
dm9pZCBzZW5kV2l0aEFzeW5jUmVwbHkoVCYmIG1lc3NhZ2UsIEMmJiBjb21wbGV0aW9uSGFuZGxl
ciwgT3B0aW9uU2V0PFNlbmRPcHRpb24+IHNlbmRPcHRpb25zID0geyB9KQogICAgIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IGE3NzllMzNmNDQyM2RkMTg2
NDA2NWY5ZmE3MjY3ZTlkMDlkOGQxNzQuLjhiZGFkYzhiMmY1NzAyYWViYjMzMWIyM2Y1MWQ5MTVm
NzU3ZDAzZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2Vz
LnlhbWwKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbApAQCAt
MTc0Nyw3ICsxNzQ3LDcgQEAgQ2FwdHVyZUF1ZGlvSW5HUFVQcm9jZXNzRW5hYmxlZDoKIAogUmVu
ZGVyQ2FudmFzSW5HUFVQcm9jZXNzRW5hYmxlZDoKICAgdHlwZTogYm9vbAotICBkZWZhdWx0VmFs
dWU6IGZhbHNlCisgIGRlZmF1bHRWYWx1ZTogdHJ1ZQogICBodW1hblJlYWRhYmxlTmFtZTogIlJl
bmRlciBjYW52YXMgaW4gR1BVIFByb2Nlc3MiCiAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjog
IkVuYWJsZSBjYW52YXMgcmVuZGVyaW5nIGluIEdQVSBQcm9jZXNzIgogICBjYXRlZ29yeTogaW50
ZXJuYWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3Mv
UmVtb3RlSW1hZ2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhp
Y3MvUmVtb3RlSW1hZ2VCdWZmZXIuaAppbmRleCBiN2MwZTliNDVmMGQ3MDI2NDk0ZTNjZTA5NWM0
NjU0Yzk3OWYyOGM5Li40MzRjMzYxODNkNzI2MzZlZDUwNWM3NjBiZjFmZDIzOTMyNzRmODE0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUlt
YWdlQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9S
ZW1vdGVJbWFnZUJ1ZmZlci5oCkBAIC03MiwyMCArNzIsMzYgQEAgcHJvdGVjdGVkOgogICAgICAg
ICByZXR1cm4gbV9iYWNrZW5kLmdldCgpOwogICAgIH0KIAorICAgIFJlZlB0cjxJbWFnZURhdGE+
IGdldEltYWdlRGF0YShBbHBoYVByZW11bHRpcGxpY2F0aW9uIG91dHB1dEZvcm1hdCwgY29uc3Qg
SW50UmVjdCYgc3JjUmVjdCkgY29uc3Qgb3ZlcnJpZGUKKyAgICB7CisgICAgICAgIGNvbnN0X2Nh
c3Q8UmVtb3RlSW1hZ2VCdWZmZXIqPih0aGlzKS0+YXN5bmNyb25vdXNseUZsdXNoRHJhd2luZ0Nv
bnRleHQoKTsKKyAgICAgICAgYXV0byByZXN1bHQgPSBjb25zdF9jYXN0PFJlbW90ZUltYWdlQnVm
ZmVyKj4odGhpcyktPlJlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXI6OmdldEltYWdlRGF0
YShvdXRwdXRGb3JtYXQsIHNyY1JlY3QpOworICAgICAgICAvLyBnZXRJbWFnZURhdGEgaXMgc3lu
Y2hyb25vdXMsIHdoaWNoIG1lYW5zIHdlJ3ZlIGFscmVhZHkgcmVjZWl2ZWQgdGhlIENvbW1pdElt
YWdlQnVmZmVyRmx1c2hDb250ZXh0IG1lc3NhZ2UuCisgICAgICAgIHJldHVybiByZXN1bHQ7Cisg
ICAgfQorCiAgICAgdm9pZCBmbHVzaENvbnRleHQoKSBvdmVycmlkZQogICAgIHsKICAgICAgICAg
Zmx1c2hEcmF3aW5nQ29udGV4dCgpOwogICAgICAgICBtX2JhY2tlbmQtPmZsdXNoQ29udGV4dCgp
OwogICAgIH0KIAotICAgIHZvaWQgZmx1c2hEcmF3aW5nQ29udGV4dCgpIG92ZXJyaWRlCisgICAg
Ym9vbCBhc3luY3Jvbm91c2x5Rmx1c2hEcmF3aW5nQ29udGV4dCgpCiAgICAgewogICAgICAgICBh
dXRvJiBkaXNwbGF5TGlzdCA9IG1fZHJhd2luZ0NvbnRleHQuZGlzcGxheUxpc3QoKTsKICAgICAg
ICAgaWYgKGRpc3BsYXlMaXN0Lml0ZW1Db3VudCgpKSB7CiAgICAgICAgICAgICBSZW1vdGVJbWFn
ZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyOjpmbHVzaERyYXdpbmdDb250ZXh0KGRpc3BsYXlMaXN0KTsK
LSAgICAgICAgICAgIFJlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXI6OndhaXRGb3JDb21t
aXRJbWFnZUJ1ZmZlckZsdXNoQ29udGV4dCgpOwotICAgICAgICAgICAgZGlzcGxheUxpc3QuY2xl
YXIoKTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICB9CisKKyAgICB2b2lkIGZsdXNoRHJhd2luZ0NvbnRleHQoKSBvdmVycmlk
ZQorICAgIHsKKyAgICAgICAgYXV0byYgZGlzcGxheUxpc3QgPSBtX2RyYXdpbmdDb250ZXh0LmRp
c3BsYXlMaXN0KCk7CisgICAgICAgIGlmIChhc3luY3Jvbm91c2x5Rmx1c2hEcmF3aW5nQ29udGV4
dCgpKQorICAgICAgICAgICAgUmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlcjo6d2FpdEZv
ckNvbW1pdEltYWdlQnVmZmVyRmx1c2hDb250ZXh0KCk7CisgICAgICAgIGRpc3BsYXlMaXN0LmNs
ZWFyKCk7CiAgICAgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdl
SGFuZGxlci5jcHAKaW5kZXggNWUwZDVmNTVmM2UwYzg4ZmJlNWUwZDQ5NTFmZTE5OTJjNjRmZWMw
My4uODhlNGM1OTk5Y2VlMTkwZWJmZGRmZTI1MWI1YmM1NWZiYTRjYzA4NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlck1l
c3NhZ2VIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBo
aWNzL1JlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXIuY3BwCkBAIC0zMCw2ICszMCw3IEBA
CiAKICNpbmNsdWRlICJSZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmgiCiAjaW5jbHVkZSAiUmVtb3Rl
UmVuZGVyaW5nQmFja2VuZFByb3h5TWVzc2FnZXMuaCIKKyNpbmNsdWRlICJTaGFyZWRCdWZmZXJE
YXRhUmVmZXJlbmNlLmgiCiAKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CkBAIC02MSw2ICs2MiwxNyBAQCB2b2lkIFJlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhh
bmRsZXI6OndhaXRGb3JDb21taXRJbWFnZUJ1ZmZlckZsdXNoQ29udGV4dCgpCiAgICAgICAgIG1f
cmVtb3RlUmVuZGVyaW5nQmFja2VuZC0+d2FpdEZvckNvbW1pdEltYWdlQnVmZmVyRmx1c2hDb250
ZXh0KCk7CiB9CiAKK1JlZlB0cjxXZWJDb3JlOjpJbWFnZURhdGE+IFJlbW90ZUltYWdlQnVmZmVy
TWVzc2FnZUhhbmRsZXI6OmdldEltYWdlRGF0YShBbHBoYVByZW11bHRpcGxpY2F0aW9uIG91dHB1
dEZvcm1hdCwgV2ViQ29yZTo6SW50UmVjdCBzcmNSZWN0KQoreworICAgIGlmICghbV9yZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBXZWJDb3JlOjpJ
bnRTaXplIHNpemU7CisgICAgSVBDOjpTaGFyZWRCdWZmZXJEYXRhUmVmZXJlbmNlIGRhdGE7Cisg
ICAgbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kLT5zZW5kU3luYyhNZXNzYWdlczo6UmVtb3RlUmVu
ZGVyaW5nQmFja2VuZFByb3h5OjpHZXRJbWFnZURhdGEob3V0cHV0Rm9ybWF0LCBzcmNSZWN0LCBt
X2ltYWdlQnVmZmVySWRlbnRpZmllciksIE1lc3NhZ2VzOjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5k
UHJveHk6OkdldEltYWdlRGF0YTo6UmVwbHkoc2l6ZSwgZGF0YSksIG1fcmVtb3RlUmVuZGVyaW5n
QmFja2VuZC0+cmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIoKSk7CisgICAgLy8gRklYTUU6IEJ1
aWxkIHRoZSBJbWFnZURhdGEgZnJvbSB0aGUgcmVzdWx0cy4KKyAgICByZXR1cm4gbnVsbHB0cjsK
K30KKwogdm9pZCBSZW1vdGVJbWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyOjpmbHVzaERyYXdpbmdD
b250ZXh0KGNvbnN0IFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpEaXNwbGF5TGlzdCYgZGlzcGxheUxp
c3QpCiB7CiAgICAgaWYgKCFtX3JlbW90ZVJlbmRlcmluZ0JhY2tlbmQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyTWVz
c2FnZUhhbmRsZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVt
b3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlci5oCmluZGV4IDNhZTFhOTg3OWVmZDE5M2E5Y2E3
MGY4ZDRhM2I5ODVlNzNhZjM1NjUuLjhkYWIzZDRjZTk5ZmE0MzNkOWE3NDI4ODgxYjNhMWNkN2Nl
YTU1YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3Mv
UmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlci5oCkBA
IC0zNCw2ICszNCwxMSBAQAogI2luY2x1ZGUgPFdlYkNvcmUvRmxvYXRTaXplLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9SZW5kZXJpbmdNb2RlLmg+CiAKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2VudW0g
Y2xhc3MgQWxwaGFQcmVtdWx0aXBsaWNhdGlvbiA6IHVpbnQ4X3Q7CitjbGFzcyBJbWFnZURhdGE7
Cit9CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBSZW1vdGVSZW5kZXJpbmdCYWNrZW5k
OwpAQCAtNjAsNiArNjUsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICAvLyBNZXNzYWdlcyB0byBiZSBz
ZW50LiBTZWUgUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5Lm1lc3NhZ2VzLmluLgogICAgIHZv
aWQgZmx1c2hEcmF3aW5nQ29udGV4dChjb25zdCBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6RGlzcGxh
eUxpc3QmKTsKKyAgICBSZWZQdHI8V2ViQ29yZTo6SW1hZ2VEYXRhPiBnZXRJbWFnZURhdGEoV2Vi
Q29yZTo6QWxwaGFQcmVtdWx0aXBsaWNhdGlvbiBvdXRwdXRGb3JtYXQsIFdlYkNvcmU6OkludFJl
Y3Qgc3JjUmVjdCk7CiAKIHByaXZhdGU6CiAgICAgV2Vha1B0cjxSZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kPiBtX3JlbW90ZVJlbmRlcmluZ0JhY2tlbmQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3BwIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5k
LmNwcAppbmRleCAxOTU4MzE2NWFjZmY4YWM2Mjc5NWVjMTY4Y2M5MDliNmFlZTZjOThhLi5hNjk3
MWNlYzU3MjMxYjU5NTk3NWFiYTkyZDE1YTAyNjZmOTVlMmU5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVuZGVy
aW5nQmFja2VuZC5jcHAKQEAgLTc1LDEzICs3NSwxMyBAQCB1aW50NjRfdCBSZW1vdGVSZW5kZXJp
bmdCYWNrZW5kOjptZXNzYWdlU2VuZGVyRGVzdGluYXRpb25JRCgpIGNvbnN0CiBib29sIFJlbW90
ZVJlbmRlcmluZ0JhY2tlbmQ6OndhaXRGb3JDcmVhdGVJbWFnZUJ1ZmZlckJhY2tlbmQoKQogewog
ICAgIFJlZjxJUEM6OkNvbm5lY3Rpb24+IGNvbm5lY3Rpb24gPSBXZWJQcm9jZXNzOjpzaW5nbGV0
b24oKS5lbnN1cmVHUFVQcm9jZXNzQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKTsKLSAgICByZXR1
cm4gY29ubmVjdGlvbi0+d2FpdEZvckFuZERpc3BhdGNoSW1tZWRpYXRlbHk8TWVzc2FnZXM6OlJl
bW90ZVJlbmRlcmluZ0JhY2tlbmQ6OkNyZWF0ZUltYWdlQnVmZmVyQmFja2VuZD4obV9yZW5kZXJp
bmdCYWNrZW5kSWRlbnRpZmllciwgMV9zLCBJUEM6OldhaXRGb3JPcHRpb246OkludGVycnVwdFdh
aXRpbmdJZlN5bmNNZXNzYWdlQXJyaXZlcyk7CisgICAgcmV0dXJuIGNvbm5lY3Rpb24tPndhaXRG
b3JBbmREaXNwYXRjaEltbWVkaWF0ZWx5PE1lc3NhZ2VzOjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5k
OjpDcmVhdGVJbWFnZUJ1ZmZlckJhY2tlbmQ+KG1fcmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIs
IFNlY29uZHM6OmluZmluaXR5KCksIElQQzo6V2FpdEZvck9wdGlvbjo6SW50ZXJydXB0V2FpdGlu
Z0lmU3luY01lc3NhZ2VBcnJpdmVzKTsKIH0KIAogYm9vbCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5k
Ojp3YWl0Rm9yQ29tbWl0SW1hZ2VCdWZmZXJGbHVzaENvbnRleHQoKQogewogICAgIFJlZjxJUEM6
OkNvbm5lY3Rpb24+IGNvbm5lY3Rpb24gPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5lbnN1cmVH
UFVQcm9jZXNzQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKTsKLSAgICByZXR1cm4gY29ubmVjdGlv
bi0+d2FpdEZvckFuZERpc3BhdGNoSW1tZWRpYXRlbHk8TWVzc2FnZXM6OlJlbW90ZVJlbmRlcmlu
Z0JhY2tlbmQ6OkNvbW1pdEltYWdlQnVmZmVyRmx1c2hDb250ZXh0PihtX3JlbmRlcmluZ0JhY2tl
bmRJZGVudGlmaWVyLCAxX3MsIElQQzo6V2FpdEZvck9wdGlvbjo6SW50ZXJydXB0V2FpdGluZ0lm
U3luY01lc3NhZ2VBcnJpdmVzKTsKKyAgICByZXR1cm4gY29ubmVjdGlvbi0+d2FpdEZvckFuZERp
c3BhdGNoSW1tZWRpYXRlbHk8TWVzc2FnZXM6OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OkNvbW1p
dEltYWdlQnVmZmVyRmx1c2hDb250ZXh0PihtX3JlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyLCBT
ZWNvbmRzOjppbmZpbml0eSgpLCBJUEM6OldhaXRGb3JPcHRpb246OkludGVycnVwdFdhaXRpbmdJ
ZlN5bmNNZXNzYWdlQXJyaXZlcyk7CiB9CiAKIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4g
UmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6Y3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRTaXpl
JiBzaXplLCBTaG91bGRBY2NlbGVyYXRlIHNob3VsZEFjY2VsZXJhdGUsIGZsb2F0IHJlc29sdXRp
b25TY2FsZSwgQ29sb3JTcGFjZSBjb2xvclNwYWNlKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392494</attachid>
            <date>2020-03-04 15:16:57 -0800</date>
            <delta_ts>2020-03-04 15:50:58 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>bug-208560-20200304151656.patch</filename>
            <type>text/plain</type>
            <size>17811</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3ODcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDhjY2YzZjRjMzZjN2Y3NTUx
ZGQzYmMxYTczNTIxMmY4ZDRkZmVhODEuLjZlYjkxOTU0NTUxY2VjZjNhZjY2NjYzY2RlNmUxOWRh
MTRhODJiNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDMtMDQgIE15bGVzIEMu
IE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbR1BVIFByb2Nlc3Nd
IEltcGxlbWVudCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuZ2V0SW1hZ2VEYXRhKCkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODU2MAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAo
T09QUyEpLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdC
YWNrZW5kUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2Vz
LnlhbWw6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZm
ZXIuaDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlSW1hZ2VCdWZmZXI6OmFzeW5jcm9ub3VzbHlG
bHVzaERyYXdpbmdDb250ZXh0KToKKwogMjAyMC0wMy0wNCAgQW50b2luZSBRdWludCAgPGdyYW91
dHNAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhbiBTUEkgdG8gYWxsb3cgVXNlclN0eWxlU2hl
ZXQgaW5qZWN0aW9uIHRvIHRhcmdldCBhIHNwZWNpZmljIFdLV2ViVmlldwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQWxwaGFQcmVtdWx0aXBsaWNhdGlvbi5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQWxwaGFQcmVtdWx0aXBsaWNhdGlv
bi5oCmluZGV4IDZkMWNhZWY4NTQxZGVlMDYyYmZlMDU0MTZjZGEyZjJhN2Y3OTI2ZTIuLmIyNzc4
MGY2MmIxOTJmNTgxYzI0MzkyYWQxOTE3ZTBjNWM1ZjcwOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0FscGhhUHJlbXVsdGlwbGljYXRpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9BbHBoYVByZW11bHRpcGxpY2F0aW9uLmgK
QEAgLTM0LDYgKzM0LDE3IEBAIGVudW0gY2xhc3MgQWxwaGFQcmVtdWx0aXBsaWNhdGlvbiA6IHVp
bnQ4X3QgewogICAgIFVucHJlbXVsdGlwbGllZAogfTsKIAorCiBXRUJDT1JFX0VYUE9SVCBXVEY6
OlRleHRTdHJlYW0mIG9wZXJhdG9yPDwoV1RGOjpUZXh0U3RyZWFtJiwgQWxwaGFQcmVtdWx0aXBs
aWNhdGlvbik7CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK30KKworbmFtZXNwYWNlIFdURiB7
Cit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OkFscGhhUHJlbXVsdGlwbGlj
YXRpb24+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJDb3Jl
OjpBbHBoYVByZW11bHRpcGxpY2F0aW9uLAorICAgICAgICBXZWJDb3JlOjpBbHBoYVByZW11bHRp
cGxpY2F0aW9uOjpQcmVtdWx0aXBsaWVkLAorICAgICAgICBXZWJDb3JlOjpBbHBoYVByZW11bHRp
cGxpY2F0aW9uOjpVbnByZW11bHRpcGxpZWQKKyAgICA+OworfTsKK30KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlck1lc3NhZ2VI
YW5kbGVyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVJ
bWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyUHJveHkuaAppbmRleCAzOGZjZGJiZjBhZGFjZGQzZjk1
YTExZDBjYzA1NGM2YjQ1ZWIyNGE0Li43ZmYzZjFiYWM3NWFjYmJlMmE3MDExZWUxOTkyYzJjN2Ez
ZTljYjk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVt
b3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXJQcm94eS5o
CkBAIC0zMyw2ICszMywxMSBAQAogI2luY2x1ZGUgPFdlYkNvcmUvRGlzcGxheUxpc3QuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL0Zsb2F0U2l6ZS5oPgogCituYW1lc3BhY2UgV2ViQ29yZSB7CitlbnVt
IGNsYXNzIEFscGhhUHJlbXVsdGlwbGljYXRpb24gOiB1aW50OF90OworY2xhc3MgSW1hZ2VEYXRh
OworfQorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgUmVtb3RlUmVuZGVyaW5nQmFja2Vu
ZFByb3h5OwpAQCAtNDMsNiArNDgsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBNZXNzYWdlcyB0byBi
ZSByZWNlaXZlZC4gU2VlIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5tZXNzYWdlcy5pbi4K
ICAgICB2aXJ0dWFsIHZvaWQgZmx1c2hEcmF3aW5nQ29udGV4dChjb25zdCBXZWJDb3JlOjpEaXNw
bGF5TGlzdDo6RGlzcGxheUxpc3QmLCBJbWFnZUJ1ZmZlckZsdXNoSWRlbnRpZmllcikgPSAwOwor
ICAgIHZpcnR1YWwgUmVmUHRyPFdlYkNvcmU6OkltYWdlRGF0YT4gcGVyZm9ybUdldEltYWdlRGF0
YShXZWJDb3JlOjpBbHBoYVByZW11bHRpcGxpY2F0aW9uIG91dHB1dEZvcm1hdCwgV2ViQ29yZTo6
SW50UmVjdCBzcmNSZWN0KSA9IDA7CiAKIHByb3RlY3RlZDoKICAgICBSZW1vdGVJbWFnZUJ1ZmZl
ck1lc3NhZ2VIYW5kbGVyUHJveHkoUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5JiwgSW1hZ2VC
dWZmZXJJZGVudGlmaWVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9n
cmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94eS5oCmluZGV4IDAwNjFkNzdlOWNmNDRj
YWJkNDJjOTNhOTQ5NmY0YmE3ZDVhODhhMTkuLmZmY2RiOTJiMmZjNTFjMmM3MTAyZmUyZjdlNDFi
ZWY4NTlmMmE5MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGlj
cy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyUHJveHkuaApAQCAtNTQsNiArNTQsMTEgQEAgcHVi
bGljOgogcHJpdmF0ZToKICAgICB1c2luZyBCYXNlQ29uY3JldGVJbWFnZUJ1ZmZlcjo6Zmx1c2hE
cmF3aW5nQ29udGV4dDsKIAorICAgIFJlZlB0cjxXZWJDb3JlOjpJbWFnZURhdGE+IHBlcmZvcm1H
ZXRJbWFnZURhdGEoV2ViQ29yZTo6QWxwaGFQcmVtdWx0aXBsaWNhdGlvbiBvdXRwdXRGb3JtYXQs
IFdlYkNvcmU6OkludFJlY3Qgc3JjUmVjdCkgb3ZlcnJpZGUKKyAgICB7CisgICAgICAgIHJldHVy
biBCYXNlQ29uY3JldGVJbWFnZUJ1ZmZlcjo6Z2V0SW1hZ2VEYXRhKG91dHB1dEZvcm1hdCwgc3Jj
UmVjdCk7CisgICAgfQorCiAgICAgdm9pZCBmbHVzaERyYXdpbmdDb250ZXh0KGNvbnN0IFdlYkNv
cmU6OkRpc3BsYXlMaXN0OjpEaXNwbGF5TGlzdCYgZGlzcGxheUxpc3QsIEltYWdlQnVmZmVyRmx1
c2hJZGVudGlmaWVyIGZsdXNoSWRlbnRpZmllcikgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIGlm
IChkaXNwbGF5TGlzdC5pdGVtQ291bnQoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5
LmNwcAppbmRleCBlNDMxNzA2YjBlOGZmMDkyZmY4NmYyNjNlZGU1NjNlMmRiMTQ2YTIzLi5jNDMw
NzNkYTQxZTg2ZTBkNmVhMzMxNzk3NjZmOTU4NTI3NzkwODdkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5n
QmFja2VuZFByb3h5LmNwcApAQCAtMTAwLDYgKzEwMCwxOSBAQCB2b2lkIFJlbW90ZVJlbmRlcmlu
Z0JhY2tlbmRQcm94eTo6cmVsZWFzZUltYWdlQnVmZmVyKEltYWdlQnVmZmVySWRlbnRpZmllciBp
bWFnZQogICAgIEFTU0VSVF9VTlVTRUQoZm91bmQsIGZvdW5kKTsKIH0KIAordm9pZCBSZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kUHJveHk6OmdldEltYWdlRGF0YShXZWJDb3JlOjpBbHBoYVByZW11bHRp
cGxpY2F0aW9uIG91dHB1dEZvcm1hdCwgV2ViQ29yZTo6SW50UmVjdCBzcmNSZWN0LCBJbWFnZUJ1
ZmZlcklkZW50aWZpZXIgaW1hZ2VCdWZmZXJJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKFdlYkNvcmU6OkludFNpemUmJiwgSVBDOjpTaGFyZWRCdWZmZXJEYXRhUmVmZXJlbmNlJiYp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIGlmIChhdXRvIGltYWdlQnVmZmVyID0gbV9p
bWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyTWFwLmdldChpbWFnZUJ1ZmZlcklkZW50aWZpZXIpKSB7
CisgICAgICAgIGF1dG8gaW1hZ2VEYXRhID0gaW1hZ2VCdWZmZXItPnBlcmZvcm1HZXRJbWFnZURh
dGEob3V0cHV0Rm9ybWF0LCBzcmNSZWN0KTsKKyAgICAgICAgaWYgKCFpbWFnZURhdGEgfHwgIWlt
YWdlRGF0YS0+ZGF0YSgpKSB7CisgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXZWJDb3Jl
OjpJbnRTaXplKCksIElQQzo6U2hhcmVkQnVmZmVyRGF0YVJlZmVyZW5jZSgpKTsKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICAvLyBGSVhNRTogQ29weWluZyBmcm9tIHRo
ZSBJbWFnZURhdGEgdG8gdGhlIFNoYXJlZEJ1ZmZlciBpcyBzbG93LiBJbnZlbnQgc29tZSB3YXkg
Zm9yIHRoZSBTaGFyZWRCdWZmZXIgdG8gYmUgcG9wdWxhdGVkIGRpcmVjdGx5LgorICAgICAgICBj
b21wbGV0aW9uSGFuZGxlcihpbWFnZURhdGEtPnNpemUoKSwgSVBDOjpTaGFyZWRCdWZmZXJEYXRh
UmVmZXJlbmNlKFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKGltYWdlRGF0YS0+ZGF0YSgp
LT5kYXRhKCksIGltYWdlRGF0YS0+ZGF0YSgpLT5ieXRlTGVuZ3RoKCkpKSk7CisgICAgfQorfQor
CiB2b2lkIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eTo6Zmx1c2hJbWFnZUJ1ZmZlckRyYXdp
bmdDb250ZXh0KGNvbnN0IFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpEaXNwbGF5TGlzdCYgZGlzcGxh
eUxpc3QsIEltYWdlQnVmZmVyRmx1c2hJZGVudGlmaWVyIGZsdXNoSWRlbnRpZmllciwgSW1hZ2VC
dWZmZXJJZGVudGlmaWVyIGltYWdlQnVmZmVySWRlbnRpZmllcikKIHsKICAgICBpZiAoYXV0byBp
bWFnZUJ1ZmZlciA9IG1faW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlck1hcC5nZXQoaW1hZ2VCdWZm
ZXJJZGVudGlmaWVyKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFw
aGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuaAppbmRleCA0ZjhhODlh
ZmM3MmMxOGQ4NGY0ZGEzYWE0Y2Y5ZWU4ODkyNjdiZmQzLi5iYzgyNjljMzE3YzlhNzI0MDg2YmNm
NDk5YzhlNTUzYTcwN2UzMTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
Z3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmgKKysrIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5oCkBAIC0z
NCw2ICszNCw3IEBACiAjaW5jbHVkZSAiTWVzc2FnZVNlbmRlci5oIgogI2luY2x1ZGUgIlJlbW90
ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXJQcm94eS5oIgogI2luY2x1ZGUgIlJlbmRlcmluZ0Jh
Y2tlbmRJZGVudGlmaWVyLmgiCisjaW5jbHVkZSAiU2hhcmVkQnVmZmVyRGF0YVJlZmVyZW5jZS5o
IgogI2luY2x1ZGUgPFdlYkNvcmUvQ29sb3JTcGFjZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRGlz
cGxheUxpc3RJdGVtcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRmxvYXRTaXplLmg+CkBAIC02Mywx
MSArNjQsMTMgQEAgcHJpdmF0ZToKIAogICAgIC8vIElQQzo6TWVzc2FnZVJlY2VpdmVyCiAgICAg
dm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBv
dmVycmlkZTsKKyAgICB2b2lkIGRpZFJlY2VpdmVTeW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24m
LCBJUEM6OkRlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpFbmNvZGVyPiYpIG92ZXJyaWRl
OwogCiAgICAgLy8gTWVzc2FnZXMgdG8gYmUgcmVjZWl2ZWQuCiAgICAgdm9pZCBjcmVhdGVJbWFn
ZUJ1ZmZlcihjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIGxvZ2ljYWxTaXplLCBXZWJDb3JlOjpS
ZW5kZXJpbmdNb2RlLCBmbG9hdCByZXNvbHV0aW9uU2NhbGUsIFdlYkNvcmU6OkNvbG9yU3BhY2Us
IEltYWdlQnVmZmVySWRlbnRpZmllcik7CiAgICAgdm9pZCByZWxlYXNlSW1hZ2VCdWZmZXIoSW1h
Z2VCdWZmZXJJZGVudGlmaWVyKTsKICAgICB2b2lkIGZsdXNoSW1hZ2VCdWZmZXJEcmF3aW5nQ29u
dGV4dChjb25zdCBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6RGlzcGxheUxpc3QmLCBJbWFnZUJ1ZmZl
ckZsdXNoSWRlbnRpZmllciwgSW1hZ2VCdWZmZXJJZGVudGlmaWVyKTsKKyAgICB2b2lkIGdldElt
YWdlRGF0YShXZWJDb3JlOjpBbHBoYVByZW11bHRpcGxpY2F0aW9uIG91dHB1dEZvcm1hdCwgV2Vi
Q29yZTo6SW50UmVjdCBzcmNSZWN0LCBJbWFnZUJ1ZmZlcklkZW50aWZpZXIsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoV2ViQ29yZTo6SW50U2l6ZSYmLCBJUEM6OlNoYXJlZEJ1ZmZlckRhdGFSZWZl
cmVuY2UmJik+JiYpOwogCiAgICAgdXNpbmcgSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlck1hcCA9
IEhhc2hNYXA8SW1hZ2VCdWZmZXJJZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlSW1h
Z2VCdWZmZXJNZXNzYWdlSGFuZGxlclByb3h5Pj47CiAgICAgSW1hZ2VCdWZmZXJNZXNzYWdlSGFu
ZGxlck1hcCBtX2ltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXJNYXA7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJl
bmRlcmluZ0JhY2tlbmRQcm94eS5tZXNzYWdlcy5pbgppbmRleCA2NWE4ZDkwYTY2Zjg1ZThmODgz
YzE1ZTRiMGUzYmY4MGM2OTRjYzE4Li4yN2MxNzFjZTMzMDMwNzhiODUwMGU3NjEzOGM1MTk3Yjgy
MmNlZmVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVt
b3RlUmVuZGVyaW5nQmFja2VuZFByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkubWVzc2FnZXMu
aW4KQEAgLTIzLDkgKzIzLDEwIEBACiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQogCiBtZXNzYWdl
cyAtPiBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkgTm90UmVmQ291bnRlZCB7Ci0gICAgdm9p
ZCBDcmVhdGVJbWFnZUJ1ZmZlcihXZWJDb3JlOjpGbG9hdFNpemUgbG9naWNhbFNpemUsIFdlYkNv
cmU6OlJlbmRlcmluZ01vZGUgcmVuZGVyaW5nTW9kZSwgZmxvYXQgcmVzb2x1dGlvblNjYWxlLCBX
ZWJDb3JlOjpDb2xvclNwYWNlIGNvbG9yU3BhY2UsIFdlYktpdDo6SW1hZ2VCdWZmZXJJZGVudGlm
aWVyIGltYWdlQnVmZmVySWRlbnRpZmllcikKLSAgICB2b2lkIFJlbGVhc2VJbWFnZUJ1ZmZlcihX
ZWJLaXQ6OkltYWdlQnVmZmVySWRlbnRpZmllciBpbWFnZUJ1ZmZlcklkZW50aWZpZXIpCi0gICAg
dm9pZCBGbHVzaEltYWdlQnVmZmVyRHJhd2luZ0NvbnRleHQoV2ViQ29yZTo6RGlzcGxheUxpc3Q6
OkRpc3BsYXlMaXN0IGRpc3BsYXlMaXN0LCBXZWJLaXQ6OkltYWdlQnVmZmVyRmx1c2hJZGVudGlm
aWVyIGZsdXNoSWRlbnRpZmllciwgV2ViS2l0OjpJbWFnZUJ1ZmZlcklkZW50aWZpZXIgaW1hZ2VC
dWZmZXJJZGVudGlmaWVyKQorICAgIENyZWF0ZUltYWdlQnVmZmVyKFdlYkNvcmU6OkZsb2F0U2l6
ZSBsb2dpY2FsU2l6ZSwgV2ViQ29yZTo6UmVuZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlLCBmbG9h
dCByZXNvbHV0aW9uU2NhbGUsIFdlYkNvcmU6OkNvbG9yU3BhY2UgY29sb3JTcGFjZSwgV2ViS2l0
OjpJbWFnZUJ1ZmZlcklkZW50aWZpZXIgaW1hZ2VCdWZmZXJJZGVudGlmaWVyKQorICAgIFJlbGVh
c2VJbWFnZUJ1ZmZlcihXZWJLaXQ6OkltYWdlQnVmZmVySWRlbnRpZmllciBpbWFnZUJ1ZmZlcklk
ZW50aWZpZXIpCisgICAgRmx1c2hJbWFnZUJ1ZmZlckRyYXdpbmdDb250ZXh0KFdlYkNvcmU6OkRp
c3BsYXlMaXN0OjpEaXNwbGF5TGlzdCBkaXNwbGF5TGlzdCwgV2ViS2l0OjpJbWFnZUJ1ZmZlckZs
dXNoSWRlbnRpZmllciBmbHVzaElkZW50aWZpZXIsIFdlYktpdDo6SW1hZ2VCdWZmZXJJZGVudGlm
aWVyIGltYWdlQnVmZmVySWRlbnRpZmllcikKKyAgICBHZXRJbWFnZURhdGEoZW51bTp1aW50OF90
IFdlYkNvcmU6OkFscGhhUHJlbXVsdGlwbGljYXRpb24gb3V0cHV0Rm9ybWF0LCBXZWJDb3JlOjpJ
bnRSZWN0IHNyY1JlY3QsIFdlYktpdDo6SW1hZ2VCdWZmZXJJZGVudGlmaWVyIGltYWdlQnVmZmVy
SWRlbnRpZmllcikgLT4gKFdlYkNvcmU6OkludFNpemUgc2l6ZSwgSVBDOjpTaGFyZWRCdWZmZXJE
YXRhUmVmZXJlbmNlIGRhdGEpIFN5bmNocm9ub3VzCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoR1BV
X1BST0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9NZXNzYWdl
U2VuZGVyLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9NZXNzYWdlU2VuZGVyLmgKaW5k
ZXggODEwYTUxNDk3MDcyNzY4NDAxYmZiOWRmZmUxNTljNjBiMDlkZTcxYi4uMzIxOWM3ZGRhNWMx
ZTRhZDAyNDA4MDNmNDQ1M2YwZjM4MjgxN2QxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Q
bGF0Zm9ybS9JUEMvTWVzc2FnZVNlbmRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
SVBDL01lc3NhZ2VTZW5kZXIuaApAQCAtNzEsNiArNzEsMTIgQEAgcHVibGljOgogICAgICAgICBy
ZXR1cm4gbWVzc2FnZVNlbmRlckNvbm5lY3Rpb24oKS0+c2VuZFN5bmMoV1RGTW92ZShtZXNzYWdl
KSwgV1RGTW92ZShyZXBseSksIGRlc3RpbmF0aW9uSUQsIHRpbWVvdXQsIHNlbmRTeW5jT3B0aW9u
cyk7CiAgICAgfQogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVSwgdHlwZW5hbWUgVD4KKyAgICBi
b29sIHNlbmRTeW5jKFUmJiBtZXNzYWdlLCB0eXBlbmFtZSBVOjpSZXBseSYmIHJlcGx5LCBPYmpl
Y3RJZGVudGlmaWVyPFQ+IGRlc3RpbmF0aW9uSUQsIFNlY29uZHMgdGltZW91dCA9IFNlY29uZHM6
OmluZmluaXR5KCksIE9wdGlvblNldDxTZW5kU3luY09wdGlvbj4gc2VuZFN5bmNPcHRpb25zID0g
eyB9KQorICAgIHsKKyAgICAgICAgcmV0dXJuIHNlbmRTeW5jPFU+KHN0ZDo6Zm9yd2FyZDxVPiht
ZXNzYWdlKSwgV1RGTW92ZShyZXBseSksIGRlc3RpbmF0aW9uSUQudG9VSW50NjQoKSwgdGltZW91
dCwgc2VuZFN5bmNPcHRpb25zKTsKKyAgICB9CisKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0
eXBlbmFtZSBDPgogICAgIHZvaWQgc2VuZFdpdGhBc3luY1JlcGx5KFQmJiBtZXNzYWdlLCBDJiYg
Y29tcGxldGlvbkhhbmRsZXIsIE9wdGlvblNldDxTZW5kT3B0aW9uPiBzZW5kT3B0aW9ucyA9IHsg
fSkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNl
cy55YW1sIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAppbmRleCBh
Nzc5ZTMzZjQ0MjNkZDE4NjQwNjVmOWZhNzI2N2U5ZDA5ZDhkMTc0Li44YmRhZGM4YjJmNTcwMmFl
YmIzMzFiMjNmNTFkOTE1Zjc1N2QwM2ZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZl
cmVuY2VzLnlhbWwKQEAgLTE3NDcsNyArMTc0Nyw3IEBAIENhcHR1cmVBdWRpb0luR1BVUHJvY2Vz
c0VuYWJsZWQ6CiAKIFJlbmRlckNhbnZhc0luR1BVUHJvY2Vzc0VuYWJsZWQ6CiAgIHR5cGU6IGJv
b2wKLSAgZGVmYXVsdFZhbHVlOiBmYWxzZQorICBkZWZhdWx0VmFsdWU6IHRydWUKICAgaHVtYW5S
ZWFkYWJsZU5hbWU6ICJSZW5kZXIgY2FudmFzIGluIEdQVSBQcm9jZXNzIgogICBodW1hblJlYWRh
YmxlRGVzY3JpcHRpb246ICJFbmFibGUgY2FudmFzIHJlbmRlcmluZyBpbiBHUFUgUHJvY2VzcyIK
ICAgY2F0ZWdvcnk6IGludGVybmFsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54
Y29kZXByb2oveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9XZWJLaXQueGNzY2hlbWUgYi9Tb3VyY2Uv
V2ViS2l0L1dlYktpdC54Y29kZXByb2oveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9XZWJLaXQueGNz
Y2hlbWUKaW5kZXggNjEwMzliMWM3MTczOGYzMjMzZGI4YjM1OTg0M2M0NGM4M2VmOWM5Zi4uMjE4
ZGIyYjM3Njk5MGM0NThiNWU5ODNiMTVkODJmOWRjNGEzMTg2YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3hjc2hhcmVkZGF0YS94Y3NjaGVtZXMvV2ViS2l0Lnhj
c2NoZW1lCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai94Y3NoYXJlZGRhdGEv
eGNzY2hlbWVzL1dlYktpdC54Y3NjaGVtZQpAQCAtMzEsNyArMzEsNyBAQAogICAgICAgPC9UZXN0
YWJsZXM+CiAgICA8L1Rlc3RBY3Rpb24+CiAgICA8TGF1bmNoQWN0aW9uCi0gICAgICBidWlsZENv
bmZpZ3VyYXRpb24gPSAiUmVsZWFzZSIKKyAgICAgIGJ1aWxkQ29uZmlndXJhdGlvbiA9ICJEZWJ1
ZyIKICAgICAgIHNlbGVjdGVkRGVidWdnZXJJZGVudGlmaWVyID0gIlhjb2RlLkRlYnVnZ2VyRm91
bmRhdGlvbi5EZWJ1Z2dlci5MTERCIgogICAgICAgc2VsZWN0ZWRMYXVuY2hlcklkZW50aWZpZXIg
PSAiWGNvZGUuRGVidWdnZXJGb3VuZGF0aW9uLkxhdW5jaGVyLkxMREIiCiAgICAgICBsYXVuY2hT
dHlsZSA9ICIwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFw
aGljcy9SZW1vdGVJbWFnZUJ1ZmZlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9n
cmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlci5oCmluZGV4IGI3YzBlOWI0NWYwZDcwMjY0OTRlM2Nl
MDk1YzQ2NTRjOTc5ZjI4YzkuLjQzNGMzNjE4M2Q3MjYzNmVkNTA1Yzc2MGJmMWZkMjM5MzI3NGY4
MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVt
b3RlSW1hZ2VCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBo
aWNzL1JlbW90ZUltYWdlQnVmZmVyLmgKQEAgLTcyLDIwICs3MiwzNiBAQCBwcm90ZWN0ZWQ6CiAg
ICAgICAgIHJldHVybiBtX2JhY2tlbmQuZ2V0KCk7CiAgICAgfQogCisgICAgUmVmUHRyPEltYWdl
RGF0YT4gZ2V0SW1hZ2VEYXRhKEFscGhhUHJlbXVsdGlwbGljYXRpb24gb3V0cHV0Rm9ybWF0LCBj
b25zdCBJbnRSZWN0JiBzcmNSZWN0KSBjb25zdCBvdmVycmlkZQorICAgIHsKKyAgICAgICAgY29u
c3RfY2FzdDxSZW1vdGVJbWFnZUJ1ZmZlcio+KHRoaXMpLT5hc3luY3Jvbm91c2x5Rmx1c2hEcmF3
aW5nQ29udGV4dCgpOworICAgICAgICBhdXRvIHJlc3VsdCA9IGNvbnN0X2Nhc3Q8UmVtb3RlSW1h
Z2VCdWZmZXIqPih0aGlzKS0+UmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlcjo6Z2V0SW1h
Z2VEYXRhKG91dHB1dEZvcm1hdCwgc3JjUmVjdCk7CisgICAgICAgIC8vIGdldEltYWdlRGF0YSBp
cyBzeW5jaHJvbm91cywgd2hpY2ggbWVhbnMgd2UndmUgYWxyZWFkeSByZWNlaXZlZCB0aGUgQ29t
bWl0SW1hZ2VCdWZmZXJGbHVzaENvbnRleHQgbWVzc2FnZS4KKyAgICAgICAgcmV0dXJuIHJlc3Vs
dDsKKyAgICB9CisKICAgICB2b2lkIGZsdXNoQ29udGV4dCgpIG92ZXJyaWRlCiAgICAgewogICAg
ICAgICBmbHVzaERyYXdpbmdDb250ZXh0KCk7CiAgICAgICAgIG1fYmFja2VuZC0+Zmx1c2hDb250
ZXh0KCk7CiAgICAgfQogCi0gICAgdm9pZCBmbHVzaERyYXdpbmdDb250ZXh0KCkgb3ZlcnJpZGUK
KyAgICBib29sIGFzeW5jcm9ub3VzbHlGbHVzaERyYXdpbmdDb250ZXh0KCkKICAgICB7CiAgICAg
ICAgIGF1dG8mIGRpc3BsYXlMaXN0ID0gbV9kcmF3aW5nQ29udGV4dC5kaXNwbGF5TGlzdCgpOwog
ICAgICAgICBpZiAoZGlzcGxheUxpc3QuaXRlbUNvdW50KCkpIHsKICAgICAgICAgICAgIFJlbW90
ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXI6OmZsdXNoRHJhd2luZ0NvbnRleHQoZGlzcGxheUxp
c3QpOwotICAgICAgICAgICAgUmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlcjo6d2FpdEZv
ckNvbW1pdEltYWdlQnVmZmVyRmx1c2hDb250ZXh0KCk7Ci0gICAgICAgICAgICBkaXNwbGF5TGlz
dC5jbGVhcigpOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0KKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIHZvaWQgZmx1c2hEcmF3aW5nQ29udGV4dCgpIG92
ZXJyaWRlCisgICAgeworICAgICAgICBhdXRvJiBkaXNwbGF5TGlzdCA9IG1fZHJhd2luZ0NvbnRl
eHQuZGlzcGxheUxpc3QoKTsKKyAgICAgICAgaWYgKGFzeW5jcm9ub3VzbHlGbHVzaERyYXdpbmdD
b250ZXh0KCkpCisgICAgICAgICAgICBSZW1vdGVJbWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyOjp3
YWl0Rm9yQ29tbWl0SW1hZ2VCdWZmZXJGbHVzaENvbnRleHQoKTsKKyAgICAgICAgZGlzcGxheUxp
c3QuY2xlYXIoKTsKICAgICB9CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXIuY3BwIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlck1l
c3NhZ2VIYW5kbGVyLmNwcAppbmRleCA1ZTBkNWY1NWYzZTBjODhmYmU1ZTBkNDk1MWZlMTk5MmM2
NGZlYzAzLi4wZjE5YTY1ZDQ5NmQwZWNhMzkwNWVhM2M2MmVkNDk1NzRhN2E4ZDhlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVm
ZmVyTWVzc2FnZUhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
Z3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlci5jcHAKQEAgLTMwLDYgKzMw
LDkgQEAKIAogI2luY2x1ZGUgIlJlbW90ZVJlbmRlcmluZ0JhY2tlbmQuaCIKICNpbmNsdWRlICJS
ZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHlNZXNzYWdlcy5oIgorI2luY2x1ZGUgIlNoYXJlZEJ1
ZmZlckRhdGFSZWZlcmVuY2UuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9HZW5lcmljVHlw
ZWRBcnJheVZpZXdJbmxpbmVzLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNHZW5lcmlj
VHlwZWRBcnJheVZpZXdJbmxpbmVzLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CkBAIC02MSw2ICs2NCwxOSBAQCB2b2lkIFJlbW90ZUltYWdlQnVmZmVy
TWVzc2FnZUhhbmRsZXI6OndhaXRGb3JDb21taXRJbWFnZUJ1ZmZlckZsdXNoQ29udGV4dCgpCiAg
ICAgICAgIG1fcmVtb3RlUmVuZGVyaW5nQmFja2VuZC0+d2FpdEZvckNvbW1pdEltYWdlQnVmZmVy
Rmx1c2hDb250ZXh0KCk7CiB9CiAKK1JlZlB0cjxXZWJDb3JlOjpJbWFnZURhdGE+IFJlbW90ZUlt
YWdlQnVmZmVyTWVzc2FnZUhhbmRsZXI6OmdldEltYWdlRGF0YShBbHBoYVByZW11bHRpcGxpY2F0
aW9uIG91dHB1dEZvcm1hdCwgV2ViQ29yZTo6SW50UmVjdCBzcmNSZWN0KQoreworICAgIGlmICgh
bV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBX
ZWJDb3JlOjpJbnRTaXplIHNpemU7CisgICAgSVBDOjpTaGFyZWRCdWZmZXJEYXRhUmVmZXJlbmNl
IGRhdGE7CisgICAgbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kLT5zZW5kU3luYyhNZXNzYWdlczo6
UmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OjpHZXRJbWFnZURhdGEob3V0cHV0Rm9ybWF0LCBz
cmNSZWN0LCBtX2ltYWdlQnVmZmVySWRlbnRpZmllciksIE1lc3NhZ2VzOjpSZW1vdGVSZW5kZXJp
bmdCYWNrZW5kUHJveHk6OkdldEltYWdlRGF0YTo6UmVwbHkoc2l6ZSwgZGF0YSksIG1fcmVtb3Rl
UmVuZGVyaW5nQmFja2VuZC0+cmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIoKSk7CisgICAgaWYg
KCFkYXRhLmJ1ZmZlcigpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAvLyBGSVhNRTog
Q29weWluZyBmcm9tIHRoZSBzaGFyZWQgYnVmZmVyIGludG8gdGhlIEltYWdlRGF0YSBpcyBzbG93
LiBJbnZlbnQgc29tZSB3YXkgZm9yIHRoZSBJbWFnZURhdGEgdG8gc2ltcGx5IGp1c3QgcmV0YWlu
IHRoZSBTaGFyZWRCdWZmZXIsIGFuZCB1c2UgaXQgaW50ZXJuYWxseS4KKyAgICByZXR1cm4gSW1h
Z2VEYXRhOjpjcmVhdGUoc2l6ZSwgVWludDhDbGFtcGVkQXJyYXk6OmNyZWF0ZShyZWludGVycHJl
dF9jYXN0PGNvbnN0IHVpbnQ4X3QqPihkYXRhLmRhdGEoKSksIGRhdGEuc2l6ZSgpKSk7Cit9CisK
IHZvaWQgUmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlcjo6Zmx1c2hEcmF3aW5nQ29udGV4
dChjb25zdCBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6RGlzcGxheUxpc3QmIGRpc3BsYXlMaXN0KQog
ewogICAgIGlmICghbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlck1lc3NhZ2VI
YW5kbGVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUlt
YWdlQnVmZmVyTWVzc2FnZUhhbmRsZXIuaAppbmRleCAzYWUxYTk4NzllZmQxOTNhOWNhNzBmOGQ0
YTNiOTg1ZTczYWYzNTY1Li44ZGFiM2Q0Y2U5OWZhNDMzZDlhNzQyODg4MWIzYTFjZDdjZWE1NWE3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90
ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXIuaApAQCAtMzQs
NiArMzQsMTEgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0U2l6ZS5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUmVuZGVyaW5nTW9kZS5oPgogCituYW1lc3BhY2UgV2ViQ29yZSB7CitlbnVtIGNsYXNz
IEFscGhhUHJlbXVsdGlwbGljYXRpb24gOiB1aW50OF90OworY2xhc3MgSW1hZ2VEYXRhOworfQor
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDsKQEAg
LTYwLDYgKzY1LDcgQEAgcHJvdGVjdGVkOgogCiAgICAgLy8gTWVzc2FnZXMgdG8gYmUgc2VudC4g
U2VlIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5tZXNzYWdlcy5pbi4KICAgICB2b2lkIGZs
dXNoRHJhd2luZ0NvbnRleHQoY29uc3QgV2ViQ29yZTo6RGlzcGxheUxpc3Q6OkRpc3BsYXlMaXN0
Jik7CisgICAgUmVmUHRyPFdlYkNvcmU6OkltYWdlRGF0YT4gZ2V0SW1hZ2VEYXRhKFdlYkNvcmU6
OkFscGhhUHJlbXVsdGlwbGljYXRpb24gb3V0cHV0Rm9ybWF0LCBXZWJDb3JlOjpJbnRSZWN0IHNy
Y1JlY3QpOwogCiBwcml2YXRlOgogICAgIFdlYWtQdHI8UmVtb3RlUmVuZGVyaW5nQmFja2VuZD4g
bV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHAK
aW5kZXggMTk1ODMxNjVhY2ZmOGFjNjI3OTVlYzE2OGNjOTA5YjZhZWU2Yzk4YS4uYTY5NzFjZWM1
NzIzMWI1OTU5NzVhYmE5MmQxNWEwMjY2Zjk1ZTJlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0Jh
Y2tlbmQuY3BwCkBAIC03NSwxMyArNzUsMTMgQEAgdWludDY0X3QgUmVtb3RlUmVuZGVyaW5nQmFj
a2VuZDo6bWVzc2FnZVNlbmRlckRlc3RpbmF0aW9uSUQoKSBjb25zdAogYm9vbCBSZW1vdGVSZW5k
ZXJpbmdCYWNrZW5kOjp3YWl0Rm9yQ3JlYXRlSW1hZ2VCdWZmZXJCYWNrZW5kKCkKIHsKICAgICBS
ZWY8SVBDOjpDb25uZWN0aW9uPiBjb25uZWN0aW9uID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCku
ZW5zdXJlR1BVUHJvY2Vzc0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCk7Ci0gICAgcmV0dXJuIGNv
bm5lY3Rpb24tPndhaXRGb3JBbmREaXNwYXRjaEltbWVkaWF0ZWx5PE1lc3NhZ2VzOjpSZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kOjpDcmVhdGVJbWFnZUJ1ZmZlckJhY2tlbmQ+KG1fcmVuZGVyaW5nQmFj
a2VuZElkZW50aWZpZXIsIDFfcywgSVBDOjpXYWl0Rm9yT3B0aW9uOjpJbnRlcnJ1cHRXYWl0aW5n
SWZTeW5jTWVzc2FnZUFycml2ZXMpOworICAgIHJldHVybiBjb25uZWN0aW9uLT53YWl0Rm9yQW5k
RGlzcGF0Y2hJbW1lZGlhdGVseTxNZXNzYWdlczo6UmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6Q3Jl
YXRlSW1hZ2VCdWZmZXJCYWNrZW5kPihtX3JlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyLCBTZWNv
bmRzOjppbmZpbml0eSgpLCBJUEM6OldhaXRGb3JPcHRpb246OkludGVycnVwdFdhaXRpbmdJZlN5
bmNNZXNzYWdlQXJyaXZlcyk7CiB9CiAKIGJvb2wgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6d2Fp
dEZvckNvbW1pdEltYWdlQnVmZmVyRmx1c2hDb250ZXh0KCkKIHsKICAgICBSZWY8SVBDOjpDb25u
ZWN0aW9uPiBjb25uZWN0aW9uID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuZW5zdXJlR1BVUHJv
Y2Vzc0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCk7Ci0gICAgcmV0dXJuIGNvbm5lY3Rpb24tPndh
aXRGb3JBbmREaXNwYXRjaEltbWVkaWF0ZWx5PE1lc3NhZ2VzOjpSZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kOjpDb21taXRJbWFnZUJ1ZmZlckZsdXNoQ29udGV4dD4obV9yZW5kZXJpbmdCYWNrZW5kSWRl
bnRpZmllciwgMV9zLCBJUEM6OldhaXRGb3JPcHRpb246OkludGVycnVwdFdhaXRpbmdJZlN5bmNN
ZXNzYWdlQXJyaXZlcyk7CisgICAgcmV0dXJuIGNvbm5lY3Rpb24tPndhaXRGb3JBbmREaXNwYXRj
aEltbWVkaWF0ZWx5PE1lc3NhZ2VzOjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpDb21taXRJbWFn
ZUJ1ZmZlckZsdXNoQ29udGV4dD4obV9yZW5kZXJpbmdCYWNrZW5kSWRlbnRpZmllciwgU2Vjb25k
czo6aW5maW5pdHkoKSwgSVBDOjpXYWl0Rm9yT3B0aW9uOjpJbnRlcnJ1cHRXYWl0aW5nSWZTeW5j
TWVzc2FnZUFycml2ZXMpOwogfQogCiBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IFJlbW90
ZVJlbmRlcmluZ0JhY2tlbmQ6OmNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0IEZsb2F0U2l6ZSYgc2l6
ZSwgU2hvdWxkQWNjZWxlcmF0ZSBzaG91bGRBY2NlbGVyYXRlLCBmbG9hdCByZXNvbHV0aW9uU2Nh
bGUsIENvbG9yU3BhY2UgY29sb3JTcGFjZSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392498</attachid>
            <date>2020-03-04 15:50:59 -0800</date>
            <delta_ts>2020-03-04 16:53:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208560-20200304155058.patch</filename>
            <type>text/plain</type>
            <size>16843</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3ODcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTQwYWNhZGYyNzYzYWFh
MzBmYzJlODA2N2I3NDc5NWI2YjAyNTY2NC4uZGYwNjg4OThhM2UyZmY5MjBmOTlmMTQyZGY3MDMw
ZTFjZjRkYWUyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTAzLTA0ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVSBQcm9j
ZXNzXSBJbXBsZW1lbnQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmdldEltYWdlRGF0YSgpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg1NjAKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwMDYwNjE4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZXJlIGlzIG5v
IGJlaGF2aW9yIGNoYW5nZS4gV2UncmUganVzdCB1c2luZyB0aGUgR1BVIHByb2Nlc3Mgbm93LCBp
bnN0ZWFkIG9mIGltcGxlbWVudGluZworICAgICAgICB0aGUgY29tbWFuZCBsb2NhbGx5IGluIHRo
ZSBXZWIgUHJvY2Vzcy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0FscGhhUHJlbXVs
dGlwbGljYXRpb24uaDoKKwogMjAyMC0wMy0wNCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBw
bGUuY29tPgogCiAgICAgICAgIEFkZCBhbiBTUEkgdG8gYWxsb3cgVXNlclN0eWxlU2hlZXQgaW5q
ZWN0aW9uIHRvIHRhcmdldCBhIHNwZWNpZmljIFdLV2ViVmlldwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA4Y2NmM2Y0
YzM2YzdmNzU1MWRkM2JjMWE3MzUyMTJmOGQ0ZGZlYTgxLi41N2QyYTQwNDExMTc1YzRjZGViNDkw
YzM0NTIyMTQxMzYxYjU2ZTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIwLTAzLTA0
ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQ
VSBQcm9jZXNzXSBJbXBsZW1lbnQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmdldEltYWdlRGF0
YSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg1
NjAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwMDYwNjE4PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZHMgYSBuZXcgc3luY2hyb25vdXMgbWVz
c2FnZSBiZXR3ZWVuIHRoZSBXZWIgUHJvY2VzcyBhbmQgdGhlIEdQVSBQcm9jZXNzLgorICAgICAg
ICBVbmZvcnR1bmF0ZWx5LCBnZXRJbWFnZURhdGEoKSBzeW5jaHJvbm91c2x5IHJldHVybnMgcmVz
dWx0cywgYW5kIHdlIGRvbid0CisgICAgICAgIGhhdmUgdGhlIGluZnJhc3RydWN0dXJlIHRvIG1h
a2UgSmF2YVNjcmlwdCBpbnRlcnJ1cHRpYmxlLCBzbyB0aGlzIG1lYW5zIHRoYXQKKyAgICAgICAg
dGhlIG1lc3NhZ2UgaGFzIHRvIGJlIHN5bmNocm9ub3VzLCBhdCBsZWFzdCB1bnRpbCB3ZSBhZGQg
dGhhdCBpbmZyYXN0cnVjdHVyZS4KKworICAgICAgICBXaGVuIHRoZSBSZW1vdGVJbWFnZUJ1ZmZl
ciByZWNlaXZlcyB0aGUgZ2V0SW1hZ2VEYXRhKCkgY2FsbCwgaXQgZmlyc3QKKyAgICAgICAgYXN5
bmNocm9ub3VzbHkgZmx1c2hlcyB0aGUgcGVuZGluZyBkaXNwbGF5IGxpc3QsIGRvZXNuJ3Qgd2Fp
dCBmb3IgYSByZXNwb25zZSwgCisgICAgICAgIGFuZCB0aGVuIHNlbmRzIHRoZSBzeW5jaHJvbm91
cyBnZXRJbWFnZURhdGEoKSBtZXNzYWdlLiBCZWNhdXNlIHRoZSBHUFUgUHJvY2VzcworICAgICAg
ICByZWNlaXZlcyBtZXNzYWdlcyBpbi1vcmRlciwgdGhlIFdlYiBQcm9jZXNzIGRvZXNuJ3QgaGF2
ZSB0byB3YWl0IGZvciB0aGUKKyAgICAgICAgcmVzcG9uc2UgZnJvbSB0aGUgZmx1c2ggbWVzc2Fn
ZS4KKworICAgICAgICBBZnRlciB0aGlzIHBhdGNoLCB0aGVyZSBhcmUgYSBmZXcgb3B0aW1pemF0
aW9uIG9wcG9ydHVuaXRpZXMgd2UgY2FuIGV4cGxvaXQKKyAgICAgICAgd2hlcmUgd2UgdXNlIFNo
YXJlZEJ1ZmZlciBkaXJlY3RseSBpbnN0ZWFkIG9mIGNvcHlpbmcgaW50byBhbmQgb3V0IG9mIHRo
ZQorICAgICAgICBJbWFnZURhdGEuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1Jl
bW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXJQcm94eS5oOgorICAgICAgICAqIEdQVVByb2Nl
c3MvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94eS5oOgorICAgICAgICAqIEdQVVByb2Nl
c3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6UmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OjpnZXRJbWFnZURhdGEpOgorICAgICAg
ICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5Lmg6Cisg
ICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHku
bWVzc2FnZXMuaW46CisgICAgICAgICogUGxhdGZvcm0vSVBDL01lc3NhZ2VTZW5kZXIuaDoKKyAg
ICAgICAgKElQQzo6TWVzc2FnZVNlbmRlcjo6c2VuZFN5bmMpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyLmg6CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZUltYWdlQnVmZmVyOjphc3luY3Jvbm91c2x5Rmx1c2hEcmF3aW5nQ29udGV4dCk6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFu
ZGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRs
ZXI6OmdldEltYWdlRGF0YSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVt
b3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlci5oOgorCiAyMDIwLTAzLTA0ICBBbnRvaW5lIFF1
aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGFuIFNQSSB0byBhbGxvdyBV
c2VyU3R5bGVTaGVldCBpbmplY3Rpb24gdG8gdGFyZ2V0IGEgc3BlY2lmaWMgV0tXZWJWaWV3CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9BbHBoYVByZW11bHRp
cGxpY2F0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9BbHBoYVByZW11
bHRpcGxpY2F0aW9uLmgKaW5kZXggNmQxY2FlZjg1NDFkZWUwNjJiZmUwNTQxNmNkYTJmMmE3Zjc5
MjZlMi4uYjI3NzgwZjYyYjE5MmY1ODFjMjQzOTJhZDE5MTdlMGM1YzVmNzA5ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQWxwaGFQcmVtdWx0aXBsaWNhdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0FscGhhUHJlbXVsdGlw
bGljYXRpb24uaApAQCAtMzQsNiArMzQsMTcgQEAgZW51bSBjbGFzcyBBbHBoYVByZW11bHRpcGxp
Y2F0aW9uIDogdWludDhfdCB7CiAgICAgVW5wcmVtdWx0aXBsaWVkCiB9OwogCisKIFdFQkNPUkVf
RVhQT1JUIFdURjo6VGV4dFN0cmVhbSYgb3BlcmF0b3I8PChXVEY6OlRleHRTdHJlYW0mLCBBbHBo
YVByZW11bHRpcGxpY2F0aW9uKTsKIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfQorCituYW1l
c3BhY2UgV1RGIHsKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6QWxwaGFQ
cmVtdWx0aXBsaWNhdGlvbj4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAg
ICAgIFdlYkNvcmU6OkFscGhhUHJlbXVsdGlwbGljYXRpb24sCisgICAgICAgIFdlYkNvcmU6OkFs
cGhhUHJlbXVsdGlwbGljYXRpb246OlByZW11bHRpcGxpZWQsCisgICAgICAgIFdlYkNvcmU6OkFs
cGhhUHJlbXVsdGlwbGljYXRpb246OlVucHJlbXVsdGlwbGllZAorICAgID47Cit9OworfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVm
ZmVyTWVzc2FnZUhhbmRsZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBo
aWNzL1JlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXJQcm94eS5oCmluZGV4IDM4ZmNkYmJm
MGFkYWNkZDNmOTVhMTFkMGNjMDU0YzZiNDVlYjI0YTQuLjdmZjNmMWJhYzc1YWNiYmUyYTcwMTFl
ZTE5OTJjMmM3YTNlOWNiOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9n
cmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyUHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFu
ZGxlclByb3h5LmgKQEAgLTMzLDYgKzMzLDExIEBACiAjaW5jbHVkZSA8V2ViQ29yZS9EaXNwbGF5
TGlzdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRmxvYXRTaXplLmg+CiAKK25hbWVzcGFjZSBXZWJD
b3JlIHsKK2VudW0gY2xhc3MgQWxwaGFQcmVtdWx0aXBsaWNhdGlvbiA6IHVpbnQ4X3Q7CitjbGFz
cyBJbWFnZURhdGE7Cit9CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBSZW1vdGVSZW5k
ZXJpbmdCYWNrZW5kUHJveHk7CkBAIC00Myw2ICs0OCw3IEBAIHB1YmxpYzoKIAogICAgIC8vIE1l
c3NhZ2VzIHRvIGJlIHJlY2VpdmVkLiBTZWUgUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5Lm1l
c3NhZ2VzLmluLgogICAgIHZpcnR1YWwgdm9pZCBmbHVzaERyYXdpbmdDb250ZXh0KGNvbnN0IFdl
YkNvcmU6OkRpc3BsYXlMaXN0OjpEaXNwbGF5TGlzdCYsIEltYWdlQnVmZmVyRmx1c2hJZGVudGlm
aWVyKSA9IDA7CisgICAgdmlydHVhbCBSZWZQdHI8V2ViQ29yZTo6SW1hZ2VEYXRhPiBwZXJmb3Jt
R2V0SW1hZ2VEYXRhKFdlYkNvcmU6OkFscGhhUHJlbXVsdGlwbGljYXRpb24gb3V0cHV0Rm9ybWF0
LCBXZWJDb3JlOjpJbnRSZWN0IHNyY1JlY3QpID0gMDsKIAogcHJvdGVjdGVkOgogICAgIFJlbW90
ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXJQcm94eShSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJv
eHkmLCBJbWFnZUJ1ZmZlcklkZW50aWZpZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyUHJveHkuaCBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmgKaW5kZXggMDA2
MWQ3N2U5Y2Y0NGNhYmQ0MmM5M2E5NDk2ZjRiYTdkNWE4OGExOS4uZmZjZGI5MmIyZmM1MWMyYzcx
MDJmZTJmN2U0MWJlZjg1OWYyYTkwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94eS5oCkBAIC01NCw2ICs1
NCwxMSBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHVzaW5nIEJhc2VDb25jcmV0ZUltYWdlQnVm
ZmVyOjpmbHVzaERyYXdpbmdDb250ZXh0OwogCisgICAgUmVmUHRyPFdlYkNvcmU6OkltYWdlRGF0
YT4gcGVyZm9ybUdldEltYWdlRGF0YShXZWJDb3JlOjpBbHBoYVByZW11bHRpcGxpY2F0aW9uIG91
dHB1dEZvcm1hdCwgV2ViQ29yZTo6SW50UmVjdCBzcmNSZWN0KSBvdmVycmlkZQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIEJhc2VDb25jcmV0ZUltYWdlQnVmZmVyOjpnZXRJbWFnZURhdGEob3V0cHV0
Rm9ybWF0LCBzcmNSZWN0KTsKKyAgICB9CisKICAgICB2b2lkIGZsdXNoRHJhd2luZ0NvbnRleHQo
Y29uc3QgV2ViQ29yZTo6RGlzcGxheUxpc3Q6OkRpc3BsYXlMaXN0JiBkaXNwbGF5TGlzdCwgSW1h
Z2VCdWZmZXJGbHVzaElkZW50aWZpZXIgZmx1c2hJZGVudGlmaWVyKSBvdmVycmlkZQogICAgIHsK
ICAgICAgICAgaWYgKGRpc3BsYXlMaXN0Lml0ZW1Db3VudCgpKSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5
LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdC
YWNrZW5kUHJveHkuY3BwCmluZGV4IGU0MzE3MDZiMGU4ZmYwOTJmZjg2ZjI2M2VkZTU2M2UyZGIx
NDZhMjMuLmM0MzA3M2RhNDFlODZlMGQ2ZWEzMzE3OTc2NmY5NTg1Mjc3OTA4N2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1v
dGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuY3BwCkBAIC0xMDAsNiArMTAwLDE5IEBAIHZvaWQgUmVt
b3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OjpyZWxlYXNlSW1hZ2VCdWZmZXIoSW1hZ2VCdWZmZXJJ
ZGVudGlmaWVyIGltYWdlCiAgICAgQVNTRVJUX1VOVVNFRChmb3VuZCwgZm91bmQpOwogfQogCit2
b2lkIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eTo6Z2V0SW1hZ2VEYXRhKFdlYkNvcmU6OkFs
cGhhUHJlbXVsdGlwbGljYXRpb24gb3V0cHV0Rm9ybWF0LCBXZWJDb3JlOjpJbnRSZWN0IHNyY1Jl
Y3QsIEltYWdlQnVmZmVySWRlbnRpZmllciBpbWFnZUJ1ZmZlcklkZW50aWZpZXIsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6SW50U2l6ZSYmLCBJUEM6OlNoYXJlZEJ1ZmZlckRhdGFS
ZWZlcmVuY2UmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgaWYgKGF1dG8gaW1hZ2VC
dWZmZXIgPSBtX2ltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXJNYXAuZ2V0KGltYWdlQnVmZmVySWRl
bnRpZmllcikpIHsKKyAgICAgICAgYXV0byBpbWFnZURhdGEgPSBpbWFnZUJ1ZmZlci0+cGVyZm9y
bUdldEltYWdlRGF0YShvdXRwdXRGb3JtYXQsIHNyY1JlY3QpOworICAgICAgICBpZiAoIWltYWdl
RGF0YSB8fCAhaW1hZ2VEYXRhLT5kYXRhKCkpIHsKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5k
bGVyKFdlYkNvcmU6OkludFNpemUoKSwgSVBDOjpTaGFyZWRCdWZmZXJEYXRhUmVmZXJlbmNlKCkp
OworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIC8vIEZJWE1FOiBDb3B5
aW5nIGZyb20gdGhlIEltYWdlRGF0YSB0byB0aGUgU2hhcmVkQnVmZmVyIGlzIHNsb3cuIEludmVu
dCBzb21lIHdheSBmb3IgdGhlIFNoYXJlZEJ1ZmZlciB0byBiZSBwb3B1bGF0ZWQgZGlyZWN0bHku
CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGltYWdlRGF0YS0+c2l6ZSgpLCBJUEM6OlNoYXJl
ZEJ1ZmZlckRhdGFSZWZlcmVuY2UoV2ViQ29yZTo6U2hhcmVkQnVmZmVyOjpjcmVhdGUoaW1hZ2VE
YXRhLT5kYXRhKCktPmRhdGEoKSwgaW1hZ2VEYXRhLT5kYXRhKCktPmJ5dGVMZW5ndGgoKSkpKTsK
KyAgICB9Cit9CisKIHZvaWQgUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OjpmbHVzaEltYWdl
QnVmZmVyRHJhd2luZ0NvbnRleHQoY29uc3QgV2ViQ29yZTo6RGlzcGxheUxpc3Q6OkRpc3BsYXlM
aXN0JiBkaXNwbGF5TGlzdCwgSW1hZ2VCdWZmZXJGbHVzaElkZW50aWZpZXIgZmx1c2hJZGVudGlm
aWVyLCBJbWFnZUJ1ZmZlcklkZW50aWZpZXIgaW1hZ2VCdWZmZXJJZGVudGlmaWVyKQogewogICAg
IGlmIChhdXRvIGltYWdlQnVmZmVyID0gbV9pbWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyTWFwLmdl
dChpbWFnZUJ1ZmZlcklkZW50aWZpZXIpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5oIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5oCmlu
ZGV4IDRmOGE4OWFmYzcyYzE4ZDg0ZjRkYTNhYTRjZjllZTg4OTI2N2JmZDMuLjg4ZTFjN2Y5ZDQw
MjFhYjg4MzdiNmYyM2ZmNzJiOWI2ZTBiOWQ5OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuaAorKysgYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFBy
b3h5LmgKQEAgLTQxLDYgKzQxLDEwIEBACiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNs
dWRlIDx3dGYvV2Vha1B0ci5oPgogCituYW1lc3BhY2UgSVBDIHsKK2NsYXNzIFNoYXJlZEJ1ZmZl
ckRhdGFSZWZlcmVuY2U7Cit9CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBHUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzOwpAQCAtNjMsMTEgKzY3LDEzIEBAIHByaXZhdGU6CiAKICAgICAv
LyBJUEM6Ok1lc3NhZ2VSZWNlaXZlcgogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgb3ZlcnJpZGU7CisgICAgdm9pZCBkaWRSZWNlaXZl
U3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJiwgc3RkOjp1bmlxdWVf
cHRyPElQQzo6RW5jb2Rlcj4mKSBvdmVycmlkZTsKIAogICAgIC8vIE1lc3NhZ2VzIHRvIGJlIHJl
Y2VpdmVkLgogICAgIHZvaWQgY3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgV2ViQ29yZTo6RmxvYXRT
aXplJiBsb2dpY2FsU2l6ZSwgV2ViQ29yZTo6UmVuZGVyaW5nTW9kZSwgZmxvYXQgcmVzb2x1dGlv
blNjYWxlLCBXZWJDb3JlOjpDb2xvclNwYWNlLCBJbWFnZUJ1ZmZlcklkZW50aWZpZXIpOwogICAg
IHZvaWQgcmVsZWFzZUltYWdlQnVmZmVyKEltYWdlQnVmZmVySWRlbnRpZmllcik7CiAgICAgdm9p
ZCBmbHVzaEltYWdlQnVmZmVyRHJhd2luZ0NvbnRleHQoY29uc3QgV2ViQ29yZTo6RGlzcGxheUxp
c3Q6OkRpc3BsYXlMaXN0JiwgSW1hZ2VCdWZmZXJGbHVzaElkZW50aWZpZXIsIEltYWdlQnVmZmVy
SWRlbnRpZmllcik7CisgICAgdm9pZCBnZXRJbWFnZURhdGEoV2ViQ29yZTo6QWxwaGFQcmVtdWx0
aXBsaWNhdGlvbiBvdXRwdXRGb3JtYXQsIFdlYkNvcmU6OkludFJlY3Qgc3JjUmVjdCwgSW1hZ2VC
dWZmZXJJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OkludFNpemUm
JiwgSVBDOjpTaGFyZWRCdWZmZXJEYXRhUmVmZXJlbmNlJiYpPiYmKTsKIAogICAgIHVzaW5nIElt
YWdlQnVmZmVyTWVzc2FnZUhhbmRsZXJNYXAgPSBIYXNoTWFwPEltYWdlQnVmZmVySWRlbnRpZmll
ciwgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXJQcm94eT4+
OwogICAgIEltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXJNYXAgbV9pbWFnZUJ1ZmZlck1lc3NhZ2VI
YW5kbGVyTWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNz
L1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkubWVzc2FnZXMu
aW4KaW5kZXggNjVhOGQ5MGE2NmY4NWU4Zjg4M2MxNWU0YjBlM2JmODBjNjk0Y2MxOC4uMjdjMTcx
Y2UzMzAzMDc4Yjg1MDBlNzYxMzhjNTE5N2I4MjJjZWZlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5tZXNz
YWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVu
ZGVyaW5nQmFja2VuZFByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yMyw5ICsyMywxMCBAQAogI2lmIEVO
QUJMRShHUFVfUFJPQ0VTUykKIAogbWVzc2FnZXMgLT4gUmVtb3RlUmVuZGVyaW5nQmFja2VuZFBy
b3h5IE5vdFJlZkNvdW50ZWQgewotICAgIHZvaWQgQ3JlYXRlSW1hZ2VCdWZmZXIoV2ViQ29yZTo6
RmxvYXRTaXplIGxvZ2ljYWxTaXplLCBXZWJDb3JlOjpSZW5kZXJpbmdNb2RlIHJlbmRlcmluZ01v
ZGUsIGZsb2F0IHJlc29sdXRpb25TY2FsZSwgV2ViQ29yZTo6Q29sb3JTcGFjZSBjb2xvclNwYWNl
LCBXZWJLaXQ6OkltYWdlQnVmZmVySWRlbnRpZmllciBpbWFnZUJ1ZmZlcklkZW50aWZpZXIpCi0g
ICAgdm9pZCBSZWxlYXNlSW1hZ2VCdWZmZXIoV2ViS2l0OjpJbWFnZUJ1ZmZlcklkZW50aWZpZXIg
aW1hZ2VCdWZmZXJJZGVudGlmaWVyKQotICAgIHZvaWQgRmx1c2hJbWFnZUJ1ZmZlckRyYXdpbmdD
b250ZXh0KFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpEaXNwbGF5TGlzdCBkaXNwbGF5TGlzdCwgV2Vi
S2l0OjpJbWFnZUJ1ZmZlckZsdXNoSWRlbnRpZmllciBmbHVzaElkZW50aWZpZXIsIFdlYktpdDo6
SW1hZ2VCdWZmZXJJZGVudGlmaWVyIGltYWdlQnVmZmVySWRlbnRpZmllcikKKyAgICBDcmVhdGVJ
bWFnZUJ1ZmZlcihXZWJDb3JlOjpGbG9hdFNpemUgbG9naWNhbFNpemUsIFdlYkNvcmU6OlJlbmRl
cmluZ01vZGUgcmVuZGVyaW5nTW9kZSwgZmxvYXQgcmVzb2x1dGlvblNjYWxlLCBXZWJDb3JlOjpD
b2xvclNwYWNlIGNvbG9yU3BhY2UsIFdlYktpdDo6SW1hZ2VCdWZmZXJJZGVudGlmaWVyIGltYWdl
QnVmZmVySWRlbnRpZmllcikKKyAgICBSZWxlYXNlSW1hZ2VCdWZmZXIoV2ViS2l0OjpJbWFnZUJ1
ZmZlcklkZW50aWZpZXIgaW1hZ2VCdWZmZXJJZGVudGlmaWVyKQorICAgIEZsdXNoSW1hZ2VCdWZm
ZXJEcmF3aW5nQ29udGV4dChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6RGlzcGxheUxpc3QgZGlzcGxh
eUxpc3QsIFdlYktpdDo6SW1hZ2VCdWZmZXJGbHVzaElkZW50aWZpZXIgZmx1c2hJZGVudGlmaWVy
LCBXZWJLaXQ6OkltYWdlQnVmZmVySWRlbnRpZmllciBpbWFnZUJ1ZmZlcklkZW50aWZpZXIpCisg
ICAgR2V0SW1hZ2VEYXRhKGVudW06dWludDhfdCBXZWJDb3JlOjpBbHBoYVByZW11bHRpcGxpY2F0
aW9uIG91dHB1dEZvcm1hdCwgV2ViQ29yZTo6SW50UmVjdCBzcmNSZWN0LCBXZWJLaXQ6OkltYWdl
QnVmZmVySWRlbnRpZmllciBpbWFnZUJ1ZmZlcklkZW50aWZpZXIpIC0+IChXZWJDb3JlOjpJbnRT
aXplIHNpemUsIElQQzo6U2hhcmVkQnVmZmVyRGF0YVJlZmVyZW5jZSBkYXRhKSBTeW5jaHJvbm91
cwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9QbGF0Zm9ybS9JUEMvTWVzc2FnZVNlbmRlci5oIGIvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9JUEMvTWVzc2FnZVNlbmRlci5oCmluZGV4IDgxMGE1MTQ5NzA3Mjc2ODQwMWJmYjlkZmZl
MTU5YzYwYjA5ZGU3MWIuLjMyMTljN2RkYTVjMWU0YWQwMjQwODAzZjQ0NTNmMGYzODI4MTdkMWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL01lc3NhZ2VTZW5kZXIuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9NZXNzYWdlU2VuZGVyLmgKQEAgLTcxLDYg
KzcxLDEyIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1lc3NhZ2VTZW5kZXJDb25uZWN0aW9u
KCktPnNlbmRTeW5jKFdURk1vdmUobWVzc2FnZSksIFdURk1vdmUocmVwbHkpLCBkZXN0aW5hdGlv
bklELCB0aW1lb3V0LCBzZW5kU3luY09wdGlvbnMpOwogICAgIH0KIAorICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFUsIHR5cGVuYW1lIFQ+CisgICAgYm9vbCBzZW5kU3luYyhVJiYgbWVzc2FnZSwgdHlw
ZW5hbWUgVTo6UmVwbHkmJiByZXBseSwgT2JqZWN0SWRlbnRpZmllcjxUPiBkZXN0aW5hdGlvbklE
LCBTZWNvbmRzIHRpbWVvdXQgPSBTZWNvbmRzOjppbmZpbml0eSgpLCBPcHRpb25TZXQ8U2VuZFN5
bmNPcHRpb24+IHNlbmRTeW5jT3B0aW9ucyA9IHsgfSkKKyAgICB7CisgICAgICAgIHJldHVybiBz
ZW5kU3luYzxVPihzdGQ6OmZvcndhcmQ8VT4obWVzc2FnZSksIFdURk1vdmUocmVwbHkpLCBkZXN0
aW5hdGlvbklELnRvVUludDY0KCksIHRpbWVvdXQsIHNlbmRTeW5jT3B0aW9ucyk7CisgICAgfQor
CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgQz4KICAgICB2b2lkIHNlbmRXaXRo
QXN5bmNSZXBseShUJiYgbWVzc2FnZSwgQyYmIGNvbXBsZXRpb25IYW5kbGVyLCBPcHRpb25TZXQ8
U2VuZE9wdGlvbj4gc2VuZE9wdGlvbnMgPSB7IH0pCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlci5oIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlci5oCmlu
ZGV4IGI3YzBlOWI0NWYwZDcwMjY0OTRlM2NlMDk1YzQ2NTRjOTc5ZjI4YzkuLjFmZDc4YzcyYjg0
MmQ1ZDM0M2NjNGM2NDE3ZWRiMWU4ZDNmZTlkYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXIuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyLmgKQEAgLTcy
LDIwICs3MiwzNiBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHJldHVybiBtX2JhY2tlbmQuZ2V0KCk7
CiAgICAgfQogCisgICAgUmVmUHRyPEltYWdlRGF0YT4gZ2V0SW1hZ2VEYXRhKEFscGhhUHJlbXVs
dGlwbGljYXRpb24gb3V0cHV0Rm9ybWF0LCBjb25zdCBJbnRSZWN0JiBzcmNSZWN0KSBjb25zdCBv
dmVycmlkZQorICAgIHsKKyAgICAgICAgY29uc3RfY2FzdDxSZW1vdGVJbWFnZUJ1ZmZlcio+KHRo
aXMpLT5hc3luY3Jvbm91c2x5Rmx1c2hEcmF3aW5nQ29udGV4dCgpOworICAgICAgICBhdXRvIHJl
c3VsdCA9IGNvbnN0X2Nhc3Q8UmVtb3RlSW1hZ2VCdWZmZXIqPih0aGlzKS0+UmVtb3RlSW1hZ2VC
dWZmZXJNZXNzYWdlSGFuZGxlcjo6Z2V0SW1hZ2VEYXRhKG91dHB1dEZvcm1hdCwgc3JjUmVjdCk7
CisgICAgICAgIC8vIGdldEltYWdlRGF0YSBpcyBzeW5jaHJvbm91cywgd2hpY2ggbWVhbnMgd2Un
dmUgYWxyZWFkeSByZWNlaXZlZCB0aGUgQ29tbWl0SW1hZ2VCdWZmZXJGbHVzaENvbnRleHQgbWVz
c2FnZS4KKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisKICAgICB2b2lkIGZsdXNoQ29u
dGV4dCgpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBmbHVzaERyYXdpbmdDb250ZXh0KCk7CiAg
ICAgICAgIG1fYmFja2VuZC0+Zmx1c2hDb250ZXh0KCk7CiAgICAgfQogCi0gICAgdm9pZCBmbHVz
aERyYXdpbmdDb250ZXh0KCkgb3ZlcnJpZGUKKyAgICBib29sIGFzeW5jcm9ub3VzbHlGbHVzaERy
YXdpbmdDb250ZXh0KCkKICAgICB7CiAgICAgICAgIGF1dG8mIGRpc3BsYXlMaXN0ID0gbV9kcmF3
aW5nQ29udGV4dC5kaXNwbGF5TGlzdCgpOwogICAgICAgICBpZiAoZGlzcGxheUxpc3QuaXRlbUNv
dW50KCkpIHsKICAgICAgICAgICAgIFJlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXI6OmZs
dXNoRHJhd2luZ0NvbnRleHQoZGlzcGxheUxpc3QpOwotICAgICAgICAgICAgUmVtb3RlSW1hZ2VC
dWZmZXJNZXNzYWdlSGFuZGxlcjo6d2FpdEZvckNvbW1pdEltYWdlQnVmZmVyRmx1c2hDb250ZXh0
KCk7CiAgICAgICAgICAgICBkaXNwbGF5TGlzdC5jbGVhcigpOworICAgICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIHZv
aWQgZmx1c2hEcmF3aW5nQ29udGV4dCgpIG92ZXJyaWRlCisgICAgeworICAgICAgICBhdXRvJiBk
aXNwbGF5TGlzdCA9IG1fZHJhd2luZ0NvbnRleHQuZGlzcGxheUxpc3QoKTsKKyAgICAgICAgaWYg
KGFzeW5jcm9ub3VzbHlGbHVzaERyYXdpbmdDb250ZXh0KCkpCisgICAgICAgICAgICBSZW1vdGVJ
bWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyOjp3YWl0Rm9yQ29tbWl0SW1hZ2VCdWZmZXJGbHVzaENv
bnRleHQoKTsKICAgICB9CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXIuY3BwIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlck1lc3Nh
Z2VIYW5kbGVyLmNwcAppbmRleCA1ZTBkNWY1NWYzZTBjODhmYmU1ZTBkNDk1MWZlMTk5MmM2NGZl
YzAzLi43NTNhMjhiYWE3MWI1N2RkZDNjZjQ1NTEwNzk0NzBjNWEzMTQ3NzMyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVy
TWVzc2FnZUhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3Jh
cGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlci5jcHAKQEAgLTMwLDYgKzMwLDkg
QEAKIAogI2luY2x1ZGUgIlJlbW90ZVJlbmRlcmluZ0JhY2tlbmQuaCIKICNpbmNsdWRlICJSZW1v
dGVSZW5kZXJpbmdCYWNrZW5kUHJveHlNZXNzYWdlcy5oIgorI2luY2x1ZGUgIlNoYXJlZEJ1ZmZl
ckRhdGFSZWZlcmVuY2UuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9HZW5lcmljVHlwZWRB
cnJheVZpZXdJbmxpbmVzLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNHZW5lcmljVHlw
ZWRBcnJheVZpZXdJbmxpbmVzLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CkBAIC02MSw2ICs2NCwxOSBAQCB2b2lkIFJlbW90ZUltYWdlQnVmZmVyTWVz
c2FnZUhhbmRsZXI6OndhaXRGb3JDb21taXRJbWFnZUJ1ZmZlckZsdXNoQ29udGV4dCgpCiAgICAg
ICAgIG1fcmVtb3RlUmVuZGVyaW5nQmFja2VuZC0+d2FpdEZvckNvbW1pdEltYWdlQnVmZmVyRmx1
c2hDb250ZXh0KCk7CiB9CiAKK1JlZlB0cjxXZWJDb3JlOjpJbWFnZURhdGE+IFJlbW90ZUltYWdl
QnVmZmVyTWVzc2FnZUhhbmRsZXI6OmdldEltYWdlRGF0YShBbHBoYVByZW11bHRpcGxpY2F0aW9u
IG91dHB1dEZvcm1hdCwgV2ViQ29yZTo6SW50UmVjdCBzcmNSZWN0KQoreworICAgIGlmICghbV9y
ZW1vdGVSZW5kZXJpbmdCYWNrZW5kKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBXZWJD
b3JlOjpJbnRTaXplIHNpemU7CisgICAgSVBDOjpTaGFyZWRCdWZmZXJEYXRhUmVmZXJlbmNlIGRh
dGE7CisgICAgbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kLT5zZW5kU3luYyhNZXNzYWdlczo6UmVt
b3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OjpHZXRJbWFnZURhdGEob3V0cHV0Rm9ybWF0LCBzcmNS
ZWN0LCBtX2ltYWdlQnVmZmVySWRlbnRpZmllciksIE1lc3NhZ2VzOjpSZW1vdGVSZW5kZXJpbmdC
YWNrZW5kUHJveHk6OkdldEltYWdlRGF0YTo6UmVwbHkoc2l6ZSwgZGF0YSksIG1fcmVtb3RlUmVu
ZGVyaW5nQmFja2VuZC0+cmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIoKSwgMV9zKTsKKyAgICBp
ZiAoIWRhdGEuYnVmZmVyKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIC8vIEZJWE1F
OiBDb3B5aW5nIGZyb20gdGhlIHNoYXJlZCBidWZmZXIgaW50byB0aGUgSW1hZ2VEYXRhIGlzIHNs
b3cuIEludmVudCBzb21lIHdheSBmb3IgdGhlIEltYWdlRGF0YSB0byBzaW1wbHkganVzdCByZXRh
aW4gdGhlIFNoYXJlZEJ1ZmZlciwgYW5kIHVzZSBpdCBpbnRlcm5hbGx5LgorICAgIHJldHVybiBJ
bWFnZURhdGE6OmNyZWF0ZShzaXplLCBVaW50OENsYW1wZWRBcnJheTo6Y3JlYXRlKHJlaW50ZXJw
cmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KGRhdGEuZGF0YSgpKSwgZGF0YS5zaXplKCkpKTsKK30K
Kwogdm9pZCBSZW1vdGVJbWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyOjpmbHVzaERyYXdpbmdDb250
ZXh0KGNvbnN0IFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpEaXNwbGF5TGlzdCYgZGlzcGxheUxpc3Qp
CiB7CiAgICAgaWYgKCFtX3JlbW90ZVJlbmRlcmluZ0JhY2tlbmQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyTWVzc2Fn
ZUhhbmRsZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3Rl
SW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlci5oCmluZGV4IDNhZTFhOTg3OWVmZDE5M2E5Y2E3MGY4
ZDRhM2I5ODVlNzNhZjM1NjUuLjhkYWIzZDRjZTk5ZmE0MzNkOWE3NDI4ODgxYjNhMWNkN2NlYTU1
YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVt
b3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlci5oCkBAIC0z
NCw2ICszNCwxMSBAQAogI2luY2x1ZGUgPFdlYkNvcmUvRmxvYXRTaXplLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9SZW5kZXJpbmdNb2RlLmg+CiAKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2VudW0gY2xh
c3MgQWxwaGFQcmVtdWx0aXBsaWNhdGlvbiA6IHVpbnQ4X3Q7CitjbGFzcyBJbWFnZURhdGE7Cit9
CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOwpA
QCAtNjAsNiArNjUsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICAvLyBNZXNzYWdlcyB0byBiZSBzZW50
LiBTZWUgUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5Lm1lc3NhZ2VzLmluLgogICAgIHZvaWQg
Zmx1c2hEcmF3aW5nQ29udGV4dChjb25zdCBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6RGlzcGxheUxp
c3QmKTsKKyAgICBSZWZQdHI8V2ViQ29yZTo6SW1hZ2VEYXRhPiBnZXRJbWFnZURhdGEoV2ViQ29y
ZTo6QWxwaGFQcmVtdWx0aXBsaWNhdGlvbiBvdXRwdXRGb3JtYXQsIFdlYkNvcmU6OkludFJlY3Qg
c3JjUmVjdCk7CiAKIHByaXZhdGU6CiAgICAgV2Vha1B0cjxSZW1vdGVSZW5kZXJpbmdCYWNrZW5k
PiBtX3JlbW90ZVJlbmRlcmluZ0JhY2tlbmQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392511</attachid>
            <date>2020-03-04 16:53:48 -0800</date>
            <delta_ts>2020-03-05 19:24:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208560-20200304165347.patch</filename>
            <type>text/plain</type>
            <size>16782</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3ODcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTQwYWNhZGYyNzYzYWFh
MzBmYzJlODA2N2I3NDc5NWI2YjAyNTY2NC4uZGYwNjg4OThhM2UyZmY5MjBmOTlmMTQyZGY3MDMw
ZTFjZjRkYWUyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTAzLTA0ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVSBQcm9j
ZXNzXSBJbXBsZW1lbnQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmdldEltYWdlRGF0YSgpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg1NjAKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwMDYwNjE4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZXJlIGlzIG5v
IGJlaGF2aW9yIGNoYW5nZS4gV2UncmUganVzdCB1c2luZyB0aGUgR1BVIHByb2Nlc3Mgbm93LCBp
bnN0ZWFkIG9mIGltcGxlbWVudGluZworICAgICAgICB0aGUgY29tbWFuZCBsb2NhbGx5IGluIHRo
ZSBXZWIgUHJvY2Vzcy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0FscGhhUHJlbXVs
dGlwbGljYXRpb24uaDoKKwogMjAyMC0wMy0wNCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBw
bGUuY29tPgogCiAgICAgICAgIEFkZCBhbiBTUEkgdG8gYWxsb3cgVXNlclN0eWxlU2hlZXQgaW5q
ZWN0aW9uIHRvIHRhcmdldCBhIHNwZWNpZmljIFdLV2ViVmlldwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA4Y2NmM2Y0
YzM2YzdmNzU1MWRkM2JjMWE3MzUyMTJmOGQ0ZGZlYTgxLi41N2QyYTQwNDExMTc1YzRjZGViNDkw
YzM0NTIyMTQxMzYxYjU2ZTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIwLTAzLTA0
ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQ
VSBQcm9jZXNzXSBJbXBsZW1lbnQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmdldEltYWdlRGF0
YSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg1
NjAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwMDYwNjE4PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZHMgYSBuZXcgc3luY2hyb25vdXMgbWVz
c2FnZSBiZXR3ZWVuIHRoZSBXZWIgUHJvY2VzcyBhbmQgdGhlIEdQVSBQcm9jZXNzLgorICAgICAg
ICBVbmZvcnR1bmF0ZWx5LCBnZXRJbWFnZURhdGEoKSBzeW5jaHJvbm91c2x5IHJldHVybnMgcmVz
dWx0cywgYW5kIHdlIGRvbid0CisgICAgICAgIGhhdmUgdGhlIGluZnJhc3RydWN0dXJlIHRvIG1h
a2UgSmF2YVNjcmlwdCBpbnRlcnJ1cHRpYmxlLCBzbyB0aGlzIG1lYW5zIHRoYXQKKyAgICAgICAg
dGhlIG1lc3NhZ2UgaGFzIHRvIGJlIHN5bmNocm9ub3VzLCBhdCBsZWFzdCB1bnRpbCB3ZSBhZGQg
dGhhdCBpbmZyYXN0cnVjdHVyZS4KKworICAgICAgICBXaGVuIHRoZSBSZW1vdGVJbWFnZUJ1ZmZl
ciByZWNlaXZlcyB0aGUgZ2V0SW1hZ2VEYXRhKCkgY2FsbCwgaXQgZmlyc3QKKyAgICAgICAgYXN5
bmNocm9ub3VzbHkgZmx1c2hlcyB0aGUgcGVuZGluZyBkaXNwbGF5IGxpc3QsIGRvZXNuJ3Qgd2Fp
dCBmb3IgYSByZXNwb25zZSwgCisgICAgICAgIGFuZCB0aGVuIHNlbmRzIHRoZSBzeW5jaHJvbm91
cyBnZXRJbWFnZURhdGEoKSBtZXNzYWdlLiBCZWNhdXNlIHRoZSBHUFUgUHJvY2VzcworICAgICAg
ICByZWNlaXZlcyBtZXNzYWdlcyBpbi1vcmRlciwgdGhlIFdlYiBQcm9jZXNzIGRvZXNuJ3QgaGF2
ZSB0byB3YWl0IGZvciB0aGUKKyAgICAgICAgcmVzcG9uc2UgZnJvbSB0aGUgZmx1c2ggbWVzc2Fn
ZS4KKworICAgICAgICBBZnRlciB0aGlzIHBhdGNoLCB0aGVyZSBhcmUgYSBmZXcgb3B0aW1pemF0
aW9uIG9wcG9ydHVuaXRpZXMgd2UgY2FuIGV4cGxvaXQKKyAgICAgICAgd2hlcmUgd2UgdXNlIFNo
YXJlZEJ1ZmZlciBkaXJlY3RseSBpbnN0ZWFkIG9mIGNvcHlpbmcgaW50byBhbmQgb3V0IG9mIHRo
ZQorICAgICAgICBJbWFnZURhdGEuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1Jl
bW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXJQcm94eS5oOgorICAgICAgICAqIEdQVVByb2Nl
c3MvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94eS5oOgorICAgICAgICAqIEdQVVByb2Nl
c3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6UmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OjpnZXRJbWFnZURhdGEpOgorICAgICAg
ICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5Lmg6Cisg
ICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHku
bWVzc2FnZXMuaW46CisgICAgICAgICogUGxhdGZvcm0vSVBDL01lc3NhZ2VTZW5kZXIuaDoKKyAg
ICAgICAgKElQQzo6TWVzc2FnZVNlbmRlcjo6c2VuZFN5bmMpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyLmg6CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZUltYWdlQnVmZmVyOjphc3luY3Jvbm91c2x5Rmx1c2hEcmF3aW5nQ29udGV4dCk6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFu
ZGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRs
ZXI6OmdldEltYWdlRGF0YSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVt
b3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlci5oOgorCiAyMDIwLTAzLTA0ICBBbnRvaW5lIFF1
aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGFuIFNQSSB0byBhbGxvdyBV
c2VyU3R5bGVTaGVldCBpbmplY3Rpb24gdG8gdGFyZ2V0IGEgc3BlY2lmaWMgV0tXZWJWaWV3CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9BbHBoYVByZW11bHRp
cGxpY2F0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9BbHBoYVByZW11
bHRpcGxpY2F0aW9uLmgKaW5kZXggNmQxY2FlZjg1NDFkZWUwNjJiZmUwNTQxNmNkYTJmMmE3Zjc5
MjZlMi4uYjI3NzgwZjYyYjE5MmY1ODFjMjQzOTJhZDE5MTdlMGM1YzVmNzA5ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQWxwaGFQcmVtdWx0aXBsaWNhdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0FscGhhUHJlbXVsdGlw
bGljYXRpb24uaApAQCAtMzQsNiArMzQsMTcgQEAgZW51bSBjbGFzcyBBbHBoYVByZW11bHRpcGxp
Y2F0aW9uIDogdWludDhfdCB7CiAgICAgVW5wcmVtdWx0aXBsaWVkCiB9OwogCisKIFdFQkNPUkVf
RVhQT1JUIFdURjo6VGV4dFN0cmVhbSYgb3BlcmF0b3I8PChXVEY6OlRleHRTdHJlYW0mLCBBbHBo
YVByZW11bHRpcGxpY2F0aW9uKTsKIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfQorCituYW1l
c3BhY2UgV1RGIHsKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6QWxwaGFQ
cmVtdWx0aXBsaWNhdGlvbj4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAg
ICAgIFdlYkNvcmU6OkFscGhhUHJlbXVsdGlwbGljYXRpb24sCisgICAgICAgIFdlYkNvcmU6OkFs
cGhhUHJlbXVsdGlwbGljYXRpb246OlByZW11bHRpcGxpZWQsCisgICAgICAgIFdlYkNvcmU6OkFs
cGhhUHJlbXVsdGlwbGljYXRpb246OlVucHJlbXVsdGlwbGllZAorICAgID47Cit9OworfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVm
ZmVyTWVzc2FnZUhhbmRsZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBo
aWNzL1JlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXJQcm94eS5oCmluZGV4IDM4ZmNkYmJm
MGFkYWNkZDNmOTVhMTFkMGNjMDU0YzZiNDVlYjI0YTQuLjdmZjNmMWJhYzc1YWNiYmUyYTcwMTFl
ZTE5OTJjMmM3YTNlOWNiOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9n
cmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyUHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFu
ZGxlclByb3h5LmgKQEAgLTMzLDYgKzMzLDExIEBACiAjaW5jbHVkZSA8V2ViQ29yZS9EaXNwbGF5
TGlzdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRmxvYXRTaXplLmg+CiAKK25hbWVzcGFjZSBXZWJD
b3JlIHsKK2VudW0gY2xhc3MgQWxwaGFQcmVtdWx0aXBsaWNhdGlvbiA6IHVpbnQ4X3Q7CitjbGFz
cyBJbWFnZURhdGE7Cit9CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBSZW1vdGVSZW5k
ZXJpbmdCYWNrZW5kUHJveHk7CkBAIC00Myw2ICs0OCw3IEBAIHB1YmxpYzoKIAogICAgIC8vIE1l
c3NhZ2VzIHRvIGJlIHJlY2VpdmVkLiBTZWUgUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5Lm1l
c3NhZ2VzLmluLgogICAgIHZpcnR1YWwgdm9pZCBmbHVzaERyYXdpbmdDb250ZXh0KGNvbnN0IFdl
YkNvcmU6OkRpc3BsYXlMaXN0OjpEaXNwbGF5TGlzdCYsIEltYWdlQnVmZmVyRmx1c2hJZGVudGlm
aWVyKSA9IDA7CisgICAgdmlydHVhbCBSZWZQdHI8V2ViQ29yZTo6SW1hZ2VEYXRhPiBwZXJmb3Jt
R2V0SW1hZ2VEYXRhKFdlYkNvcmU6OkFscGhhUHJlbXVsdGlwbGljYXRpb24gb3V0cHV0Rm9ybWF0
LCBXZWJDb3JlOjpJbnRSZWN0IHNyY1JlY3QpID0gMDsKIAogcHJvdGVjdGVkOgogICAgIFJlbW90
ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXJQcm94eShSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJv
eHkmLCBJbWFnZUJ1ZmZlcklkZW50aWZpZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyUHJveHkuaCBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmgKaW5kZXggMDA2
MWQ3N2U5Y2Y0NGNhYmQ0MmM5M2E5NDk2ZjRiYTdkNWE4OGExOS4uZmZjZGI5MmIyZmM1MWMyYzcx
MDJmZTJmN2U0MWJlZjg1OWYyYTkwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94eS5oCkBAIC01NCw2ICs1
NCwxMSBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHVzaW5nIEJhc2VDb25jcmV0ZUltYWdlQnVm
ZmVyOjpmbHVzaERyYXdpbmdDb250ZXh0OwogCisgICAgUmVmUHRyPFdlYkNvcmU6OkltYWdlRGF0
YT4gcGVyZm9ybUdldEltYWdlRGF0YShXZWJDb3JlOjpBbHBoYVByZW11bHRpcGxpY2F0aW9uIG91
dHB1dEZvcm1hdCwgV2ViQ29yZTo6SW50UmVjdCBzcmNSZWN0KSBvdmVycmlkZQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIEJhc2VDb25jcmV0ZUltYWdlQnVmZmVyOjpnZXRJbWFnZURhdGEob3V0cHV0
Rm9ybWF0LCBzcmNSZWN0KTsKKyAgICB9CisKICAgICB2b2lkIGZsdXNoRHJhd2luZ0NvbnRleHQo
Y29uc3QgV2ViQ29yZTo6RGlzcGxheUxpc3Q6OkRpc3BsYXlMaXN0JiBkaXNwbGF5TGlzdCwgSW1h
Z2VCdWZmZXJGbHVzaElkZW50aWZpZXIgZmx1c2hJZGVudGlmaWVyKSBvdmVycmlkZQogICAgIHsK
ICAgICAgICAgaWYgKGRpc3BsYXlMaXN0Lml0ZW1Db3VudCgpKSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5
LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdC
YWNrZW5kUHJveHkuY3BwCmluZGV4IGU0MzE3MDZiMGU4ZmYwOTJmZjg2ZjI2M2VkZTU2M2UyZGIx
NDZhMjMuLmM0MzA3M2RhNDFlODZlMGQ2ZWEzMzE3OTc2NmY5NTg1Mjc3OTA4N2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1v
dGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuY3BwCkBAIC0xMDAsNiArMTAwLDE5IEBAIHZvaWQgUmVt
b3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OjpyZWxlYXNlSW1hZ2VCdWZmZXIoSW1hZ2VCdWZmZXJJ
ZGVudGlmaWVyIGltYWdlCiAgICAgQVNTRVJUX1VOVVNFRChmb3VuZCwgZm91bmQpOwogfQogCit2
b2lkIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eTo6Z2V0SW1hZ2VEYXRhKFdlYkNvcmU6OkFs
cGhhUHJlbXVsdGlwbGljYXRpb24gb3V0cHV0Rm9ybWF0LCBXZWJDb3JlOjpJbnRSZWN0IHNyY1Jl
Y3QsIEltYWdlQnVmZmVySWRlbnRpZmllciBpbWFnZUJ1ZmZlcklkZW50aWZpZXIsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6SW50U2l6ZSYmLCBJUEM6OlNoYXJlZEJ1ZmZlckRhdGFS
ZWZlcmVuY2UmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgaWYgKGF1dG8gaW1hZ2VC
dWZmZXIgPSBtX2ltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXJNYXAuZ2V0KGltYWdlQnVmZmVySWRl
bnRpZmllcikpIHsKKyAgICAgICAgYXV0byBpbWFnZURhdGEgPSBpbWFnZUJ1ZmZlci0+cGVyZm9y
bUdldEltYWdlRGF0YShvdXRwdXRGb3JtYXQsIHNyY1JlY3QpOworICAgICAgICBpZiAoIWltYWdl
RGF0YSB8fCAhaW1hZ2VEYXRhLT5kYXRhKCkpIHsKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5k
bGVyKFdlYkNvcmU6OkludFNpemUoKSwgSVBDOjpTaGFyZWRCdWZmZXJEYXRhUmVmZXJlbmNlKCkp
OworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIC8vIEZJWE1FOiBDb3B5
aW5nIGZyb20gdGhlIEltYWdlRGF0YSB0byB0aGUgU2hhcmVkQnVmZmVyIGlzIHNsb3cuIEludmVu
dCBzb21lIHdheSBmb3IgdGhlIFNoYXJlZEJ1ZmZlciB0byBiZSBwb3B1bGF0ZWQgZGlyZWN0bHku
CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGltYWdlRGF0YS0+c2l6ZSgpLCBJUEM6OlNoYXJl
ZEJ1ZmZlckRhdGFSZWZlcmVuY2UoV2ViQ29yZTo6U2hhcmVkQnVmZmVyOjpjcmVhdGUoaW1hZ2VE
YXRhLT5kYXRhKCktPmRhdGEoKSwgaW1hZ2VEYXRhLT5kYXRhKCktPmJ5dGVMZW5ndGgoKSkpKTsK
KyAgICB9Cit9CisKIHZvaWQgUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OjpmbHVzaEltYWdl
QnVmZmVyRHJhd2luZ0NvbnRleHQoY29uc3QgV2ViQ29yZTo6RGlzcGxheUxpc3Q6OkRpc3BsYXlM
aXN0JiBkaXNwbGF5TGlzdCwgSW1hZ2VCdWZmZXJGbHVzaElkZW50aWZpZXIgZmx1c2hJZGVudGlm
aWVyLCBJbWFnZUJ1ZmZlcklkZW50aWZpZXIgaW1hZ2VCdWZmZXJJZGVudGlmaWVyKQogewogICAg
IGlmIChhdXRvIGltYWdlQnVmZmVyID0gbV9pbWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyTWFwLmdl
dChpbWFnZUJ1ZmZlcklkZW50aWZpZXIpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5oIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5oCmlu
ZGV4IDRmOGE4OWFmYzcyYzE4ZDg0ZjRkYTNhYTRjZjllZTg4OTI2N2JmZDMuLjg4ZTFjN2Y5ZDQw
MjFhYjg4MzdiNmYyM2ZmNzJiOWI2ZTBiOWQ5OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuaAorKysgYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFBy
b3h5LmgKQEAgLTQxLDYgKzQxLDEwIEBACiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNs
dWRlIDx3dGYvV2Vha1B0ci5oPgogCituYW1lc3BhY2UgSVBDIHsKK2NsYXNzIFNoYXJlZEJ1ZmZl
ckRhdGFSZWZlcmVuY2U7Cit9CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBHUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzOwpAQCAtNjMsMTEgKzY3LDEzIEBAIHByaXZhdGU6CiAKICAgICAv
LyBJUEM6Ok1lc3NhZ2VSZWNlaXZlcgogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgb3ZlcnJpZGU7CisgICAgdm9pZCBkaWRSZWNlaXZl
U3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJiwgc3RkOjp1bmlxdWVf
cHRyPElQQzo6RW5jb2Rlcj4mKSBvdmVycmlkZTsKIAogICAgIC8vIE1lc3NhZ2VzIHRvIGJlIHJl
Y2VpdmVkLgogICAgIHZvaWQgY3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgV2ViQ29yZTo6RmxvYXRT
aXplJiBsb2dpY2FsU2l6ZSwgV2ViQ29yZTo6UmVuZGVyaW5nTW9kZSwgZmxvYXQgcmVzb2x1dGlv
blNjYWxlLCBXZWJDb3JlOjpDb2xvclNwYWNlLCBJbWFnZUJ1ZmZlcklkZW50aWZpZXIpOwogICAg
IHZvaWQgcmVsZWFzZUltYWdlQnVmZmVyKEltYWdlQnVmZmVySWRlbnRpZmllcik7CiAgICAgdm9p
ZCBmbHVzaEltYWdlQnVmZmVyRHJhd2luZ0NvbnRleHQoY29uc3QgV2ViQ29yZTo6RGlzcGxheUxp
c3Q6OkRpc3BsYXlMaXN0JiwgSW1hZ2VCdWZmZXJGbHVzaElkZW50aWZpZXIsIEltYWdlQnVmZmVy
SWRlbnRpZmllcik7CisgICAgdm9pZCBnZXRJbWFnZURhdGEoV2ViQ29yZTo6QWxwaGFQcmVtdWx0
aXBsaWNhdGlvbiBvdXRwdXRGb3JtYXQsIFdlYkNvcmU6OkludFJlY3Qgc3JjUmVjdCwgSW1hZ2VC
dWZmZXJJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OkludFNpemUm
JiwgSVBDOjpTaGFyZWRCdWZmZXJEYXRhUmVmZXJlbmNlJiYpPiYmKTsKIAogICAgIHVzaW5nIElt
YWdlQnVmZmVyTWVzc2FnZUhhbmRsZXJNYXAgPSBIYXNoTWFwPEltYWdlQnVmZmVySWRlbnRpZmll
ciwgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXJQcm94eT4+
OwogICAgIEltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXJNYXAgbV9pbWFnZUJ1ZmZlck1lc3NhZ2VI
YW5kbGVyTWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNz
L1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkubWVzc2FnZXMu
aW4KaW5kZXggNjVhOGQ5MGE2NmY4NWU4Zjg4M2MxNWU0YjBlM2JmODBjNjk0Y2MxOC4uMjdjMTcx
Y2UzMzAzMDc4Yjg1MDBlNzYxMzhjNTE5N2I4MjJjZWZlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5tZXNz
YWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVu
ZGVyaW5nQmFja2VuZFByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yMyw5ICsyMywxMCBAQAogI2lmIEVO
QUJMRShHUFVfUFJPQ0VTUykKIAogbWVzc2FnZXMgLT4gUmVtb3RlUmVuZGVyaW5nQmFja2VuZFBy
b3h5IE5vdFJlZkNvdW50ZWQgewotICAgIHZvaWQgQ3JlYXRlSW1hZ2VCdWZmZXIoV2ViQ29yZTo6
RmxvYXRTaXplIGxvZ2ljYWxTaXplLCBXZWJDb3JlOjpSZW5kZXJpbmdNb2RlIHJlbmRlcmluZ01v
ZGUsIGZsb2F0IHJlc29sdXRpb25TY2FsZSwgV2ViQ29yZTo6Q29sb3JTcGFjZSBjb2xvclNwYWNl
LCBXZWJLaXQ6OkltYWdlQnVmZmVySWRlbnRpZmllciBpbWFnZUJ1ZmZlcklkZW50aWZpZXIpCi0g
ICAgdm9pZCBSZWxlYXNlSW1hZ2VCdWZmZXIoV2ViS2l0OjpJbWFnZUJ1ZmZlcklkZW50aWZpZXIg
aW1hZ2VCdWZmZXJJZGVudGlmaWVyKQotICAgIHZvaWQgRmx1c2hJbWFnZUJ1ZmZlckRyYXdpbmdD
b250ZXh0KFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpEaXNwbGF5TGlzdCBkaXNwbGF5TGlzdCwgV2Vi
S2l0OjpJbWFnZUJ1ZmZlckZsdXNoSWRlbnRpZmllciBmbHVzaElkZW50aWZpZXIsIFdlYktpdDo6
SW1hZ2VCdWZmZXJJZGVudGlmaWVyIGltYWdlQnVmZmVySWRlbnRpZmllcikKKyAgICBDcmVhdGVJ
bWFnZUJ1ZmZlcihXZWJDb3JlOjpGbG9hdFNpemUgbG9naWNhbFNpemUsIFdlYkNvcmU6OlJlbmRl
cmluZ01vZGUgcmVuZGVyaW5nTW9kZSwgZmxvYXQgcmVzb2x1dGlvblNjYWxlLCBXZWJDb3JlOjpD
b2xvclNwYWNlIGNvbG9yU3BhY2UsIFdlYktpdDo6SW1hZ2VCdWZmZXJJZGVudGlmaWVyIGltYWdl
QnVmZmVySWRlbnRpZmllcikKKyAgICBSZWxlYXNlSW1hZ2VCdWZmZXIoV2ViS2l0OjpJbWFnZUJ1
ZmZlcklkZW50aWZpZXIgaW1hZ2VCdWZmZXJJZGVudGlmaWVyKQorICAgIEZsdXNoSW1hZ2VCdWZm
ZXJEcmF3aW5nQ29udGV4dChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6RGlzcGxheUxpc3QgZGlzcGxh
eUxpc3QsIFdlYktpdDo6SW1hZ2VCdWZmZXJGbHVzaElkZW50aWZpZXIgZmx1c2hJZGVudGlmaWVy
LCBXZWJLaXQ6OkltYWdlQnVmZmVySWRlbnRpZmllciBpbWFnZUJ1ZmZlcklkZW50aWZpZXIpCisg
ICAgR2V0SW1hZ2VEYXRhKGVudW06dWludDhfdCBXZWJDb3JlOjpBbHBoYVByZW11bHRpcGxpY2F0
aW9uIG91dHB1dEZvcm1hdCwgV2ViQ29yZTo6SW50UmVjdCBzcmNSZWN0LCBXZWJLaXQ6OkltYWdl
QnVmZmVySWRlbnRpZmllciBpbWFnZUJ1ZmZlcklkZW50aWZpZXIpIC0+IChXZWJDb3JlOjpJbnRT
aXplIHNpemUsIElQQzo6U2hhcmVkQnVmZmVyRGF0YVJlZmVyZW5jZSBkYXRhKSBTeW5jaHJvbm91
cwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9QbGF0Zm9ybS9JUEMvTWVzc2FnZVNlbmRlci5oIGIvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9JUEMvTWVzc2FnZVNlbmRlci5oCmluZGV4IDgxMGE1MTQ5NzA3Mjc2ODQwMWJmYjlkZmZl
MTU5YzYwYjA5ZGU3MWIuLjMyMTljN2RkYTVjMWU0YWQwMjQwODAzZjQ0NTNmMGYzODI4MTdkMWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL01lc3NhZ2VTZW5kZXIuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9NZXNzYWdlU2VuZGVyLmgKQEAgLTcxLDYg
KzcxLDEyIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1lc3NhZ2VTZW5kZXJDb25uZWN0aW9u
KCktPnNlbmRTeW5jKFdURk1vdmUobWVzc2FnZSksIFdURk1vdmUocmVwbHkpLCBkZXN0aW5hdGlv
bklELCB0aW1lb3V0LCBzZW5kU3luY09wdGlvbnMpOwogICAgIH0KIAorICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFUsIHR5cGVuYW1lIFQ+CisgICAgYm9vbCBzZW5kU3luYyhVJiYgbWVzc2FnZSwgdHlw
ZW5hbWUgVTo6UmVwbHkmJiByZXBseSwgT2JqZWN0SWRlbnRpZmllcjxUPiBkZXN0aW5hdGlvbklE
LCBTZWNvbmRzIHRpbWVvdXQgPSBTZWNvbmRzOjppbmZpbml0eSgpLCBPcHRpb25TZXQ8U2VuZFN5
bmNPcHRpb24+IHNlbmRTeW5jT3B0aW9ucyA9IHsgfSkKKyAgICB7CisgICAgICAgIHJldHVybiBz
ZW5kU3luYzxVPihzdGQ6OmZvcndhcmQ8VT4obWVzc2FnZSksIFdURk1vdmUocmVwbHkpLCBkZXN0
aW5hdGlvbklELnRvVUludDY0KCksIHRpbWVvdXQsIHNlbmRTeW5jT3B0aW9ucyk7CisgICAgfQor
CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgQz4KICAgICB2b2lkIHNlbmRXaXRo
QXN5bmNSZXBseShUJiYgbWVzc2FnZSwgQyYmIGNvbXBsZXRpb25IYW5kbGVyLCBPcHRpb25TZXQ8
U2VuZE9wdGlvbj4gc2VuZE9wdGlvbnMgPSB7IH0pCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlci5oIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlci5oCmlu
ZGV4IGI3YzBlOWI0NWYwZDcwMjY0OTRlM2NlMDk1YzQ2NTRjOTc5ZjI4YzkuLmIwYjAyYjllMzM5
ZWM0M2EyMTlmOTAzOTlkZWEwMTU2MjIzNmQzYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXIuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyLmgKQEAgLTcy
LDIwICs3MiwzNSBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHJldHVybiBtX2JhY2tlbmQuZ2V0KCk7
CiAgICAgfQogCisgICAgUmVmUHRyPEltYWdlRGF0YT4gZ2V0SW1hZ2VEYXRhKEFscGhhUHJlbXVs
dGlwbGljYXRpb24gb3V0cHV0Rm9ybWF0LCBjb25zdCBJbnRSZWN0JiBzcmNSZWN0KSBjb25zdCBv
dmVycmlkZQorICAgIHsKKyAgICAgICAgY29uc3RfY2FzdDxSZW1vdGVJbWFnZUJ1ZmZlcio+KHRo
aXMpLT5hc3luY3Jvbm91c2x5Rmx1c2hEcmF3aW5nQ29udGV4dCgpOworICAgICAgICBhdXRvIHJl
c3VsdCA9IGNvbnN0X2Nhc3Q8UmVtb3RlSW1hZ2VCdWZmZXIqPih0aGlzKS0+UmVtb3RlSW1hZ2VC
dWZmZXJNZXNzYWdlSGFuZGxlcjo6Z2V0SW1hZ2VEYXRhKG91dHB1dEZvcm1hdCwgc3JjUmVjdCk7
CisgICAgICAgIC8vIGdldEltYWdlRGF0YSBpcyBzeW5jaHJvbm91cywgd2hpY2ggbWVhbnMgd2Un
dmUgYWxyZWFkeSByZWNlaXZlZCB0aGUgQ29tbWl0SW1hZ2VCdWZmZXJGbHVzaENvbnRleHQgbWVz
c2FnZS4KKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisKICAgICB2b2lkIGZsdXNoQ29u
dGV4dCgpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBmbHVzaERyYXdpbmdDb250ZXh0KCk7CiAg
ICAgICAgIG1fYmFja2VuZC0+Zmx1c2hDb250ZXh0KCk7CiAgICAgfQogCi0gICAgdm9pZCBmbHVz
aERyYXdpbmdDb250ZXh0KCkgb3ZlcnJpZGUKKyAgICBib29sIGFzeW5jcm9ub3VzbHlGbHVzaERy
YXdpbmdDb250ZXh0KCkKICAgICB7CiAgICAgICAgIGF1dG8mIGRpc3BsYXlMaXN0ID0gbV9kcmF3
aW5nQ29udGV4dC5kaXNwbGF5TGlzdCgpOwogICAgICAgICBpZiAoZGlzcGxheUxpc3QuaXRlbUNv
dW50KCkpIHsKICAgICAgICAgICAgIFJlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXI6OmZs
dXNoRHJhd2luZ0NvbnRleHQoZGlzcGxheUxpc3QpOwotICAgICAgICAgICAgUmVtb3RlSW1hZ2VC
dWZmZXJNZXNzYWdlSGFuZGxlcjo6d2FpdEZvckNvbW1pdEltYWdlQnVmZmVyRmx1c2hDb250ZXh0
KCk7CiAgICAgICAgICAgICBkaXNwbGF5TGlzdC5jbGVhcigpOworICAgICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIHZv
aWQgZmx1c2hEcmF3aW5nQ29udGV4dCgpIG92ZXJyaWRlCisgICAgeworICAgICAgICBpZiAoYXN5
bmNyb25vdXNseUZsdXNoRHJhd2luZ0NvbnRleHQoKSkKKyAgICAgICAgICAgIFJlbW90ZUltYWdl
QnVmZmVyTWVzc2FnZUhhbmRsZXI6OndhaXRGb3JDb21taXRJbWFnZUJ1ZmZlckZsdXNoQ29udGV4
dCgpOwogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhh
bmRsZXIuY3BwCmluZGV4IDVlMGQ1ZjU1ZjNlMGM4OGZiZTVlMGQ0OTUxZmUxOTkyYzY0ZmVjMDMu
Ljc1M2EyOGJhYTcxYjU3ZGRkM2NmNDU1MTA3OTQ3MGM1YTMxNDc3MzIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJNZXNz
YWdlSGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGlj
cy9SZW1vdGVJbWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyLmNwcApAQCAtMzAsNiArMzAsOSBAQAog
CiAjaW5jbHVkZSAiUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oIgogI2luY2x1ZGUgIlJlbW90ZVJl
bmRlcmluZ0JhY2tlbmRQcm94eU1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiU2hhcmVkQnVmZmVyRGF0
YVJlZmVyZW5jZS5oIgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0dlbmVyaWNUeXBlZEFycmF5
Vmlld0lubGluZXMuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0dlbmVyaWNUeXBlZEFy
cmF5Vmlld0lubGluZXMuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKQEAgLTYxLDYgKzY0LDE5IEBAIHZvaWQgUmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdl
SGFuZGxlcjo6d2FpdEZvckNvbW1pdEltYWdlQnVmZmVyRmx1c2hDb250ZXh0KCkKICAgICAgICAg
bV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kLT53YWl0Rm9yQ29tbWl0SW1hZ2VCdWZmZXJGbHVzaENv
bnRleHQoKTsKIH0KIAorUmVmUHRyPFdlYkNvcmU6OkltYWdlRGF0YT4gUmVtb3RlSW1hZ2VCdWZm
ZXJNZXNzYWdlSGFuZGxlcjo6Z2V0SW1hZ2VEYXRhKEFscGhhUHJlbXVsdGlwbGljYXRpb24gb3V0
cHV0Rm9ybWF0LCBXZWJDb3JlOjpJbnRSZWN0IHNyY1JlY3QpCit7CisgICAgaWYgKCFtX3JlbW90
ZVJlbmRlcmluZ0JhY2tlbmQpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIFdlYkNvcmU6
OkludFNpemUgc2l6ZTsKKyAgICBJUEM6OlNoYXJlZEJ1ZmZlckRhdGFSZWZlcmVuY2UgZGF0YTsK
KyAgICBtX3JlbW90ZVJlbmRlcmluZ0JhY2tlbmQtPnNlbmRTeW5jKE1lc3NhZ2VzOjpSZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kUHJveHk6OkdldEltYWdlRGF0YShvdXRwdXRGb3JtYXQsIHNyY1JlY3Qs
IG1faW1hZ2VCdWZmZXJJZGVudGlmaWVyKSwgTWVzc2FnZXM6OlJlbW90ZVJlbmRlcmluZ0JhY2tl
bmRQcm94eTo6R2V0SW1hZ2VEYXRhOjpSZXBseShzaXplLCBkYXRhKSwgbV9yZW1vdGVSZW5kZXJp
bmdCYWNrZW5kLT5yZW5kZXJpbmdCYWNrZW5kSWRlbnRpZmllcigpLCAxX3MpOworICAgIGlmICgh
ZGF0YS5idWZmZXIoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgLy8gRklYTUU6IENv
cHlpbmcgZnJvbSB0aGUgc2hhcmVkIGJ1ZmZlciBpbnRvIHRoZSBJbWFnZURhdGEgaXMgc2xvdy4g
SW52ZW50IHNvbWUgd2F5IGZvciB0aGUgSW1hZ2VEYXRhIHRvIHNpbXBseSBqdXN0IHJldGFpbiB0
aGUgU2hhcmVkQnVmZmVyLCBhbmQgdXNlIGl0IGludGVybmFsbHkuCisgICAgcmV0dXJuIEltYWdl
RGF0YTo6Y3JlYXRlKHNpemUsIFVpbnQ4Q2xhbXBlZEFycmF5OjpjcmVhdGUocmVpbnRlcnByZXRf
Y2FzdDxjb25zdCB1aW50OF90Kj4oZGF0YS5kYXRhKCkpLCBkYXRhLnNpemUoKSkpOworfQorCiB2
b2lkIFJlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXI6OmZsdXNoRHJhd2luZ0NvbnRleHQo
Y29uc3QgV2ViQ29yZTo6RGlzcGxheUxpc3Q6OkRpc3BsYXlMaXN0JiBkaXNwbGF5TGlzdCkKIHsK
ICAgICBpZiAoIW1fcmVtb3RlUmVuZGVyaW5nQmFja2VuZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFu
ZGxlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJbWFn
ZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyLmgKaW5kZXggM2FlMWE5ODc5ZWZkMTkzYTljYTcwZjhkNGEz
Yjk4NWU3M2FmMzU2NS4uOGRhYjNkNGNlOTlmYTQzM2Q5YTc0Mjg4ODFiM2ExY2Q3Y2VhNTVhNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJ
bWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyLmgKQEAgLTM0LDYg
KzM0LDExIEBACiAjaW5jbHVkZSA8V2ViQ29yZS9GbG9hdFNpemUuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL1JlbmRlcmluZ01vZGUuaD4KIAorbmFtZXNwYWNlIFdlYkNvcmUgeworZW51bSBjbGFzcyBB
bHBoYVByZW11bHRpcGxpY2F0aW9uIDogdWludDhfdDsKK2NsYXNzIEltYWdlRGF0YTsKK30KKwog
bmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ7CkBAIC02
MCw2ICs2NSw3IEBAIHByb3RlY3RlZDoKIAogICAgIC8vIE1lc3NhZ2VzIHRvIGJlIHNlbnQuIFNl
ZSBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkubWVzc2FnZXMuaW4uCiAgICAgdm9pZCBmbHVz
aERyYXdpbmdDb250ZXh0KGNvbnN0IFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpEaXNwbGF5TGlzdCYp
OworICAgIFJlZlB0cjxXZWJDb3JlOjpJbWFnZURhdGE+IGdldEltYWdlRGF0YShXZWJDb3JlOjpB
bHBoYVByZW11bHRpcGxpY2F0aW9uIG91dHB1dEZvcm1hdCwgV2ViQ29yZTo6SW50UmVjdCBzcmNS
ZWN0KTsKIAogcHJpdmF0ZToKICAgICBXZWFrUHRyPFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ+IG1f
cmVtb3RlUmVuZGVyaW5nQmFja2VuZDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392659</attachid>
            <date>2020-03-05 19:24:30 -0800</date>
            <delta_ts>2020-03-06 17:43:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208560-20200305192429.patch</filename>
            <type>text/plain</type>
            <size>16789</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3OTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWYyODcxOGRiYWI1OWE2
M2JhYzY5ZWJlYjk3NzBkNTAwMTNkYWQ5Ny4uMGNjMmUxODliODI3MjM0YTk4Mzg1ZDBhYTc2YWI0
ZTY1NTY2YjkyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTAzLTA1ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVSBQcm9j
ZXNzXSBJbXBsZW1lbnQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmdldEltYWdlRGF0YSgpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg1NjAKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwMDYwNjE4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZXJlIGlzIG5v
IGJlaGF2aW9yIGNoYW5nZS4gV2UncmUganVzdCB1c2luZyB0aGUgR1BVIHByb2Nlc3Mgbm93LCBp
bnN0ZWFkIG9mIGltcGxlbWVudGluZworICAgICAgICB0aGUgY29tbWFuZCBsb2NhbGx5IGluIHRo
ZSBXZWIgUHJvY2Vzcy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0FscGhhUHJlbXVs
dGlwbGljYXRpb24uaDoKKwogMjAyMC0wMy0wNSAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhh
bGxhd2FAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSB0aGUgb3B0aW1pemF0aW9uIGZvciBk
aXNjYXJkaW5nIG5vIG9wZXJhdGlvbiBEaXNwbGF5TGlzdCBpdGVtcyBiZXR3ZWVuIFNhdmUgYW5k
IFJlc3RvcmUgaXRlbXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMTQzZWI5NzQ3NzA2ZTA3YjMyMzc1ODJkMGU0ZDE3
ZjI1YjIxNDQxYy4uZmQ2ZWU3MTliZDI5NTRkMmUxNWZlMDNmYzU1NzEyYTNmZjQzMzQ4OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAyMC0wMy0wNSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxt
bWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtHUFUgUHJvY2Vzc10gSW1wbGVtZW50IENh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRC5nZXRJbWFnZURhdGEoKQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NTYwCisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS82MDA2MDYxOD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGRzIGEgbmV3IHN5bmNocm9ub3VzIG1lc3NhZ2UgYmV0d2VlbiB0aGUgV2ViIFBy
b2Nlc3MgYW5kIHRoZSBHUFUgUHJvY2Vzcy4KKyAgICAgICAgVW5mb3J0dW5hdGVseSwgZ2V0SW1h
Z2VEYXRhKCkgc3luY2hyb25vdXNseSByZXR1cm5zIHJlc3VsdHMsIGFuZCB3ZSBkb24ndAorICAg
ICAgICBoYXZlIHRoZSBpbmZyYXN0cnVjdHVyZSB0byBtYWtlIEphdmFTY3JpcHQgaW50ZXJydXB0
aWJsZSwgc28gdGhpcyBtZWFucyB0aGF0CisgICAgICAgIHRoZSBtZXNzYWdlIGhhcyB0byBiZSBz
eW5jaHJvbm91cywgYXQgbGVhc3QgdW50aWwgd2UgYWRkIHRoYXQgaW5mcmFzdHJ1Y3R1cmUuCisK
KyAgICAgICAgV2hlbiB0aGUgUmVtb3RlSW1hZ2VCdWZmZXIgcmVjZWl2ZXMgdGhlIGdldEltYWdl
RGF0YSgpIGNhbGwsIGl0IGZpcnN0CisgICAgICAgIGFzeW5jaHJvbm91c2x5IGZsdXNoZXMgdGhl
IHBlbmRpbmcgZGlzcGxheSBsaXN0LCBkb2Vzbid0IHdhaXQgZm9yIGEgcmVzcG9uc2UsIAorICAg
ICAgICBhbmQgdGhlbiBzZW5kcyB0aGUgc3luY2hyb25vdXMgZ2V0SW1hZ2VEYXRhKCkgbWVzc2Fn
ZS4gQmVjYXVzZSB0aGUgR1BVIFByb2Nlc3MKKyAgICAgICAgcmVjZWl2ZXMgbWVzc2FnZXMgaW4t
b3JkZXIsIHRoZSBXZWIgUHJvY2VzcyBkb2Vzbid0IGhhdmUgdG8gd2FpdCBmb3IgdGhlCisgICAg
ICAgIHJlc3BvbnNlIGZyb20gdGhlIGZsdXNoIG1lc3NhZ2UuCisKKyAgICAgICAgQWZ0ZXIgdGhp
cyBwYXRjaCwgdGhlcmUgYXJlIGEgZmV3IG9wdGltaXphdGlvbiBvcHBvcnR1bml0aWVzIHdlIGNh
biBleHBsb2l0CisgICAgICAgIHdoZXJlIHdlIHVzZSBTaGFyZWRCdWZmZXIgZGlyZWN0bHkgaW5z
dGVhZCBvZiBjb3B5aW5nIGludG8gYW5kIG91dCBvZiB0aGUKKyAgICAgICAgSW1hZ2VEYXRhLgor
CisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlck1lc3NhZ2VI
YW5kbGVyUHJveHkuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUltYWdl
QnVmZmVyUHJveHkuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRl
cmluZ0JhY2tlbmRQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbmRlcmluZ0Jh
Y2tlbmRQcm94eTo6Z2V0SW1hZ2VEYXRhKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNz
L1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3Jh
cGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAq
IFBsYXRmb3JtL0lQQy9NZXNzYWdlU2VuZGVyLmg6CisgICAgICAgIChJUEM6Ok1lc3NhZ2VTZW5k
ZXI6OnNlbmRTeW5jKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJ
bWFnZUJ1ZmZlci5oOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVJbWFnZUJ1ZmZlcjo6YXN5bmNy
b25vdXNseUZsdXNoRHJhd2luZ0NvbnRleHQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL2dy
YXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXIuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpSZW1vdGVJbWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyOjpnZXRJbWFnZURhdGEpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhh
bmRsZXIuaDoKKwogMjAyMC0wMy0wNSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+
CiAKICAgICAgICAgUHJlLWZldGNoIGZpcnN0IHBhZ2UgaW4gbmV3IFBERiBsb2FkaW5nIG1vZGVs
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQWxwaGFQcmVt
dWx0aXBsaWNhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQWxwaGFQ
cmVtdWx0aXBsaWNhdGlvbi5oCmluZGV4IDZkMWNhZWY4NTQxZGVlMDYyYmZlMDU0MTZjZGEyZjJh
N2Y3OTI2ZTIuLmIyNzc4MGY2MmIxOTJmNTgxYzI0MzkyYWQxOTE3ZTBjNWM1ZjcwOWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0FscGhhUHJlbXVsdGlwbGlj
YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9BbHBoYVByZW11
bHRpcGxpY2F0aW9uLmgKQEAgLTM0LDYgKzM0LDE3IEBAIGVudW0gY2xhc3MgQWxwaGFQcmVtdWx0
aXBsaWNhdGlvbiA6IHVpbnQ4X3QgewogICAgIFVucHJlbXVsdGlwbGllZAogfTsKIAorCiBXRUJD
T1JFX0VYUE9SVCBXVEY6OlRleHRTdHJlYW0mIG9wZXJhdG9yPDwoV1RGOjpUZXh0U3RyZWFtJiwg
QWxwaGFQcmVtdWx0aXBsaWNhdGlvbik7CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK30KKwor
bmFtZXNwYWNlIFdURiB7Cit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OkFs
cGhhUHJlbXVsdGlwbGljYXRpb24+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAor
ICAgICAgICBXZWJDb3JlOjpBbHBoYVByZW11bHRpcGxpY2F0aW9uLAorICAgICAgICBXZWJDb3Jl
OjpBbHBoYVByZW11bHRpcGxpY2F0aW9uOjpQcmVtdWx0aXBsaWVkLAorICAgICAgICBXZWJDb3Jl
OjpBbHBoYVByZW11bHRpcGxpY2F0aW9uOjpVbnByZW11bHRpcGxpZWQKKyAgICA+OworfTsKK30K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVJbWFn
ZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9n
cmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyUHJveHkuaAppbmRleCAzOGZj
ZGJiZjBhZGFjZGQzZjk1YTExZDBjYzA1NGM2YjQ1ZWIyNGE0Li43ZmYzZjFiYWM3NWFjYmJlMmE3
MDExZWUxOTkyYzJjN2EzZTljYjk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlclByb3h5LmgKKysrIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyTWVzc2Fn
ZUhhbmRsZXJQcm94eS5oCkBAIC0zMyw2ICszMywxMSBAQAogI2luY2x1ZGUgPFdlYkNvcmUvRGlz
cGxheUxpc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0U2l6ZS5oPgogCituYW1lc3BhY2Ug
V2ViQ29yZSB7CitlbnVtIGNsYXNzIEFscGhhUHJlbXVsdGlwbGljYXRpb24gOiB1aW50OF90Owor
Y2xhc3MgSW1hZ2VEYXRhOworfQorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgUmVtb3Rl
UmVuZGVyaW5nQmFja2VuZFByb3h5OwpAQCAtNDMsNiArNDgsNyBAQCBwdWJsaWM6CiAKICAgICAv
LyBNZXNzYWdlcyB0byBiZSByZWNlaXZlZC4gU2VlIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94
eS5tZXNzYWdlcy5pbi4KICAgICB2aXJ0dWFsIHZvaWQgZmx1c2hEcmF3aW5nQ29udGV4dChjb25z
dCBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6RGlzcGxheUxpc3QmLCBJbWFnZUJ1ZmZlckZsdXNoSWRl
bnRpZmllcikgPSAwOworICAgIHZpcnR1YWwgUmVmUHRyPFdlYkNvcmU6OkltYWdlRGF0YT4gcGVy
Zm9ybUdldEltYWdlRGF0YShXZWJDb3JlOjpBbHBoYVByZW11bHRpcGxpY2F0aW9uIG91dHB1dEZv
cm1hdCwgV2ViQ29yZTo6SW50UmVjdCBzcmNSZWN0KSA9IDA7CiAKIHByb3RlY3RlZDoKICAgICBS
ZW1vdGVJbWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyUHJveHkoUmVtb3RlUmVuZGVyaW5nQmFja2Vu
ZFByb3h5JiwgSW1hZ2VCdWZmZXJJZGVudGlmaWVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmggYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94eS5oCmluZGV4
IDAwNjFkNzdlOWNmNDRjYWJkNDJjOTNhOTQ5NmY0YmE3ZDVhODhhMTkuLmZmY2RiOTJiMmZjNTFj
MmM3MTAyZmUyZjdlNDFiZWY4NTlmMmE5MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmgKKysrIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyUHJveHkuaApAQCAtNTQs
NiArNTQsMTEgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICB1c2luZyBCYXNlQ29uY3JldGVJbWFn
ZUJ1ZmZlcjo6Zmx1c2hEcmF3aW5nQ29udGV4dDsKIAorICAgIFJlZlB0cjxXZWJDb3JlOjpJbWFn
ZURhdGE+IHBlcmZvcm1HZXRJbWFnZURhdGEoV2ViQ29yZTo6QWxwaGFQcmVtdWx0aXBsaWNhdGlv
biBvdXRwdXRGb3JtYXQsIFdlYkNvcmU6OkludFJlY3Qgc3JjUmVjdCkgb3ZlcnJpZGUKKyAgICB7
CisgICAgICAgIHJldHVybiBCYXNlQ29uY3JldGVJbWFnZUJ1ZmZlcjo6Z2V0SW1hZ2VEYXRhKG91
dHB1dEZvcm1hdCwgc3JjUmVjdCk7CisgICAgfQorCiAgICAgdm9pZCBmbHVzaERyYXdpbmdDb250
ZXh0KGNvbnN0IFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpEaXNwbGF5TGlzdCYgZGlzcGxheUxpc3Qs
IEltYWdlQnVmZmVyRmx1c2hJZGVudGlmaWVyIGZsdXNoSWRlbnRpZmllcikgb3ZlcnJpZGUKICAg
ICB7CiAgICAgICAgIGlmIChkaXNwbGF5TGlzdC5pdGVtQ291bnQoKSkgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVy
aW5nQmFja2VuZFByb3h5LmNwcAppbmRleCBlNDMxNzA2YjBlOGZmMDkyZmY4NmYyNjNlZGU1NjNl
MmRiMTQ2YTIzLi5jNDMwNzNkYTQxZTg2ZTBkNmVhMzMxNzk3NjZmOTU4NTI3NzkwODdkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5n
QmFja2VuZFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3Mv
UmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmNwcApAQCAtMTAwLDYgKzEwMCwxOSBAQCB2b2lk
IFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eTo6cmVsZWFzZUltYWdlQnVmZmVyKEltYWdlQnVm
ZmVySWRlbnRpZmllciBpbWFnZQogICAgIEFTU0VSVF9VTlVTRUQoZm91bmQsIGZvdW5kKTsKIH0K
IAordm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHk6OmdldEltYWdlRGF0YShXZWJDb3Jl
OjpBbHBoYVByZW11bHRpcGxpY2F0aW9uIG91dHB1dEZvcm1hdCwgV2ViQ29yZTo6SW50UmVjdCBz
cmNSZWN0LCBJbWFnZUJ1ZmZlcklkZW50aWZpZXIgaW1hZ2VCdWZmZXJJZGVudGlmaWVyLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OkludFNpemUmJiwgSVBDOjpTaGFyZWRCdWZmZXJE
YXRhUmVmZXJlbmNlJiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIGlmIChhdXRvIGlt
YWdlQnVmZmVyID0gbV9pbWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyTWFwLmdldChpbWFnZUJ1ZmZl
cklkZW50aWZpZXIpKSB7CisgICAgICAgIGF1dG8gaW1hZ2VEYXRhID0gaW1hZ2VCdWZmZXItPnBl
cmZvcm1HZXRJbWFnZURhdGEob3V0cHV0Rm9ybWF0LCBzcmNSZWN0KTsKKyAgICAgICAgaWYgKCFp
bWFnZURhdGEgfHwgIWltYWdlRGF0YS0+ZGF0YSgpKSB7CisgICAgICAgICAgICBjb21wbGV0aW9u
SGFuZGxlcihXZWJDb3JlOjpJbnRTaXplKCksIElQQzo6U2hhcmVkQnVmZmVyRGF0YVJlZmVyZW5j
ZSgpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICAvLyBGSVhNRTog
Q29weWluZyBmcm9tIHRoZSBJbWFnZURhdGEgdG8gdGhlIFNoYXJlZEJ1ZmZlciBpcyBzbG93LiBJ
bnZlbnQgc29tZSB3YXkgZm9yIHRoZSBTaGFyZWRCdWZmZXIgdG8gYmUgcG9wdWxhdGVkIGRpcmVj
dGx5LgorICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihpbWFnZURhdGEtPnNpemUoKSwgSVBDOjpT
aGFyZWRCdWZmZXJEYXRhUmVmZXJlbmNlKFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKGlt
YWdlRGF0YS0+ZGF0YSgpLT5kYXRhKCksIGltYWdlRGF0YS0+ZGF0YSgpLT5ieXRlTGVuZ3RoKCkp
KSk7CisgICAgfQorfQorCiB2b2lkIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eTo6Zmx1c2hJ
bWFnZUJ1ZmZlckRyYXdpbmdDb250ZXh0KGNvbnN0IFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpEaXNw
bGF5TGlzdCYgZGlzcGxheUxpc3QsIEltYWdlQnVmZmVyRmx1c2hJZGVudGlmaWVyIGZsdXNoSWRl
bnRpZmllciwgSW1hZ2VCdWZmZXJJZGVudGlmaWVyIGltYWdlQnVmZmVySWRlbnRpZmllcikKIHsK
ICAgICBpZiAoYXV0byBpbWFnZUJ1ZmZlciA9IG1faW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlck1h
cC5nZXQoaW1hZ2VCdWZmZXJJZGVudGlmaWVyKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuaCBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHku
aAppbmRleCA0ZjhhODlhZmM3MmMxOGQ4NGY0ZGEzYWE0Y2Y5ZWU4ODkyNjdiZmQzLi44OGUxYzdm
OWQ0MDIxYWI4ODM3YjZmMjNmZjcyYjliNmUwYjlkOTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tl
bmRQcm94eS5oCkBAIC00MSw2ICs0MSwxMCBAQAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAj
aW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAorbmFtZXNwYWNlIElQQyB7CitjbGFzcyBTaGFyZWRC
dWZmZXJEYXRhUmVmZXJlbmNlOworfQorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgR1BV
Q29ubmVjdGlvblRvV2ViUHJvY2VzczsKQEAgLTYzLDExICs2NywxMyBAQCBwcml2YXRlOgogCiAg
ICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQ
Qzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIG92ZXJyaWRlOworICAgIHZvaWQgZGlkUmVj
ZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYsIHN0ZDo6dW5p
cXVlX3B0cjxJUEM6OkVuY29kZXI+Jikgb3ZlcnJpZGU7CiAKICAgICAvLyBNZXNzYWdlcyB0byBi
ZSByZWNlaXZlZC4KICAgICB2b2lkIGNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0IFdlYkNvcmU6OkZs
b2F0U2l6ZSYgbG9naWNhbFNpemUsIFdlYkNvcmU6OlJlbmRlcmluZ01vZGUsIGZsb2F0IHJlc29s
dXRpb25TY2FsZSwgV2ViQ29yZTo6Q29sb3JTcGFjZSwgSW1hZ2VCdWZmZXJJZGVudGlmaWVyKTsK
ICAgICB2b2lkIHJlbGVhc2VJbWFnZUJ1ZmZlcihJbWFnZUJ1ZmZlcklkZW50aWZpZXIpOwogICAg
IHZvaWQgZmx1c2hJbWFnZUJ1ZmZlckRyYXdpbmdDb250ZXh0KGNvbnN0IFdlYkNvcmU6OkRpc3Bs
YXlMaXN0OjpEaXNwbGF5TGlzdCYsIEltYWdlQnVmZmVyRmx1c2hJZGVudGlmaWVyLCBJbWFnZUJ1
ZmZlcklkZW50aWZpZXIpOworICAgIHZvaWQgZ2V0SW1hZ2VEYXRhKFdlYkNvcmU6OkFscGhhUHJl
bXVsdGlwbGljYXRpb24gb3V0cHV0Rm9ybWF0LCBXZWJDb3JlOjpJbnRSZWN0IHNyY1JlY3QsIElt
YWdlQnVmZmVySWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpJbnRT
aXplJiYsIElQQzo6U2hhcmVkQnVmZmVyRGF0YVJlZmVyZW5jZSYmKT4mJik7CiAKICAgICB1c2lu
ZyBJbWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyTWFwID0gSGFzaE1hcDxJbWFnZUJ1ZmZlcklkZW50
aWZpZXIsIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVJbWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyUHJv
eHk+PjsKICAgICBJbWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyTWFwIG1faW1hZ2VCdWZmZXJNZXNz
YWdlSGFuZGxlck1hcDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFw
aGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5Lm1lc3Nh
Z2VzLmluCmluZGV4IDY1YThkOTBhNjZmODVlOGY4ODNjMTVlNGIwZTNiZjgwYzY5NGNjMTguLjI3
YzE3MWNlMzMwMzA3OGI4NTAwZTc2MTM4YzUxOTdiODIyY2VmZWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHku
bWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90
ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5tZXNzYWdlcy5pbgpAQCAtMjMsOSArMjMsMTAgQEAKICNp
ZiBFTkFCTEUoR1BVX1BST0NFU1MpCiAKIG1lc3NhZ2VzIC0+IFJlbW90ZVJlbmRlcmluZ0JhY2tl
bmRQcm94eSBOb3RSZWZDb3VudGVkIHsKLSAgICB2b2lkIENyZWF0ZUltYWdlQnVmZmVyKFdlYkNv
cmU6OkZsb2F0U2l6ZSBsb2dpY2FsU2l6ZSwgV2ViQ29yZTo6UmVuZGVyaW5nTW9kZSByZW5kZXJp
bmdNb2RlLCBmbG9hdCByZXNvbHV0aW9uU2NhbGUsIFdlYkNvcmU6OkNvbG9yU3BhY2UgY29sb3JT
cGFjZSwgV2ViS2l0OjpJbWFnZUJ1ZmZlcklkZW50aWZpZXIgaW1hZ2VCdWZmZXJJZGVudGlmaWVy
KQotICAgIHZvaWQgUmVsZWFzZUltYWdlQnVmZmVyKFdlYktpdDo6SW1hZ2VCdWZmZXJJZGVudGlm
aWVyIGltYWdlQnVmZmVySWRlbnRpZmllcikKLSAgICB2b2lkIEZsdXNoSW1hZ2VCdWZmZXJEcmF3
aW5nQ29udGV4dChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6RGlzcGxheUxpc3QgZGlzcGxheUxpc3Qs
IFdlYktpdDo6SW1hZ2VCdWZmZXJGbHVzaElkZW50aWZpZXIgZmx1c2hJZGVudGlmaWVyLCBXZWJL
aXQ6OkltYWdlQnVmZmVySWRlbnRpZmllciBpbWFnZUJ1ZmZlcklkZW50aWZpZXIpCisgICAgQ3Jl
YXRlSW1hZ2VCdWZmZXIoV2ViQ29yZTo6RmxvYXRTaXplIGxvZ2ljYWxTaXplLCBXZWJDb3JlOjpS
ZW5kZXJpbmdNb2RlIHJlbmRlcmluZ01vZGUsIGZsb2F0IHJlc29sdXRpb25TY2FsZSwgV2ViQ29y
ZTo6Q29sb3JTcGFjZSBjb2xvclNwYWNlLCBXZWJLaXQ6OkltYWdlQnVmZmVySWRlbnRpZmllciBp
bWFnZUJ1ZmZlcklkZW50aWZpZXIpCisgICAgUmVsZWFzZUltYWdlQnVmZmVyKFdlYktpdDo6SW1h
Z2VCdWZmZXJJZGVudGlmaWVyIGltYWdlQnVmZmVySWRlbnRpZmllcikKKyAgICBGbHVzaEltYWdl
QnVmZmVyRHJhd2luZ0NvbnRleHQoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OkRpc3BsYXlMaXN0IGRp
c3BsYXlMaXN0LCBXZWJLaXQ6OkltYWdlQnVmZmVyRmx1c2hJZGVudGlmaWVyIGZsdXNoSWRlbnRp
ZmllciwgV2ViS2l0OjpJbWFnZUJ1ZmZlcklkZW50aWZpZXIgaW1hZ2VCdWZmZXJJZGVudGlmaWVy
KQorICAgIEdldEltYWdlRGF0YShlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6QWxwaGFQcmVtdWx0aXBs
aWNhdGlvbiBvdXRwdXRGb3JtYXQsIFdlYkNvcmU6OkludFJlY3Qgc3JjUmVjdCwgV2ViS2l0OjpJ
bWFnZUJ1ZmZlcklkZW50aWZpZXIgaW1hZ2VCdWZmZXJJZGVudGlmaWVyKSAtPiAoV2ViQ29yZTo6
SW50U2l6ZSBzaXplLCBJUEM6OlNoYXJlZEJ1ZmZlckRhdGFSZWZlcmVuY2UgZGF0YSkgU3luY2hy
b25vdXMKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL01lc3NhZ2VTZW5kZXIuaCBiL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vSVBDL01lc3NhZ2VTZW5kZXIuaAppbmRleCA4MTBhNTE0OTcwNzI3Njg0MDFiZmI5
ZGZmZTE1OWM2MGIwOWRlNzFiLi4zMjE5YzdkZGE1YzFlNGFkMDI0MDgwM2Y0NDUzZjBmMzgyODE3
ZDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9NZXNzYWdlU2VuZGVy
LmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvTWVzc2FnZVNlbmRlci5oCkBAIC03
MSw2ICs3MSwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtZXNzYWdlU2VuZGVyQ29ubmVj
dGlvbigpLT5zZW5kU3luYyhXVEZNb3ZlKG1lc3NhZ2UpLCBXVEZNb3ZlKHJlcGx5KSwgZGVzdGlu
YXRpb25JRCwgdGltZW91dCwgc2VuZFN5bmNPcHRpb25zKTsKICAgICB9CiAKKyAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBVLCB0eXBlbmFtZSBUPgorICAgIGJvb2wgc2VuZFN5bmMoVSYmIG1lc3NhZ2Us
IHR5cGVuYW1lIFU6OlJlcGx5JiYgcmVwbHksIE9iamVjdElkZW50aWZpZXI8VD4gZGVzdGluYXRp
b25JRCwgU2Vjb25kcyB0aW1lb3V0ID0gU2Vjb25kczo6aW5maW5pdHkoKSwgT3B0aW9uU2V0PFNl
bmRTeW5jT3B0aW9uPiBzZW5kU3luY09wdGlvbnMgPSB7IH0pCisgICAgeworICAgICAgICByZXR1
cm4gc2VuZFN5bmM8VT4oc3RkOjpmb3J3YXJkPFU+KG1lc3NhZ2UpLCBXVEZNb3ZlKHJlcGx5KSwg
ZGVzdGluYXRpb25JRC50b1VJbnQ2NCgpLCB0aW1lb3V0LCBzZW5kU3luY09wdGlvbnMpOworICAg
IH0KKwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIEM+CiAgICAgdm9pZCBzZW5k
V2l0aEFzeW5jUmVwbHkoVCYmIG1lc3NhZ2UsIEMmJiBjb21wbGV0aW9uSGFuZGxlciwgT3B0aW9u
U2V0PFNlbmRPcHRpb24+IHNlbmRPcHRpb25zID0geyB9KQogICAgIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXIuaCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXIu
aAppbmRleCBiN2MwZTliNDVmMGQ3MDI2NDk0ZTNjZTA5NWM0NjU0Yzk3OWYyOGM5Li4yMmU5N2Zk
NDgyZmRkMDg4MGU0YWRiNDNjZWZmOWY3NTlmYzA0YjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyLmgKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlci5oCkBA
IC03MiwyMCArNzIsMzUgQEAgcHJvdGVjdGVkOgogICAgICAgICByZXR1cm4gbV9iYWNrZW5kLmdl
dCgpOwogICAgIH0KIAorICAgIFJlZlB0cjxJbWFnZURhdGE+IGdldEltYWdlRGF0YShBbHBoYVBy
ZW11bHRpcGxpY2F0aW9uIG91dHB1dEZvcm1hdCwgY29uc3QgSW50UmVjdCYgc3JjUmVjdCkgY29u
c3Qgb3ZlcnJpZGUKKyAgICB7CisgICAgICAgIGNvbnN0X2Nhc3Q8UmVtb3RlSW1hZ2VCdWZmZXIq
Pih0aGlzKS0+YXN5bmNocm9ub3VzbHlGbHVzaERyYXdpbmdDb250ZXh0KCk7CisgICAgICAgIGF1
dG8gcmVzdWx0ID0gY29uc3RfY2FzdDxSZW1vdGVJbWFnZUJ1ZmZlcio+KHRoaXMpLT5SZW1vdGVJ
bWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyOjpnZXRJbWFnZURhdGEob3V0cHV0Rm9ybWF0LCBzcmNS
ZWN0KTsKKyAgICAgICAgLy8gZ2V0SW1hZ2VEYXRhIGlzIHN5bmNocm9ub3VzLCB3aGljaCBtZWFu
cyB3ZSd2ZSBhbHJlYWR5IHJlY2VpdmVkIHRoZSBDb21taXRJbWFnZUJ1ZmZlckZsdXNoQ29udGV4
dCBtZXNzYWdlLgorICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKwogICAgIHZvaWQgZmx1
c2hDb250ZXh0KCkgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIGZsdXNoRHJhd2luZ0NvbnRleHQo
KTsKICAgICAgICAgbV9iYWNrZW5kLT5mbHVzaENvbnRleHQoKTsKICAgICB9CiAKLSAgICB2b2lk
IGZsdXNoRHJhd2luZ0NvbnRleHQoKSBvdmVycmlkZQorICAgIGJvb2wgYXN5bmNocm9ub3VzbHlG
bHVzaERyYXdpbmdDb250ZXh0KCkKICAgICB7CiAgICAgICAgIGF1dG8mIGRpc3BsYXlMaXN0ID0g
bV9kcmF3aW5nQ29udGV4dC5kaXNwbGF5TGlzdCgpOwogICAgICAgICBpZiAoZGlzcGxheUxpc3Qu
aXRlbUNvdW50KCkpIHsKICAgICAgICAgICAgIFJlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRs
ZXI6OmZsdXNoRHJhd2luZ0NvbnRleHQoZGlzcGxheUxpc3QpOwotICAgICAgICAgICAgUmVtb3Rl
SW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlcjo6d2FpdEZvckNvbW1pdEltYWdlQnVmZmVyRmx1c2hD
b250ZXh0KCk7CiAgICAgICAgICAgICBkaXNwbGF5TGlzdC5jbGVhcigpOworICAgICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKwor
ICAgIHZvaWQgZmx1c2hEcmF3aW5nQ29udGV4dCgpIG92ZXJyaWRlCisgICAgeworICAgICAgICBp
ZiAoYXN5bmNocm9ub3VzbHlGbHVzaERyYXdpbmdDb250ZXh0KCkpCisgICAgICAgICAgICBSZW1v
dGVJbWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyOjp3YWl0Rm9yQ29tbWl0SW1hZ2VCdWZmZXJGbHVz
aENvbnRleHQoKTsKICAgICB9CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXIuY3BwIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlck1l
c3NhZ2VIYW5kbGVyLmNwcAppbmRleCA1ZTBkNWY1NWYzZTBjODhmYmU1ZTBkNDk1MWZlMTk5MmM2
NGZlYzAzLi43NTNhMjhiYWE3MWI1N2RkZDNjZjQ1NTEwNzk0NzBjNWEzMTQ3NzMyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVm
ZmVyTWVzc2FnZUhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
Z3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlci5jcHAKQEAgLTMwLDYgKzMw
LDkgQEAKIAogI2luY2x1ZGUgIlJlbW90ZVJlbmRlcmluZ0JhY2tlbmQuaCIKICNpbmNsdWRlICJS
ZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHlNZXNzYWdlcy5oIgorI2luY2x1ZGUgIlNoYXJlZEJ1
ZmZlckRhdGFSZWZlcmVuY2UuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9HZW5lcmljVHlw
ZWRBcnJheVZpZXdJbmxpbmVzLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNHZW5lcmlj
VHlwZWRBcnJheVZpZXdJbmxpbmVzLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CkBAIC02MSw2ICs2NCwxOSBAQCB2b2lkIFJlbW90ZUltYWdlQnVmZmVy
TWVzc2FnZUhhbmRsZXI6OndhaXRGb3JDb21taXRJbWFnZUJ1ZmZlckZsdXNoQ29udGV4dCgpCiAg
ICAgICAgIG1fcmVtb3RlUmVuZGVyaW5nQmFja2VuZC0+d2FpdEZvckNvbW1pdEltYWdlQnVmZmVy
Rmx1c2hDb250ZXh0KCk7CiB9CiAKK1JlZlB0cjxXZWJDb3JlOjpJbWFnZURhdGE+IFJlbW90ZUlt
YWdlQnVmZmVyTWVzc2FnZUhhbmRsZXI6OmdldEltYWdlRGF0YShBbHBoYVByZW11bHRpcGxpY2F0
aW9uIG91dHB1dEZvcm1hdCwgV2ViQ29yZTo6SW50UmVjdCBzcmNSZWN0KQoreworICAgIGlmICgh
bV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBX
ZWJDb3JlOjpJbnRTaXplIHNpemU7CisgICAgSVBDOjpTaGFyZWRCdWZmZXJEYXRhUmVmZXJlbmNl
IGRhdGE7CisgICAgbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kLT5zZW5kU3luYyhNZXNzYWdlczo6
UmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OjpHZXRJbWFnZURhdGEob3V0cHV0Rm9ybWF0LCBz
cmNSZWN0LCBtX2ltYWdlQnVmZmVySWRlbnRpZmllciksIE1lc3NhZ2VzOjpSZW1vdGVSZW5kZXJp
bmdCYWNrZW5kUHJveHk6OkdldEltYWdlRGF0YTo6UmVwbHkoc2l6ZSwgZGF0YSksIG1fcmVtb3Rl
UmVuZGVyaW5nQmFja2VuZC0+cmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIoKSwgMV9zKTsKKyAg
ICBpZiAoIWRhdGEuYnVmZmVyKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIC8vIEZJ
WE1FOiBDb3B5aW5nIGZyb20gdGhlIHNoYXJlZCBidWZmZXIgaW50byB0aGUgSW1hZ2VEYXRhIGlz
IHNsb3cuIEludmVudCBzb21lIHdheSBmb3IgdGhlIEltYWdlRGF0YSB0byBzaW1wbHkganVzdCBy
ZXRhaW4gdGhlIFNoYXJlZEJ1ZmZlciwgYW5kIHVzZSBpdCBpbnRlcm5hbGx5LgorICAgIHJldHVy
biBJbWFnZURhdGE6OmNyZWF0ZShzaXplLCBVaW50OENsYW1wZWRBcnJheTo6Y3JlYXRlKHJlaW50
ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KGRhdGEuZGF0YSgpKSwgZGF0YS5zaXplKCkpKTsK
K30KKwogdm9pZCBSZW1vdGVJbWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyOjpmbHVzaERyYXdpbmdD
b250ZXh0KGNvbnN0IFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpEaXNwbGF5TGlzdCYgZGlzcGxheUxp
c3QpCiB7CiAgICAgaWYgKCFtX3JlbW90ZVJlbmRlcmluZ0JhY2tlbmQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyTWVz
c2FnZUhhbmRsZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVt
b3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlci5oCmluZGV4IDNhZTFhOTg3OWVmZDE5M2E5Y2E3
MGY4ZDRhM2I5ODVlNzNhZjM1NjUuLjhkYWIzZDRjZTk5ZmE0MzNkOWE3NDI4ODgxYjNhMWNkN2Nl
YTU1YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3Mv
UmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlci5oCkBA
IC0zNCw2ICszNCwxMSBAQAogI2luY2x1ZGUgPFdlYkNvcmUvRmxvYXRTaXplLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9SZW5kZXJpbmdNb2RlLmg+CiAKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2VudW0g
Y2xhc3MgQWxwaGFQcmVtdWx0aXBsaWNhdGlvbiA6IHVpbnQ4X3Q7CitjbGFzcyBJbWFnZURhdGE7
Cit9CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBSZW1vdGVSZW5kZXJpbmdCYWNrZW5k
OwpAQCAtNjAsNiArNjUsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICAvLyBNZXNzYWdlcyB0byBiZSBz
ZW50LiBTZWUgUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5Lm1lc3NhZ2VzLmluLgogICAgIHZv
aWQgZmx1c2hEcmF3aW5nQ29udGV4dChjb25zdCBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6RGlzcGxh
eUxpc3QmKTsKKyAgICBSZWZQdHI8V2ViQ29yZTo6SW1hZ2VEYXRhPiBnZXRJbWFnZURhdGEoV2Vi
Q29yZTo6QWxwaGFQcmVtdWx0aXBsaWNhdGlvbiBvdXRwdXRGb3JtYXQsIFdlYkNvcmU6OkludFJl
Y3Qgc3JjUmVjdCk7CiAKIHByaXZhdGU6CiAgICAgV2Vha1B0cjxSZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kPiBtX3JlbW90ZVJlbmRlcmluZ0JhY2tlbmQ7Cg==
</data>
<flag name="review"
          id="408057"
          type_id="1"
          status="+"
          setter="sabouhallawa"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>392842</attachid>
            <date>2020-03-06 19:50:07 -0800</date>
            <delta_ts>2020-03-07 00:43:01 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>10535</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">Y29tbWl0IDVlNmQxN2NiNDhlMjQ2YjU5MmZiNWU2MjU5ODBlNGVhYTU2NGU3YWMKQXV0aG9yOiBN
eWxlcyBDLiBNYXhmaWVsZCA8bW1heGZpZWxkQGFwcGxlLmNvbT4KRGF0ZTogICBGcmkgTWFyIDYg
MTk6NDk6MzAgMjAyMCAtMDgwMAoKICAgIFdJUAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuY3BwIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94
eS5jcHAKaW5kZXggZTQzMTcwNmIwZTguLmNiMDRmNmE2N2JjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5n
QmFja2VuZFByb3h5LmNwcApAQCAtMTAwLDYgKzEwMCwxNCBAQCB2b2lkIFJlbW90ZVJlbmRlcmlu
Z0JhY2tlbmRQcm94eTo6cmVsZWFzZUltYWdlQnVmZmVyKEltYWdlQnVmZmVySWRlbnRpZmllciBp
bWFnZQogICAgIEFTU0VSVF9VTlVTRUQoZm91bmQsIGZvdW5kKTsKIH0KIAordm9pZCBSZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kUHJveHk6OmdldEltYWdlRGF0YShXZWJDb3JlOjpBbHBoYVByZW11bHRp
cGxpY2F0aW9uIG91dHB1dEZvcm1hdCwgV2ViQ29yZTo6SW50UmVjdCBzcmNSZWN0LCBJbWFnZUJ1
ZmZlcklkZW50aWZpZXIgaW1hZ2VCdWZmZXJJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKElQQzo6SW1hZ2VEYXRhUmVmZXJlbmNlJiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQorewor
ICAgIGlmIChhdXRvIGltYWdlQnVmZmVyID0gbV9pbWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyTWFw
LmdldChpbWFnZUJ1ZmZlcklkZW50aWZpZXIpKSB7CisgICAgICAgIGF1dG8gaW1hZ2VEYXRhID0g
aW1hZ2VCdWZmZXItPnBlcmZvcm1HZXRJbWFnZURhdGEob3V0cHV0Rm9ybWF0LCBzcmNSZWN0KTsK
KyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoV2ViQ29yZTo6SW50U2l6ZSgpLCBJUEM6OlNoYXJl
ZEJ1ZmZlckRhdGFSZWZlcmVuY2UoKSk7CisgICAgfQorfQorCiB2b2lkIFJlbW90ZVJlbmRlcmlu
Z0JhY2tlbmRQcm94eTo6Zmx1c2hJbWFnZUJ1ZmZlckRyYXdpbmdDb250ZXh0KGNvbnN0IFdlYkNv
cmU6OkRpc3BsYXlMaXN0OjpEaXNwbGF5TGlzdCYgZGlzcGxheUxpc3QsIEltYWdlQnVmZmVyRmx1
c2hJZGVudGlmaWVyIGZsdXNoSWRlbnRpZmllciwgSW1hZ2VCdWZmZXJJZGVudGlmaWVyIGltYWdl
QnVmZmVySWRlbnRpZmllcikKIHsKICAgICBpZiAoYXV0byBpbWFnZUJ1ZmZlciA9IG1faW1hZ2VC
dWZmZXJNZXNzYWdlSGFuZGxlck1hcC5nZXQoaW1hZ2VCdWZmZXJJZGVudGlmaWVyKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdC
YWNrZW5kUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kUHJveHkuaAppbmRleCA0ZjhhODlhZmM3Mi4uMjMyMmRkZTRiNGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJp
bmdCYWNrZW5kUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3Mv
UmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRl
ICJDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiSW1hZ2VCdWZmZXJGbHVzaElkZW50aWZpZXIuaCIK
ICNpbmNsdWRlICJJbWFnZUJ1ZmZlcklkZW50aWZpZXIuaCIKKyNpbmNsdWRlICJJbWFnZURhdGFS
ZWZlcmVuY2UuaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRlICJNZXNz
YWdlU2VuZGVyLmgiCiAjaW5jbHVkZSAiUmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlclBy
b3h5LmgiCkBAIC02MywxMSArNjQsMTMgQEAgcHJpdmF0ZToKIAogICAgIC8vIElQQzo6TWVzc2Fn
ZVJlY2VpdmVyCiAgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJ
UEM6OkRlY29kZXImKSBvdmVycmlkZTsKKyAgICB2b2lkIGRpZFJlY2VpdmVTeW5jTWVzc2FnZShJ
UEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpFbmNv
ZGVyPiYpIG92ZXJyaWRlOwogCiAgICAgLy8gTWVzc2FnZXMgdG8gYmUgcmVjZWl2ZWQuCiAgICAg
dm9pZCBjcmVhdGVJbWFnZUJ1ZmZlcihjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIGxvZ2ljYWxT
aXplLCBXZWJDb3JlOjpSZW5kZXJpbmdNb2RlLCBmbG9hdCByZXNvbHV0aW9uU2NhbGUsIFdlYkNv
cmU6OkNvbG9yU3BhY2UsIEltYWdlQnVmZmVySWRlbnRpZmllcik7CiAgICAgdm9pZCByZWxlYXNl
SW1hZ2VCdWZmZXIoSW1hZ2VCdWZmZXJJZGVudGlmaWVyKTsKICAgICB2b2lkIGZsdXNoSW1hZ2VC
dWZmZXJEcmF3aW5nQ29udGV4dChjb25zdCBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6RGlzcGxheUxp
c3QmLCBJbWFnZUJ1ZmZlckZsdXNoSWRlbnRpZmllciwgSW1hZ2VCdWZmZXJJZGVudGlmaWVyKTsK
KyAgICB2b2lkIGdldEltYWdlRGF0YShXZWJDb3JlOjpBbHBoYVByZW11bHRpcGxpY2F0aW9uIG91
dHB1dEZvcm1hdCwgV2ViQ29yZTo6SW50UmVjdCBzcmNSZWN0LCBJbWFnZUJ1ZmZlcklkZW50aWZp
ZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoSVBDOjpJbWFnZURhdGFSZWZlcmVuY2UmJik+JiYp
OwogCiAgICAgdXNpbmcgSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlck1hcCA9IEhhc2hNYXA8SW1h
Z2VCdWZmZXJJZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlSW1hZ2VCdWZmZXJNZXNz
YWdlSGFuZGxlclByb3h5Pj47CiAgICAgSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlck1hcCBtX2lt
YWdlQnVmZmVyTWVzc2FnZUhhbmRsZXJNYXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5Lm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tl
bmRQcm94eS5tZXNzYWdlcy5pbgppbmRleCA2NWE4ZDkwYTY2Zi4uOWEzMWEwNGVmZjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdC
YWNrZW5kUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dy
YXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5tZXNzYWdlcy5pbgpAQCAtMjYsNiAr
MjYsNyBAQCBtZXNzYWdlcyAtPiBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkgTm90UmVmQ291
bnRlZCB7CiAgICAgdm9pZCBDcmVhdGVJbWFnZUJ1ZmZlcihXZWJDb3JlOjpGbG9hdFNpemUgbG9n
aWNhbFNpemUsIFdlYkNvcmU6OlJlbmRlcmluZ01vZGUgcmVuZGVyaW5nTW9kZSwgZmxvYXQgcmVz
b2x1dGlvblNjYWxlLCBXZWJDb3JlOjpDb2xvclNwYWNlIGNvbG9yU3BhY2UsIFdlYktpdDo6SW1h
Z2VCdWZmZXJJZGVudGlmaWVyIGltYWdlQnVmZmVySWRlbnRpZmllcikKICAgICB2b2lkIFJlbGVh
c2VJbWFnZUJ1ZmZlcihXZWJLaXQ6OkltYWdlQnVmZmVySWRlbnRpZmllciBpbWFnZUJ1ZmZlcklk
ZW50aWZpZXIpCiAgICAgdm9pZCBGbHVzaEltYWdlQnVmZmVyRHJhd2luZ0NvbnRleHQoV2ViQ29y
ZTo6RGlzcGxheUxpc3Q6OkRpc3BsYXlMaXN0IGRpc3BsYXlMaXN0LCBXZWJLaXQ6OkltYWdlQnVm
ZmVyRmx1c2hJZGVudGlmaWVyIGZsdXNoSWRlbnRpZmllciwgV2ViS2l0OjpJbWFnZUJ1ZmZlcklk
ZW50aWZpZXIgaW1hZ2VCdWZmZXJJZGVudGlmaWVyKQorICAgIEdldEltYWdlRGF0YShlbnVtOnVp
bnQ4X3QgV2ViQ29yZTo6QWxwaGFQcmVtdWx0aXBsaWNhdGlvbiBvdXRwdXRGb3JtYXQsIFdlYkNv
cmU6OkludFJlY3Qgc3JjUmVjdCwgV2ViS2l0OjpJbWFnZUJ1ZmZlcklkZW50aWZpZXIgaW1hZ2VC
dWZmZXJJZGVudGlmaWVyKSAtPiAoSVBDOjpJbWFnZURhdGFSZWZlcmVuY2UgaW1hZ2VEYXRhKSBT
eW5jaHJvbm91cwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvSW1hZ2VEYXRhUmVmZXJlbmNlLmggYi9Tb3Vy
Y2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9JbWFnZURhdGFSZWZlcmVuY2UuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYTBjN2MzYjg1MDgKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9JbWFnZURhdGFSZWZlcmVuY2UuaApAQCAtMCww
ICsxLDU5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJXZWJDb3Jl
QXJndW1lbnRDb2RlcnMuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0ltYWdlQnVmZmVyLmg+CisKK25h
bWVzcGFjZSBJUEMgeworCitjbGFzcyBJbWFnZURhdGFSZWZlcmVuY2UgeworcHVibGljOgorICAg
IC8vSW1hZ2VEYXRhUmVmZXJlbmNlKCkgPSBkZWZhdWx0OworICAgIEltYWdlRGF0YVJlZmVyZW5j
ZShSZWZQdHI8V2ViQ29yZTo6SW1hZ2VEYXRhPiYmIGltYWdlRGF0YSkgOiBtX2ltYWdlRGF0YShX
VEZNb3ZlKGltYWdlRGF0YSkpIHsgfQorCisgICAgUmVmUHRyPFdlYkNvcmU6OkltYWdlRGF0YT4m
IGJ1ZmZlcigpIHsgcmV0dXJuIG1faW1hZ2VEYXRhOyB9CisgICAgY29uc3QgUmVmUHRyPFdlYkNv
cmU6OkltYWdlRGF0YT4mIGJ1ZmZlcigpIGNvbnN0IHsgcmV0dXJuIG1faW1hZ2VEYXRhOyB9CisK
KyAgICB2b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAorICAgIHsKKyAgICAgICAg
ZW5jb2RlciA8PCBtX2ltYWdlRGF0YTsKKyAgICB9CisKKyAgICBzdGF0aWMgT3B0aW9uYWw8SW1h
Z2VEYXRhUmVmZXJlbmNlPiBkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKKyAgICB7CisgICAgICAg
IE9wdGlvbmFsPFJlZlB0cjxXZWJDb3JlOjpJbWFnZURhdGE+PiBpbWFnZURhdGE7CisgICAgICAg
IGRlY29kZXIgPj4gaW1hZ2VEYXRhOworICAgICAgICBpZiAoIWltYWdlRGF0YSkKKyAgICAgICAg
ICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgICAgIHJldHVybiB7IFdURk1vdmUoKmltYWdl
RGF0YSkgfTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgUmVmUHRyPFdlYkNvcmU6OkltYWdlRGF0
YT4gbV9pbWFnZURhdGE7Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmNwcAppbmRleCBhY2JhZWZiOTgyZS4uMGE3MjZjNjgwYzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAtMzM0
Miw0ICszMzQyLDIwIEBAIE9wdGlvbmFsPFJlZjxXZWJDb3JlOjpJbWFnZURhdGE+PiBBcmd1bWVu
dENvZGVyPFJlZjxXZWJDb3JlOjpJbWFnZURhdGE+Pjo6ZGVjb2RlCiAgICAgcmV0dXJuIHsgaW1h
Z2VEYXRhLnJlbGVhc2VOb25OdWxsKCkgfTsKIH0KIAordm9pZCBBcmd1bWVudENvZGVyPFJlZlB0
cjxXZWJDb3JlOjpJbWFnZURhdGE+Pjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFJl
ZlB0cjxXZWJDb3JlOjpJbWFnZURhdGE+JiBpbWFnZURhdGEpCit7CisgICAgaWYgKCFpbWFnZURh
dGEpIHsKKyAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIGVuY29kZXIgPDwgdHJ1ZTsKKyAgICBBcmd1bWVudENvZGVyPFJlZjxXZWJDb3JlOjpJ
bWFnZURhdGE+Pjo6ZW5jb2RlKGVuY29kZXIsIGltYWdlRGF0YS5yZWxlYXNlTm9uTnVsbCgpKTsK
K30KKworT3B0aW9uYWw8UmVmPFdlYkNvcmU6OkltYWdlRGF0YT4+IEFyZ3VtZW50Q29kZXI8UmVm
PFdlYkNvcmU6OkltYWdlRGF0YT4+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICAv
LyBGSVhNRTogSW1wbGVtZW50IHRoaXMKK30KKwogfSAvLyBuYW1lc3BhY2UgSVBDCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCmluZGV4IDUyYjA3YmMxMTgw
Li5kMjNkNjAxYjFlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmgKQEAgLTg1OSw2ICs4NTksMTEgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRD
b2RlcjxXZWJDb3JlOjpDRE1JbnN0YW5jZVNlc3Npb246OktleVN0YXR1c1ZlY3Rvcj4gewogfTsK
ICNlbmRpZgogCit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFJlZlB0cjxXZWJDb3Jl
OjpJbWFnZURhdGE+PiB7CisgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBS
ZWZQdHI8V2ViQ29yZTo6SW1hZ2VEYXRhPiYpOworICAgIHN0YXRpYyBPcHRpb25hbDxSZWZQdHI8
V2ViQ29yZTo6SW1hZ2VEYXRhPj4gZGVjb2RlKERlY29kZXImKTsKK307CisKIHRlbXBsYXRlPD4g
c3RydWN0IEFyZ3VtZW50Q29kZXI8UmVmPFdlYkNvcmU6OkltYWdlRGF0YT4+IHsKICAgICBzdGF0
aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFJlZjxXZWJDb3JlOjpJbWFnZURhdGE+Jik7
CiAgICAgc3RhdGljIE9wdGlvbmFsPFJlZjxXZWJDb3JlOjpJbWFnZURhdGE+PiBkZWNvZGUoRGVj
b2RlciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggNjIxZmIxYzllZTAuLmVmMmE5MTNjMDJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI3MDUsNiArMjcwNSw3IEBACiAJ
CTFDOEUyQTMxMTI3Nzg1MjQwMEJDN0JEMCAvKiBXZWJJbnNwZWN0b3JNZXNzYWdlUmVjZWl2ZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViSW5zcGVjdG9yTWVz
c2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVj
dG9yTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsg
fTsKIAkJMUM4RTJBMzIxMjc3ODUyNDAwQkM3QkQwIC8qIFdlYkluc3BlY3Rvck1lc3NhZ2VzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYkluc3BlY3Rvck1lc3NhZ2VzLmg7
IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3Rvck1lc3NhZ2VzLmg7IHNv
dXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTFDOEUyREFEMTI3OEM1QjIwMEJD
N0JEMCAvKiBXZWJJbnNwZWN0b3JVSU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFdlYkluc3BlY3RvclVJTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkxQzlBRjM2MTI0MTM0RDIzMDBEM0VDMDIgLyogSW1hZ2VEYXRhUmVmZXJlbmNlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEltYWdlRGF0YVJlZmVyZW5jZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkxQzlFQkE1QjIwODdFNzRFMDAwNTQ0MjkgLyogTmF0aXZlV2ViTW91c2VFdmVu
dElPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IE5hdGl2ZVdl
Yk1vdXNlRXZlbnRJT1MubW07IHBhdGggPSBpb3MvTmF0aXZlV2ViTW91c2VFdmVudElPUy5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBOEI5MzUxMjdDNzc0RTAwNTc2QzJCIC8q
IFdlYkluc3BlY3RvclByb3h5TWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gV2ViSW5zcGVjdG9yUHJveHlNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTFDQThCOTQzMTI3Qzg4MkEwMDU3NkMyQiAvKiBXZWJJbnNwZWN0b3JQcm94eU1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJJ
bnNwZWN0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHBhdGggPSBEZXJpdmVkU291cmNlcy9X
ZWJLaXQyL1dlYkluc3BlY3RvclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9
IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKQEAgLTYzMDUsNiArNjMwNiw3IEBACiAJCQkJNUNDNURC
OTEyMTQ4OEUxNjAwNkNCOEE4IC8qIFNoYXJlZEJ1ZmZlckRhdGFSZWZlcmVuY2UuaCAqLywKIAkJ
CQkxQUUwMEQ2OTE4MzI3QzEyMDAwODdERDcgLyogU3RyaW5nUmVmZXJlbmNlLmNwcCAqLywKIAkJ
CQkxQUUwMEQ2QTE4MzI3QzEyMDAwODdERDcgLyogU3RyaW5nUmVmZXJlbmNlLmggKi8sCisJCQkJ
MUM5QUYzNjEyNDEzNEQyMzAwRDNFQzAyIC8qIEltYWdlRGF0YVJlZmVyZW5jZS5oICovLAogCQkJ
KTsKIAkJCXBhdGggPSBJUEM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392855</attachid>
            <date>2020-03-07 00:42:37 -0800</date>
            <delta_ts>2020-03-07 01:28:12 -0800</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-208560-20200307004237.patch</filename>
            <type>text/plain</type>
            <size>23120</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4MDY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDhiZWZkNjU2NWZlMjY2ZTUx
ODYzMjNkYzY3MTgxN2JlMTdmZGZlYWUuLmJlNjg0NDg1OTM4NTRiOWMxZjYxNDM2YTU1Zjc4NWRj
MjkxOWNiNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTUgQEAKKzIwMjAtMDMtMDcgIE15bGVzIEMu
IE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbR1BVIFByb2Nlc3Nd
IEltcGxlbWVudCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuZ2V0SW1hZ2VEYXRhKCkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODU2MAorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNjAwNjA2MTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2FpZCBB
Ym91LUhhbGxhd2EuCisKKyAgICAgICAgQWRkcyBhIG5ldyBzeW5jaHJvbm91cyBtZXNzYWdlIGJl
dHdlZW4gdGhlIFdlYiBQcm9jZXNzIGFuZCB0aGUgR1BVIFByb2Nlc3MuCisgICAgICAgIFVuZm9y
dHVuYXRlbHksIGdldEltYWdlRGF0YSgpIHN5bmNocm9ub3VzbHkgcmV0dXJucyByZXN1bHRzLCBh
bmQgd2UgZG9uJ3QKKyAgICAgICAgaGF2ZSB0aGUgaW5mcmFzdHJ1Y3R1cmUgdG8gbWFrZSBKYXZh
U2NyaXB0IGludGVycnVwdGlibGUsIHNvIHRoaXMgbWVhbnMgdGhhdAorICAgICAgICB0aGUgbWVz
c2FnZSBoYXMgdG8gYmUgc3luY2hyb25vdXMsIGF0IGxlYXN0IHVudGlsIHdlIGFkZCB0aGF0IGlu
ZnJhc3RydWN0dXJlLgorCisgICAgICAgIFdoZW4gdGhlIFJlbW90ZUltYWdlQnVmZmVyIHJlY2Vp
dmVzIHRoZSBnZXRJbWFnZURhdGEoKSBjYWxsLCBpdCBmaXJzdAorICAgICAgICBhc3luY2hyb25v
dXNseSBmbHVzaGVzIHRoZSBwZW5kaW5nIGRpc3BsYXkgbGlzdCwgZG9lc24ndCB3YWl0IGZvciBh
IHJlc3BvbnNlLCAKKyAgICAgICAgYW5kIHRoZW4gc2VuZHMgdGhlIHN5bmNocm9ub3VzIGdldElt
YWdlRGF0YSgpIG1lc3NhZ2UuIEJlY2F1c2UgdGhlIEdQVSBQcm9jZXNzCisgICAgICAgIHJlY2Vp
dmVzIG1lc3NhZ2VzIGluLW9yZGVyLCB0aGUgV2ViIFByb2Nlc3MgZG9lc24ndCBoYXZlIHRvIHdh
aXQgZm9yIHRoZQorICAgICAgICByZXNwb25zZSBmcm9tIHRoZSBmbHVzaCBtZXNzYWdlLgorCisg
ICAgICAgIEFmdGVyIHRoaXMgcGF0Y2gsIHRoZXJlIGFyZSBhIGZldyBvcHRpbWl6YXRpb24gb3Bw
b3J0dW5pdGllcyB3ZSBjYW4gZXhwbG9pdAorICAgICAgICB3aGVyZSB3ZSB1c2UgU2hhcmVkQnVm
ZmVyIGRpcmVjdGx5IGluc3RlYWQgb2YgY29weWluZyBpbnRvIGFuZCBvdXQgb2YgdGhlCisgICAg
ICAgIEltYWdlRGF0YS4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVzZSB0aGVyZSBpcyBu
byBiZWhhdmlvciBjaGFuZ2UuIFdlJ3JlIGp1c3QgdXNpbmcgdGhlIEdQVQorICAgICAgICBwcm9j
ZXNzIG5vdywgaW5zdGVhZCBvZiBpbXBsZW1lbnRpbmcgdGhlIGNvbW1hbmQgbG9jYWxseSBpbiB0
aGUgV2ViIFByb2Nlc3MuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUlt
YWdlQnVmZmVyTWVzc2FnZUhhbmRsZXJQcm94eS5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3Jh
cGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94eS5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3Jh
cGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
UmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OjpnZXRJbWFnZURhdGEpOgorICAgICAgICAqIEdQ
VVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5Lmg6CisgICAgICAg
ICogR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkubWVzc2Fn
ZXMuaW46CisgICAgICAgICogUGxhdGZvcm0vSVBDL0ltYWdlRGF0YVJlZmVyZW5jZS5oOiBBZGRl
ZC4KKyAgICAgICAgKElQQzo6SW1hZ2VEYXRhUmVmZXJlbmNlOjpJbWFnZURhdGFSZWZlcmVuY2Up
OgorICAgICAgICAoSVBDOjpJbWFnZURhdGFSZWZlcmVuY2U6OmJ1ZmZlcik6CisgICAgICAgIChJ
UEM6OkltYWdlRGF0YVJlZmVyZW5jZTo6YnVmZmVyIGNvbnN0KToKKyAgICAgICAgKElQQzo6SW1h
Z2VEYXRhUmVmZXJlbmNlOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoSVBDOjpJbWFnZURhdGFS
ZWZlcmVuY2U6OmRlY29kZSk6CisgICAgICAgICogUGxhdGZvcm0vSVBDL01lc3NhZ2VTZW5kZXIu
aDoKKyAgICAgICAgKElQQzo6TWVzc2FnZVNlbmRlcjo6c2VuZFN5bmMpOgorICAgICAgICAqIFNo
YXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAoSVBDOjpBcmd1bWVudENv
ZGVyPFJlZlB0cjxXZWJDb3JlOjpJbWFnZURhdGE+Pjo6ZW5jb2RlKToKKyAgICAgICAgKElQQzo6
QXJndW1lbnRDb2RlcjxSZWZQdHI8V2ViQ29yZTo6SW1hZ2VEYXRhPj46OmRlY29kZSk6CisgICAg
ICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oOgorICAgICAgICAqIFdlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL2dyYXBo
aWNzL1JlbW90ZUltYWdlQnVmZmVyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvZ3JhcGhp
Y3MvUmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXI6OmdldEltYWdlRGF0YSBjb25zdCk6Cisg
ICAgICAgIChXZWJLaXQ6OlJlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXI6OmZsdXNoRHJh
d2luZ0NvbnRleHQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVJbWFnZUJ1ZmZlck1lc3NhZ2VI
YW5kbGVyOjpmbHVzaERyYXdpbmdDb250ZXh0QW5kV2FpdENvbW1pdCk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlci5oOgor
CiAyMDIwLTAzLTA2ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbQ29jb2FdIFJlLWVuYWJsZSBDRlByZWZzIGRpcmVjdCBtb2RlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdl
SGFuZGxlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3Rl
SW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlclByb3h5LmgKaW5kZXggMzhmY2RiYmYwYWRhY2RkM2Y5
NWExMWQwY2MwNTRjNmI0NWViMjRhNC4uYzRhNDk4YWI4ZGFiMzY1NjU1NDU1NTU1MmRmODY4NmE4
NWY0YzE3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1Jl
bW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyUHJveHku
aApAQCAtMzMsNiArMzMsMTEgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0Rpc3BsYXlMaXN0Lmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9GbG9hdFNpemUuaD4KIAorbmFtZXNwYWNlIFdlYkNvcmUgeworZW51
bSBjbGFzcyBBbHBoYVByZW11bHRpcGxpY2F0aW9uIDogdWludDhfdDsKK2NsYXNzIEltYWdlRGF0
YTsKK30KKwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFJlbW90ZVJlbmRlcmluZ0JhY2tl
bmRQcm94eTsKQEAgLTQzLDYgKzQ4LDcgQEAgcHVibGljOgogCiAgICAgLy8gTWVzc2FnZXMgdG8g
YmUgcmVjZWl2ZWQuIFNlZSBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkubWVzc2FnZXMuaW4u
CiAgICAgdmlydHVhbCB2b2lkIGZsdXNoRHJhd2luZ0NvbnRleHQoY29uc3QgV2ViQ29yZTo6RGlz
cGxheUxpc3Q6OkRpc3BsYXlMaXN0JiwgSW1hZ2VCdWZmZXJGbHVzaElkZW50aWZpZXIpID0gMDsK
KyAgICB2aXJ0dWFsIFJlZlB0cjxXZWJDb3JlOjpJbWFnZURhdGE+IGdldEltYWdlRGF0YShXZWJD
b3JlOjpBbHBoYVByZW11bHRpcGxpY2F0aW9uIG91dHB1dEZvcm1hdCwgY29uc3QgV2ViQ29yZTo6
SW50UmVjdCYgc3JjUmVjdCkgY29uc3QgPSAwOwogCiBwcm90ZWN0ZWQ6CiAgICAgUmVtb3RlSW1h
Z2VCdWZmZXJNZXNzYWdlSGFuZGxlclByb3h5KFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eSYs
IEltYWdlQnVmZmVySWRlbnRpZmllcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyUHJveHkuaAppbmRleCA4ODMxYTYw
Y2NjZWZjNzJjZjk4NGIyMDYyZDAxOTdhZWE2NzVlZTAyLi5kZjQzMTAyM2ExMzliYTE1YWRiMjFk
MDE4OTlmMjk3ZGYzMTU1OWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
Z3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmgKQEAgLTY1LDYgKzY1LDEx
IEBAIHByaXZhdGU6CiAgICAgICAgIGNvbW1pdEZsdXNoQ29udGV4dChmbHVzaElkZW50aWZpZXIp
OwogICAgIH0KIAorICAgIFJlZlB0cjxXZWJDb3JlOjpJbWFnZURhdGE+IGdldEltYWdlRGF0YShX
ZWJDb3JlOjpBbHBoYVByZW11bHRpcGxpY2F0aW9uIG91dHB1dEZvcm1hdCwgY29uc3QgV2ViQ29y
ZTo6SW50UmVjdCYgc3JjUmVjdCkgY29uc3Qgb3ZlcnJpZGUKKyAgICB7CisgICAgICAgIHJldHVy
biBCYXNlQ29uY3JldGVJbWFnZUJ1ZmZlcjo6Z2V0SW1hZ2VEYXRhKG91dHB1dEZvcm1hdCwgc3Jj
UmVjdCk7CisgICAgfQorCiAgICAgYm9vbCBhcHBseShEaXNwbGF5TGlzdDo6SXRlbSYgaXRlbSwg
R3JhcGhpY3NDb250ZXh0Jikgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIGlmIChpdGVtLnR5cGUo
KSAhPSBEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OlB1dEltYWdlRGF0YSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmlu
Z0JhY2tlbmRQcm94eS5jcHAKaW5kZXggZTQzMTcwNmIwZThmZjA5MmZmODZmMjYzZWRlNTYzZTJk
YjE0NmEyMy4uMzljY2E4NzY4NGVjNmNkNmZiOTk0MjgzOWRkN2Y3MTA3ODE3NWUwYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0Jh
Y2tlbmRQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1Jl
bW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5jcHAKQEAgLTEwMCw2ICsxMDAsMTQgQEAgdm9pZCBS
ZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHk6OnJlbGVhc2VJbWFnZUJ1ZmZlcihJbWFnZUJ1ZmZl
cklkZW50aWZpZXIgaW1hZ2UKICAgICBBU1NFUlRfVU5VU0VEKGZvdW5kLCBmb3VuZCk7CiB9CiAK
K3ZvaWQgUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OjpnZXRJbWFnZURhdGEoV2ViQ29yZTo6
QWxwaGFQcmVtdWx0aXBsaWNhdGlvbiBvdXRwdXRGb3JtYXQsIFdlYkNvcmU6OkludFJlY3Qgc3Jj
UmVjdCwgSW1hZ2VCdWZmZXJJZGVudGlmaWVyIGltYWdlQnVmZmVySWRlbnRpZmllciwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChJUEM6OkltYWdlRGF0YVJlZmVyZW5jZSYmKT4mJiBjb21wbGV0aW9u
SGFuZGxlcikKK3sKKyAgICBpZiAoYXV0byBpbWFnZUJ1ZmZlciA9IG1faW1hZ2VCdWZmZXJNZXNz
YWdlSGFuZGxlck1hcC5nZXQoaW1hZ2VCdWZmZXJJZGVudGlmaWVyKSkgeworICAgICAgICBhdXRv
IGltYWdlRGF0YSA9IGltYWdlQnVmZmVyLT5nZXRJbWFnZURhdGEob3V0cHV0Rm9ybWF0LCBzcmNS
ZWN0KTsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoSVBDOjpJbWFnZURhdGFSZWZlcmVuY2Uo
V1RGTW92ZShpbWFnZURhdGEpKSk7CisgICAgfQorfQorCiB2b2lkIFJlbW90ZVJlbmRlcmluZ0Jh
Y2tlbmRQcm94eTo6Zmx1c2hJbWFnZUJ1ZmZlckRyYXdpbmdDb250ZXh0KGNvbnN0IFdlYkNvcmU6
OkRpc3BsYXlMaXN0OjpEaXNwbGF5TGlzdCYgZGlzcGxheUxpc3QsIEltYWdlQnVmZmVyRmx1c2hJ
ZGVudGlmaWVyIGZsdXNoSWRlbnRpZmllciwgSW1hZ2VCdWZmZXJJZGVudGlmaWVyIGltYWdlQnVm
ZmVySWRlbnRpZmllcikKIHsKICAgICBpZiAoYXV0byBpbWFnZUJ1ZmZlciA9IG1faW1hZ2VCdWZm
ZXJNZXNzYWdlSGFuZGxlck1hcC5nZXQoaW1hZ2VCdWZmZXJJZGVudGlmaWVyKSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5k
ZXJpbmdCYWNrZW5kUHJveHkuaAppbmRleCA0ZjhhODlhZmM3MmMxOGQ4NGY0ZGEzYWE0Y2Y5ZWU4
ODkyNjdiZmQzLi4yMzIyZGRlNGI0YmE4NzIwOTBiZGZmYTM1YjFkODc5ZTJiOTdiMWU4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5n
QmFja2VuZFByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1Jl
bW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAi
Q29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIkltYWdlQnVmZmVyRmx1c2hJZGVudGlmaWVyLmgiCiAj
aW5jbHVkZSAiSW1hZ2VCdWZmZXJJZGVudGlmaWVyLmgiCisjaW5jbHVkZSAiSW1hZ2VEYXRhUmVm
ZXJlbmNlLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAiTWVzc2Fn
ZVNlbmRlci5oIgogI2luY2x1ZGUgIlJlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXJQcm94
eS5oIgpAQCAtNjMsMTEgKzY0LDEzIEBAIHByaXZhdGU6CiAKICAgICAvLyBJUEM6Ok1lc3NhZ2VS
ZWNlaXZlcgogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBD
OjpEZWNvZGVyJikgb3ZlcnJpZGU7CisgICAgdm9pZCBkaWRSZWNlaXZlU3luY01lc3NhZ2UoSVBD
OjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6RW5jb2Rl
cj4mKSBvdmVycmlkZTsKIAogICAgIC8vIE1lc3NhZ2VzIHRvIGJlIHJlY2VpdmVkLgogICAgIHZv
aWQgY3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBsb2dpY2FsU2l6
ZSwgV2ViQ29yZTo6UmVuZGVyaW5nTW9kZSwgZmxvYXQgcmVzb2x1dGlvblNjYWxlLCBXZWJDb3Jl
OjpDb2xvclNwYWNlLCBJbWFnZUJ1ZmZlcklkZW50aWZpZXIpOwogICAgIHZvaWQgcmVsZWFzZUlt
YWdlQnVmZmVyKEltYWdlQnVmZmVySWRlbnRpZmllcik7CiAgICAgdm9pZCBmbHVzaEltYWdlQnVm
ZmVyRHJhd2luZ0NvbnRleHQoY29uc3QgV2ViQ29yZTo6RGlzcGxheUxpc3Q6OkRpc3BsYXlMaXN0
JiwgSW1hZ2VCdWZmZXJGbHVzaElkZW50aWZpZXIsIEltYWdlQnVmZmVySWRlbnRpZmllcik7Cisg
ICAgdm9pZCBnZXRJbWFnZURhdGEoV2ViQ29yZTo6QWxwaGFQcmVtdWx0aXBsaWNhdGlvbiBvdXRw
dXRGb3JtYXQsIFdlYkNvcmU6OkludFJlY3Qgc3JjUmVjdCwgSW1hZ2VCdWZmZXJJZGVudGlmaWVy
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKElQQzo6SW1hZ2VEYXRhUmVmZXJlbmNlJiYpPiYmKTsK
IAogICAgIHVzaW5nIEltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXJNYXAgPSBIYXNoTWFwPEltYWdl
QnVmZmVySWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZUltYWdlQnVmZmVyTWVzc2Fn
ZUhhbmRsZXJQcm94eT4+OwogICAgIEltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXJNYXAgbV9pbWFn
ZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyTWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5k
UHJveHkubWVzc2FnZXMuaW4KaW5kZXggNjVhOGQ5MGE2NmY4NWU4Zjg4M2MxNWU0YjBlM2JmODBj
Njk0Y2MxOC4uOWEzMWEwNGVmZjBkZTM5ODE1NzIxNzBiNjk3MzQyM2Q1ZmMxNjE1YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0Jh
Y2tlbmRQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3Jh
cGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yNiw2ICsy
Niw3IEBAIG1lc3NhZ2VzIC0+IFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eSBOb3RSZWZDb3Vu
dGVkIHsKICAgICB2b2lkIENyZWF0ZUltYWdlQnVmZmVyKFdlYkNvcmU6OkZsb2F0U2l6ZSBsb2dp
Y2FsU2l6ZSwgV2ViQ29yZTo6UmVuZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlLCBmbG9hdCByZXNv
bHV0aW9uU2NhbGUsIFdlYkNvcmU6OkNvbG9yU3BhY2UgY29sb3JTcGFjZSwgV2ViS2l0OjpJbWFn
ZUJ1ZmZlcklkZW50aWZpZXIgaW1hZ2VCdWZmZXJJZGVudGlmaWVyKQogICAgIHZvaWQgUmVsZWFz
ZUltYWdlQnVmZmVyKFdlYktpdDo6SW1hZ2VCdWZmZXJJZGVudGlmaWVyIGltYWdlQnVmZmVySWRl
bnRpZmllcikKICAgICB2b2lkIEZsdXNoSW1hZ2VCdWZmZXJEcmF3aW5nQ29udGV4dChXZWJDb3Jl
OjpEaXNwbGF5TGlzdDo6RGlzcGxheUxpc3QgZGlzcGxheUxpc3QsIFdlYktpdDo6SW1hZ2VCdWZm
ZXJGbHVzaElkZW50aWZpZXIgZmx1c2hJZGVudGlmaWVyLCBXZWJLaXQ6OkltYWdlQnVmZmVySWRl
bnRpZmllciBpbWFnZUJ1ZmZlcklkZW50aWZpZXIpCisgICAgR2V0SW1hZ2VEYXRhKGVudW06dWlu
dDhfdCBXZWJDb3JlOjpBbHBoYVByZW11bHRpcGxpY2F0aW9uIG91dHB1dEZvcm1hdCwgV2ViQ29y
ZTo6SW50UmVjdCBzcmNSZWN0LCBXZWJLaXQ6OkltYWdlQnVmZmVySWRlbnRpZmllciBpbWFnZUJ1
ZmZlcklkZW50aWZpZXIpIC0+IChJUEM6OkltYWdlRGF0YVJlZmVyZW5jZSBpbWFnZURhdGEpIFN5
bmNocm9ub3VzCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9JbWFnZURhdGFSZWZlcmVuY2UuaCBiL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0ltYWdlRGF0YVJlZmVyZW5jZS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
MWNhZDk4MjI4NTEyMmRlMjNhMDRiN2QwNmJiYTMxNjk4MGRiNzgKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9JbWFnZURhdGFSZWZlcmVuY2UuaApAQCAtMCww
ICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJXZWJDb3Jl
QXJndW1lbnRDb2RlcnMuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0ltYWdlQnVmZmVyLmg+CisKK25h
bWVzcGFjZSBJUEMgeworCitjbGFzcyBJbWFnZURhdGFSZWZlcmVuY2UgeworcHVibGljOgorICAg
IEltYWdlRGF0YVJlZmVyZW5jZSgpID0gZGVmYXVsdDsKKyAgICBJbWFnZURhdGFSZWZlcmVuY2Uo
UmVmUHRyPFdlYkNvcmU6OkltYWdlRGF0YT4mJiBpbWFnZURhdGEpCisgICAgICAgIDogbV9pbWFn
ZURhdGEoV1RGTW92ZShpbWFnZURhdGEpKQorICAgIHsKKyAgICB9CisKKyAgICBSZWZQdHI8V2Vi
Q29yZTo6SW1hZ2VEYXRhPiYgYnVmZmVyKCkgeyByZXR1cm4gbV9pbWFnZURhdGE7IH0KKyAgICBj
b25zdCBSZWZQdHI8V2ViQ29yZTo6SW1hZ2VEYXRhPiYgYnVmZmVyKCkgY29uc3QgeyByZXR1cm4g
bV9pbWFnZURhdGE7IH0KKworICAgIHZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0
CisgICAgeworICAgICAgICBlbmNvZGVyIDw8IG1faW1hZ2VEYXRhOworICAgIH0KKworICAgIHN0
YXRpYyBPcHRpb25hbDxJbWFnZURhdGFSZWZlcmVuY2U+IGRlY29kZShEZWNvZGVyJiBkZWNvZGVy
KQorICAgIHsKKyAgICAgICAgT3B0aW9uYWw8UmVmUHRyPFdlYkNvcmU6OkltYWdlRGF0YT4+IGlt
YWdlRGF0YTsKKyAgICAgICAgZGVjb2RlciA+PiBpbWFnZURhdGE7CisgICAgICAgIGlmICghaW1h
Z2VEYXRhKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICAgICAgcmV0dXJu
IHsgV1RGTW92ZSgqaW1hZ2VEYXRhKSB9OworICAgIH0KKworcHJpdmF0ZToKKyAgICBSZWZQdHI8
V2ViQ29yZTo6SW1hZ2VEYXRhPiBtX2ltYWdlRGF0YTsKK307CisKK30KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL01lc3NhZ2VTZW5kZXIuaCBiL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vSVBDL01lc3NhZ2VTZW5kZXIuaAppbmRleCA4MTBhNTE0OTcwNzI3Njg0MDFiZmI5
ZGZmZTE1OWM2MGIwOWRlNzFiLi4zMjE5YzdkZGE1YzFlNGFkMDI0MDgwM2Y0NDUzZjBmMzgyODE3
ZDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9NZXNzYWdlU2VuZGVy
LmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvTWVzc2FnZVNlbmRlci5oCkBAIC03
MSw2ICs3MSwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtZXNzYWdlU2VuZGVyQ29ubmVj
dGlvbigpLT5zZW5kU3luYyhXVEZNb3ZlKG1lc3NhZ2UpLCBXVEZNb3ZlKHJlcGx5KSwgZGVzdGlu
YXRpb25JRCwgdGltZW91dCwgc2VuZFN5bmNPcHRpb25zKTsKICAgICB9CiAKKyAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBVLCB0eXBlbmFtZSBUPgorICAgIGJvb2wgc2VuZFN5bmMoVSYmIG1lc3NhZ2Us
IHR5cGVuYW1lIFU6OlJlcGx5JiYgcmVwbHksIE9iamVjdElkZW50aWZpZXI8VD4gZGVzdGluYXRp
b25JRCwgU2Vjb25kcyB0aW1lb3V0ID0gU2Vjb25kczo6aW5maW5pdHkoKSwgT3B0aW9uU2V0PFNl
bmRTeW5jT3B0aW9uPiBzZW5kU3luY09wdGlvbnMgPSB7IH0pCisgICAgeworICAgICAgICByZXR1
cm4gc2VuZFN5bmM8VT4oc3RkOjpmb3J3YXJkPFU+KG1lc3NhZ2UpLCBXVEZNb3ZlKHJlcGx5KSwg
ZGVzdGluYXRpb25JRC50b1VJbnQ2NCgpLCB0aW1lb3V0LCBzZW5kU3luY09wdGlvbnMpOworICAg
IH0KKwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIEM+CiAgICAgdm9pZCBzZW5k
V2l0aEFzeW5jUmVwbHkoVCYmIG1lc3NhZ2UsIEMmJiBjb21wbGV0aW9uSGFuZGxlciwgT3B0aW9u
U2V0PFNlbmRPcHRpb24+IHNlbmRPcHRpb25zID0geyB9KQogICAgIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCmluZGV4IGFjYmFlZmI5ODJlMTAz
NDMyYzNmMzcwNGUxYTllYzYzMTNhNjhkZTkuLmFhNjE1MWQ2YjA5YzIyYzc0ZWFhZTczYjY1YWRk
YzA0ODQ0NGRjMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1
bWVudENvZGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmNwcApAQCAtMzM0Miw0ICszMzQyLDMwIEBAIE9wdGlvbmFsPFJlZjxXZWJDb3JlOjpJ
bWFnZURhdGE+PiBBcmd1bWVudENvZGVyPFJlZjxXZWJDb3JlOjpJbWFnZURhdGE+Pjo6ZGVjb2Rl
CiAgICAgcmV0dXJuIHsgaW1hZ2VEYXRhLnJlbGVhc2VOb25OdWxsKCkgfTsKIH0KIAordm9pZCBB
cmd1bWVudENvZGVyPFJlZlB0cjxXZWJDb3JlOjpJbWFnZURhdGE+Pjo6ZW5jb2RlKEVuY29kZXIm
IGVuY29kZXIsIGNvbnN0IFJlZlB0cjxXZWJDb3JlOjpJbWFnZURhdGE+JiBpbWFnZURhdGEpCit7
CisgICAgaWYgKCFpbWFnZURhdGEpIHsKKyAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKworICAgIGVuY29kZXIgPDwgdHJ1ZTsKKyAgICBBcmd1bWVudENv
ZGVyPFJlZjxXZWJDb3JlOjpJbWFnZURhdGE+Pjo6ZW5jb2RlKGVuY29kZXIsIGltYWdlRGF0YS5j
b3B5UmVmKCkucmVsZWFzZU5vbk51bGwoKSk7Cit9CisKK09wdGlvbmFsPFJlZlB0cjxXZWJDb3Jl
OjpJbWFnZURhdGE+PiBBcmd1bWVudENvZGVyPFJlZlB0cjxXZWJDb3JlOjpJbWFnZURhdGE+Pjo6
ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCit7CisgICAgYm9vbCBpc0VuZ2FnZWQ7CisgICAgaWYg
KCFkZWNvZGVyLmRlY29kZShpc0VuZ2FnZWQpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OworCisgICAgaWYgKCFpc0VuZ2FnZWQpCisgICAgICAgIHJldHVybiBSZWZQdHI8V2ViQ29yZTo6
SW1hZ2VEYXRhPigpOworCisgICAgYXV0byByZXN1bHQgPSBBcmd1bWVudENvZGVyPFJlZjxXZWJD
b3JlOjpJbWFnZURhdGE+Pjo6ZGVjb2RlKGRlY29kZXIpOworICAgIGlmICghcmVzdWx0KQorICAg
ICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIHJldHVybiB7IFdURk1vdmUoKnJlc3VsdCkg
fTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSVBDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNv
cmVBcmd1bWVudENvZGVycy5oCmluZGV4IDUyYjA3YmMxMTgwMTk1MTBkMTkyMmM4ZWE3Nzk3N2Zh
NDg5YTNiODIuLmQyM2Q2MDFiMWViMDllN2ExZjlhYzUwOGI1NWY3NzQxZTFlODM3MWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCkBAIC04NTksNiAr
ODU5LDExIEBAIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6Q0RNSW5z
dGFuY2VTZXNzaW9uOjpLZXlTdGF0dXNWZWN0b3I+IHsKIH07CiAjZW5kaWYKIAordGVtcGxhdGU8
PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxSZWZQdHI8V2ViQ29yZTo6SW1hZ2VEYXRhPj4geworICAg
IHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgUmVmUHRyPFdlYkNvcmU6OkltYWdl
RGF0YT4mKTsKKyAgICBzdGF0aWMgT3B0aW9uYWw8UmVmUHRyPFdlYkNvcmU6OkltYWdlRGF0YT4+
IGRlY29kZShEZWNvZGVyJik7Cit9OworCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVy
PFJlZjxXZWJDb3JlOjpJbWFnZURhdGE+PiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29k
ZXImLCBjb25zdCBSZWY8V2ViQ29yZTo6SW1hZ2VEYXRhPiYpOwogICAgIHN0YXRpYyBPcHRpb25h
bDxSZWY8V2ViQ29yZTo6SW1hZ2VEYXRhPj4gZGVjb2RlKERlY29kZXImKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGUyMDUzZGNkZjFh
YzRjMmM3YmE4OWU5MGMzYzgzMjc1YzJlYTZkZjEuLmU1MjBjODI1YzljNzZkNjRmN2U1OThkNWMz
MTBmY2Q3ZTM0MzcyNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtMjcxOSw2ICsyNzE5LDcgQEAKIAkJMUM4RTJBMzExMjc3ODUyNDAw
QkM3QkQwIC8qIFdlYkluc3BlY3Rvck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJJbnNwZWN0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwOyBw
YXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JNZXNzYWdlUmVjZWl2ZXIu
Y3BwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQkxQzhFMkEzMjEyNzc4
NTI0MDBCQzdCRDAgLyogV2ViSW5zcGVjdG9yTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gV2ViSW5zcGVjdG9yTWVzc2FnZXMuaDsgcGF0aCA9IERlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvV2ViSW5zcGVjdG9yTWVzc2FnZXMuaDsgc291cmNlVHJlZSA9IEJVSUxUX1BS
T0RVQ1RTX0RJUjsgfTsKIAkJMUM4RTJEQUQxMjc4QzVCMjAwQkM3QkQwIC8qIFdlYkluc3BlY3Rv
clVJTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViSW5z
cGVjdG9yVUlNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDOUFGMzYxMjQx
MzREMjMwMEQzRUMwMiAvKiBJbWFnZURhdGFSZWZlcmVuY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW1h
Z2VEYXRhUmVmZXJlbmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDOUVCQTVC
MjA4N0U3NEUwMDA1NDQyOSAvKiBOYXRpdmVXZWJNb3VzZUV2ZW50SU9TLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gTmF0aXZlV2ViTW91c2VFdmVudElPUy5tbTsg
cGF0aCA9IGlvcy9OYXRpdmVXZWJNb3VzZUV2ZW50SU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkxQ0E4QjkzNTEyN0M3NzRFMDA1NzZDMkIgLyogV2ViSW5zcGVjdG9yUHJveHlN
YWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJJbnNwZWN0
b3JQcm94eU1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBOEI5NDMxMjdD
ODgyQTAwNTc2QzJCIC8qIFdlYkluc3BlY3RvclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdlYkluc3BlY3RvclByb3h5TWVzc2Fn
ZVJlY2VpdmVyLmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9y
UHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElS
OyB9OwpAQCAtNjMxNCw2ICs2MzE1LDcgQEAKIAkJCQlCQzAzMkRBMDEwRjQzN0QxMDA1OEMxNUEg
LyogRW5jb2Rlci5oICovLAogCQkJCTQxNTFFNUMzMUZCQjkwQTkwMEU0N0UyRCAvKiBGb3JtRGF0
YVJlZmVyZW5jZS5oICovLAogCQkJCUMwQ0U3MkFDMTI0N0U3OEQwMEJDMEVDNCAvKiBIYW5kbGVN
ZXNzYWdlLmggKi8sCisJCQkJMUM5QUYzNjEyNDEzNEQyMzAwRDNFQzAyIC8qIEltYWdlRGF0YVJl
ZmVyZW5jZS5oICovLAogCQkJCTFBQzRDODI4MTZCODc2QTkwMDY5RENDRCAvKiBNZXNzYWdlRmxh
Z3MuaCAqLywKIAkJCQkxQTNFRUQxMTE2MUE1M0Q2MDBBRUI0RjUgLyogTWVzc2FnZVJlY2VpdmVy
LmggKi8sCiAJCQkJMUEzRUVEMEMxNjFBNTM1MzAwQUVCNEY1IC8qIE1lc3NhZ2VSZWNlaXZlck1h
cC5jcHAgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBo
aWNzL1JlbW90ZUltYWdlQnVmZmVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dy
YXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyLmgKaW5kZXggODlmMzNmY2E1OTI0MmM3MTZjZjFmNjM0
YmYzMjc5ZmFlZjdmZDY0Zi4uZDY0MGZlZTg3M2Y5ZDRmZThiMTgwMjNlNTFjYjdkZWQxZGU3ZTNh
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1v
dGVJbWFnZUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhp
Y3MvUmVtb3RlSW1hZ2VCdWZmZXIuaApAQCAtNzMsNiArNzMsMTUgQEAgcHJvdGVjdGVkOgogICAg
ICAgICByZXR1cm4gbV9iYWNrZW5kLmdldCgpOwogICAgIH0KIAorICAgIFJlZlB0cjxXZWJDb3Jl
OjpJbWFnZURhdGE+IGdldEltYWdlRGF0YShXZWJDb3JlOjpBbHBoYVByZW11bHRpcGxpY2F0aW9u
IG91dHB1dEZvcm1hdCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc3JjUmVjdCkgY29uc3Qgb3Zl
cnJpZGUKKyAgICB7CisgICAgICAgIGF1dG8mIGRpc3BsYXlMaXN0ID0gbV9kcmF3aW5nQ29udGV4
dC5kaXNwbGF5TGlzdCgpOworICAgICAgICBjb25zdF9jYXN0PFJlbW90ZUltYWdlQnVmZmVyKj4o
dGhpcyktPlJlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXI6OmZsdXNoRHJhd2luZ0NvbnRl
eHQoZGlzcGxheUxpc3QpOworICAgICAgICBhdXRvIHJlc3VsdCA9IGNvbnN0X2Nhc3Q8UmVtb3Rl
SW1hZ2VCdWZmZXIqPih0aGlzKS0+UmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlcjo6Z2V0
SW1hZ2VEYXRhKG91dHB1dEZvcm1hdCwgc3JjUmVjdCk7CisgICAgICAgIC8vIGdldEltYWdlRGF0
YSBpcyBzeW5jaHJvbm91cywgd2hpY2ggbWVhbnMgd2UndmUgYWxyZWFkeSByZWNlaXZlZCB0aGUg
Q29tbWl0SW1hZ2VCdWZmZXJGbHVzaENvbnRleHQgbWVzc2FnZS4KKyAgICAgICAgcmV0dXJuIHJl
c3VsdDsKKyAgICB9CisKICAgICB2b2lkIHB1dEltYWdlRGF0YShXZWJDb3JlOjpBbHBoYVByZW11
bHRpcGxpY2F0aW9uIGlucHV0Rm9ybWF0LCBjb25zdCBXZWJDb3JlOjpJbWFnZURhdGEmIGltYWdl
RGF0YSwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc3JjUmVjdCwgY29uc3QgV2ViQ29yZTo6SW50
UG9pbnQmIGRlc3RQb2ludCA9IHsgfSkgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIC8vIFRoZSBt
YXRoIGluc2lkZSBJbWFnZURhdGE6OmNyZWF0ZSgpIGRvZXNuJ3QgYWdyZWUgd2l0aCB0aGUgbWF0
aCBpbnNpZGUgSW1hZ2VCdWZmZXJCYWNrZW5kOjpwdXRJbWFnZURhdGEoKSBhYm91dCBob3cgbV9y
ZXNvbHV0aW9uU2NhbGUgaW50ZXJhY3RzIHdpdGggdGhlIGRhdGEgaW4gdGhlIEltYWdlQnVmZmVy
LgpAQCAtOTEsOCArMTAwLDcgQEAgcHJvdGVjdGVkOgogICAgIHsKICAgICAgICAgYXV0byYgZGlz
cGxheUxpc3QgPSBtX2RyYXdpbmdDb250ZXh0LmRpc3BsYXlMaXN0KCk7CiAgICAgICAgIGlmIChk
aXNwbGF5TGlzdC5pdGVtQ291bnQoKSkgewotICAgICAgICAgICAgUmVtb3RlSW1hZ2VCdWZmZXJN
ZXNzYWdlSGFuZGxlcjo6Zmx1c2hEcmF3aW5nQ29udGV4dChkaXNwbGF5TGlzdCk7Ci0gICAgICAg
ICAgICBSZW1vdGVJbWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyOjp3YWl0Rm9yQ29tbWl0SW1hZ2VC
dWZmZXJGbHVzaENvbnRleHQoKTsKKyAgICAgICAgICAgIFJlbW90ZUltYWdlQnVmZmVyTWVzc2Fn
ZUhhbmRsZXI6OmZsdXNoRHJhd2luZ0NvbnRleHRBbmRXYWl0Q29tbWl0KGRpc3BsYXlMaXN0KTsK
ICAgICAgICAgICAgIGRpc3BsYXlMaXN0LmNsZWFyKCk7CiAgICAgICAgIH0KICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdl
QnVmZmVyTWVzc2FnZUhhbmRsZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9n
cmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyLmNwcAppbmRleCA1ZTBkNWY1
NWYzZTBjODhmYmU1ZTBkNDk1MWZlMTk5MmM2NGZlYzAzLi4xYjg2MTg1MWM5YjdhNmVhNjI4MjU3
MTE2NDc5ZmVjZDIwNDUyMTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJNZXNz
YWdlSGFuZGxlci5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShHUFVfUFJPQ0VT
UykKIAorI2luY2x1ZGUgIkltYWdlRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIlJlbW90ZVJl
bmRlcmluZ0JhY2tlbmQuaCIKICNpbmNsdWRlICJSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHlN
ZXNzYWdlcy5oIgogCkBAIC00OSw2ICs1MCwxMyBAQCBSZW1vdGVJbWFnZUJ1ZmZlck1lc3NhZ2VI
YW5kbGVyOjp+UmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlcigpCiAgICAgbV9yZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJv
eHk6OlJlbGVhc2VJbWFnZUJ1ZmZlcihtX2ltYWdlQnVmZmVySWRlbnRpZmllciksIG1fcmVtb3Rl
UmVuZGVyaW5nQmFja2VuZC0+cmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIoKSk7CiB9CiAKK1Jl
ZlB0cjxJbWFnZURhdGE+IFJlbW90ZUltYWdlQnVmZmVyTWVzc2FnZUhhbmRsZXI6OmdldEltYWdl
RGF0YShBbHBoYVByZW11bHRpcGxpY2F0aW9uIG91dHB1dEZvcm1hdCwgY29uc3QgSW50UmVjdCYg
c3JjUmVjdCkgY29uc3QKK3sKKyAgICBJUEM6OkltYWdlRGF0YVJlZmVyZW5jZSBpbWFnZURhdGFS
ZWZlcmVuY2U7CisgICAgbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kLT5zZW5kU3luYyhNZXNzYWdl
czo6UmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OjpHZXRJbWFnZURhdGEob3V0cHV0Rm9ybWF0
LCBzcmNSZWN0LCBtX2ltYWdlQnVmZmVySWRlbnRpZmllciksIE1lc3NhZ2VzOjpSZW1vdGVSZW5k
ZXJpbmdCYWNrZW5kUHJveHk6OkdldEltYWdlRGF0YTo6UmVwbHkoaW1hZ2VEYXRhUmVmZXJlbmNl
KSwgbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kLT5yZW5kZXJpbmdCYWNrZW5kSWRlbnRpZmllcigp
LCAxX3MpOworICAgIHJldHVybiBpbWFnZURhdGFSZWZlcmVuY2UuYnVmZmVyKCk7Cit9CisKIHZv
aWQgUmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlcjo6d2FpdEZvckNyZWF0ZUltYWdlQnVm
ZmVyQmFja2VuZCgpCiB7CiAgICAgaWYgKG1fcmVtb3RlUmVuZGVyaW5nQmFja2VuZCAmJiAhaXNC
YWNrZW5kQ3JlYXRlZCgpKQpAQCAtNjIsMTEgKzcwLDE5IEBAIHZvaWQgUmVtb3RlSW1hZ2VCdWZm
ZXJNZXNzYWdlSGFuZGxlcjo6d2FpdEZvckNvbW1pdEltYWdlQnVmZmVyRmx1c2hDb250ZXh0KCkK
IH0KIAogdm9pZCBSZW1vdGVJbWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyOjpmbHVzaERyYXdpbmdD
b250ZXh0KGNvbnN0IFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpEaXNwbGF5TGlzdCYgZGlzcGxheUxp
c3QpCit7CisgICAgaWYgKCFtX3JlbW90ZVJlbmRlcmluZ0JhY2tlbmQpCisgICAgICAgIHJldHVy
bjsKKyAgICBtX3JlbW90ZVJlbmRlcmluZ0JhY2tlbmQtPnNlbmQoTWVzc2FnZXM6OlJlbW90ZVJl
bmRlcmluZ0JhY2tlbmRQcm94eTo6Rmx1c2hJbWFnZUJ1ZmZlckRyYXdpbmdDb250ZXh0KGRpc3Bs
YXlMaXN0LCBtX3NlbnRGbHVzaElkZW50aWZpZXIsIG1faW1hZ2VCdWZmZXJJZGVudGlmaWVyKSwg
bV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kLT5yZW5kZXJpbmdCYWNrZW5kSWRlbnRpZmllcigpKTsK
K30KKwordm9pZCBSZW1vdGVJbWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyOjpmbHVzaERyYXdpbmdD
b250ZXh0QW5kV2FpdENvbW1pdChjb25zdCBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6RGlzcGxheUxp
c3QmIGRpc3BsYXlMaXN0KQogewogICAgIGlmICghbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kKQog
ICAgICAgICByZXR1cm47CiAgICAgbV9zZW50Rmx1c2hJZGVudGlmaWVyID0gSW1hZ2VCdWZmZXJG
bHVzaElkZW50aWZpZXI6OmdlbmVyYXRlKCk7CiAgICAgbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5k
LT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHk6OkZsdXNoSW1hZ2VC
dWZmZXJEcmF3aW5nQ29udGV4dChkaXNwbGF5TGlzdCwgbV9zZW50Rmx1c2hJZGVudGlmaWVyLCBt
X2ltYWdlQnVmZmVySWRlbnRpZmllciksIG1fcmVtb3RlUmVuZGVyaW5nQmFja2VuZC0+cmVuZGVy
aW5nQmFja2VuZElkZW50aWZpZXIoKSk7CisgICAgd2FpdEZvckNvbW1pdEltYWdlQnVmZmVyRmx1
c2hDb250ZXh0KCk7CiB9CiAKIHZvaWQgUmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlcjo6
Y29tbWl0Rmx1c2hDb250ZXh0KEltYWdlQnVmZmVyRmx1c2hJZGVudGlmaWVyIGZsdXNoSWRlbnRp
ZmllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3Mv
UmVtb3RlSW1hZ2VCdWZmZXJNZXNzYWdlSGFuZGxlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyLmgKaW5kZXgg
M2FlMWE5ODc5ZWZkMTkzYTljYTcwZjhkNGEzYjk4NWU3M2FmMzU2NS4uOTA1ZjdhYzY5YjUzMjBi
M2NjMzE5OTVjNDI3MGMwNTVmMjZlMzNlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlck1lc3NhZ2VIYW5kbGVyLmgKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZl
ck1lc3NhZ2VIYW5kbGVyLmgKQEAgLTM0LDYgKzM0LDEwIEBACiAjaW5jbHVkZSA8V2ViQ29yZS9G
bG9hdFNpemUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1JlbmRlcmluZ01vZGUuaD4KIAorbmFtZXNw
YWNlIFdlYkNvcmUgeworZW51bSBjbGFzcyBBbHBoYVByZW11bHRpcGxpY2F0aW9uIDogdWludDhf
dDsKK30KKwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFJlbW90ZVJlbmRlcmluZ0JhY2tl
bmQ7CkBAIC01NSwxMSArNTksMTQgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgYm9vbCBpc0Jh
Y2tlbmRDcmVhdGVkKCkgY29uc3QgPSAwOwogICAgIGJvb2wgaXNQZW5kaW5nRmx1c2goKSBjb25z
dCB7IHJldHVybiBtX3NlbnRGbHVzaElkZW50aWZpZXIgIT0gbV9yZWNlaXZlZEZsdXNoSWRlbnRp
ZmllcjsgfQogCisgICAgUmVmUHRyPFdlYkNvcmU6OkltYWdlRGF0YT4gZ2V0SW1hZ2VEYXRhKFdl
YkNvcmU6OkFscGhhUHJlbXVsdGlwbGljYXRpb24gb3V0cHV0Rm9ybWF0LCBjb25zdCBXZWJDb3Jl
OjpJbnRSZWN0JiBzcmNSZWN0KSBjb25zdDsKKwogICAgIHZvaWQgd2FpdEZvckNyZWF0ZUltYWdl
QnVmZmVyQmFja2VuZCgpOwogICAgIHZvaWQgd2FpdEZvckNvbW1pdEltYWdlQnVmZmVyRmx1c2hD
b250ZXh0KCk7CiAKICAgICAvLyBNZXNzYWdlcyB0byBiZSBzZW50LiBTZWUgUmVtb3RlUmVuZGVy
aW5nQmFja2VuZFByb3h5Lm1lc3NhZ2VzLmluLgogICAgIHZvaWQgZmx1c2hEcmF3aW5nQ29udGV4
dChjb25zdCBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6RGlzcGxheUxpc3QmKTsKKyAgICB2b2lkIGZs
dXNoRHJhd2luZ0NvbnRleHRBbmRXYWl0Q29tbWl0KGNvbnN0IFdlYkNvcmU6OkRpc3BsYXlMaXN0
OjpEaXNwbGF5TGlzdCYpOwogCiBwcml2YXRlOgogICAgIFdlYWtQdHI8UmVtb3RlUmVuZGVyaW5n
QmFja2VuZD4gbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>