<?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>236069</bug_id>
          
          <creation_ts>2022-02-03 02:12:22 -0800</creation_ts>
          <short_desc>REGRESSION (iOS 15.1 / r280824) QuickLook - model not loading when passing extra parameters</short_desc>
          <delta_ts>2022-05-26 14:53:58 -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>New Bugs</component>
          <version>Safari 15</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>iOS 15</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=226265</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=228923</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=238221</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Maciek Główka">maciek.glowka</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>ggaren</cc>
    
    <cc>graouts</cc>
    
    <cc>mail</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1836829</commentid>
    <comment_count>0</comment_count>
    <who name="Maciek Główka">maciek.glowka</who>
    <bug_when>2022-02-03 02:12:22 -0800</bug_when>
    <thetext>On iOS 15.2 when passing USDZ from Safari to QuickLook AR, as a blob with parameters (eg. fixed scaling), the model is never rendered.
The loader spinner keeps spinning infinitely.

You can repro the bug here:
http://tests.glowka.atthost24.pl/

Built using model-viewer.dev component. USDZ is generated on the fly.
I believe model-viewer&apos;s &apos;fixed scaling&apos; is translated as #allowsContentScaling=0
Without the parameter models loads as expected.

Possibly related to:
https://bugs.webkit.org/show_bug.cgi?id=226265</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837158</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-03 16:18:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/88461772&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853189</commentid>
    <comment_count>2</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2022-03-21 07:46:33 -0700</bug_when>
    <thetext>We get this error in [_WKPreviewControllerDataSource failWithError].

