<?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>180969</bug_id>
          
          <creation_ts>2017-12-19 01:51:06 -0800</creation_ts>
          <short_desc>Don&apos;t convert pasted content to use blob URL in WebKit1</short_desc>
          <delta_ts>2017-12-19 16:07:34 -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>HTML Editing</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=178947</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="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1383094</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-12-19 01:51:06 -0800</bug_when>
    <thetext>Turns out there are some WebKit1 clients that depend on the URL of the pasted content
being differentiable between file &amp; http URLs. In addition, https://webkit.org/b/178947
makes it impossible to retrieve the file contents right now.

Restore the behavior prior to https://trac.webkit.org/changeset/223440 in WebKit1 to unbreak these clients.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383309</commentid>
    <comment_count>1</comment_count>
      <attachid>329823</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-12-19 14:18:51 -0800</bug_when>
    <thetext>Created attachment 329823
Restores the old behavior</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383319</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-12-19 14:30:53 -0800</bug_when>
    <thetext>&lt;rdar://problem/36019793&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383337</commentid>
    <comment_count>3</comment_count>
      <attachid>329823</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-12-19 14:41:46 -0800</bug_when>
    <thetext>Comment on attachment 329823
Restores the old behavior

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

&gt; Tools/TestWebKitAPI/Tests/WebKitLegacy/mac/AccessingPastedImage.mm:125
&gt; +    destinationWebView.get().frameLoadDelegate = delegate.get();

