<?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>223956</bug_id>
          
          <creation_ts>2021-03-30 14:30:36 -0700</creation_ts>
          <short_desc>PCM: PrivateClickMeasurementManager::getTokenPublicKey() should not use PrivateClickMeasurement::PcmDataCarried::PersonallyIdentifiable when validating the token before the attribution report is sent</short_desc>
          <delta_ts>2021-04-02 07:01:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=222217</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=223957</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>221291</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="John Wilander">wilander</reporter>
          <assigned_to name="John Wilander">wilander</assigned_to>
          <cc>jiewen_tan</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1745326</commentid>
    <comment_count>0</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-03-30 14:30:36 -0700</bug_when>
    <thetext>PrivateClickMeasurementManager::getTokenPublicKey() is currently configured to use PrivateClickMeasurement::PcmDataCarried::PersonallyIdentifiable when minting the unlinkable and secret tokens. However, PrivateClickMeasurementManager::getTokenPublicKey() is used a second time when validating the secret token before the attribution report is sent. On the second occasion, PrivateClickMeasurement::PcmDataCarried::NonPersonallyIdentifiable should be used. Which to use should probably be controlled by the caller.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745940</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-31 21:13:54 -0700</bug_when>
    <thetext>&lt;rdar://problem/76086936&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745942</commentid>
    <comment_count>2</comment_count>
      <attachid>424872</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-03-31 22:38:02 -0700</bug_when>
    <thetext>Created attachment 424872
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745943</commentid>
    <comment_count>3</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-03-31 22:38:43 -0700</bug_when>
    <thetext>This patch also fixes https://bugs.webkit.org/show_bug.cgi?id=223957.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745955</commentid>
    <comment_count>4</comment_count>
      <attachid>424872</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2021-04-01 00:57:30 -0700</bug_when>
    <thetext>Comment on attachment 424872
Patch

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

&gt; Source/WebKit/NetworkProcess/PrivateClickMeasurementManager.cpp:143
&gt; +    auto pcmDataCarried = UNLIKELY(debugModeEnabled()) ? PrivateClickMeasurement::PcmDataCarried::PersonallyIdentifiable : dataCarried;

Can we do this within generateNetworkLoadParameters? such that we can handle this logic for all traffics?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745971</commentid>
    <comment_count>5</comment_count>
      <attachid>424872</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-04-01 02:43:31 -0700</bug_when>
    <thetext>Comment on attachment 424872
Patch

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

&gt;&gt; Source/WebKit/NetworkProcess/PrivateClickMeasurementManager.cpp:143
&gt;&gt; +    auto pcmDataCarried = UNLIKELY(debugModeEnabled()) ? PrivateClickMeasurement::PcmDataCarried::PersonallyIdentifiable : dataCarried;
&gt; 
&gt; Can we do this within generateNetworkLoadParameters? such that we can handle this logic for all traffics?

Looking in the code, I do not see where is used pcmDataCarried?
Can you detail its use?
Would it make sense to pass pcmDataCarried directly to m_networkLoadFunction and remove it from NetworkLoadParameters.
I do not see it set in WebProcess for instance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746071</commentid>
    <comment_count>6</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-04-01 09:44:20 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #5)
&gt; Comment on attachment 424872 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=424872&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebKit/NetworkProcess/PrivateClickMeasurementManager.cpp:143
&gt; &gt;&gt; +    auto pcmDataCarried = UNLIKELY(debugModeEnabled()) ? PrivateClickMeasurement::PcmDataCarried::PersonallyIdentifiable : dataCarried;
&gt; &gt; 
&gt; &gt; Can we do this within generateNetworkLoadParameters? such that we can handle this logic for all traffics?
&gt; 
&gt; Looking in the code, I do not see where is used pcmDataCarried?
&gt; Can you detail its use?
&gt; Would it make sense to pass pcmDataCarried directly to m_networkLoadFunction
&gt; and remove it from NetworkLoadParameters.
&gt; I do not see it set in WebProcess for instance.