Domain=WebKitBlobResource Code=1 &quot;(null)&quot; UserInfo={NSErrorFailingURLKey=blob:http://tests.glowka.atthost24.pl/24701d34-f863-4935-af4e-8b13c1ee9492#allowsContentScaling=0, NSErrorFailingURLStringKey=blob:http://tests.glowka.atthost24.pl/24701d34-f863-4935-af4e-8b13c1ee9492#allowsContentScaling=0}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853589</commentid>
    <comment_count>3</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2022-03-22 02:49:01 -0700</bug_when>
    <thetext>This regressed with r280824, the fix for bug 228923.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853593</commentid>
    <comment_count>4</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2022-03-22 02:58:49 -0700</bug_when>
    <thetext>To whomever may work on this: this type of content leads to SystemPreviewControllerCocoa trying to open a blob URL for a failed download.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853711</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-22 09:26:00 -0700</bug_when>
    <thetext>I know what&apos;s going on and I am validating a fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853717</commentid>
    <comment_count>6</comment_count>
      <attachid>455385</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-22 09:41:03 -0700</bug_when>
    <thetext>Created attachment 455385
WIP Patch (needs test)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853730</commentid>
    <comment_count>7</comment_count>
      <attachid>455388</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-22 10:20:08 -0700</bug_when>
    <thetext>Created attachment 455388
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853748</commentid>
    <comment_count>8</comment_count>
    <who name="Maciek Główka">maciek.glowka</who>
    <bug_when>2022-03-22 10:37:46 -0700</bug_when>
    <thetext>Thanks for taking care of the bug!

Will the patch push the fixed-scale parameter to QuickLook as well or is it only model-not-loading-at-all fix ?

Regards,
Maciek</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853750</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-22 10:40:06 -0700</bug_when>
    <thetext>(In reply to Maciek Główka from comment #8)
&gt; Thanks for taking care of the bug!
&gt; 
&gt; Will the patch push the fixed-scale parameter to QuickLook as well or is it
&gt; only model-not-loading-at-all fix ?
&gt; 
&gt; Regards,
&gt; Maciek

I know very little about USDZ but I am keeping the fragment as part of the blob URL (just making the blob download actually succeed if its URL contains a fragment) so I would expect it to be passed to QuickLook.

If you tell me exactly how to validate though, I am happy to do so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853764</commentid>
    <comment_count>10</comment_count>
    <who name="Maciek Główka">maciek.glowka</who>
    <bug_when>2022-03-22 10:59:43 -0700</bug_when>
    <thetext>Thanks. I guess if the #allowsContentScaling=0 is passed it should be sufficient.
As far as I know when .usdz file is given with the fragment it&apos;s working as expected. Only the blobs were problematic.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853811</commentid>
    <comment_count>11</comment_count>
      <attachid>455388</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-03-22 11:58:15 -0700</bug_when>
    <thetext>Comment on attachment 455388
Patch

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

&gt; Source/WebCore/platform/network/BlobRegistryImpl.cpp:56
&gt; +static String blobURLWithoutFragment(const URL&amp; url)
&gt; +{
&gt; +    return url.hasFragmentIdentifier() ? url.stringWithoutFragmentIdentifier().toString() : url.string();
&gt; +}

This should probably eventually be a URL member function rather than a blob-specific helper, even if not in this patch. Generally things that return StringView but we want to optimize the &quot;unchanged pre-existing String&quot; case are a recurring pattern. Just need the right name, I suppose. Maybe we need to rename the existing function to viewWithoutFragmentIdentifier and this operation can be stringWithoutFragmentIdentifier, but I hate to have this here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853819</commentid>
    <comment_count>12</comment_count>
      <attachid>455388</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-22 12:04:35 -0700</bug_when>
    <thetext>Comment on attachment 455388
Patch

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

&gt;&gt; Source/WebCore/platform/network/BlobRegistryImpl.cpp:56
&gt;&gt; +}
&gt; 
&gt; This should probably eventually be a URL member function rather than a blob-specific helper, even if not in this patch. Generally things that return StringView but we want to optimize the &quot;unchanged pre-existing String&quot; case are a recurring pattern. Just need the right name, I suppose. Maybe we need to rename the existing function to viewWithoutFragmentIdentifier and this operation can be stringWithoutFragmentIdentifier, but I hate to have this here.

I like the idea. I&apos;ll implement this in a follow-up though to facilitate cherry-picking of this patch to branches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853853</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-22 12:53:05 -0700</bug_when>
    <thetext>Committed r291689 (248731@main): &lt;https://commits.webkit.org/248731@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 455388.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860717</commentid>
    <comment_count>14</comment_count>
    <who name="Miles">mail</who>
    <bug_when>2022-04-12 10:31:02 -0700</bug_when>
    <thetext>This issue still exists in iOS 15.5 beta (19F5047e)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860772</commentid>
    <comment_count>15</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2022-04-12 12:46:42 -0700</bug_when>
    <thetext>(In reply to Miles from comment #14)
&gt; This issue still exists in iOS 15.5 beta (19F5047e)

Yes, the code change is not in that beta release. I can&apos;t comment on when it will be available just yet, but that is expected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861912</commentid>
    <comment_count>16</comment_count>
    <who name="Miles">mail</who>
    <bug_when>2022-04-15 14:22:00 -0700</bug_when>
    <thetext>Thanks for the update. 
I&apos;ll keep watching in anticipation. 
Cheers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864114</commentid>
    <comment_count>17</comment_count>
    <who name="Miles">mail</who>
    <bug_when>2022-04-25 09:00:21 -0700</bug_when>
    <thetext>Just FYI... This issue still exists in iOS 15.5 beta 2 (19F5057e)
I&apos;ll retest with the next update. 
Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865099</commentid>
    <comment_count>18</comment_count>
    <who name="Miles">mail</who>
    <bug_when>2022-04-28 03:01:54 -0700</bug_when>
    <thetext>Issue still exists in iOS 15.5 beta 3 (19F5062g)
I live in hope for the next update ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866783</commentid>
    <comment_count>19</comment_count>
    <who name="Miles">mail</who>
    <bug_when>2022-05-05 01:46:42 -0700</bug_when>
    <thetext>This looks to be resolved in iOS 15.5 beta 4 (19F5070b).
So far I have tested opening USDZ as blob in AR QuickLook along with #allowsContentScaling=0 parameter, and the model does now load and QuickLook does indeed correctly prevent user from scaling the 3D model. Great!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1872145</commentid>
    <comment_count>20</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2022-05-26 14:53:58 -0700</bug_when>
    <thetext>This fix shipped with Safari 15.5 (all platforms).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455385</attachid>
            <date>2022-03-22 09:41:03 -0700</date>
            <delta_ts>2022-03-22 10:20:05 -0700</delta_ts>
            <desc>WIP Patch (needs test)</desc>
            <filename>236069_BlobURL_fragment_lifetime_wip.patch</filename>
            <type>text/plain</type>
            <size>2924</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5
SW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZWdpc3RyeUlt
cGwuY3BwCmluZGV4IDYyMzYzNmFjMmFiZC4uM2I0ZTM3MDlmYTYxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZWdpc3RyeUltcGwuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5SW1wbC5jcHAKQEAgLTUw
LDYgKzUwLDExIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorc3RhdGljIFN0cmluZyBibG9i
VVJMV2l0aG91dEZyYWdtZW50KGNvbnN0IFVSTCYgdXJsKQoreworICAgIHJldHVybiB1cmwuaGFz
RnJhZ21lbnRJZGVudGlmaWVyKCkgPyB1cmwuc3RyaW5nV2l0aG91dEZyYWdtZW50SWRlbnRpZmll
cigpLnRvU3RyaW5nKCkgOiB1cmwuc3RyaW5nKCk7Cit9CisKIEJsb2JSZWdpc3RyeUltcGw6On5C
bG9iUmVnaXN0cnlJbXBsKCkgPSBkZWZhdWx0OwogCiBzdGF0aWMgUmVmPFJlc291cmNlSGFuZGxl
PiBjcmVhdGVCbG9iUmVzb3VyY2VIYW5kbGUoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0
LCBSZXNvdXJjZUhhbmRsZUNsaWVudCogY2xpZW50KQpAQCAtMzc1LDE0ICszODAsMTYgQEAgdm9p
ZCBCbG9iUmVnaXN0cnlJbXBsOjphZGRCbG9iRGF0YShjb25zdCBTdHJpbmcmIHVybCwgUmVmUHRy
PEJsb2JEYXRhPiYmIGJsb2JEYXQKIAogdm9pZCBCbG9iUmVnaXN0cnlJbXBsOjpyZWdpc3RlckJs
b2JVUkxIYW5kbGUoY29uc3QgVVJMJiB1cmwpCiB7Ci0gICAgaWYgKG1fYmxvYnMuY29udGFpbnMo
dXJsLnN0cmluZygpKSkKLSAgICAgICAgbV9ibG9iUmVmZXJlbmNlcy5hZGQodXJsLnN0cmluZygp
KTsKKyAgICBhdXRvIHVybEtleSA9IGJsb2JVUkxXaXRob3V0RnJhZ21lbnQodXJsKTsKKyAgICBp
ZiAobV9ibG9icy5jb250YWlucyh1cmxLZXkpKQorICAgICAgICBtX2Jsb2JSZWZlcmVuY2VzLmFk
ZCh1cmxLZXkpOwogfQogCiB2b2lkIEJsb2JSZWdpc3RyeUltcGw6OnVucmVnaXN0ZXJCbG9iVVJM
SGFuZGxlKGNvbnN0IFVSTCYgdXJsKQogewotICAgIGlmIChtX2Jsb2JSZWZlcmVuY2VzLnJlbW92
ZSh1cmwuc3RyaW5nKCkpKQotICAgICAgICBtX2Jsb2JzLnJlbW92ZSh1cmwuc3RyaW5nKCkpOwor
ICAgIGF1dG8gdXJsS2V5ID0gYmxvYlVSTFdpdGhvdXRGcmFnbWVudCh1cmwpOworICAgIGlmICht
X2Jsb2JSZWZlcmVuY2VzLnJlbW92ZSh1cmxLZXkpKQorICAgICAgICBtX2Jsb2JzLnJlbW92ZSh1
cmxLZXkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MuY3BwCmluZGV4IDJiOTkyYzY4MDg5NS4uNmI5MzJkYmFkNDQwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLmNwcApAQCAtNDM2LDggKzQzNiwxMCBAQCB2b2lkIE5ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzOjpkaWRDbG9zZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pCiAgICAg
ICAgIG5ldHdvcmtTZXNzaW9uLT5icm9hZGNhc3RDaGFubmVsUmVnaXN0cnkoKS5yZW1vdmVDb25u
ZWN0aW9uKGNvbm5lY3Rpb24pOwogICAgICAgICBmb3IgKGF1dG8mIHVybCA6IG1fYmxvYlVSTHMp
CiAgICAgICAgICAgICBuZXR3b3JrU2Vzc2lvbi0+YmxvYlJlZ2lzdHJ5KCkudW5yZWdpc3RlckJs
b2JVUkwodXJsKTsKLSAgICAgICAgZm9yIChhdXRvJiB1cmwgOiBtX2Jsb2JVUkxIYW5kbGVzKQot
ICAgICAgICAgICAgbmV0d29ya1Nlc3Npb24tPmJsb2JSZWdpc3RyeSgpLnVucmVnaXN0ZXJCbG9i
VVJMSGFuZGxlKHVybCk7CisgICAgICAgIGZvciAoYXV0byYgW3VybCwgY291bnRdIDogbV9ibG9i
VVJMSGFuZGxlcykgeworICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGNvdW50
OyArK2kpCisgICAgICAgICAgICAgICAgbmV0d29ya1Nlc3Npb24tPmJsb2JSZWdpc3RyeSgpLnVu
cmVnaXN0ZXJCbG9iVVJMSGFuZGxlKHVybCk7CisgICAgICAgIH0KICAgICB9CiAKICAgICAvLyBB
bGwgdHJhY2tlcnMgb2YgcmVzb3VyY2VzIHRoYXQgd2VyZSBpbiB0aGUgbWlkZGxlIG9mIGJlaW5n
IGxvYWRlZCB3ZXJlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKaW5kZXggMWUyNTRjNTUzOTc2Li4w
MmZiZWQ3NjY1MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKQEAgLTQzOSw3ICs0MzksNyBA
QCBwcml2YXRlOgogICAgIFJlZjxOZXR3b3JrU2NoZW1lUmVnaXN0cnk+IG1fc2NoZW1lUmVnaXN0
cnk7CiAgICAgICAgIAogICAgIEhhc2hTZXQ8VVJMPiBtX2Jsb2JVUkxzOwotICAgIEhhc2hTZXQ8
VVJMPiBtX2Jsb2JVUkxIYW5kbGVzOworICAgIEhhc2hDb3VudGVkU2V0PFVSTD4gbV9ibG9iVVJM
SGFuZGxlczsKICNpZiBFTkFCTEUoSVBDX1RFU1RJTkdfQVBJKQogICAgIElQQ1Rlc3RlciBtX2lw
Y1Rlc3RlcjsKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455388</attachid>
            <date>2022-03-22 10:20:08 -0700</date>
            <delta_ts>2022-03-22 12:53:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236069-20220322102007.patch</filename>
            <type>text/plain</type>
            <size>9694</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNjE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmZkMmFlNTE1MjczM2Mw
YjJhZDgxNzViM2Q2Mjk1OTRlNGIxZTA1Yi4uY2FkMTRkZmNlNTQ5OTlkY2VkZDJkZjg4OWQwODZl
ODA4NDAxNDIxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIyLTAzLTIyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAoaU9TIDE1
LjEgLyByMjgwODI0KSBRdWlja0xvb2sgLSBtb2RlbCBub3QgbG9hZGluZyB3aGVuIHBhc3Npbmcg
ZXh0cmEgcGFyYW1ldGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM2MDY5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84ODQ2MTc3Mj4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUbyBleHRlbmQgdGhl
IGxpZmV0aW1lIG9mIEJsb2Igb2JqZWN0cyB3aGlsZSBsb2FkaW5nL2Rvd25sb2FkaW5nIGlzIHBl
bmRpbmcsIHdlIHJlbHkgdG8KKyAgICAgICAgQmxvYlVSTEhhbmRsZSBvYmplY3RzLCB3aGljaCB0
ZWxsIHRoZSBOZXR3b3JrUHJvY2VzcyB0aGF0IHdlIHN0aWxsIG5lZWQgdGhpcyBibG9iIGRhdGEs
CisgICAgICAgIGV2ZW4gaWYgdGhlIGNvcnJlc3BvbmRpbmcgQmxvYiBvYmplY3QgZ2V0cyBHQydk
IGJ5IEpTLiBUaGUgaXNzdWUgaGVyZSBpcyB0aGF0IHRoZSBsb2FkCisgICAgICAgIHdhcyBub3Qg
dXNpbmcgdGhlIHZhbmlsbGEgYmxvYiBVUkwgYnV0IHdhcyBpbnRlYWQgYXBwZW5kaW5nIGEgZnJh
Z21lbnQgdG8gdGhlIFVSTC4gQXMKKyAgICAgICAgYSByZXN1bHQsIEJsb2JSZWdpc3RyeUltcGw6
OnJlZ2lzdGVyQmxvYlVSTEhhbmRsZSgpIHdvdWxkIGZhaWwgdG8gbG9vayB1cCB0aGUKKyAgICAg
ICAgY29ycmVzcG9uZGluZyBibG9iIGRhdGEgYW5kIHdvdWxkIGZhaWwgdG8gZXh0ZW5kIGl0cyBs
aWZldGltZS4KKworICAgICAgICBUbyBhZGRyZXNzIHRoZSBpc3N1ZSwgQmxvYlJlZ2lzdHJ5SW1w
bDo6cmVnaXN0ZXJCbG9iVVJMSGFuZGxlKCkgLyB1bnJlZ2lzdGVyQmxvYlVSTEhhbmRsZSgpCisg
ICAgICAgIG5vdyBzdHJpcCBmcmFnbWVudHMgZnJvbSB0aGUgYmxvYiBVUkwsIHNpbWlsYXJseSB0
byB3aGF0IHdhcyBhbHJlYWR5IGRvbmUgaW5zaWRlCisgICAgICAgIEJsb2JSZWdpc3RyeUltcGw6
OmdldEJsb2JEYXRhRnJvbVVSTCgpLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZmlsZXMvYmxvYi13
aXRoLWZyYWdtZW50LWFzLWZyYW1lLXVybC5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL0Jsb2JSZWdpc3RyeUltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YmxvYlVSTFdpdGhv
dXRGcmFnbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpCbG9iUmVnaXN0cnlJbXBsOjpyZWdpc3Rl
ckJsb2JVUkxIYW5kbGUpOgorICAgICAgICAoV2ViQ29yZTo6QmxvYlJlZ2lzdHJ5SW1wbDo6dW5y
ZWdpc3RlckJsb2JVUkxIYW5kbGUpOgorCiAyMDIyLTAzLTIyICBBbGVqYW5kcm8gRy4gQ2FzdHJv
ICA8YWxleEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtXUEVdW0dUS10gVmlkZW9GcmFtZUdTdHJl
YW1lciBtaXNzaW5nIGluY2x1ZGUgYWZ0ZXIgLXIyOTE2MTAgcmVmYWN0b3IKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
NDFmNTI1MDNlYzAyNmZlM2Y0MWNiNjI2N2Y5NDljZjc5OGQ5MDYzOS4uNWUxMDljZWMxOTJmNGE5
YTI2MTk4YTFjYjdlMzE5OWZiNmEzOWFhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAy
Mi0wMy0yMiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JF
U1NJT04gKGlPUyAxNS4xIC8gcjI4MDgyNCkgUXVpY2tMb29rIC0gbW9kZWwgbm90IGxvYWRpbmcg
d2hlbiBwYXNzaW5nIGV4dHJhIHBhcmFtZXRlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjA2OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODg0
NjE3NzI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Rml4IHRoZW9yZXRpY2FsIGJsb2IgZGF0YSBsZWFrLiBBIFdlYkNvbnRlbnQgcHJvY2VzcyBjb3Vs
ZCBjcmVhdGUgc2V2ZXJhbCBCbG9iVVJMSGFuZGxlcyBmb3IKKyAgICAgICAgdGhlIHNhbWUgYmxv
YiBVUkwuIFRoaXMgd291bGQgcmVzdWx0IGluIHNldmVyYWwgY2FsbHMgdG8gTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3M6OnJlZ2lzdGVyQmxvYlVSTEhhbmRsZSgpCisgICAgICAgIGZvciB0
aGUgc2FtZSBVUkwgYW5kIHNldmVyYWwgY2FsbHMgdG8gdG8gQmxvYlJlZ2lzdHJ5SW1wbDo6cmVn
aXN0ZXJCbG9iVVJMSGFuZGxlKCkgZm9yIHRoZQorICAgICAgICBzYW1lIFVSTCBhcyB3ZWxsLiBC
bG9iUmVnaXN0cnlJbXBsIGlzIHVzaW5nIGEgSGFzaENvdW50ZWRTZXQgZm9yIG1fYmxvYlJlZmVy
ZW5jZXMgaW4gb3JkZXIKKyAgICAgICAgdG8gZGVhbCB3aXRoIHRoaXMgZmFjdC4gSG93ZXZlciwg
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mgd2FzIHVzaW5nIGEgc2ltcGxlIEhhc2hTZXQK
KyAgICAgICAgZm9yIG1fYmxvYlVSTEhhbmRsZXMuIEFzIGEgcmVzdWx0LCBpZiB0aGUgV2ViQ29u
dGVudCBwcm9jZXNzIHdvdWxkIGV4aXQgYW5kIGRpZENsb3NlKCkKKyAgICAgICAgd291bGQgZ2V0
IGNhbGxlZCwgdGhlIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzIG1heSBjYWxsIEJsb2JS
ZWdpc3RyeUltcGw6OnVucmVnaXN0ZXJCbG9iVVJMSGFuZGxlKCkKKyAgICAgICAgb25seSBvbmNl
IGV2ZW4gdGhvdWdoIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgaGFkIHNldmVyYWwgaGFuZGxlcyBm
b3IgdGhpcyBVUkwsIHdoaWNoIHdvdWxkCisgICAgICAgIG5vdCBmdWxseSByZW1vdmUgdGhlIFVS
TCBmcm9tIEJsb2JSZWdpc3RyeUltcGwncyBIYXNoQ291bnRlZFNldC4gVG8gYWRkcmVzcyB0aGUg
aXNzdWUsCisgICAgICAgIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjptX2Jsb2JVUkxI
YW5kbGVzIGlzIG5vdyBhIEhhc2hDb3VudGVkU2V0IHRvbyBhbmQgd2UgY2FsbAorICAgICAgICBC
bG9iUmVnaXN0cnlJbXBsOjp1bnJlZ2lzdGVyQmxvYlVSTEhhbmRsZSgpIGFzIG1hbnkgdGltZXMg
YXMgbmVlZGVkIGluIGRpZENsb3NlKCkuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaWRDbG9zZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaDoKKwogMjAyMi0wMy0yMiAgQ2FybG9z
IEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS11bV1BF
XSBSZW1vdmUgdGhlIEFUSyBpbXBsZW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnlJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5SW1wbC5jcHAKaW5kZXggNjIzNjM2YWMyYWJk
NjgzODQxNGRjOGYxZjkyNmNlZDVjNDdjY2EyYy4uM2I0ZTM3MDlmYTYxYjc1NmM4MjhlMzg4YjZl
NWQ1MDg3ZmE1N2Y3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9CbG9iUmVnaXN0cnlJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL0Jsb2JSZWdpc3RyeUltcGwuY3BwCkBAIC01MCw2ICs1MCwxMSBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKK3N0YXRpYyBTdHJpbmcgYmxvYlVSTFdpdGhvdXRGcmFnbWVudChjb25zdCBV
UkwmIHVybCkKK3sKKyAgICByZXR1cm4gdXJsLmhhc0ZyYWdtZW50SWRlbnRpZmllcigpID8gdXJs
LnN0cmluZ1dpdGhvdXRGcmFnbWVudElkZW50aWZpZXIoKS50b1N0cmluZygpIDogdXJsLnN0cmlu
ZygpOworfQorCiBCbG9iUmVnaXN0cnlJbXBsOjp+QmxvYlJlZ2lzdHJ5SW1wbCgpID0gZGVmYXVs
dDsKIAogc3RhdGljIFJlZjxSZXNvdXJjZUhhbmRsZT4gY3JlYXRlQmxvYlJlc291cmNlSGFuZGxl
KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUmVzb3VyY2VIYW5kbGVDbGllbnQqIGNs
aWVudCkKQEAgLTM3NSwxNCArMzgwLDE2IEBAIHZvaWQgQmxvYlJlZ2lzdHJ5SW1wbDo6YWRkQmxv
YkRhdGEoY29uc3QgU3RyaW5nJiB1cmwsIFJlZlB0cjxCbG9iRGF0YT4mJiBibG9iRGF0CiAKIHZv
aWQgQmxvYlJlZ2lzdHJ5SW1wbDo6cmVnaXN0ZXJCbG9iVVJMSGFuZGxlKGNvbnN0IFVSTCYgdXJs
KQogewotICAgIGlmIChtX2Jsb2JzLmNvbnRhaW5zKHVybC5zdHJpbmcoKSkpCi0gICAgICAgIG1f
YmxvYlJlZmVyZW5jZXMuYWRkKHVybC5zdHJpbmcoKSk7CisgICAgYXV0byB1cmxLZXkgPSBibG9i
VVJMV2l0aG91dEZyYWdtZW50KHVybCk7CisgICAgaWYgKG1fYmxvYnMuY29udGFpbnModXJsS2V5
KSkKKyAgICAgICAgbV9ibG9iUmVmZXJlbmNlcy5hZGQodXJsS2V5KTsKIH0KIAogdm9pZCBCbG9i
UmVnaXN0cnlJbXBsOjp1bnJlZ2lzdGVyQmxvYlVSTEhhbmRsZShjb25zdCBVUkwmIHVybCkKIHsK
LSAgICBpZiAobV9ibG9iUmVmZXJlbmNlcy5yZW1vdmUodXJsLnN0cmluZygpKSkKLSAgICAgICAg
bV9ibG9icy5yZW1vdmUodXJsLnN0cmluZygpKTsKKyAgICBhdXRvIHVybEtleSA9IGJsb2JVUkxX
aXRob3V0RnJhZ21lbnQodXJsKTsKKyAgICBpZiAobV9ibG9iUmVmZXJlbmNlcy5yZW1vdmUodXJs
S2V5KSkKKyAgICAgICAgbV9ibG9icy5yZW1vdmUodXJsS2V5KTsKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAppbmRleCAyYjk5MmM2ODA4OTVh
ZmMyNTQ3ZDNjZmE4YzY4N2U0YjhiYTYzZTZhLi42YjkzMmRiYWQ0NDBiNTUxNTU4NDI3ZDQwZDZk
MjJhZGQwZDMzYzA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcApAQCAtNDM2LDggKzQz
NiwxMCBAQCB2b2lkIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaWRDbG9zZShJUEM6
OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pCiAgICAgICAgIG5ldHdvcmtTZXNzaW9uLT5icm9hZGNh
c3RDaGFubmVsUmVnaXN0cnkoKS5yZW1vdmVDb25uZWN0aW9uKGNvbm5lY3Rpb24pOwogICAgICAg
ICBmb3IgKGF1dG8mIHVybCA6IG1fYmxvYlVSTHMpCiAgICAgICAgICAgICBuZXR3b3JrU2Vzc2lv
bi0+YmxvYlJlZ2lzdHJ5KCkudW5yZWdpc3RlckJsb2JVUkwodXJsKTsKLSAgICAgICAgZm9yIChh
dXRvJiB1cmwgOiBtX2Jsb2JVUkxIYW5kbGVzKQotICAgICAgICAgICAgbmV0d29ya1Nlc3Npb24t
PmJsb2JSZWdpc3RyeSgpLnVucmVnaXN0ZXJCbG9iVVJMSGFuZGxlKHVybCk7CisgICAgICAgIGZv
ciAoYXV0byYgW3VybCwgY291bnRdIDogbV9ibG9iVVJMSGFuZGxlcykgeworICAgICAgICAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGNvdW50OyArK2kpCisgICAgICAgICAgICAgICAgbmV0
d29ya1Nlc3Npb24tPmJsb2JSZWdpc3RyeSgpLnVucmVnaXN0ZXJCbG9iVVJMSGFuZGxlKHVybCk7
CisgICAgICAgIH0KICAgICB9CiAKICAgICAvLyBBbGwgdHJhY2tlcnMgb2YgcmVzb3VyY2VzIHRo
YXQgd2VyZSBpbiB0aGUgbWlkZGxlIG9mIGJlaW5nIGxvYWRlZCB3ZXJlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
LmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLmgKaW5kZXggMWUyNTRjNTUzOTc2OTVlZTg5ZDg1ODExMWQ1Yzc0NDlhODAwMTczYS4u
MDJmYmVkNzY2NTI5ZGNhMWMwNDc4MzJkZmM4NWY5NTA2Y2E4ZjZjZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MuaApAQCAtNDM5LDcgKzQzOSw3IEBAIHByaXZhdGU6CiAgICAgUmVmPE5ldHdvcmtT
Y2hlbWVSZWdpc3RyeT4gbV9zY2hlbWVSZWdpc3RyeTsKICAgICAgICAgCiAgICAgSGFzaFNldDxV
Ukw+IG1fYmxvYlVSTHM7Ci0gICAgSGFzaFNldDxVUkw+IG1fYmxvYlVSTEhhbmRsZXM7CisgICAg
SGFzaENvdW50ZWRTZXQ8VVJMPiBtX2Jsb2JVUkxIYW5kbGVzOwogI2lmIEVOQUJMRShJUENfVEVT
VElOR19BUEkpCiAgICAgSVBDVGVzdGVyIG1faXBjVGVzdGVyOwogI2VuZGlmCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMmM3
MjgxZTM1ODEwNDI3MzE2NmUwY2MxNWZmZTdjNWQ4M2I0NTQzMC4uZWI1ZDExYzI2NzJlODMzMTVm
OTc1NzIyM2M3NWNlOTNlYTUwMzgxNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIyLTAzLTIy
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAo
aU9TIDE1LjEgLyByMjgwODI0KSBRdWlja0xvb2sgLSBtb2RlbCBub3QgbG9hZGluZyB3aGVuIHBh
c3NpbmcgZXh0cmEgcGFyYW1ldGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjM2MDY5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84ODQ2MTc3Mj4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbGF5
b3V0IHRlc3QgY292ZXJhZ2UuCisKKyAgICAgICAgKiBmYXN0L2ZpbGVzL2Jsb2Itd2l0aC1mcmFn
bWVudC1hcy1mcmFtZS11cmwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zp
bGVzL2Jsb2Itd2l0aC1mcmFnbWVudC1hcy1mcmFtZS11cmwuaHRtbDogQWRkZWQuCisKIDIwMjIt
MDMtMjIgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFtHVEtdW1dQRV0gUmVtb3ZlIHRoZSBBVEsgaW1wbGVtZW50YXRpb24KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvYmxvYi13aXRoLWZyYWdtZW50LWFzLWZyYW1lLXVybC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2Jsb2Itd2l0aC1mcmFnbWVudC1h
cy1mcmFtZS11cmwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcwNGM0NmE1YTI0NzhmYzE4YTdl
ZDQzYmI2MGRlMWNlMDhmMWMzMGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2ZpbGVzL2Jsb2Itd2l0aC1mcmFnbWVudC1hcy1mcmFtZS11cmwtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTIgQEAKK1Rlc3RzIHRoZSBsaWZldGltZSBvZiBhIEJsb2IgVVJMIHdpdGggYSBmcmFn
bWVudC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgaWZyYW1lLmNvbnRl
bnREb2N1bWVudC5ib2R5LmlubmVyVGV4dCBpcyAiRk9PIgorUEFTUyBpZnJhbWUuY29udGVudFdp
bmRvdy5sb2NhdGlvbi5ocmVmID09IGJsb2JVUkxXaXRoRnJhZ21lbnQgaXMgdHJ1ZQorUEFTUyBp
ZnJhbWUuY29udGVudERvY3VtZW50LlVSTCA9PSBibG9iVVJMV2l0aEZyYWdtZW50IGlzIHRydWUK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2Jsb2Itd2l0aC1mcmFnbWVudC1hcy1mcmFt
ZS11cmwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvYmxvYi13aXRoLWZyYWdtZW50LWFz
LWZyYW1lLXVybC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU4MzkyNzNiZTlhYTUzMTVmZDhlM2ZiMzU0OWUy
MTY3YmUyMDYxNWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2Js
b2Itd2l0aC1mcmFnbWVudC1hcy1mcmFtZS11cmwuaHRtbApAQCAtMCwwICsxLDMwIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGUg
bGlmZXRpbWUgb2YgYSBCbG9iIFVSTCB3aXRoIGEgZnJhZ21lbnQuIik7Citqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworb25sb2FkID0gKCkgPT4geworICAgIGxldCBibG9iQ29udGVudHMgPSBgPGJv
ZHk+Rk9PPC9ib2R5PmA7CisgICAgbGV0IGJsb2IgPSBuZXcgQmxvYihbYmxvYkNvbnRlbnRzXSwg
eyB0eXBlOiAidGV4dC9odG1sIiB9KTsKKyAgICBibG9iVVJMID0gVVJMLmNyZWF0ZU9iamVjdFVS
TChibG9iKTsKKyAgICBibG9iVVJMV2l0aEZyYWdtZW50ID0gYmxvYlVSTCArICIjZm9vPTEiOwor
ICAgIGlmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0RnJhbWUiKTsKKyAgICBp
ZnJhbWUub25sb2FkID0gKCkgPT4geworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImlm
cmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS5pbm5lclRleHQiLCAiRk9PIik7CisgICAgICAgIHNo
b3VsZEJlVHJ1ZSgiaWZyYW1lLmNvbnRlbnRXaW5kb3cubG9jYXRpb24uaHJlZiA9PSBibG9iVVJM
V2l0aEZyYWdtZW50Iik7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgiaWZyYW1lLmNvbnRlbnREb2N1
bWVudC5VUkwgPT0gYmxvYlVSTFdpdGhGcmFnbWVudCIpOworICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICB9OworICAgIGxldCBhbmNob3IgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7
CisgICAgYW5jaG9yLnRhcmdldCA9ICJ0ZXN0RnJhbWUiOworICAgIGFuY2hvci5ocmVmID0gYmxv
YlVSTFdpdGhGcmFnbWVudDsKKyAgICBhbmNob3IuY2xpY2soKTsKKyAgICBVUkwucmV2b2tlT2Jq
ZWN0VVJMKGJsb2JVUkwpOworfQorPC9zY3JpcHQ+Cis8aWZyYW1lIGlkPSJ0ZXN0RnJhbWUiIG5h
bWU9InRlc3RGcmFtZSIgc3JjPSJhYm91dDpibGFuayI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0
bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>