Nit - we usually write using bracket notation (as [destinationWebView setFrameLoadDelegate:]), instead of using get() on the RetainPtr (ditto for the other places in this file)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383349</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-12-19 15:08:45 -0800</bug_when>
    <thetext>(In reply to Wenson Hsieh from comment #3)
&gt; Comment on attachment 329823 [details]
&gt; Restores the old behavior
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=329823&amp;action=review
&gt; 
&gt; &gt; Tools/TestWebKitAPI/Tests/WebKitLegacy/mac/AccessingPastedImage.mm:125
&gt; &gt; +    destinationWebView.get().frameLoadDelegate = delegate.get();
&gt; 
&gt; Nit - we usually write using bracket notation (as [destinationWebView
&gt; setFrameLoadDelegate:]), instead of using get() on the RetainPtr (ditto for
&gt; the other places in this file)

Fixed.

Thanks for the review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383400</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-12-19 16:07:34 -0800</bug_when>
    <thetext>Committed r226156: &lt;https://trac.webkit.org/changeset/226156&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329823</attachid>
            <date>2017-12-19 14:18:51 -0800</date>
            <delta_ts>2017-12-19 14:41:46 -0800</delta_ts>
            <desc>Restores the old behavior</desc>
            <filename>bug-180969-20171219141850.patch</filename>
            <type>text/plain</type>
            <size>20186</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyNjA5NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE3LTEyLTE5ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIERvbid0IGNvbnZlcnQgcGFzdGVk
IGNvbnRlbnQgdG8gdXNlIGJsb2IgVVJMIGluIFdlYktpdDEKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDk2OQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFR1cm5zIG91dCB0aGF0IHNvbWUgV2ViS2l0MSBj
bGllbnRzIGFyZSByZWx5aW5nIG9uIGJlaW5nIGFibGUgdG8gc2VlIHRoZSBvcmlnaW5hbCBVUkxz
IG9mIHRoZSBwYXN0ZWQgY29udGVudDsKKyAgICAgICAgZS5nLiBub3Qgc3RvcmluZyBjb250ZW50
IHJlZmVyZW5jZWQgYnkgSFRUUC9IVFRQUyBwcm90b2NvbCBhcyBvcHBvc2VkIHRvIGxvY2FsIGZp
bGVzLgorCisgICAgICAgIFRoaXMgcGF0Y2ggcmVzdG9yZXMgdGhlIGJlaGF2aW9yIHByaW9yIHRv
IHIyMjM0NDAgYW5kIHIyMjI4MzkgZm9yIFdlYktpdDEgY2xpZW50cyBieSBvdmVycmlkaW5nIHJl
c291cmNlcyBpbgorICAgICAgICBEb2N1bWVudExvYWRlciBpbnN0ZWFkIG9mIGNvbnZlcnRpbmcg
VVJMcyB1c2VkIGluIHRoZSBwYXN0ZWQgY29udGVudHMgYnkgYmxvYiBVUkxzLiBJbiBhZGRpdGlv
biwgdGhpcyBwYXRjaAorICAgICAgICBkaXNhYmxlcyB0aGUgcGFzdGVib2FyZCBzYW5pdGl6YXRp
b24gYW5kIGN1c3RvbSBkYXRhIHRyYW5zZmVyIHR5cGVzIGZvciBXZWJLaXQxIGNsaWVudHMgYXMg
dGhlIGZlYXR1cmUgcG9zZXMKKyAgICAgICAgYSBjb21wYXRpYmlsaXR5IGNvbmNlcm4gZm9yIFdl
YktpdDEgY2xpZW50cy4KKworICAgICAgICBUZXN0czogV2ViS2l0TGVnYWN5LkFjY2Vzc2luZ0lt
YWdlSW5QYXN0ZWRSVEZECisgICAgICAgICAgICAgICBXZWJLaXRMZWdhY3kuQWNjZXNzaW5nSW1h
Z2VJblBhc3RlZFdlYkFyY2hpdmUKKworICAgICAgICAqIGVkaXRpbmcvY29jb2EvV2ViQ29udGVu
dFJlYWRlckNvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlRnJhZ21lbnRBbmRBZGRS
ZXNvdXJjZXMpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29udGVudFJlYWRlcjo6cmVhZFdlYkFy
Y2hpdmUpOgorICAgICAgICAqIHBhZ2UvRGVwcmVjYXRlZEdsb2JhbFNldHRpbmdzLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRlcHJlY2F0ZWRHbG9iYWxTZXR0aW5nczo6ZGVmYXVsdEN1c3RvbVBh
c3RlYm9hcmREYXRhRW5hYmxlZCk6CisKIDIwMTctMTItMTggIFJ5b3N1a2UgTml3YSAgPHJuaXdh
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgQXNzZXJ0aW9uIGhpdCBpbiBEb2N1bWVudE9yZGVyZWRN
YXA6OmdldCB3aGlsZSByZW1vdmluZyBhIGZvcm0gZWxlbWVudApJbmRleDogU291cmNlL1dlYkNv
cmUvZWRpdGluZy9jb2NvYS9XZWJDb250ZW50UmVhZGVyQ29jb2EubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9XZWJDb250ZW50UmVhZGVyQ29jb2EubW0JKHJl
dmlzaW9uIDIyNjA5NCkKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvV2ViQ29udGVu
dFJlYWRlckNvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiAjaW1wb3J0
ICJCbG9iVVJMLmgiCiAjaW1wb3J0ICJDYWNoZWRSZXNvdXJjZUxvYWRlci5oIgogI2ltcG9ydCAi
RE9NVVJMLmgiCisjaW1wb3J0ICJEZXByZWNhdGVkR2xvYmFsU2V0dGluZ3MuaCIKICNpbXBvcnQg
IkRvY3VtZW50LmgiCiAjaW1wb3J0ICJEb2N1bWVudEZyYWdtZW50LmgiCiAjaW1wb3J0ICJEb2N1
bWVudExvYWRlci5oIgpAQCAtMjY1LDYgKzI2NiwxNCBAQCBSZWZQdHI8RG9jdW1lbnRGcmFnbWVu
dD4gY3JlYXRlRnJhZ21lbnRBCiAgICAgaWYgKCFmcmFnbWVudEFuZFJlc291cmNlcy5mcmFnbWVu
dCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKKyAgICBpZiAoIURlcHJlY2F0ZWRHbG9iYWxT
ZXR0aW5nczo6Y3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkKCkpIHsKKyAgICAgICAgaWYgKERv
Y3VtZW50TG9hZGVyKiBsb2FkZXIgPSBmcmFtZS5sb2FkZXIoKS5kb2N1bWVudExvYWRlcigpKSB7
CisgICAgICAgICAgICBmb3IgKGF1dG8mIHJlc291cmNlIDogZnJhZ21lbnRBbmRSZXNvdXJjZXMu
cmVzb3VyY2VzKQorICAgICAgICAgICAgICAgIGxvYWRlci0+YWRkQXJjaGl2ZVJlc291cmNlKHJl
c291cmNlLmNvcHlSZWYoKSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIFdURk1vdmUoZnJh
Z21lbnRBbmRSZXNvdXJjZXMuZnJhZ21lbnQpOworICAgIH0KKwogICAgIEhhc2hNYXA8QXRvbWlj
U3RyaW5nLCBBdG9taWNTdHJpbmc+IGJsb2JVUkxNYXA7CiAgICAgZm9yIChjb25zdCBSZWY8QXJj
aGl2ZVJlc291cmNlPiYgc3VicmVzb3VyY2UgOiBmcmFnbWVudEFuZFJlc291cmNlcy5yZXNvdXJj
ZXMpIHsKICAgICAgICAgYXV0byBibG9iID0gQmxvYjo6Y3JlYXRlKHN1YnJlc291cmNlLT5kYXRh
KCksIHN1YnJlc291cmNlLT5taW1lVHlwZSgpKTsKQEAgLTM2Niw2ICszNzUsMTMgQEAgYm9vbCBX
ZWJDb250ZW50UmVhZGVyOjpyZWFkV2ViQXJjaGl2ZShTaAogICAgIH0pOwogICAgIGlmICghcmVz
dWx0KQogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgCisgICAgaWYgKCFEZXByZWNhdGVkR2xv
YmFsU2V0dGluZ3M6OmN1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZCgpKSB7CisgICAgICAgIGZy
YWdtZW50ID0gY3JlYXRlRnJhZ21lbnRGcm9tTWFya3VwKCpmcmFtZS5kb2N1bWVudCgpLCByZXN1
bHQtPm1hcmt1cCwgcmVzdWx0LT5tYWluUmVzb3VyY2UtPnVybCgpLCBEaXNhbGxvd1NjcmlwdGlu
Z0FuZFBsdWdpbkNvbnRlbnQpOworICAgICAgICBpZiAoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciA9
IGZyYW1lLmxvYWRlcigpLmRvY3VtZW50TG9hZGVyKCkpCisgICAgICAgICAgICBsb2FkZXItPmFk
ZEFsbEFyY2hpdmVSZXNvdXJjZXMocmVzdWx0LT5hcmNoaXZlLmdldCgpKTsKKyAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgfQogCiAgICAgaWYgKCFzaG91bGRTYW5pdGl6ZSgpKSB7CiAgICAgICAg
IGZyYWdtZW50ID0gY3JlYXRlRnJhZ21lbnRGcm9tTWFya3VwKCpmcmFtZS5kb2N1bWVudCgpLCBy
ZXN1bHQtPm1hcmt1cCwgcmVzdWx0LT5tYWluUmVzb3VyY2UtPnVybCgpLCBEaXNhbGxvd1Njcmlw
dGluZ0FuZFBsdWdpbkNvbnRlbnQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9EZXByZWNh
dGVkR2xvYmFsU2V0dGluZ3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
RGVwcmVjYXRlZEdsb2JhbFNldHRpbmdzLmNwcAkocmV2aXNpb24gMjI2MDk0KQorKysgU291cmNl
L1dlYkNvcmUvcGFnZS9EZXByZWNhdGVkR2xvYmFsU2V0dGluZ3MuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC04Niw2ICs4Niw4IEBAIGJvb2wgRGVwcmVjYXRlZEdsb2JhbFNldHRpbmdzOjpnQ3VzdG9t
UGEKIAogYm9vbCBEZXByZWNhdGVkR2xvYmFsU2V0dGluZ3M6OmRlZmF1bHRDdXN0b21QYXN0ZWJv
YXJkRGF0YUVuYWJsZWQoKQogeworICAgIGlmICghaXNJbldlYlByb2Nlc3MoKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOwogI2lmIFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9N
QVhfQUxMT1dFRCA+PSAxMTAzMDAKICAgICByZXR1cm4gSU9TQXBwbGljYXRpb246OmlzTW9iaWxl
U2FmYXJpKCkgfHwgZHlsZF9nZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigpID49IERZTERfSU9TX1ZF
UlNJT05fMTFfMzsKICNlbGlmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01B
WF9BTExPV0VEID49IDEwMTMwMApJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjI2MTE4KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTctMTItMTkgIFJ5b3N1a2UgTml3YSAg
PHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgRG9uJ3QgY29udmVydCBwYXN0ZWQgY29udGVu
dCB0byB1c2UgYmxvYiBVUkwgaW4gV2ViS2l0MQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwOTY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgQVBJIHRlc3RzIHRvIG1ha2Ugc3VyZSB3ZSBjYW4g
YWNjZXNzIHRoZSBpbWFnZXMgaW4gdGhlIHBhc3RlZCBjb250ZW50LgorCisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9wYXN0ZS1ydGZkLmh0bWw6Cisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRMZWdhY3kvbWFjOiBBZGRlZC4KKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdExlZ2FjeS9tYWMvQWNjZXNzaW5nUGFz
dGVkSW1hZ2UubW06IEFkZGVkLgorICAgICAgICAod3JpdGVSVEZEVG9QYXN0ZWJvYXJkKToKKyAg
ICAgICAgKC1bU3VicmVzb3VyY2VGb3JCbG9iVVJMRnJhbWVMb2FkRGVsZWdhdGUgd2ViVmlldzpk
aWRGaW5pc2hMb2FkRm9yRnJhbWU6XSk6CisgICAgICAgICgtW1N1YnJlc291cmNlRm9yQmxvYlVS
TEZyYW1lTG9hZERlbGVnYXRlIHdlYlZpZXc6cnVuSmF2YVNjcmlwdEFsZXJ0UGFuZWxXaXRoTWVz
c2FnZTppbml0aWF0ZWRCeUZyYW1lOl0pOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6
CisKIDIwMTctMTItMTggIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAK
ICAgICAgICAgW0F0dGFjaG1lbnQgU3VwcG9ydF0gVGhlICd3ZWJraXRhdHRhY2htZW50YmxvYnVy
bCcgYXR0cmlidXRlIHNob3VsZCBub3QgcGVyc2lzdCBhZnRlciBtYXJrdXAgc2VyaWFsaXphdGlv
bgpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0
QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIyNjA5NCkKKysrIFRvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3
b3JraW5nIGNvcHkpCkBAIC01NzAsNiArNTcwLDcgQEAKIAkJOUI3RDc0MEYxRjgzNzg3NzAwMDZD
NDMyIC8qIHBhc3RlLXJ0ZmQuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA5QjdENzQwRTFGODM3N0U2MDAwNkM0MzIgLyogcGFzdGUtcnRm
ZC5odG1sICovOyB9OwogCQk5QkQ0MjM5QTFFMDRCRDk4MDAyMDAzOTUgLyogQXR0cmlidXRlZFN1
YnN0cmluZ0ZvclByb3Bvc2VkUmFuZ2VXaXRoSW1hZ2UubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QkQ0MjM5OTFFMDRCRDk4MDAyMDAzOTUgLyogQXR0
cmlidXRlZFN1YnN0cmluZ0ZvclByb3Bvc2VkUmFuZ2VXaXRoSW1hZ2UubW0gKi87IH07CiAJCTlC
RDQyMzlDMUUwNEMwMUMwMDIwMDM5NSAvKiBjaGluZXNlLWNoYXJhY3Rlci13aXRoLWltYWdlLmh0
bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OUJENDIzOUIxRTA0QkZEMDAwMjAwMzk1IC8qIGNoaW5lc2UtY2hhcmFjdGVyLXdpdGgtaW1hZ2Uu
aHRtbCAqLzsgfTsKKwkJOUJENTExMUMxRkU4RTExNjAwRDJCNjMwIC8qIEFjY2Vzc2luZ1Bhc3Rl
ZEltYWdlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OUJENTExMUIxRkU4RTExNjAwRDJCNjMwIC8qIEFjY2Vzc2luZ1Bhc3RlZEltYWdlLm1tICovOyB9
OwogCQk5QkQ2RDNBMjFGN0IyMTgzMDBCRDQ5NjIgLyogc3Vuc2V0LWluLWN1cGVydGluby0xMDBw
eC50aWZmIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDlCRDZEM0ExMUY3QjIwMjEwMEJENDk2MiAvKiBzdW5zZXQtaW4tY3VwZXJ0aW5vLTEwMHB4
LnRpZmYgKi87IH07CiAJCTlCRDZEM0EzMUY3QjIxODMwMEJENDk2MiAvKiBzdW5zZXQtaW4tY3Vw
ZXJ0aW5vLTIwMHB4LnBuZyBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5QkQ2RDNBMDFGN0IyMDIwMDBCRDQ5NjIgLyogc3Vuc2V0LWluLWN1cGVy
dGluby0yMDBweC5wbmcgKi87IH07CiAJCTlCRDZEM0E0MUY3QjIxODMwMEJENDk2MiAvKiBzdW5z
ZXQtaW4tY3VwZXJ0aW5vLTQwMHB4LmdpZiBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QkQ2RDM5RjFGN0IyMDIwMDBCRDQ5NjIgLyogc3Vuc2V0
LWluLWN1cGVydGluby00MDBweC5naWYgKi87IH07CkBAIC0xNTY3LDYgKzE1NjgsNyBAQAogCQk5
QjdENzQwRTFGODM3N0U2MDAwNkM0MzIgLyogcGFzdGUtcnRmZC5odG1sICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gInBh
c3RlLXJ0ZmQuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlCRDQyMzk5MUUw
NEJEOTgwMDIwMDM5NSAvKiBBdHRyaWJ1dGVkU3Vic3RyaW5nRm9yUHJvcG9zZWRSYW5nZVdpdGhJ
bWFnZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEF0dHJpYnV0
ZWRTdWJzdHJpbmdGb3JQcm9wb3NlZFJhbmdlV2l0aEltYWdlLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk5QkQ0MjM5QjFFMDRCRkQwMDAyMDAzOTUgLyogY2hpbmVzZS1jaGFyYWN0
ZXItd2l0aC1pbWFnZS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gImNoaW5lc2Ut
Y2hhcmFjdGVyLXdpdGgtaW1hZ2UuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTlCRDUxMTFCMUZFOEUxMTYwMEQyQjYzMCAvKiBBY2Nlc3NpbmdQYXN0ZWRJbWFnZS5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IEFjY2Vzc2luZ1Bhc3RlZEltYWdlLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk5QkQ2RDM5RTFGN0IyMDFFMDBCRDQ5NjIgLyogc3Vuc2V0LWluLWN1
cGVydGluby02MDBweC5qcGcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBpbWFnZS5qcGVnOyBwYXRoID0gInN1bnNldC1pbi1jdXBlcnRpbm8tNjAwcHgu
anBnIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUJENkQzOUYxRjdCMjAyMDAwQkQ0
OTYyIC8qIHN1bnNldC1pbi1jdXBlcnRpbm8tNDAwcHguZ2lmICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1hZ2UuZ2lmOyBwYXRoID0gInN1bnNldC1p
bi1jdXBlcnRpbm8tNDAwcHguZ2lmIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUJE
NkQzQTAxRjdCMjAyMDAwQkQ0OTYyIC8qIHN1bnNldC1pbi1jdXBlcnRpbm8tMjAwcHgucG5nICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1hZ2UucG5n
OyBwYXRoID0gInN1bnNldC1pbi1jdXBlcnRpbm8tMjAwcHgucG5nIjsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTIxMDIsOSArMjEwNCw5IEBACiAJCQkJQ0Q5RTI5MkIxQzkwQTcxRjAw
MEJCODAwIC8qIFJlcXVpcmVzVXNlckFjdGlvbkZvclBsYXliYWNrLm1tICovLAogCQkJCTUxQzhF
MUE0MUYyNkFDNTQwMEJGNzMxQiAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzLm1tICovLAogCQkJ
CUExODBDMEY5MUVFNjdERjAwMDQ2OEY0NyAvKiBSdW5PcGVuUGFuZWwubW0gKi8sCisJCQkJNTFF
QjEyOTMxRkRGMDUwNTAwQTVBMUJEIC8qIFNlcnZpY2VXb3JrZXJCYXNpYy5tbSAqLywKIAkJCQkz
N0JDQTYxQjFCNTk2QkE5MDAyMDEyQ0EgLyogU2hvdWxkT3BlbkV4dGVybmFsVVJMc0luTmV3V2lu
ZG93QWN0aW9ucy5tbSAqLywKIAkJCQkyRDlBNTNBRTFCMzFGQThEMDA3NEQ1QUEgLyogU2hyaW5r
VG9GaXQubW0gKi8sCi0JCQkJNTFFQjEyOTMxRkRGMDUwNTAwQTVBMUJEIC8qIFNlcnZpY2VXb3Jr
ZXJCYXNpYy5tbSAqLywKIAkJCQkyREZGN0I2QzFEQTQ4N0FGMDA4MTQ2MTQgLyogU25hcHNob3RT
dG9yZS5tbSAqLywKIAkJCQk1MTVCRTE3MDFENDI4QkQxMDBERDdDNjggLyogU3RvcmVCbG9iVGhl
bkRlbGV0ZS5tbSAqLywKIAkJCQk1Q0I0MEI0RDFGNEI5OEJFMDA3REM3QjkgLyogVUlEZWxlZ2F0
ZS5tbSAqLywKQEAgLTIyNzAsNiArMjI3MiwxNCBAQAogCQkJcGF0aCA9IGRhcndpbjsKIAkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTlCRDUxMTFBMUZFOEUxMDIwMEQyQjYzMCAv
KiBtYWMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTlC
RDUxMTFCMUZFOEUxMTYwMEQyQjYzMCAvKiBBY2Nlc3NpbmdQYXN0ZWRJbWFnZS5tbSAqLywKKwkJ
CSk7CisJCQlwYXRoID0gbWFjOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJ
QTEzRUJCNDQxQjg3MzMyQjAwMDk3MTEwIC8qIFdlYlByb2Nlc3NQbHVnSW4gKi8gPSB7CiAJCQlp
c2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtMjk4MCw2ICsyOTkwLDcgQEAKIAkJ
CWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCiAJCQkJQ0RDOEU0OTkxQkM3MjhDMDAw
NTk0RkVDIC8qIGlvcyAqLywKKwkJCQk5QkQ1MTExQTFGRThFMTAyMDBEMkI2MzAgLyogbWFjICov
LAogCQkJKTsKIAkJCXBhdGggPSBXZWJLaXRMZWdhY3k7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91
cD4iOwpAQCAtMzE5NSw3ICszMjA2LDYgQEAKIAkJCQk3QzgzREVBOTFEMEE1OTBDMDBGRUJDRjMg
LyogQ1N0cmluZy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzgzREVBRDFEMEE1OTBDMDBGRUJD
RjMgLyogRGVxdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFGN0IyMUYxRDZDRDE0RDAwOEMx
MjZDIC8qIEVudW1UcmFpdHMuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJRkUwNUZBRUQxRkRCNTEw
RTAwMDkzMjMwIC8qIFBvaXNvbmVkUmVmUHRyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUFEN0M0
MzREMUREMkE1NEUwMDI2ODg4QiAvKiBFeHBlY3RlZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5
MzEwQ0QzODFFRjcwOEZCMDA1MEZGRTAgLyogRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNkJGRDI5NEMxRDVFNkMxRDAwOEVDOTY4IC8qIEhhc2hDb3VudGVkU2V0LmNwcCBpbiBTb3Vy
Y2VzICovLApAQCAtMzIxMyw3ICszMjIzLDYgQEAKIAkJCQk3QzgzREVFRDFEMEE1OTBDMDBGRUJD
RjMgLyogTWF0aEV4dHJhcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzgzREVFRjFEMEE1OTBD
MDBGRUJDRjMgLyogTUQ1LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDODNERUYxMUQwQTU5MEMw
MEZFQkNGMyAvKiBNZWRpYVRpbWUuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJRkUwNUZBRUMxRkRC
NTEwQTAwMDkzMjMwIC8qIFBvaXNvbmVkUmVmLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDODNE
RUY2MUQwQTU5MEMwMEZFQkNGMyAvKiBNZXRhQWxsb2NhdG9yLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTdDODNERUZFMUQwQTU5MEMwMEZFQkNGMyAvKiBOYWtlZFB0ci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlBNTdENTRGMzFGMzM4QzM2MDBBOTdBQTcgLyogTmV2ZXJEZXN0cm95ZWQuY3BwIGlu
IFNvdXJjZXMgKi8sCkBAIC0zMjIyLDYgKzMyMzEsOCBAQAogCQkJCTdDODNERjAyMUQwQTU5MEMw
MEZFQkNGMyAvKiBPU09iamVjdFB0ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzgzREY1OTFE
MEE1OTBDMDBGRUJDRjMgLyogUGFya2luZ0xvdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGRTA1
RkFFRjFGRTA2NDVCMDAwOTMyMzAgLyogUG9pc29uZWQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
RkUwNUZBRUMxRkRCNTEwQTAwMDkzMjMwIC8qIFBvaXNvbmVkUmVmLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCUZFMDVGQUVEMUZEQjUxMEUwMDA5MzIzMCAvKiBQb2lzb25lZFJlZlB0ci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk1M0VDMjU0MTFFOTZGRDg3MDAwODMxQjkgLyogUHJpb3JpdHlRdWV1
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzgzREYxMzFEMEE1OTBDMDBGRUJDRjMgLyogUmVk
QmxhY2tUcmVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDODNERjE0MUQwQTU5MEMwMEZFQkNG
MyAvKiBSZWYuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMjc2LDYgKzMyODcsNyBAQAogCQkJCTdD
Q0U3RUU0MUE0MTFBRTYwMDQ0N0M0QyAvKiBBYm91dEJsYW5rTG9hZC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk3Q0NFN0VCMzFBNDExQTdFMDA0NDdDNEMgLyogQWNjZXB0c0ZpcnN0TW91c2UubW0g
aW4gU291cmNlcyAqLywKIAkJCQkyRTIwNUJBNDFGNTI3NzQ2MDA1OTUyREQgLyogQWNjZXNzaWJp
bGl0eVRlc3RzSU9TLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJOUJENTExMUMxRkU4RTExNjAwRDJC
NjMwIC8qIEFjY2Vzc2luZ1Bhc3RlZEltYWdlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRjQ1QjYz
RkUxRjE5RDQxMDAwOUQzOEI5IC8qIEFjdGlvblNoZWV0VGVzdHMubW0gaW4gU291cmNlcyAqLywK
IAkJCQkzN0U3REQ2NDFFQTA2RkYyMDA5QjM5NkQgLyogQWRkaXRpb25hbFJlYWRBY2Nlc3NBbGxv
d2VkVVJMcy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdBOTA5QTdEMUQ4Nzc0ODAwMDdFMTBGOCAv
KiBBZmZpbmVUcmFuc2Zvcm0uY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zNDI1LDcgKzM0MzcsNiBA
QAogCQkJCTVDMEJGODkzMURENTk5QkQwMEIwMDMyOCAvKiBJc05hdmlnYXRpb25BY3Rpb25UcnVz
dGVkLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNUM2OUJERDUxRjgyQTdFRjAwMEY0RjRCIC8qIEph
dmFTY3JpcHREdXJpbmdOYXZpZ2F0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQUQx
QTQxMUEzNDAwNDQ3QzRDIC8qIEphdmFTY3JpcHRUZXN0LmNwcCBpbiBTb3VyY2VzICovLAotCQkJ
CTUxRUIxMjk0MUZERjA1MjUwMEE1QTFCRCAvKiBTZXJ2aWNlV29ya2VyQmFzaWMubW0gaW4gU291
cmNlcyAqLywKIAkJCQk3Q0NFN0VBNTFBNDExQTA4MDA0NDdDNEMgLyogSmF2YVNjcmlwdFRlc3RN
YWMubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VDNDFBNDExQTdFMDA0NDdDNEMgLyogSlNX
cmFwcGVyRm9yTm9kZUluV2ViRnJhbWUubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0YwNjFB
NDExQUU2MDA0NDdDNEMgLyogTGF5b3V0TWlsZXN0b25lc1dpdGhBbGxDb250ZW50SW5GcmFtZS5j
cHAgaW4gU291cmNlcyAqLywKQEAgLTM1MTgsNiArMzUyOSw3IEBACiAJCQkJN0NDRTdGMTIxQTQx
MUFFNjAwNDQ3QzRDIC8qIFNjcm9sbFBpbm5pbmdCZWhhdmlvcnMuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQ0UwNkRGOUIxRTE4NTFGMjAwRTU3MEM5IC8qIFNlY3VyaXR5T3JpZ2luLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTU3NjlDNTBCMUQ5QjAwMDIwMDA4NDdGQiAvKiBTZXJpYWxpemVkQ3J5
cHRvS2V5V3JhcC5tbSBpbiBTb3VyY2VzICovLAorCQkJCTUxRUIxMjk0MUZERjA1MjUwMEE1QTFC
RCAvKiBTZXJ2aWNlV29ya2VyQmFzaWMubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VDQjFB
NDExQTdFMDA0NDdDNEMgLyogU2V0QW5kVXBkYXRlQ2FjaGVNb2RlbC5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTdDQ0U3RUNDMUE0MTFBN0UwMDQ0N0M0QyAvKiBTZXREb2N1bWVudFVSSS5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTdDODNFMDUyMUQwQTY0MTgwMEZFQkNGMyAvKiBTaGFyZWRCdWZmZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dENvY29hL3Bhc3RlLXJ0ZmQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL3Bhc3RlLXJ0ZmQuaHRtbAkocmV2aXNpb24gMjI2MDk0KQorKysg
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9wYXN0ZS1ydGZkLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDEwIEBAIGVkaXRvci5hZGRFdmVudExpc3RlbmVyKCdw
YXN0ZScsIChldmVudCkKIAogZnVuY3Rpb24gbm90aWZ5TG9hZGVkKCkKIHsKLSAgICB3ZWJraXQu
bWVzc2FnZUhhbmRsZXJzLnRlc3RIYW5kbGVyLnBvc3RNZXNzYWdlKCdsb2FkZWQnKTsKKyAgICBp
ZiAod2luZG93LndlYmtpdCkKKyAgICAgICAgd2Via2l0Lm1lc3NhZ2VIYW5kbGVycy50ZXN0SGFu
ZGxlci5wb3N0TWVzc2FnZSgnbG9hZGVkJyk7CisgICAgZWxzZQorICAgICAgICBhbGVydCgnbG9h
ZGVkJyk7CiB9CiAKIDwvc2NyaXB0PgpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRMZWdhY3kvbWFjL0FjY2Vzc2luZ1Bhc3RlZEltYWdlLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0TGVnYWN5L21hYy9BY2Nlc3NpbmdQYXN0ZWRJ
bWFnZS5tbQkobm9uZXhpc3RlbnQpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dExlZ2FjeS9tYWMvQWNjZXNzaW5nUGFzdGVkSW1hZ2UubW0JKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwxNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIlBs
YXRmb3JtVXRpbGl0aWVzLmgiCisjaW1wb3J0ICJXVEZTdHJpbmdVdGlsaXRpZXMuaCIKKworI2lt
cG9ydCA8V2ViS2l0L0RPTS5oPgorI2ltcG9ydCA8V2ViS2l0L1dlYlZpZXdQcml2YXRlLmg+CisK
KyNpZiBQTEFURk9STShJT1MpCisjaW5jbHVkZSA8TW9iaWxlQ29yZVNlcnZpY2VzL01vYmlsZUNv
cmVTZXJ2aWNlcy5oPgorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpCisKK3N0YXRpYyB2b2lk
IHdyaXRlUlRGRFRvUGFzdGVib2FyZChOU0RhdGEgKmRhdGEpCit7CisgICAgW1tOU1Bhc3RlYm9h
cmQgZ2VuZXJhbFBhc3RlYm9hcmRdIGRlY2xhcmVUeXBlczpAW05TUlRGRFBib2FyZFR5cGVdIG93
bmVyOm5pbF07CisgICAgW1tOU1Bhc3RlYm9hcmQgZ2VuZXJhbFBhc3RlYm9hcmRdIHNldERhdGE6
ZGF0YSBmb3JUeXBlOk5TUlRGRFBib2FyZFR5cGVdOworfQorI2Vsc2UKKworQGludGVyZmFjZSBO
U0F0dHJpYnV0ZWRTdHJpbmcgKCkKKy0gKGlkKWluaXRXaXRoUlRGOihOU0RhdGEgKilkYXRhIGRv
Y3VtZW50QXR0cmlidXRlczooTlNEaWN0aW9uYXJ5ICoqKWRpY3Q7CistIChpZClpbml0V2l0aFJU
RkQ6KE5TRGF0YSAqKWRhdGEgZG9jdW1lbnRBdHRyaWJ1dGVzOihOU0RpY3Rpb25hcnkgKiopZGlj
dDsKKy0gKE5TRGF0YSAqKVJURkZyb21SYW5nZTooTlNSYW5nZSlyYW5nZSBkb2N1bWVudEF0dHJp
YnV0ZXM6KE5TRGljdGlvbmFyeSAqKWRpY3Q7CistIChOU0RhdGEgKilSVEZERnJvbVJhbmdlOihO
U1JhbmdlKXJhbmdlIGRvY3VtZW50QXR0cmlidXRlczooTlNEaWN0aW9uYXJ5ICopZGljdDsKKy0g
KEJPT0wpY29udGFpbnNBdHRhY2htZW50czsKK0BlbmQKKworc3RhdGljIHZvaWQgd3JpdGVSVEZE
VG9QYXN0ZWJvYXJkKE5TRGF0YSAqZGF0YSkKK3sKKyAgICBbW1VJUGFzdGVib2FyZCBnZW5lcmFs
UGFzdGVib2FyZF0gc2V0SXRlbXM6QFtAeyAoTlNTdHJpbmcgKilrVVRUeXBlRmxhdFJURkQgOiBk
YXRhfV1dOworfQorI2VuZGlmCisKK0BpbnRlcmZhY2UgU3VicmVzb3VyY2VGb3JCbG9iVVJMRnJh
bWVMb2FkRGVsZWdhdGUgOiBOU09iamVjdCA8V2ViRnJhbWVMb2FkRGVsZWdhdGUsIFdlYlVJRGVs
ZWdhdGU+IHsKK30KK0BlbmQKKworc3RhdGljIGJvb2wgZGlkRmluaXNoTG9hZCA9IGZhbHNlOwor
c3RhdGljIGJvb2wgZGlkQWxlcnQgPSBmYWxzZTsKKworQGltcGxlbWVudGF0aW9uIFN1YnJlc291
cmNlRm9yQmxvYlVSTEZyYW1lTG9hZERlbGVnYXRlCisKKy0gKHZvaWQpd2ViVmlldzooV2ViVmll
dyAqKXNlbmRlciBkaWRGaW5pc2hMb2FkRm9yRnJhbWU6KFdlYkZyYW1lICopZnJhbWUKK3sKKyAg
ICBkaWRGaW5pc2hMb2FkID0gdHJ1ZTsKK30KKworLSAodm9pZCl3ZWJWaWV3OihXZWJWaWV3ICop
c2VuZGVyIHJ1bkphdmFTY3JpcHRBbGVydFBhbmVsV2l0aE1lc3NhZ2U6KE5TU3RyaW5nICopbWVz
c2FnZSBpbml0aWF0ZWRCeUZyYW1lOihXZWJGcmFtZSAqKWZyYW1lCit7CisgICAgZGlkQWxlcnQg
PSB0cnVlOworfQorCitAZW5kCisKK25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKKworVEVTVChX
ZWJLaXRMZWdhY3ksIEFjY2Vzc2luZ0ltYWdlSW5QYXN0ZWRSVEZEKQoreworICAgIGF1dG8gd2Vi
VmlldyA9IGFkb3B0TlMoW1tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3Qo
MCwgMCwgNDAwLCA0MDApIGZyYW1lTmFtZTpuaWwgZ3JvdXBOYW1lOm5pbF0pOworICAgIGF1dG8g
ZGVsZWdhdGUgPSBhZG9wdE5TKFtbU3VicmVzb3VyY2VGb3JCbG9iVVJMRnJhbWVMb2FkRGVsZWdh
dGUgYWxsb2NdIGluaXRdKTsKKyAgICB3ZWJWaWV3LmdldCgpLmZyYW1lTG9hZERlbGVnYXRlID0g
ZGVsZWdhdGUuZ2V0KCk7CisgICAgd2ViVmlldy5nZXQoKS5VSURlbGVnYXRlID0gZGVsZWdhdGUu
Z2V0KCk7CisKKyAgICBhdXRvICptYWluRnJhbWUgPSB3ZWJWaWV3LmdldCgpLm1haW5GcmFtZTsK
KworICAgIFtbd2ViVmlldy5nZXQoKSBtYWluRnJhbWVdIGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVl
c3QgcmVxdWVzdFdpdGhVUkw6W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpA
InBhc3RlLXJ0ZmQiIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2Vi
S2l0QVBJLnJlc291cmNlcyJdXV07CisgICAgVXRpbDo6cnVuKCZkaWRGaW5pc2hMb2FkKTsKKyAg
ICB3ZWJWaWV3LmdldCgpLmVkaXRhYmxlID0gWUVTOworCisgICAgYXV0byAqcG5nRGF0YSA9IFtO
U0RhdGEgZGF0YVdpdGhDb250ZW50c09mRmlsZTpbW05TQnVuZGxlIG1haW5CdW5kbGVdIHBhdGhG
b3JSZXNvdXJjZTpAInN1bnNldC1pbi1jdXBlcnRpbm8tMjAwcHgiIG9mVHlwZTpAInBuZyIgaW5E
aXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdXTsKKyAgICBhdXRvIGF0dGFjaG1l
bnQgPSBhZG9wdE5TKFtbTlNUZXh0QXR0YWNobWVudCBhbGxvY10gaW5pdFdpdGhEYXRhOnBuZ0Rh
dGEgb2ZUeXBlOihOU1N0cmluZyAqKWtVVFR5cGVQTkddKTsKKyAgICBOU0F0dHJpYnV0ZWRTdHJp
bmcgKnN0cmluZyA9IFtOU0F0dHJpYnV0ZWRTdHJpbmcgYXR0cmlidXRlZFN0cmluZ1dpdGhBdHRh
Y2htZW50OmF0dGFjaG1lbnQuZ2V0KCldOworICAgIE5TRGF0YSAqUlRGRERhdGEgPSBbc3RyaW5n
IFJURkRGcm9tUmFuZ2U6TlNNYWtlUmFuZ2UoMCwgW3N0cmluZyBsZW5ndGhdKSBkb2N1bWVudEF0
dHJpYnV0ZXM6QHsgfV07CisKKyAgICB3cml0ZVJURkRUb1Bhc3RlYm9hcmQoUlRGRERhdGEpOwor
ICAgIFt3ZWJWaWV3IHBhc3RlOm5pbF07CisgICAgVXRpbDo6cnVuKCZkaWRBbGVydCk7CisKKyAg
ICBET01Eb2N1bWVudCAqZG9jdW1lbnQgPSBbbWFpbkZyYW1lIERPTURvY3VtZW50XTsKKyAgICBE
T01FbGVtZW50ICpkb2N1bWVudEVsZW1lbnQgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7Cisg
ICAgRE9NSFRNTEltYWdlRWxlbWVudCAqaW1hZ2UgPSAoRE9NSFRNTEltYWdlRWxlbWVudCAqKVtk
b2N1bWVudEVsZW1lbnQgcXVlcnlTZWxlY3RvcjpAImltZyJdOworICAgIE5TVVJMICp1cmwgPSBp
bWFnZS5hYnNvbHV0ZUltYWdlVVJMOworCisgICAgRVhQRUNUX0VRKDIwMCwgaW1hZ2Uud2lkdGgp
OworICAgIEVYUEVDVF9XS19TVFJFUSgid2Via2l0LWZha2UtdXJsIiwgdXJsLnNjaGVtZSk7CisK
KyAgICBXZWJSZXNvdXJjZSAqd2ViUmVzb3VyY2UgPSBbbWFpbkZyYW1lLmRhdGFTb3VyY2Ugc3Vi
cmVzb3VyY2VGb3JVUkw6dXJsXTsKKyAgICBFWFBFQ1RfVFJVRSh3ZWJSZXNvdXJjZSk7CisgICAg
RVhQRUNUX1RSVUUod2ViUmVzb3VyY2UuZGF0YSk7CisgICAgRVhQRUNUX1dLX1NUUkVRKCJpbWFn
ZS9wbmciLCB3ZWJSZXNvdXJjZS5NSU1FVHlwZSk7Cit9CisKK1RFU1QoV2ViS2l0TGVnYWN5LCBB
Y2Nlc3NpbmdJbWFnZUluUGFzdGVkV2ViQXJjaGl2ZSkKK3sKKyAgICBhdXRvIHNvdXJjZVdlYlZp
ZXcgPSBhZG9wdE5TKFtbV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAs
IDAsIDQwMCwgNDAwKSBmcmFtZU5hbWU6bmlsIGdyb3VwTmFtZTpuaWxdKTsKKyAgICBhdXRvIGRl
c3RpbmF0aW9uV2ViVmlldyA9IGFkb3B0TlMoW1tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1l
Ok5TTWFrZVJlY3QoMCwgMCwgNDAwLCA0MDApIGZyYW1lTmFtZTpuaWwgZ3JvdXBOYW1lOm5pbF0p
OworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbU3VicmVzb3VyY2VGb3JCbG9iVVJMRnJh
bWVMb2FkRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKKyAgICBzb3VyY2VXZWJWaWV3LmdldCgpLmZy
YW1lTG9hZERlbGVnYXRlID0gZGVsZWdhdGUuZ2V0KCk7CisgICAgZGVzdGluYXRpb25XZWJWaWV3
LmdldCgpLmZyYW1lTG9hZERlbGVnYXRlID0gZGVsZWdhdGUuZ2V0KCk7CisgICAgZGVzdGluYXRp
b25XZWJWaWV3LmdldCgpLlVJRGVsZWdhdGUgPSBkZWxlZ2F0ZS5nZXQoKTsKKworICAgIFtbc291
cmNlV2ViVmlldy5nZXQoKSBtYWluRnJhbWVdIGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVx
dWVzdFdpdGhVUkw6W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAImltYWdl
LWFuZC1jb250ZW50ZWRpdGFibGUiIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6
QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdXV07CisgICAgVXRpbDo6cnVuKCZkaWRGaW5pc2hM
b2FkKTsKKyAgICBzb3VyY2VXZWJWaWV3LmdldCgpLmVkaXRhYmxlID0gWUVTOworCisgICAgZGlk
RmluaXNoTG9hZCA9IGZhbHNlOworICAgIFtbZGVzdGluYXRpb25XZWJWaWV3LmdldCgpIG1haW5G
cmFtZV0gbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbW05TQnVuZGxl
IG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAicGFzdGUtcnRmZCIgd2l0aEV4dGVuc2lvbjpA
Imh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl1dXTsKKyAgICBV
dGlsOjpydW4oJmRpZEZpbmlzaExvYWQpOworICAgIHNvdXJjZVdlYlZpZXcuZ2V0KCkuZWRpdGFi
bGUgPSBZRVM7CisKKyAgICBbc291cmNlV2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2Ny
aXB0RnJvbVN0cmluZzpAImRvY3VtZW50LmJvZHkuZm9jdXMoKTsgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoJ3NlbGVjdEFsbCcpOyJdOworICAgIFtzb3VyY2VXZWJWaWV3IGNvcHk6bmlsXTsKKworICAg
IFtkZXN0aW5hdGlvbldlYlZpZXcgcGFzdGU6bmlsXTsKKyAgICBVdGlsOjpydW4oJmRpZEFsZXJ0
KTsKKworICAgIGF1dG8gKm1haW5GcmFtZSA9IGRlc3RpbmF0aW9uV2ViVmlldy5nZXQoKS5tYWlu
RnJhbWU7CisgICAgRE9NRG9jdW1lbnQgKmRvY3VtZW50ID0gW21haW5GcmFtZSBET01Eb2N1bWVu
dF07CisgICAgRE9NRWxlbWVudCAqZG9jdW1lbnRFbGVtZW50ID0gZG9jdW1lbnQuZG9jdW1lbnRF
bGVtZW50OworICAgIERPTUhUTUxJbWFnZUVsZW1lbnQgKmltYWdlID0gKERPTUhUTUxJbWFnZUVs
ZW1lbnQgKilbZG9jdW1lbnRFbGVtZW50IHF1ZXJ5U2VsZWN0b3I6QCJpbWciXTsKKyAgICBOU1VS
TCAqdXJsID0gaW1hZ2UuYWJzb2x1dGVJbWFnZVVSTDsKKworICAgIEVYUEVDVF9FUSgyMDAsIGlt
YWdlLndpZHRoKTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoImZpbGUiLCB1cmwuc2NoZW1lKTsKKwor
ICAgIFdlYlJlc291cmNlICp3ZWJSZXNvdXJjZSA9IFttYWluRnJhbWUuZGF0YVNvdXJjZSBzdWJy
ZXNvdXJjZUZvclVSTDp1cmxdOworICAgIEVYUEVDVF9UUlVFKHdlYlJlc291cmNlKTsKKyAgICBF
WFBFQ1RfVFJVRSh3ZWJSZXNvdXJjZS5kYXRhKTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoImltYWdl
L3BuZyIsIHdlYlJlc291cmNlLk1JTUVUeXBlKTsKK30KKworfSAvLyBuYW1lc3BhY2UgVGVzdFdl
YktpdEFQSQo=
</data>
<flag name="review"
          id="348857"
          type_id="1"
          status="+"
          setter="wenson_hsieh"
    />
          </attachment>
      

    </bug>

</bugzilla>