It&apos;s is not in use now and intended for future things. Since PCM makes network requests that are not tied to any page load, we wanted to provide some guidance for the network loader on the privacy guarantees of the requests. That will allow WebKit clients with control over the network stack to make decisions on how to handle those requests. I will also mention this in the update to the spec once we have the whole fraud prevention thing settled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746101</commentid>
    <comment_count>7</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-04-01 11:00:24 -0700</bug_when>
    <thetext>(In reply to Jiewen Tan from comment #4)
&gt; Comment on attachment 424872 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=424872&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/NetworkProcess/PrivateClickMeasurementManager.cpp:143
&gt; &gt; +    auto pcmDataCarried = UNLIKELY(debugModeEnabled()) ? PrivateClickMeasurement::PcmDataCarried::PersonallyIdentifiable : dataCarried;
&gt; 
&gt; Can we do this within generateNetworkLoadParameters? such that we can handle
&gt; this logic for all traffics?

Nice idea. Let me see if that&apos;s possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746272</commentid>
    <comment_count>8</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-04-01 14:50:22 -0700</bug_when>
    <thetext>(In reply to John Wilander from comment #7)
&gt; (In reply to Jiewen Tan from comment #4)
&gt; &gt; Comment on attachment 424872 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=424872&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit/NetworkProcess/PrivateClickMeasurementManager.cpp:143
&gt; &gt; &gt; +    auto pcmDataCarried = UNLIKELY(debugModeEnabled()) ? PrivateClickMeasurement::PcmDataCarried::PersonallyIdentifiable : dataCarried;
&gt; &gt; 
&gt; &gt; Can we do this within generateNetworkLoadParameters? such that we can handle
&gt; &gt; this logic for all traffics?
&gt; 
&gt; Nice idea. Let me see if that&apos;s possible.

generateNetworkLoadParameters() is static so we have to send the flag in as a parameter. New patch coming up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746280</commentid>
    <comment_count>9</comment_count>
      <attachid>424952</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-04-01 14:58:11 -0700</bug_when>
    <thetext>Created attachment 424952
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746349</commentid>
    <comment_count>10</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-04-01 17:53:56 -0700</bug_when>
    <thetext>Failing layout tests are unrelated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746477</commentid>
    <comment_count>11</comment_count>
      <attachid>424952</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-04-02 06:52:21 -0700</bug_when>
    <thetext>Comment on attachment 424952
Patch

Thanks, Youenn and Jiewen!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746480</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-02 07:01:12 -0700</bug_when>
    <thetext>Committed r275419: &lt;https://commits.webkit.org/r275419&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 424952.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424872</attachid>
            <date>2021-03-31 22:38:02 -0700</date>
            <delta_ts>2021-04-01 14:58:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223956-20210331223802.patch</filename>
            <type>text/plain</type>
            <size>8151</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MzQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGFiOGJjZGQwZjFmMmFhY2I5
YWZlMWYwYmE1NmFlM2QyYjc1MDdhMTMuLjlhZGUwYjYyYmNjNmQ2YzE1NzFmMGNiNjJhNzRiZDBl
M2Y4MjRjZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMjEtMDMtMzEgIEpvaG4gV2ls
YW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAgICAgICAgUENNOiBQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudE1hbmFnZXI6OmdldFRva2VuUHVibGljS2V5KCkgc2hvdWxkIG5vdCB1c2UgUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlBjbURhdGFDYXJyaWVkOjpQZXJzb25hbGx5SWRlbnRpZmlh
YmxlIHdoZW4gdmFsaWRhdGluZyB0aGUgdG9rZW4gYmVmb3JlIHRoZSBhdHRyaWJ1dGlvbiByZXBv
cnQgaXMgc2VudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjIzOTU2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NjA4NjkzNj4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMuIFRoaXMg
anVzdCBjaGFuZ2VzIHRoZSBOZXR3b3JrTG9hZFBhcmFtZXRlcnMgZmllbGQgcGNtRGF0YUNhcnJp
ZWQKKyAgICAgICAgZm9yIHRoZSBpbml0aWFsIHB1YmxpYyBrZXkgbG9hZCBhbmQgZm9yIFBDTSBE
ZWJ1ZyBNb2RlLiBUaGlzIG5ldHdvcmsgbG9hZCBzZXR0aW5nCisgICAgICAgIGlzIG5vdCBvYnNl
cnZhYmxlIGluIHRlc3RzLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnRNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnRNYW5hZ2VyOjpzdG9yZVVuYXR0cmlidXRlZCk6CisgICAgICAgICAgICBOb3cgc2Vu
ZHMgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlBjbURhdGFDYXJyaWVkOjpQZXJzb25hbGx5SWRl
bnRpZmlhYmxlCisgICAgICAgICAgICB0byBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6
OmdldFRva2VuUHVibGljS2V5KCkgc2luY2UgaXQncyByZXF1aXJlZC4KKyAgICAgICAgKFdlYktp
dDo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpnZXRUb2tlblB1YmxpY0tleSk6Cisg
ICAgICAgICAgICBOb3cgdGFrZXMgYSBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6UGNtRGF0YUNh
cnJpZWQgcGFyYW1ldGVyIHRvIGJlIGFibGUKKyAgICAgICAgICAgIHRvIHJlcXVlc3QgdGhlIHB1
YmxpYyBrZXkgaW4gZWl0aGVyIG5ldHdvcmsgbG9hZCBtb2RlLgorICAgICAgICAgICAgUENNIERl
YnVnIE1vZGUgb3ZlcnJpZGVzIHRoZSBpbmNvbWluZyBwYXJhbWV0ZXIgYW5kIGZvcmNlcworICAg
ICAgICAgICAgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlBjbURhdGFDYXJyaWVkOjpQZXJzb25h
bGx5SWRlbnRpZmlhYmxlIHNpbmNlCisgICAgICAgICAgICBEZWJ1ZyBNb2RlIGRpc2FibGVzIHBy
aXZhY3kgbWVhc3VyZXMgbWFraW5nIFBDTSBuZXR3b3JrIHJlcXVlc3RzIGxpa2VseQorICAgICAg
ICAgICAgdG8gYmUgcGVyc29uYWxseSBpZGVudGlmaWFibGUuCisgICAgICAgIChXZWJLaXQ6OlBy
aXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6ZmlyZUNvbnZlcnNpb25SZXF1ZXN0KToKKyAg
ICAgICAgICAgIE5vdyBzZW5kcyBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6UGNtRGF0YUNhcnJp
ZWQ6Ok5vblBlcnNvbmFsbHlJZGVudGlmaWFibGUKKyAgICAgICAgICAgIHRvIFByaXZhdGVDbGlj
a01lYXN1cmVtZW50TWFuYWdlcjo6Z2V0VG9rZW5QdWJsaWNLZXkoKSBzaW5jZSBpdCdzIHJlcXVp
cmVkLgorICAgICAgICAoV2ViS2l0OjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6OmZp
cmVDb252ZXJzaW9uUmVxdWVzdEltcGwpOgorICAgICAgICAgICAgUENNIERlYnVnIE1vZGUgbm93
IGZvcmNlcworICAgICAgICAgICAgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlBjbURhdGFDYXJy
aWVkOjpQZXJzb25hbGx5SWRlbnRpZmlhYmxlIHNpbmNlCisgICAgICAgICAgICBEZWJ1ZyBNb2Rl
IGRpc2FibGVzIHByaXZhY3kgbWVhc3VyZXMgbWFraW5nIFBDTSBuZXR3b3JrIHJlcXVlc3RzIGxp
a2VseQorICAgICAgICAgICAgdG8gYmUgcGVyc29uYWxseSBpZGVudGlmaWFibGUuCisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmg6CisKIDIw
MjEtMDMtMzEgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAg
ICAgRmVlZCBwcmVmZXJyZWQgZnJhbWVzIHBlciBzZWNvbmQgYmFjayB0byB0aGUgVUkgcHJvY2Vz
cyBmb3IgZWFjaCBEaXNwbGF5UmVmcmVzaE1vbml0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2Vy
LmNwcAppbmRleCBkYmY4YjQ5OWZmOTY5YjVmMmMxYjBiNDJlODRhMjI2YWM2MGM1NjdiLi45YmYx
YzMxMmY1MmU0OGI1M2M2YWY1NzYwMTEyNDA2NjQ1YmM0MmIxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlci5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dE1hbmFnZXIuY3BwCkBAIC03Niw3ICs3Niw4IEBAIHZvaWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRNYW5hZ2VyOjpzdG9yZVVuYXR0cmlidXRlZChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmCiAK
ICAgICBpZiAoYXR0cmlidXRpb24uZXBoZW1lcmFsU291cmNlTm9uY2UoKSkgewogICAgICAgICBh
dXRvIGF0dHJpYnV0aW9uQ29weSA9IGF0dHJpYnV0aW9uOwotICAgICAgICBnZXRUb2tlblB1Ymxp
Y0tleShXVEZNb3ZlKGF0dHJpYnV0aW9uQ29weSksIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpB
dHRyaWJ1dGlvblJlcG9ydEVuZHBvaW50OjpTb3VyY2UsIFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRy
KCp0aGlzKSwgdGhpc10gKFByaXZhdGVDbGlja01lYXN1cmVtZW50JiYgYXR0cmlidXRpb24sIGNv
bnN0IFN0cmluZyYgcHVibGljS2V5QmFzZTY0VVJMKSB7CisgICAgICAgIC8vIFRoaXMgaXMgZ3Vh
cmFudGVlZCB0byBiZSBjbG9zZSBpbiB0aW1lIHRvIHRoZSBuYXZpZ2F0aW9uYWwgY2xpY2sgd2hp
Y2ggbWFrZXMgaXQgbGlrZWx5IHRvIGJlIHBlcnNvbmFsbHkgaWRlbnRpZmlhYmxlLgorICAgICAg
ICBnZXRUb2tlblB1YmxpY0tleShXVEZNb3ZlKGF0dHJpYnV0aW9uQ29weSksIFByaXZhdGVDbGlj
a01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvblJlcG9ydEVuZHBvaW50OjpTb3VyY2UsIFByaXZhdGVD
bGlja01lYXN1cmVtZW50OjpQY21EYXRhQ2FycmllZDo6UGVyc29uYWxseUlkZW50aWZpYWJsZSwg
W3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCB0aGlzXSAoUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQmJiBhdHRyaWJ1dGlvbiwgY29uc3QgU3RyaW5nJiBwdWJsaWNLZXlCYXNlNjRVUkwpIHsK
ICAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCkBA
IC0xMzQsMTMgKzEzNSwxMiBAQCBzdGF0aWMgTmV0d29ya0xvYWRQYXJhbWV0ZXJzIGdlbmVyYXRl
TmV0d29ya0xvYWRQYXJhbWV0ZXJzRm9ySHR0cEdldChVUkwmJiB1cmwsCiAgICAgcmV0dXJuIGdl
bmVyYXRlTmV0d29ya0xvYWRQYXJhbWV0ZXJzKFdURk1vdmUodXJsKSwgIkdFVCJfcywgbnVsbHB0
ciwgZGF0YVR5cGVDYXJyaWVkKTsKIH0KIAotdm9pZCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1h
bmFnZXI6OmdldFRva2VuUHVibGljS2V5KFByaXZhdGVDbGlja01lYXN1cmVtZW50JiYgYXR0cmli
dXRpb24sIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvblJlcG9ydEVuZHBvaW50
IGF0dHJpYnV0aW9uUmVwb3J0RW5kcG9pbnQsIEZ1bmN0aW9uPHZvaWQoUHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQmJiBhdHRyaWJ1dGlvbiwgY29uc3QgU3RyaW5nJiBwdWJsaWNLZXlCYXNlNjRVUkwp
PiYmIGNhbGxiYWNrKQordm9pZCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6OmdldFRv
a2VuUHVibGljS2V5KFByaXZhdGVDbGlja01lYXN1cmVtZW50JiYgYXR0cmlidXRpb24sIFByaXZh
dGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvblJlcG9ydEVuZHBvaW50IGF0dHJpYnV0aW9u
UmVwb3J0RW5kcG9pbnQsIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpQY21EYXRhQ2FycmllZCBk
YXRhQ2FycmllZCwgRnVuY3Rpb248dm9pZChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmIGF0dHJp
YnV0aW9uLCBjb25zdCBTdHJpbmcmIHB1YmxpY0tleUJhc2U2NFVSTCk+JiYgY2FsbGJhY2spCiB7
CiAgICAgaWYgKCFmZWF0dXJlRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICAvLyBU
aGlzIGlzIGd1YXJhbnRlZWQgdG8gYmUgY2xvc2UgaW4gdGltZSB0byB0aGUgbmF2aWdhdGlvbmFs
IGNsaWNrIHdoaWNoIG1ha2VzIGl0IGxpa2VseSB0byBiZSBwZXJzb25hbGx5IGlkZW50aWZpYWJs
ZS4KLSAgICBhdXRvIHBjbURhdGFDYXJyaWVkID0gUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlBj
bURhdGFDYXJyaWVkOjpQZXJzb25hbGx5SWRlbnRpZmlhYmxlOworICAgIGF1dG8gcGNtRGF0YUNh
cnJpZWQgPSBVTkxJS0VMWShkZWJ1Z01vZGVFbmFibGVkKCkpID8gUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQ6OlBjbURhdGFDYXJyaWVkOjpQZXJzb25hbGx5SWRlbnRpZmlhYmxlIDogZGF0YUNhcnJp
ZWQ7CiAgICAgYXV0byB0b2tlblB1YmxpY0tleVVSTCA9IGF0dHJpYnV0aW9uLnRva2VuUHVibGlj
S2V5VVJMKCk7CiAgICAgaWYgKG1fdG9rZW5QdWJsaWNLZXlVUkxGb3JUZXN0aW5nKSB7CiAgICAg
ICAgIGlmIChhdHRyaWJ1dGlvblJlcG9ydEVuZHBvaW50ID09IFByaXZhdGVDbGlja01lYXN1cmVt
ZW50OjpBdHRyaWJ1dGlvblJlcG9ydEVuZHBvaW50OjpEZXN0aW5hdGlvbikKQEAgLTMwOSw3ICsz
MDksOCBAQCB2b2lkIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6ZmlyZUNvbnZlcnNp
b25SZXF1ZXN0KGNvbnN0IFByaXZhdGVDbGlja01lYQogICAgIH0KIAogICAgIGF1dG8gYXR0cmli
dXRpb25Db3B5ID0gYXR0cmlidXRpb247Ci0gICAgZ2V0VG9rZW5QdWJsaWNLZXkoV1RGTW92ZShh
dHRyaWJ1dGlvbkNvcHkpLCBhdHRyaWJ1dGlvblJlcG9ydEVuZHBvaW50LCBbd2Vha1RoaXMgPSBt
YWtlV2Vha1B0cigqdGhpcyksIHRoaXMsIGF0dHJpYnV0aW9uUmVwb3J0RW5kcG9pbnRdIChQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudCYmIGF0dHJpYnV0aW9uLCBjb25zdCBTdHJpbmcmIHB1YmxpY0tl
eUJhc2U2NFVSTCkgeworICAgIC8vIFRoaXMgaGFwcGVucyBvdXQgb2Ygd2VicGFnZSBjb250ZXh0
IGFuZCB3aXRoIGEgbG9uZyBkZWxheSBhbmQgaXMgdGh1cyB1bmxpa2VseSB0byBiZSBwZXJzb25h
bGx5IGlkZW50aWZpYWJsZS4KKyAgICBnZXRUb2tlblB1YmxpY0tleShXVEZNb3ZlKGF0dHJpYnV0
aW9uQ29weSksIGF0dHJpYnV0aW9uUmVwb3J0RW5kcG9pbnQsIFByaXZhdGVDbGlja01lYXN1cmVt
ZW50OjpQY21EYXRhQ2FycmllZDo6Tm9uUGVyc29uYWxseUlkZW50aWZpYWJsZSwgW3dlYWtUaGlz
ID0gbWFrZVdlYWtQdHIoKnRoaXMpLCB0aGlzLCBhdHRyaWJ1dGlvblJlcG9ydEVuZHBvaW50XSAo
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQmJiBhdHRyaWJ1dGlvbiwgY29uc3QgU3RyaW5nJiBwdWJs
aWNLZXlCYXNlNjRVUkwpIHsKICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAgIHJl
dHVybjsKIApAQCAtMzQzLDcgKzM0NCw4IEBAIHZvaWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRN
YW5hZ2VyOjpmaXJlQ29udmVyc2lvblJlcXVlc3RJbXBsKGNvbnN0IFByaXZhdGVDbGljCiAgICAg
aWYgKGF0dHJpYnV0aW9uVVJMLmlzRW1wdHkoKSB8fCAhYXR0cmlidXRpb25VUkwuaXNWYWxpZCgp
KQogICAgICAgICByZXR1cm47CiAKLSAgICBhdXRvIGxvYWRQYXJhbWV0ZXJzID0gZ2VuZXJhdGVO
ZXR3b3JrTG9hZFBhcmFtZXRlcnNGb3JIdHRwUG9zdChXVEZNb3ZlKGF0dHJpYnV0aW9uVVJMKSwg
YXR0cmlidXRpb24uYXR0cmlidXRpb25SZXBvcnRKU09OKCksIFByaXZhdGVDbGlja01lYXN1cmVt
ZW50OjpQY21EYXRhQ2FycmllZDo6Tm9uUGVyc29uYWxseUlkZW50aWZpYWJsZSk7CisgICAgYXV0
byBwY21EYXRhQ2FycmllZCA9IFVOTElLRUxZKGRlYnVnTW9kZUVuYWJsZWQoKSkgPyBQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudDo6UGNtRGF0YUNhcnJpZWQ6OlBlcnNvbmFsbHlJZGVudGlmaWFibGUg
OiBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6UGNtRGF0YUNhcnJpZWQ6Ok5vblBlcnNvbmFsbHlJ
ZGVudGlmaWFibGU7CisgICAgYXV0byBsb2FkUGFyYW1ldGVycyA9IGdlbmVyYXRlTmV0d29ya0xv
YWRQYXJhbWV0ZXJzRm9ySHR0cFBvc3QoV1RGTW92ZShhdHRyaWJ1dGlvblVSTCksIGF0dHJpYnV0
aW9uLmF0dHJpYnV0aW9uUmVwb3J0SlNPTigpLCBwY21EYXRhQ2FycmllZCk7CiAKICAgICBSRUxF
QVNFX0xPR19JTkZPKFByaXZhdGVDbGlja01lYXN1cmVtZW50LCAiQWJvdXQgdG8gZmlyZSBhbiBh
dHRyaWJ1dGlvbiByZXF1ZXN0LiIpOwogICAgIG1fbmV0d29ya1Byb2Nlc3MtPmJyb2FkY2FzdENv
bnNvbGVNZXNzYWdlKG1fc2Vzc2lvbklELCBNZXNzYWdlU291cmNlOjpQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudCwgTWVzc2FnZUxldmVsOjpMb2csICJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0g
QWJvdXQgdG8gZmlyZSBhbiBhdHRyaWJ1dGlvbiByZXF1ZXN0LiJfcyk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdl
ci5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dE1hbmFnZXIuaAppbmRleCA3MzZiOWRiNzdiNGQzNGVhZGMwYzk5MmY1MzlhNDJiMjRkNTBmZmZl
Li5iYTE3YzgyN2U5M2MxMTJmYjMxZjBiNTliZDk0NDI5Mzg2NjU3YmE0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdl
ci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnRNYW5hZ2VyLmgKQEAgLTcwLDcgKzcwLDcgQEAgcHVibGljOgogICAgIHZvaWQgc3RhcnRU
aW1lcihTZWNvbmRzKTsKIAogcHJpdmF0ZToKLSAgICB2b2lkIGdldFRva2VuUHVibGljS2V5KFBy
aXZhdGVDbGlja01lYXN1cmVtZW50JiYsIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1
dGlvblJlcG9ydEVuZHBvaW50LCBGdW5jdGlvbjx2b2lkKFByaXZhdGVDbGlja01lYXN1cmVtZW50
JiYgYXR0cmlidXRpb24sIGNvbnN0IFN0cmluZyYgcHVibGljS2V5QmFzZTY0VVJMKT4mJik7Cisg
ICAgdm9pZCBnZXRUb2tlblB1YmxpY0tleShQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmLCBQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25SZXBvcnRFbmRwb2ludCwgUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQ6OlBjbURhdGFDYXJyaWVkLCBGdW5jdGlvbjx2b2lkKFByaXZhdGVDbGlj
a01lYXN1cmVtZW50JiYgYXR0cmlidXRpb24sIGNvbnN0IFN0cmluZyYgcHVibGljS2V5QmFzZTY0
VVJMKT4mJik7CiAgICAgdm9pZCBnZXRTaWduZWRVbmxpbmthYmxlVG9rZW4oUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQmJik7CiAgICAgdm9pZCBjbGVhclNlbnRBdHRyaWJ1dGlvbihQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudCYmLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25SZXBv
cnRFbmRwb2ludCk7CiAgICAgdm9pZCBhdHRyaWJ1dGUoY29uc3QgU291cmNlU2l0ZSYsIGNvbnN0
IEF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlJiwgQXR0cmlidXRpb25UcmlnZ2VyRGF0YSYmKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424952</attachid>
            <date>2021-04-01 14:58:11 -0700</date>
            <delta_ts>2021-04-02 07:01:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223956-20210401145810.patch</filename>
            <type>text/plain</type>
            <size>11751</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1Mzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGUwMDJlMjUwMWM3Y2I2NjFl
NDVlZjc2ZDk0YzhhYTk1MjdjNTdlZmYuLjhmMDJjNDk2YWEzOWM0OWFlYTRiYzlkYTg0NjFiYTE3
ZTkxYjE1NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMjEtMDQtMDEgIEpvaG4gV2ls
YW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAgICAgICAgUENNOiBQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudE1hbmFnZXI6OmdldFRva2VuUHVibGljS2V5KCkgc2hvdWxkIG5vdCB1c2UgUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlBjbURhdGFDYXJyaWVkOjpQZXJzb25hbGx5SWRlbnRpZmlh
YmxlIHdoZW4gdmFsaWRhdGluZyB0aGUgdG9rZW4gYmVmb3JlIHRoZSBhdHRyaWJ1dGlvbiByZXBv
cnQgaXMgc2VudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjIzOTU2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NjA4NjkzNj4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMuIFRoaXMg
anVzdCBjaGFuZ2VzIHRoZSBOZXR3b3JrTG9hZFBhcmFtZXRlcnMgZmllbGQgcGNtRGF0YUNhcnJp
ZWQKKyAgICAgICAgZm9yIHRoZSBpbml0aWFsIHB1YmxpYyBrZXkgbG9hZCBhbmQgZm9yIFBDTSBE
ZWJ1ZyBNb2RlLiBUaGlzIG5ldHdvcmsgbG9hZCBzZXR0aW5nCisgICAgICAgIGlzIG5vdCBvYnNl
cnZhYmxlIGluIHRlc3RzLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnRNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnRNYW5hZ2VyOjpzdG9yZVVuYXR0cmlidXRlZCk6CisgICAgICAgICAgICBOb3cgc2Vu
ZHMgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlBjbURhdGFDYXJyaWVkOjpQZXJzb25hbGx5SWRl
bnRpZmlhYmxlCisgICAgICAgICAgICB0byBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6
OmdldFRva2VuUHVibGljS2V5KCkgc2luY2UgaXQncyByZXF1aXJlZC4KKyAgICAgICAgKFdlYktp
dDo6Z2VuZXJhdGVOZXR3b3JrTG9hZFBhcmFtZXRlcnMpOgorICAgICAgICAgICAgTm93IHRha2Vz
IHRoZSBwYXJhbWV0ZXIgaXNEZWJ1Z01vZGVFbmFibGVkIGFuZCBpZiBpdCdzIHRydWUsIGZvcmNl
cworICAgICAgICAgICAgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlBjbURhdGFDYXJyaWVkOjpQ
ZXJzb25hbGx5SWRlbnRpZmlhYmxlIHNpbmNlCisgICAgICAgICAgICBEZWJ1ZyBNb2RlIGRpc2Fi
bGVzIHByaXZhY3kgbWVhc3VyZXMgbWFraW5nIFBDTSBuZXR3b3JrIHJlcXVlc3RzIGxpa2VseQor
ICAgICAgICAgICAgdG8gYmUgcGVyc29uYWxseSBpZGVudGlmaWFibGUuCisgICAgICAgIChXZWJL
aXQ6OmdlbmVyYXRlTmV0d29ya0xvYWRQYXJhbWV0ZXJzRm9ySHR0cFBvc3QpOgorICAgICAgICAg
ICAgTm93IGZvcndhcmRzIGlzRGVidWdNb2RlRW5hYmxlZCB0byBnZW5lcmF0ZU5ldHdvcmtMb2Fk
UGFyYW1ldGVycygpLgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZU5ldHdvcmtMb2FkUGFyYW1l
dGVyc0Zvckh0dHBHZXQpOgorICAgICAgICAgICAgTm93IGZvcndhcmRzIGlzRGVidWdNb2RlRW5h
YmxlZCB0byBnZW5lcmF0ZU5ldHdvcmtMb2FkUGFyYW1ldGVycygpLgorICAgICAgICAoV2ViS2l0
OjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6OmdldFRva2VuUHVibGljS2V5KToKKyAg
ICAgICAgICAgIE5vdyB0YWtlcyBhIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpQY21EYXRhQ2Fy
cmllZCBwYXJhbWV0ZXIgdG8gYmUgYWJsZQorICAgICAgICAgICAgdG8gcmVxdWVzdCB0aGUgcHVi
bGljIGtleSBpbiBlaXRoZXIgbmV0d29yayBsb2FkIG1vZGUuCisgICAgICAgICAgICBOb3cgYWxz
byBmb3J3YXJkcyBpc0RlYnVnTW9kZUVuYWJsZWQgdG8gZ2VuZXJhdGVOZXR3b3JrTG9hZFBhcmFt
ZXRlcnMoKS4KKyAgICAgICAgKFdlYktpdDo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2Vy
OjpmaXJlQ29udmVyc2lvblJlcXVlc3QpOgorICAgICAgICAgICAgTm93IHNlbmRzIFByaXZhdGVD
bGlja01lYXN1cmVtZW50OjpQY21EYXRhQ2FycmllZDo6Tm9uUGVyc29uYWxseUlkZW50aWZpYWJs
ZQorICAgICAgICAgICAgdG8gUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpnZXRUb2tl
blB1YmxpY0tleSgpIHNpbmNlIGl0J3MgcmVxdWlyZWQuCisgICAgICAgIChXZWJLaXQ6OlByaXZh
dGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6ZmlyZUNvbnZlcnNpb25SZXF1ZXN0SW1wbCk6Cisg
ICAgICAgICAgICBOb3cgZm9yd2FyZHMgaXNEZWJ1Z01vZGVFbmFibGVkIHRvIGdlbmVyYXRlTmV0
d29ya0xvYWRQYXJhbWV0ZXJzKCkuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmg6CisKIDIwMjEtMDQtMDEgIERlYW4gSmFja3NvbiAgPGRp
bm9AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCAjaW1wb3J0IGZvciB3aGVuIHVuaWZpZWQgc291
cmNlcyBkb2Vzbid0IGltcG9ydCBpdCBmaXJzdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmNw
cAppbmRleCBkYmY4YjQ5OWZmOTY5YjVmMmMxYjBiNDJlODRhMjI2YWM2MGM1NjdiLi4xOWM3YTVk
ZmRhYjlmNzkxZTNjOTYyMzRlZGJiZjZiYWE1M2Y4NDhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlci5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1h
bmFnZXIuY3BwCkBAIC03Niw3ICs3Niw4IEBAIHZvaWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRN
YW5hZ2VyOjpzdG9yZVVuYXR0cmlidXRlZChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmCiAKICAg
ICBpZiAoYXR0cmlidXRpb24uZXBoZW1lcmFsU291cmNlTm9uY2UoKSkgewogICAgICAgICBhdXRv
IGF0dHJpYnV0aW9uQ29weSA9IGF0dHJpYnV0aW9uOwotICAgICAgICBnZXRUb2tlblB1YmxpY0tl
eShXVEZNb3ZlKGF0dHJpYnV0aW9uQ29weSksIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRy
aWJ1dGlvblJlcG9ydEVuZHBvaW50OjpTb3VyY2UsIFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0
aGlzKSwgdGhpc10gKFByaXZhdGVDbGlja01lYXN1cmVtZW50JiYgYXR0cmlidXRpb24sIGNvbnN0
IFN0cmluZyYgcHVibGljS2V5QmFzZTY0VVJMKSB7CisgICAgICAgIC8vIFRoaXMgaXMgZ3VhcmFu
dGVlZCB0byBiZSBjbG9zZSBpbiB0aW1lIHRvIHRoZSBuYXZpZ2F0aW9uYWwgY2xpY2sgd2hpY2gg
bWFrZXMgaXQgbGlrZWx5IHRvIGJlIHBlcnNvbmFsbHkgaWRlbnRpZmlhYmxlLgorICAgICAgICBn
ZXRUb2tlblB1YmxpY0tleShXVEZNb3ZlKGF0dHJpYnV0aW9uQ29weSksIFByaXZhdGVDbGlja01l
YXN1cmVtZW50OjpBdHRyaWJ1dGlvblJlcG9ydEVuZHBvaW50OjpTb3VyY2UsIFByaXZhdGVDbGlj
a01lYXN1cmVtZW50OjpQY21EYXRhQ2FycmllZDo6UGVyc29uYWxseUlkZW50aWZpYWJsZSwgW3dl
YWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCB0aGlzXSAoUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQmJiBhdHRyaWJ1dGlvbiwgY29uc3QgU3RyaW5nJiBwdWJsaWNLZXlCYXNlNjRVUkwpIHsKICAg
ICAgICAgICAgIGlmICghd2Vha1RoaXMpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCkBAIC0x
MDQsNyArMTA1LDcgQEAgdm9pZCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6OnN0b3Jl
VW5hdHRyaWJ1dGVkKFByaXZhdGVDbGlja01lYXN1cmVtZW50JiYKICNlbmRpZgogfQogCi1zdGF0
aWMgTmV0d29ya0xvYWRQYXJhbWV0ZXJzIGdlbmVyYXRlTmV0d29ya0xvYWRQYXJhbWV0ZXJzKFVS
TCYmIHVybCwgY29uc3QgU3RyaW5nJiBodHRwTWV0aG9kLCBSZWZQdHI8SlNPTjo6T2JqZWN0PiYm
IGpzb25QYXlsb2FkLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6UGNtRGF0YUNhcnJpZWQgZGF0
YVR5cGVDYXJyaWVkKQorc3RhdGljIE5ldHdvcmtMb2FkUGFyYW1ldGVycyBnZW5lcmF0ZU5ldHdv
cmtMb2FkUGFyYW1ldGVycyhVUkwmJiB1cmwsIGNvbnN0IFN0cmluZyYgaHR0cE1ldGhvZCwgUmVm
UHRyPEpTT046Ok9iamVjdD4mJiBqc29uUGF5bG9hZCwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6
OlBjbURhdGFDYXJyaWVkIGRhdGFUeXBlQ2FycmllZCwgYm9vbCBpc0RlYnVnTW9kZUVuYWJsZWQp
CiB7CiAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QgeyBXVEZNb3ZlKHVybCkgfTsKICAgICBy
ZXF1ZXN0LnNldEhUVFBNZXRob2QoaHR0cE1ldGhvZCk7CkBAIC0xMTksMjggKzEyMCwyNiBAQCBz
dGF0aWMgTmV0d29ya0xvYWRQYXJhbWV0ZXJzIGdlbmVyYXRlTmV0d29ya0xvYWRQYXJhbWV0ZXJz
KFVSTCYmIHVybCwgY29uc3QgU3RyaQogICAgIGxvYWRQYXJhbWV0ZXJzLnBhcmVudFBJRCA9IHBy
ZXNlbnRpbmdBcHBsaWNhdGlvblBJRCgpOwogICAgIGxvYWRQYXJhbWV0ZXJzLnN0b3JlZENyZWRl
bnRpYWxzUG9saWN5ID0gU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3k6OkVwaGVtZXJhbFN0YXRlbGVz
czsKICAgICBsb2FkUGFyYW1ldGVycy5zaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJl
ZGlyZWN0ID0gdHJ1ZTsKLSAgICBsb2FkUGFyYW1ldGVycy5wY21EYXRhQ2FycmllZCA9IGRhdGFU
eXBlQ2FycmllZDsKKyAgICBsb2FkUGFyYW1ldGVycy5wY21EYXRhQ2FycmllZCA9IFVOTElLRUxZ
KGlzRGVidWdNb2RlRW5hYmxlZCkgPyBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6UGNtRGF0YUNh
cnJpZWQ6OlBlcnNvbmFsbHlJZGVudGlmaWFibGUgOiBkYXRhVHlwZUNhcnJpZWQ7CiAKICAgICBy
ZXR1cm4gbG9hZFBhcmFtZXRlcnM7CiB9CiAKLXN0YXRpYyBOZXR3b3JrTG9hZFBhcmFtZXRlcnMg
Z2VuZXJhdGVOZXR3b3JrTG9hZFBhcmFtZXRlcnNGb3JIdHRwUG9zdChVUkwmJiB1cmwsIFJlZjxK
U09OOjpPYmplY3Q+JiYganNvblBheWxvYWQsIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpQY21E
YXRhQ2FycmllZCBkYXRhVHlwZUNhcnJpZWQpCitzdGF0aWMgTmV0d29ya0xvYWRQYXJhbWV0ZXJz
IGdlbmVyYXRlTmV0d29ya0xvYWRQYXJhbWV0ZXJzRm9ySHR0cFBvc3QoVVJMJiYgdXJsLCBSZWY8
SlNPTjo6T2JqZWN0PiYmIGpzb25QYXlsb2FkLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6UGNt
RGF0YUNhcnJpZWQgZGF0YVR5cGVDYXJyaWVkLCBib29sIGlzRGVidWdNb2RlRW5hYmxlZCkKIHsK
LSAgICByZXR1cm4gZ2VuZXJhdGVOZXR3b3JrTG9hZFBhcmFtZXRlcnMoV1RGTW92ZSh1cmwpLCAi
UE9TVCJfcywgV1RGTW92ZShqc29uUGF5bG9hZCksIGRhdGFUeXBlQ2FycmllZCk7CisgICAgcmV0
dXJuIGdlbmVyYXRlTmV0d29ya0xvYWRQYXJhbWV0ZXJzKFdURk1vdmUodXJsKSwgIlBPU1QiX3Ms
IFdURk1vdmUoanNvblBheWxvYWQpLCBkYXRhVHlwZUNhcnJpZWQsIGlzRGVidWdNb2RlRW5hYmxl
ZCk7CiB9CiAKLXN0YXRpYyBOZXR3b3JrTG9hZFBhcmFtZXRlcnMgZ2VuZXJhdGVOZXR3b3JrTG9h
ZFBhcmFtZXRlcnNGb3JIdHRwR2V0KFVSTCYmIHVybCwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6
OlBjbURhdGFDYXJyaWVkIGRhdGFUeXBlQ2FycmllZCkKK3N0YXRpYyBOZXR3b3JrTG9hZFBhcmFt
ZXRlcnMgZ2VuZXJhdGVOZXR3b3JrTG9hZFBhcmFtZXRlcnNGb3JIdHRwR2V0KFVSTCYmIHVybCwg
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlBjbURhdGFDYXJyaWVkIGRhdGFUeXBlQ2FycmllZCwg
Ym9vbCBpc0RlYnVnTW9kZUVuYWJsZWQpCiB7Ci0gICAgcmV0dXJuIGdlbmVyYXRlTmV0d29ya0xv
YWRQYXJhbWV0ZXJzKFdURk1vdmUodXJsKSwgIkdFVCJfcywgbnVsbHB0ciwgZGF0YVR5cGVDYXJy
aWVkKTsKKyAgICByZXR1cm4gZ2VuZXJhdGVOZXR3b3JrTG9hZFBhcmFtZXRlcnMoV1RGTW92ZSh1
cmwpLCAiR0VUIl9zLCBudWxscHRyLCBkYXRhVHlwZUNhcnJpZWQsIGlzRGVidWdNb2RlRW5hYmxl
ZCk7CiB9CiAKLXZvaWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpnZXRUb2tlblB1
YmxpY0tleShQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmIGF0dHJpYnV0aW9uLCBQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25SZXBvcnRFbmRwb2ludCBhdHRyaWJ1dGlvblJlcG9y
dEVuZHBvaW50LCBGdW5jdGlvbjx2b2lkKFByaXZhdGVDbGlja01lYXN1cmVtZW50JiYgYXR0cmli
dXRpb24sIGNvbnN0IFN0cmluZyYgcHVibGljS2V5QmFzZTY0VVJMKT4mJiBjYWxsYmFjaykKK3Zv
aWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpnZXRUb2tlblB1YmxpY0tleShQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudCYmIGF0dHJpYnV0aW9uLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dDo6QXR0cmlidXRpb25SZXBvcnRFbmRwb2ludCBhdHRyaWJ1dGlvblJlcG9ydEVuZHBvaW50LCBQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6UGNtRGF0YUNhcnJpZWQgcGNtRGF0YUNhcnJpZWQsIEZ1
bmN0aW9uPHZvaWQoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQmJiBhdHRyaWJ1dGlvbiwgY29uc3Qg
U3RyaW5nJiBwdWJsaWNLZXlCYXNlNjRVUkwpPiYmIGNhbGxiYWNrKQogewogICAgIGlmICghZmVh
dHVyZUVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgLy8gVGhpcyBpcyBndWFyYW50
ZWVkIHRvIGJlIGNsb3NlIGluIHRpbWUgdG8gdGhlIG5hdmlnYXRpb25hbCBjbGljayB3aGljaCBt
YWtlcyBpdCBsaWtlbHkgdG8gYmUgcGVyc29uYWxseSBpZGVudGlmaWFibGUuCi0gICAgYXV0byBw
Y21EYXRhQ2FycmllZCA9IFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpQY21EYXRhQ2FycmllZDo6
UGVyc29uYWxseUlkZW50aWZpYWJsZTsKICAgICBhdXRvIHRva2VuUHVibGljS2V5VVJMID0gYXR0
cmlidXRpb24udG9rZW5QdWJsaWNLZXlVUkwoKTsKICAgICBpZiAobV90b2tlblB1YmxpY0tleVVS
TEZvclRlc3RpbmcpIHsKICAgICAgICAgaWYgKGF0dHJpYnV0aW9uUmVwb3J0RW5kcG9pbnQgPT0g
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uUmVwb3J0RW5kcG9pbnQ6OkRlc3Rp
bmF0aW9uKQpAQCAtMTUyLDcgKzE1MSw3IEBAIHZvaWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRN
YW5hZ2VyOjpnZXRUb2tlblB1YmxpY0tleShQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmCiAgICAg
aWYgKHRva2VuUHVibGljS2V5VVJMLmlzRW1wdHkoKSB8fCAhdG9rZW5QdWJsaWNLZXlVUkwuaXNW
YWxpZCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBhdXRvIGxvYWRQYXJhbWV0ZXJzID0gZ2Vu
ZXJhdGVOZXR3b3JrTG9hZFBhcmFtZXRlcnNGb3JIdHRwR2V0KFdURk1vdmUodG9rZW5QdWJsaWNL
ZXlVUkwpLCBwY21EYXRhQ2FycmllZCk7CisgICAgYXV0byBsb2FkUGFyYW1ldGVycyA9IGdlbmVy
YXRlTmV0d29ya0xvYWRQYXJhbWV0ZXJzRm9ySHR0cEdldChXVEZNb3ZlKHRva2VuUHVibGljS2V5
VVJMKSwgcGNtRGF0YUNhcnJpZWQsIGRlYnVnTW9kZUVuYWJsZWQoKSk7CiAKICAgICBSRUxFQVNF
X0xPR19JTkZPKFByaXZhdGVDbGlja01lYXN1cmVtZW50LCAiQWJvdXQgdG8gZmlyZSBhIHRva2Vu
IHB1YmxpYyBrZXkgcmVxdWVzdC4iKTsKICAgICBtX25ldHdvcmtQcm9jZXNzLT5icm9hZGNhc3RD
b25zb2xlTWVzc2FnZShtX3Nlc3Npb25JRCwgTWVzc2FnZVNvdXJjZTo6UHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQsIE1lc3NhZ2VMZXZlbDo6TG9nLCAiW1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1lbnRd
IEFib3V0IHRvIGZpcmUgYSB0b2tlbiBwdWJsaWMga2V5IHJlcXVlc3QuIl9zKTsKQEAgLTE5Miw3
ICsxOTEsNyBAQCB2b2lkIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6Z2V0U2lnbmVk
VW5saW5rYWJsZVRva2VuKFByaXZhdGVDbGlja01lYXN1cgogICAgIGlmICh0b2tlblNpZ25hdHVy
ZVVSTC5pc0VtcHR5KCkgfHwgIXRva2VuU2lnbmF0dXJlVVJMLmlzVmFsaWQoKSkKICAgICAgICAg
cmV0dXJuOwogCi0gICAgYXV0byBsb2FkUGFyYW1ldGVycyA9IGdlbmVyYXRlTmV0d29ya0xvYWRQ
YXJhbWV0ZXJzRm9ySHR0cFBvc3QoV1RGTW92ZSh0b2tlblNpZ25hdHVyZVVSTCksIGF0dHJpYnV0
aW9uLnRva2VuU2lnbmF0dXJlSlNPTigpLCBwY21EYXRhQ2FycmllZCk7CisgICAgYXV0byBsb2Fk
UGFyYW1ldGVycyA9IGdlbmVyYXRlTmV0d29ya0xvYWRQYXJhbWV0ZXJzRm9ySHR0cFBvc3QoV1RG
TW92ZSh0b2tlblNpZ25hdHVyZVVSTCksIGF0dHJpYnV0aW9uLnRva2VuU2lnbmF0dXJlSlNPTigp
LCBwY21EYXRhQ2FycmllZCwgZGVidWdNb2RlRW5hYmxlZCgpKTsKIAogICAgIFJFTEVBU0VfTE9H
X0lORk8oUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsICJBYm91dCB0byBmaXJlIGEgdW5saW5rYWJs
ZSB0b2tlbiBzaWduaW5nIHJlcXVlc3QuIik7CiAgICAgbV9uZXR3b3JrUHJvY2Vzcy0+YnJvYWRj
YXN0Q29uc29sZU1lc3NhZ2UobV9zZXNzaW9uSUQsIE1lc3NhZ2VTb3VyY2U6OlByaXZhdGVDbGlj
a01lYXN1cmVtZW50LCBNZXNzYWdlTGV2ZWw6OkxvZywgIltQcml2YXRlIENsaWNrIE1lYXN1cmVt
ZW50XSBBYm91dCB0byBmaXJlIGEgdW5saW5rYWJsZSB0b2tlbiBzaWduaW5nIHJlcXVlc3QuIl9z
KTsKQEAgLTMwOSw3ICszMDgsOCBAQCB2b2lkIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdl
cjo6ZmlyZUNvbnZlcnNpb25SZXF1ZXN0KGNvbnN0IFByaXZhdGVDbGlja01lYQogICAgIH0KIAog
ICAgIGF1dG8gYXR0cmlidXRpb25Db3B5ID0gYXR0cmlidXRpb247Ci0gICAgZ2V0VG9rZW5QdWJs
aWNLZXkoV1RGTW92ZShhdHRyaWJ1dGlvbkNvcHkpLCBhdHRyaWJ1dGlvblJlcG9ydEVuZHBvaW50
LCBbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHRoaXMsIGF0dHJpYnV0aW9uUmVwb3J0
RW5kcG9pbnRdIChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmIGF0dHJpYnV0aW9uLCBjb25zdCBT
dHJpbmcmIHB1YmxpY0tleUJhc2U2NFVSTCkgeworICAgIC8vIFRoaXMgaGFwcGVucyBvdXQgb2Yg
d2VicGFnZSBjb250ZXh0IGFuZCB3aXRoIGEgbG9uZyBkZWxheSBhbmQgaXMgdGh1cyB1bmxpa2Vs
eSB0byBiZSBwZXJzb25hbGx5IGlkZW50aWZpYWJsZS4KKyAgICBnZXRUb2tlblB1YmxpY0tleShX
VEZNb3ZlKGF0dHJpYnV0aW9uQ29weSksIGF0dHJpYnV0aW9uUmVwb3J0RW5kcG9pbnQsIFByaXZh
dGVDbGlja01lYXN1cmVtZW50OjpQY21EYXRhQ2FycmllZDo6Tm9uUGVyc29uYWxseUlkZW50aWZp
YWJsZSwgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCB0aGlzLCBhdHRyaWJ1dGlvblJl
cG9ydEVuZHBvaW50XSAoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQmJiBhdHRyaWJ1dGlvbiwgY29u
c3QgU3RyaW5nJiBwdWJsaWNLZXlCYXNlNjRVUkwpIHsKICAgICAgICAgaWYgKCF3ZWFrVGhpcykK
ICAgICAgICAgICAgIHJldHVybjsKIApAQCAtMzQzLDcgKzM0Myw3IEBAIHZvaWQgUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpmaXJlQ29udmVyc2lvblJlcXVlc3RJbXBsKGNvbnN0IFBy
aXZhdGVDbGljCiAgICAgaWYgKGF0dHJpYnV0aW9uVVJMLmlzRW1wdHkoKSB8fCAhYXR0cmlidXRp
b25VUkwuaXNWYWxpZCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBhdXRvIGxvYWRQYXJhbWV0
ZXJzID0gZ2VuZXJhdGVOZXR3b3JrTG9hZFBhcmFtZXRlcnNGb3JIdHRwUG9zdChXVEZNb3ZlKGF0
dHJpYnV0aW9uVVJMKSwgYXR0cmlidXRpb24uYXR0cmlidXRpb25SZXBvcnRKU09OKCksIFByaXZh
dGVDbGlja01lYXN1cmVtZW50OjpQY21EYXRhQ2FycmllZDo6Tm9uUGVyc29uYWxseUlkZW50aWZp
YWJsZSk7CisgICAgYXV0byBsb2FkUGFyYW1ldGVycyA9IGdlbmVyYXRlTmV0d29ya0xvYWRQYXJh
bWV0ZXJzRm9ySHR0cFBvc3QoV1RGTW92ZShhdHRyaWJ1dGlvblVSTCksIGF0dHJpYnV0aW9uLmF0
dHJpYnV0aW9uUmVwb3J0SlNPTigpLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6UGNtRGF0YUNh
cnJpZWQ6Ok5vblBlcnNvbmFsbHlJZGVudGlmaWFibGUsIGRlYnVnTW9kZUVuYWJsZWQoKSk7CiAK
ICAgICBSRUxFQVNFX0xPR19JTkZPKFByaXZhdGVDbGlja01lYXN1cmVtZW50LCAiQWJvdXQgdG8g
ZmlyZSBhbiBhdHRyaWJ1dGlvbiByZXF1ZXN0LiIpOwogICAgIG1fbmV0d29ya1Byb2Nlc3MtPmJy
b2FkY2FzdENvbnNvbGVNZXNzYWdlKG1fc2Vzc2lvbklELCBNZXNzYWdlU291cmNlOjpQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudCwgTWVzc2FnZUxldmVsOjpMb2csICJbUHJpdmF0ZSBDbGljayBNZWFz
dXJlbWVudF0gQWJvdXQgdG8gZmlyZSBhbiBhdHRyaWJ1dGlvbiByZXF1ZXN0LiJfcyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVt
ZW50TWFuYWdlci5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudE1hbmFnZXIuaAppbmRleCA3MzZiOWRiNzdiNGQzNGVhZGMwYzk5MmY1MzlhNDJi
MjRkNTBmZmZlLi5iYTE3YzgyN2U5M2MxMTJmYjMxZjBiNTliZDk0NDI5Mzg2NjU3YmE0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVt
ZW50TWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmgKQEAgLTcwLDcgKzcwLDcgQEAgcHVibGljOgogICAgIHZv
aWQgc3RhcnRUaW1lcihTZWNvbmRzKTsKIAogcHJpdmF0ZToKLSAgICB2b2lkIGdldFRva2VuUHVi
bGljS2V5KFByaXZhdGVDbGlja01lYXN1cmVtZW50JiYsIFByaXZhdGVDbGlja01lYXN1cmVtZW50
OjpBdHRyaWJ1dGlvblJlcG9ydEVuZHBvaW50LCBGdW5jdGlvbjx2b2lkKFByaXZhdGVDbGlja01l
YXN1cmVtZW50JiYgYXR0cmlidXRpb24sIGNvbnN0IFN0cmluZyYgcHVibGljS2V5QmFzZTY0VVJM
KT4mJik7CisgICAgdm9pZCBnZXRUb2tlblB1YmxpY0tleShQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dCYmLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25SZXBvcnRFbmRwb2ludCwg
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlBjbURhdGFDYXJyaWVkLCBGdW5jdGlvbjx2b2lkKFBy
aXZhdGVDbGlja01lYXN1cmVtZW50JiYgYXR0cmlidXRpb24sIGNvbnN0IFN0cmluZyYgcHVibGlj
S2V5QmFzZTY0VVJMKT4mJik7CiAgICAgdm9pZCBnZXRTaWduZWRVbmxpbmthYmxlVG9rZW4oUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQmJik7CiAgICAgdm9pZCBjbGVhclNlbnRBdHRyaWJ1dGlvbihQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmli
dXRpb25SZXBvcnRFbmRwb2ludCk7CiAgICAgdm9pZCBhdHRyaWJ1dGUoY29uc3QgU291cmNlU2l0
ZSYsIGNvbnN0IEF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlJiwgQXR0cmlidXRpb25UcmlnZ2Vy
RGF0YSYmKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>