<?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>172021</bug_id>
          
          <creation_ts>2017-05-11 22:31:58 -0700</creation_ts>
          <short_desc>Cleanup: Make QueueTaskToEventLoopFunctionPtr take JSGlobalObject&amp;</short_desc>
          <delta_ts>2017-05-12 10:53:24 -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>WebCore Misc.</component>
          <version>WebKit Local Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>buildbot</cc>
    
    <cc>darin</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1307774</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-05-11 22:31:58 -0700</bug_when>
    <thetext>Currently JSGlobalObject::queueTaskToEventLoop() takes a const JSGlobalObject* whose constness is removed in the implementation of this method in all derived classes. We should have JSGlobalObject::queueTaskToEventLoop() take a non-const JSGlobalObject* and remove the need to effectively const_cast&lt;&gt; it. This will also make the data types of the arguments to JSGlobalObject::queueTaskToEventLoop() match the data types for the same arguments passed to the analogous VM::queueMicrotask().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307794</commentid>
    <comment_count>1</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-05-11 23:46:08 -0700</bug_when>
    <thetext>s/QueueTaskToEventLoopFunctionPtr/JSGlobalObject::queueTaskToEventLoop()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307797</commentid>
    <comment_count>2</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-05-11 23:47:00 -0700</bug_when>
    <thetext>Actually, we should make QueueTaskToEventLoopFunctionPtr take JSGlobalObject&amp; as all existing callers expect a non-const, non-null JSGlobalObject object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307798</commentid>
    <comment_count>3</comment_count>
      <attachid>309876</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-05-11 23:49:05 -0700</bug_when>
    <thetext>Created attachment 309876
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307933</commentid>
    <comment_count>4</comment_count>
      <attachid>309876</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-05-12 10:38:49 -0700</bug_when>
    <thetext>Comment on attachment 309876
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307943</commentid>
    <comment_count>5</comment_count>
      <attachid>309876</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-05-12 10:53:22 -0700</bug_when>
    <thetext>Comment on attachment 309876
Patch

Clearing flags on attachment: 309876

Committed r216768: &lt;http://trac.webkit.org/changeset/216768&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307944</commentid>
    <comment_count>6</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-05-12 10:53:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>309876</attachid>
            <date>2017-05-11 23:49:05 -0700</date>
            <delta_ts>2017-05-12 10:53:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172021-20170511234905.patch</filename>
            <type>text/plain</type>
            <size>13771</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjE2NzMwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBA
CisyMDE3LTA1LTExICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAg
ICBDbGVhbnVwOiBNYWtlIFF1ZXVlVGFza1RvRXZlbnRMb29wRnVuY3Rpb25QdHIgdGFrZSBKU0ds
b2JhbE9iamVjdCYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3MjAyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIENoYW5nZSB0aGUgZnVuY3Rpb24gYWxpYXMgZm9yIFF1ZXVlVGFza1RvRXZlbnRMb29wRnVu
Y3Rpb25QdHIgdG8gdGFrZSBKU0dsb2JhbE9iamVjdCYKKyAgICAgICAgaW5zdGVhZCBvZiBhIGNv
bnN0IEpTR2xvYmFsT2JqZWN0KiBhcyBhbGwgaW1wbGVtZW50YXRpb25zIGV4cGVjdCB0byBiZSBw
YXNzZWQgYSBub24tCisgICAgICAgIGNvbnN0LCBub24tbnVsbCBKU0dsb2JhbE9iamVjdCBvYmpl
Y3QuCisKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpT
Qzo6SlNHbG9iYWxPYmplY3Q6OnF1ZXVlTWljcm90YXNrKToKKyAgICAgICAgKiBydW50aW1lL0pT
R2xvYmFsT2JqZWN0Lmg6CisgICAgICAgICogcnVudGltZS9WTS5jcHA6CisgICAgICAgIChKU0M6
OlZNOjpxdWV1ZU1pY3JvdGFzayk6CisgICAgICAgICogcnVudGltZS9WTS5oOiBSZW1vdmUgSlNf
RVhQT1JUX1BSSVZBVEUgYW5ub3RhdGlvbiBmcm9tIHF1ZXVlTWljcm90YXNrKCkgYXMKKyAgICAg
ICAgaXQgaXMgb25seSBjYWxsZWQgZnJvbSBKYXZhU2NyaXB0Q29yZSBjb2RlLgorCiAyMDE3LTA1
LTExICBNYXR0IExld2lzICA8amxld2lzM0BhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCwgcm9sbGluZyBvdXQgcjIxNjY3Ny4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAJKHJldmlzaW9uIDIxNjczMCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTQzMSwxMSArMTQzMSwxMSBAQCBjb25zdCBIYXNoU2V0PFN0cmluZz4mIEpTR2xvYmFs
T2JqZWN0OjppCiB2b2lkIEpTR2xvYmFsT2JqZWN0OjpxdWV1ZU1pY3JvdGFzayhSZWY8TWljcm90
YXNrPiYmIHRhc2spCiB7CiAgICAgaWYgKGdsb2JhbE9iamVjdE1ldGhvZFRhYmxlKCktPnF1ZXVl
VGFza1RvRXZlbnRMb29wKSB7Ci0gICAgICAgIGdsb2JhbE9iamVjdE1ldGhvZFRhYmxlKCktPnF1
ZXVlVGFza1RvRXZlbnRMb29wKHRoaXMsIFdURk1vdmUodGFzaykpOworICAgICAgICBnbG9iYWxP
YmplY3RNZXRob2RUYWJsZSgpLT5xdWV1ZVRhc2tUb0V2ZW50TG9vcCgqdGhpcywgV1RGTW92ZSh0
YXNrKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICB2bSgpLnF1ZXVlTWljcm90YXNr
KHRoaXMsIFdURk1vdmUodGFzaykpOworICAgIHZtKCkucXVldWVNaWNyb3Rhc2soKnRoaXMsIFdU
Rk1vdmUodGFzaykpOwogfQogCiBib29sIEpTR2xvYmFsT2JqZWN0OjpoYXNEZWJ1Z2dlcigpIGNv
bnN0CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0LmgJKHJldmlzaW9uIDIxNjczMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTE3Nyw3ICsxNzcsNyBAQCBzdHJ1
Y3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgewogICAgIHR5cGVkZWYgUnVudGltZUZsYWdzICgq
SmF2YVNjcmlwdFJ1bnRpbWVGbGFnc0Z1bmN0aW9uUHRyKShjb25zdCBKU0dsb2JhbE9iamVjdCop
OwogICAgIEphdmFTY3JpcHRSdW50aW1lRmxhZ3NGdW5jdGlvblB0ciBqYXZhU2NyaXB0UnVudGlt
ZUZsYWdzOwogCi0gICAgdHlwZWRlZiB2b2lkICgqUXVldWVUYXNrVG9FdmVudExvb3BGdW5jdGlv
blB0cikoY29uc3QgSlNHbG9iYWxPYmplY3QqLCBSZWY8TWljcm90YXNrPiYmKTsKKyAgICB0eXBl
ZGVmIHZvaWQgKCpRdWV1ZVRhc2tUb0V2ZW50TG9vcEZ1bmN0aW9uUHRyKShKU0dsb2JhbE9iamVj
dCYsIFJlZjxNaWNyb3Rhc2s+JiYpOwogICAgIFF1ZXVlVGFza1RvRXZlbnRMb29wRnVuY3Rpb25Q
dHIgcXVldWVUYXNrVG9FdmVudExvb3A7CiAKICAgICB0eXBlZGVmIGJvb2wgKCpTaG91bGRJbnRl
cnJ1cHRTY3JpcHRCZWZvcmVUaW1lb3V0UHRyKShjb25zdCBKU0dsb2JhbE9iamVjdCopOwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAkocmV2aXNpb24gMjE2NzMwKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04
NjUsOSArODY1LDkgQEAgdm9pZCBWTTo6ZHVtcFR5cGVQcm9maWxlckRhdGEoKQogICAgIHR5cGVQ
cm9maWxlcigpLT5kdW1wVHlwZVByb2ZpbGVyRGF0YSgqdGhpcyk7CiB9CiAKLXZvaWQgVk06OnF1
ZXVlTWljcm90YXNrKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxNaWNyb3Rhc2s+
JiYgdGFzaykKK3ZvaWQgVk06OnF1ZXVlTWljcm90YXNrKEpTR2xvYmFsT2JqZWN0JiBnbG9iYWxP
YmplY3QsIFJlZjxNaWNyb3Rhc2s+JiYgdGFzaykKIHsKLSAgICBtX21pY3JvdGFza1F1ZXVlLmFw
cGVuZChzdGQ6Om1ha2VfdW5pcXVlPFF1ZXVlZFRhc2s+KCp0aGlzLCBnbG9iYWxPYmplY3QsIFdU
Rk1vdmUodGFzaykpKTsKKyAgICBtX21pY3JvdGFza1F1ZXVlLmFwcGVuZChzdGQ6Om1ha2VfdW5p
cXVlPFF1ZXVlZFRhc2s+KCp0aGlzLCAmZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKHRhc2spKSk7CiB9
CiAKIHZvaWQgVk06OmRyYWluTWljcm90YXNrcygpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9WTS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1ZNLmgJKHJldmlzaW9uIDIxNjczMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1ZNLmgJKHdvcmtpbmcgY29weSkKQEAgLTY1Myw3ICs2NTMsNyBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBlbmFibGVDb250cm9sRmxvd1Byb2ZpbGVyKCk7CiAgICAgYm9vbCBkaXNhYmxlQ29udHJv
bEZsb3dQcm9maWxlcigpOwogCi0gICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBxdWV1ZU1pY3Jv
dGFzayhKU0dsb2JhbE9iamVjdCosIFJlZjxNaWNyb3Rhc2s+JiYpOworICAgIHZvaWQgcXVldWVN
aWNyb3Rhc2soSlNHbG9iYWxPYmplY3QmLCBSZWY8TWljcm90YXNrPiYmKTsKICAgICBKU19FWFBP
UlRfUFJJVkFURSB2b2lkIGRyYWluTWljcm90YXNrcygpOwogICAgIHZvaWQgc2V0R2xvYmFsQ29u
c3RSZWRlY2xhcmF0aW9uU2hvdWxkVGhyb3coYm9vbCBnbG9iYWxDb25zdFJlZGVjbGFyYXRpb25U
aHJvdykgeyBtX2dsb2JhbENvbnN0UmVkZWNsYXJhdGlvblNob3VsZFRocm93ID0gZ2xvYmFsQ29u
c3RSZWRlY2xhcmF0aW9uVGhyb3c7IH0KICAgICBBTFdBWVNfSU5MSU5FIGJvb2wgZ2xvYmFsQ29u
c3RSZWRlY2xhcmF0aW9uU2hvdWxkVGhyb3coKSBjb25zdCB7IHJldHVybiBtX2dsb2JhbENvbnN0
UmVkZWNsYXJhdGlvblNob3VsZFRocm93OyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTY3
MzApCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwyNyBAQAorMjAxNy0wNS0xMSAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CisK
KyAgICAgICAgQ2xlYW51cDogTWFrZSBRdWV1ZVRhc2tUb0V2ZW50TG9vcEZ1bmN0aW9uUHRyIHRh
a2UgSlNHbG9iYWxPYmplY3QmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzIwMjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0VGFzay5jcHA6IEluY2x1
ZGUgaGVhZGVyIEpTRE9NR2xvYmFsT2JqZWN0LmguCisgICAgICAgIChXZWJDb3JlOjpKU0dsb2Jh
bE9iamVjdFRhc2s6OkpTR2xvYmFsT2JqZWN0VGFzayk6IENoYW5nZSB0eXBlIG9mIGZpcnN0IGFy
Z3VtZW50IGZyb20gSlNET01HbG9iYWxPYmplY3QqCisgICAgICAgIHRvIEpTRE9NR2xvYmFsT2Jq
ZWN0JiBhbmQgdXBkYXRlIGNvZGUgYXMgbmVjZXNzYXJ5LiBBbHNvLCB1c2UgQysrMTEgYnJhY2Ug
aW5pdGlhbGl6YXRpb24gc3ludGF4CisgICAgICAgIGZvciBtZW1iZXIgaW5pdGlhbGl6ZXIgbGlz
dC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdFRhc2suaDogUmVtb3Zl
IGhlYWRlciBKU0RPTUdsb2JhbE9iamVjdC5oIGFuZCBmb3J3YXJkIGRlY2xhcmUKKyAgICAgICAg
SlNET01HbG9iYWxPYmplY3QgYW5kIEpTQzo6TWljcm90YXNrLgorICAgICAgICAqIGJpbmRpbmdz
L2pzL0pTRE9NV2luZG93QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd01p
Y3JvdGFza0NhbGxiYWNrOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dN
aWNyb3Rhc2tDYWxsYmFjazo6SlNET01XaW5kb3dNaWNyb3Rhc2tDYWxsYmFjayk6IENoYW5nZSB0
eXBlIG9mIGZpcnN0IGFyZ3VtZW50CisgICAgICAgIGZyb20gSlNET01XaW5kb3dCYXNlKiB0byBK
U0RPTVdpbmRvd0Jhc2UmIGFuZCB1cGRhdGUgY29kZSBhcyBuZWNlc3NhcnkuIEFsc28sIHVzZSBD
KysxMSBicmFjZQorICAgICAgICBpbml0aWFsaXphdGlvbiBzeW50YXggZm9yIG1lbWJlciBpbml0
aWFsaXplciBsaXN0LgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjpxdWV1ZVRh
c2tUb0V2ZW50TG9vcCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmg6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SlNXb3JrZXJHbG9iYWxTY29wZUJhc2U6OnF1ZXVlVGFza1RvRXZlbnRM
b29wKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5oOgor
CiAyMDE3LTA1LTExICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAg
RHJvcCByZW1haW5pbmcgdXNlcyBvZiBQYXNzUmVmUHRyIGluIFdlYkNvcmUKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0VGFzay5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3RUYXNrLmNw
cAkocmV2aXNpb24gMjE2NzMwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01H
bG9iYWxPYmplY3RUYXNrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAogI2lu
Y2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0VGFzay5oIgogCiAjaW5jbHVkZSAiQWN0aXZlRE9NQ2Fs
bGJhY2suaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdC5oIgogI2luY2x1ZGUgIkpTTWFp
blRocmVhZEV4ZWNTdGF0ZS5oIgogI2luY2x1ZGUgPGhlYXAvU3Ryb25nSW5saW5lcy5oPgogI2lu
Y2x1ZGUgPHJ1bnRpbWUvTWljcm90YXNrLmg+CkBAIC0zOCw3ICszOSw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgSlNHbG9iYWxPYmplY3RDYWxsYmFjayBmaW5hbCA6IHB1YmxpYyBS
ZWZDb3VudGVkPEpTR2xvYmFsT2JqZWN0Q2FsbGJhY2s+LCBwcml2YXRlIEFjdGl2ZURPTUNhbGxi
YWNrIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPEpTR2xvYmFsT2JqZWN0Q2FsbGJhY2s+IGNy
ZWF0ZShKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8TWljcm90YXNrPiYmIHRh
c2spCisgICAgc3RhdGljIFJlZjxKU0dsb2JhbE9iamVjdENhbGxiYWNrPiBjcmVhdGUoSlNET01H
bG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPE1pY3JvdGFzaz4mJiB0YXNrKQogICAgIHsK
ICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSlNHbG9iYWxPYmplY3RDYWxsYmFjayhnbG9i
YWxPYmplY3QsIFdURk1vdmUodGFzaykpKTsKICAgICB9CkBAIC03MCwxMCArNzEsMTAgQEAgcHVi
bGljOgogICAgIH0KIAogcHJpdmF0ZToKLSAgICBKU0dsb2JhbE9iamVjdENhbGxiYWNrKEpTRE9N
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxNaWNyb3Rhc2s+JiYgdGFzaykKLSAgICAg
ICAgOiBBY3RpdmVET01DYWxsYmFjayhnbG9iYWxPYmplY3QtPnNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKSkKLSAgICAgICAgLCBtX2dsb2JhbE9iamVjdChnbG9iYWxPYmplY3QtPnZtKCksIGdsb2Jh
bE9iamVjdCkKLSAgICAgICAgLCBtX3Rhc2soV1RGTW92ZSh0YXNrKSkKKyAgICBKU0dsb2JhbE9i
amVjdENhbGxiYWNrKEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxNaWNyb3Rh
c2s+JiYgdGFzaykKKyAgICAgICAgOiBBY3RpdmVET01DYWxsYmFjayB7IGdsb2JhbE9iamVjdC5z
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCkgfQorICAgICAgICAsIG1fZ2xvYmFsT2JqZWN0IHsgZ2xv
YmFsT2JqZWN0LnZtKCksICZnbG9iYWxPYmplY3QgfQorICAgICAgICAsIG1fdGFzayB7IFdURk1v
dmUodGFzaykgfQogICAgIHsKICAgICB9CiAKQEAgLTgxLDcgKzgyLDcgQEAgcHJpdmF0ZToKICAg
ICBSZWY8TWljcm90YXNrPiBtX3Rhc2s7CiB9OwogCi1KU0dsb2JhbE9iamVjdFRhc2s6OkpTR2xv
YmFsT2JqZWN0VGFzayhKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8TWljcm90
YXNrPiYmIHRhc2spCitKU0dsb2JhbE9iamVjdFRhc2s6OkpTR2xvYmFsT2JqZWN0VGFzayhKU0RP
TUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8TWljcm90YXNrPiYmIHRhc2spCiAgICAg
OiBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrKHsgfSkKIHsKICAgICBSZWZQdHI8SlNHbG9i
YWxPYmplY3RDYWxsYmFjaz4gY2FsbGJhY2sgPSBKU0dsb2JhbE9iamVjdENhbGxiYWNrOjpjcmVh
dGUoZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKHRhc2spKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0VGFzay5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0VGFzay5oCShyZXZpc2lvbiAyMTY3
MzApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdFRhc2su
aAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEz
LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCkBAIC0yNSwxNCArMjUsMTkgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNs
dWRlICJKU0RPTUdsb2JhbE9iamVjdC5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaCIKIAorbmFtZXNwYWNlIEpTQyB7CitjbGFzcyBNaWNyb3Rhc2s7Cit9CisKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAorY2xhc3MgSlNET01HbG9iYWxPYmplY3Q7CisKIGNsYXNzIEpTR2xvYmFs
T2JqZWN0VGFzayA6IHB1YmxpYyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrIHsKIHB1Ymxp
YzoKLSAgICBKU0dsb2JhbE9iamVjdFRhc2soSlNET01HbG9iYWxPYmplY3QqLCBSZWY8SlNDOjpN
aWNyb3Rhc2s+JiYpOworICAgIEpTR2xvYmFsT2JqZWN0VGFzayhKU0RPTUdsb2JhbE9iamVjdCYs
IFJlZjxKU0M6Ok1pY3JvdGFzaz4mJik7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAJ
KHJldmlzaW9uIDIxNjczMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2lu
ZG93QmFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwMCw3ICsyMDAsNyBAQCBSdW50aW1lRmxh
Z3MgSlNET01XaW5kb3dCYXNlOjpqYXZhU2NyaXB0CiAKIGNsYXNzIEpTRE9NV2luZG93TWljcm90
YXNrQ2FsbGJhY2sgOiBwdWJsaWMgUmVmQ291bnRlZDxKU0RPTVdpbmRvd01pY3JvdGFza0NhbGxi
YWNrPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxKU0RPTVdpbmRvd01pY3JvdGFza0NhbGxi
YWNrPiBjcmVhdGUoSlNET01XaW5kb3dCYXNlKiBnbG9iYWxPYmplY3QsIFJlZjxKU0M6Ok1pY3Jv
dGFzaz4mJiB0YXNrKQorICAgIHN0YXRpYyBSZWY8SlNET01XaW5kb3dNaWNyb3Rhc2tDYWxsYmFj
az4gY3JlYXRlKEpTRE9NV2luZG93QmFzZSYgZ2xvYmFsT2JqZWN0LCBSZWY8SlNDOjpNaWNyb3Rh
c2s+JiYgdGFzaykKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEpTRE9NV2lu
ZG93TWljcm90YXNrQ2FsbGJhY2soZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKHRhc2spKSk7CiAgICAg
fQpAQCAtMjIwLDkgKzIyMCw5IEBAIHB1YmxpYzoKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgSlNE
T01XaW5kb3dNaWNyb3Rhc2tDYWxsYmFjayhKU0RPTVdpbmRvd0Jhc2UqIGdsb2JhbE9iamVjdCwg
UmVmPEpTQzo6TWljcm90YXNrPiYmIHRhc2spCi0gICAgICAgIDogbV9nbG9iYWxPYmplY3QoZ2xv
YmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QpCi0gICAgICAgICwgbV90YXNrKFdURk1vdmUo
dGFzaykpCisgICAgSlNET01XaW5kb3dNaWNyb3Rhc2tDYWxsYmFjayhKU0RPTVdpbmRvd0Jhc2Um
IGdsb2JhbE9iamVjdCwgUmVmPEpTQzo6TWljcm90YXNrPiYmIHRhc2spCisgICAgICAgIDogbV9n
bG9iYWxPYmplY3QgeyBnbG9iYWxPYmplY3Qudm0oKSwgJmdsb2JhbE9iamVjdCB9CisgICAgICAg
ICwgbV90YXNrIHsgV1RGTW92ZSh0YXNrKSB9CiAgICAgewogICAgIH0KIApAQCAtMjMwLDEyICsy
MzAsMTIgQEAgcHJpdmF0ZToKICAgICBSZWY8SlNDOjpNaWNyb3Rhc2s+IG1fdGFzazsKIH07CiAK
LXZvaWQgSlNET01XaW5kb3dCYXNlOjpxdWV1ZVRhc2tUb0V2ZW50TG9vcChjb25zdCBKU0dsb2Jh
bE9iamVjdCogb2JqZWN0LCBSZWY8SlNDOjpNaWNyb3Rhc2s+JiYgdGFzaykKK3ZvaWQgSlNET01X
aW5kb3dCYXNlOjpxdWV1ZVRhc2tUb0V2ZW50TG9vcChKU0dsb2JhbE9iamVjdCYgb2JqZWN0LCBS
ZWY8SlNDOjpNaWNyb3Rhc2s+JiYgdGFzaykKIHsKLSAgICBjb25zdCBKU0RPTVdpbmRvd0Jhc2Uq
IHRoaXNPYmplY3QgPSBzdGF0aWNfY2FzdDxjb25zdCBKU0RPTVdpbmRvd0Jhc2UqPihvYmplY3Qp
OworICAgIEpTRE9NV2luZG93QmFzZSYgdGhpc09iamVjdCA9IHN0YXRpY19jYXN0PEpTRE9NV2lu
ZG93QmFzZSY+KG9iamVjdCk7CiAKLSAgICBSZWZQdHI8SlNET01XaW5kb3dNaWNyb3Rhc2tDYWxs
YmFjaz4gY2FsbGJhY2sgPSBKU0RPTVdpbmRvd01pY3JvdGFza0NhbGxiYWNrOjpjcmVhdGUoKEpT
RE9NV2luZG93QmFzZSopdGhpc09iamVjdCwgV1RGTW92ZSh0YXNrKSk7Ci0gICAgYXV0byBtaWNy
b3Rhc2sgPSBzdGQ6Om1ha2VfdW5pcXVlPEFjdGl2ZURPTUNhbGxiYWNrTWljcm90YXNrPihNaWNy
b3Rhc2tRdWV1ZTo6bWFpblRocmVhZFF1ZXVlKCksICp0aGlzT2JqZWN0LT5zY3JpcHRFeGVjdXRp
b25Db250ZXh0KCksIFtjYWxsYmFja10oKSBtdXRhYmxlIHsKKyAgICBSZWZQdHI8SlNET01XaW5k
b3dNaWNyb3Rhc2tDYWxsYmFjaz4gY2FsbGJhY2sgPSBKU0RPTVdpbmRvd01pY3JvdGFza0NhbGxi
YWNrOjpjcmVhdGUodGhpc09iamVjdCwgV1RGTW92ZSh0YXNrKSk7CisgICAgYXV0byBtaWNyb3Rh
c2sgPSBzdGQ6Om1ha2VfdW5pcXVlPEFjdGl2ZURPTUNhbGxiYWNrTWljcm90YXNrPihNaWNyb3Rh
c2tRdWV1ZTo6bWFpblRocmVhZFF1ZXVlKCksICp0aGlzT2JqZWN0LnNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKSwgW2NhbGxiYWNrXSgpIG11dGFibGUgewogICAgICAgICBjYWxsYmFjay0+Y2FsbCgp
OwogICAgIH0pOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRv
d0Jhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdp
bmRvd0Jhc2UuaAkocmV2aXNpb24gMjE2NzMwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01XaW5kb3dCYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTYzLDcgKzYzLDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBzdGF0aWMgYm9vbCBzaG91bGRJbnRlcnJ1cHRTY3Jp
cHQoY29uc3QgSlNDOjpKU0dsb2JhbE9iamVjdCopOwogICAgICAgICBzdGF0aWMgYm9vbCBzaG91
bGRJbnRlcnJ1cHRTY3JpcHRCZWZvcmVUaW1lb3V0KGNvbnN0IEpTQzo6SlNHbG9iYWxPYmplY3Qq
KTsKICAgICAgICAgc3RhdGljIEpTQzo6UnVudGltZUZsYWdzIGphdmFTY3JpcHRSdW50aW1lRmxh
Z3MoY29uc3QgSlNDOjpKU0dsb2JhbE9iamVjdCopOwotICAgICAgICBzdGF0aWMgdm9pZCBxdWV1
ZVRhc2tUb0V2ZW50TG9vcChjb25zdCBKU0M6OkpTR2xvYmFsT2JqZWN0KiwgUmVmPEpTQzo6TWlj
cm90YXNrPiYmKTsKKyAgICAgICAgc3RhdGljIHZvaWQgcXVldWVUYXNrVG9FdmVudExvb3AoSlND
OjpKU0dsb2JhbE9iamVjdCYsIFJlZjxKU0M6Ok1pY3JvdGFzaz4mJik7CiAgICAgICAgIAogICAg
ICAgICB2b2lkIHByaW50RXJyb3JNZXNzYWdlKGNvbnN0IFN0cmluZyYpIGNvbnN0OwogCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxT
Y29wZUJhc2UuY3BwCShyZXZpc2lvbiAyMTY3MzApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNCwx
MCArMTE0LDEwIEBAIFJ1bnRpbWVGbGFncyBKU1dvcmtlckdsb2JhbFNjb3BlQmFzZTo6amEKICAg
ICByZXR1cm4gdGhpc09iamVjdC0+bV93cmFwcGVkLT50aHJlYWQoKS5ydW50aW1lRmxhZ3MoKTsK
IH0KIAotdm9pZCBKU1dvcmtlckdsb2JhbFNjb3BlQmFzZTo6cXVldWVUYXNrVG9FdmVudExvb3Ao
Y29uc3QgSlNHbG9iYWxPYmplY3QqIG9iamVjdCwgUmVmPEpTQzo6TWljcm90YXNrPiYmIHRhc2sp
Cit2b2lkIEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlOjpxdWV1ZVRhc2tUb0V2ZW50TG9vcChKU0ds
b2JhbE9iamVjdCYgb2JqZWN0LCBSZWY8SlNDOjpNaWNyb3Rhc2s+JiYgdGFzaykKIHsKLSAgICBj
b25zdCBKU1dvcmtlckdsb2JhbFNjb3BlQmFzZSogdGhpc09iamVjdCA9IHN0YXRpY19jYXN0PGNv
bnN0IEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlKj4ob2JqZWN0KTsKLSAgICB0aGlzT2JqZWN0LT5z
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnBvc3RUYXNrKEpTR2xvYmFsT2JqZWN0VGFzaygoSlNE
T01HbG9iYWxPYmplY3QqKXRoaXNPYmplY3QsIFdURk1vdmUodGFzaykpKTsKKyAgICBKU1dvcmtl
ckdsb2JhbFNjb3BlQmFzZSYgdGhpc09iamVjdCA9IHN0YXRpY19jYXN0PEpTV29ya2VyR2xvYmFs
U2NvcGVCYXNlJj4ob2JqZWN0KTsKKyAgICB0aGlzT2JqZWN0LnNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKS0+cG9zdFRhc2soSlNHbG9iYWxPYmplY3RUYXNrKHRoaXNPYmplY3QsIFdURk1vdmUodGFz
aykpKTsKIH0KIAogSlNWYWx1ZSB0b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmpl
Y3QqLCBXb3JrZXJHbG9iYWxTY29wZSYgd29ya2VyR2xvYmFsU2NvcGUpCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmgJ
KHJldmlzaW9uIDIxNjczMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2Vy
R2xvYmFsU2NvcGVCYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTU3LDcgKzU3LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICBzdGF0aWMgYm9vbCBzaG91bGRJbnRlcnJ1cHRTY3JpcHQo
Y29uc3QgSlNDOjpKU0dsb2JhbE9iamVjdCopOwogICAgICAgICBzdGF0aWMgYm9vbCBzaG91bGRJ
bnRlcnJ1cHRTY3JpcHRCZWZvcmVUaW1lb3V0KGNvbnN0IEpTQzo6SlNHbG9iYWxPYmplY3QqKTsK
ICAgICAgICAgc3RhdGljIEpTQzo6UnVudGltZUZsYWdzIGphdmFTY3JpcHRSdW50aW1lRmxhZ3Mo
Y29uc3QgSlNDOjpKU0dsb2JhbE9iamVjdCopOwotICAgICAgICBzdGF0aWMgdm9pZCBxdWV1ZVRh
c2tUb0V2ZW50TG9vcChjb25zdCBKU0M6OkpTR2xvYmFsT2JqZWN0KiwgUmVmPEpTQzo6TWljcm90
YXNrPiYmKTsKKyAgICAgICAgc3RhdGljIHZvaWQgcXVldWVUYXNrVG9FdmVudExvb3AoSlNDOjpK
U0dsb2JhbE9iamVjdCYsIFJlZjxKU0M6Ok1pY3JvdGFzaz4mJik7CiAKICAgICBwcm90ZWN0ZWQ6
CiAgICAgICAgIEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlKEpTQzo6Vk0mLCBKU0M6OlN0cnVjdHVy
ZSosIFJlZlB0cjxXb3JrZXJHbG9iYWxTY29wZT4mJik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>