<?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>48847</bug_id>
          
          <creation_ts>2010-11-02 10:02:09 -0700</creation_ts>
          <short_desc>More NPRuntime work</short_desc>
          <delta_ts>2010-11-02 10:26:52 -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>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>aroben</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>303443</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-11-02 10:02:09 -0700</bug_when>
    <thetext>More NPRuntime work</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303447</commentid>
    <comment_count>1</comment_count>
      <attachid>72694</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-11-02 10:09:53 -0700</bug_when>
    <thetext>Created attachment 72694
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303450</commentid>
    <comment_count>2</comment_count>
      <attachid>72694</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-11-02 10:18:54 -0700</bug_when>
    <thetext>Comment on attachment 72694
Patch

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

&gt; WebKit2/Shared/Plugins/NPObjectMessageReceiver.cpp:54
&gt;  NPObjectMessageReceiver::~NPObjectMessageReceiver()
&gt;  {
&gt; +    m_npRemoteObjectMap-&gt;unregisterNPObject(m_npObjectID);
&gt; +

What guarantees the map hasn&apos;t been destroyed by this point?

&gt; WebKit2/Shared/Plugins/NPVariantData.cpp:46
&gt; +NPVariantData NPVariantData::makeVoid()
&gt;  {
&gt; -    notImplemented();
&gt; -    return false;
&gt; +    NPVariantData npVariantData;
&gt; +
&gt; +    return npVariantData;
&gt; +}

How about: return NPVariantData();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303451</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-11-02 10:20:21 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 72694 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=72694&amp;action=review
&gt; 
&gt; &gt; WebKit2/Shared/Plugins/NPObjectMessageReceiver.cpp:54
&gt; &gt;  NPObjectMessageReceiver::~NPObjectMessageReceiver()
&gt; &gt;  {
&gt; &gt; +    m_npRemoteObjectMap-&gt;unregisterNPObject(m_npObjectID);
&gt; &gt; +
&gt; 
&gt; What guarantees the map hasn&apos;t been destroyed by this point?

Nothing! I&apos;ll add a FIXME.

&gt; 
&gt; &gt; WebKit2/Shared/Plugins/NPVariantData.cpp:46
&gt; &gt; +NPVariantData NPVariantData::makeVoid()
&gt; &gt;  {
&gt; &gt; -    notImplemented();
&gt; &gt; -    return false;
&gt; &gt; +    NPVariantData npVariantData;
&gt; &gt; +
&gt; &gt; +    return npVariantData;
&gt; &gt; +}
&gt; 
&gt; How about: return NPVariantData();

Sure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303456</commentid>
    <comment_count>4</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-11-02 10:26:52 -0700</bug_when>
    <thetext>Committed r71127: &lt;http://trac.webkit.org/changeset/71127&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72694</attachid>
            <date>2010-11-02 10:09:53 -0700</date>
            <delta_ts>2010-11-02 10:18:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-48847-20101102100951.patch</filename>
            <type>text/plain</type>
            <size>20728</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXgg
MTFhY2I2ZGFiYjY0MDE3OGY2MmZiNzk4N2VkY2EyNmIyMDRmYjExMy4uNTllNzRkY2VkNTI2ZDkw
OWRlYmMzNDkyNWJiMTMwNjVjMzBjNTQyYSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw5NiBAQAorMjAxMC0xMS0wMiAgQW5k
ZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vcmUgTlBSdW50aW1lIHdvcmsKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4ODQ3CisKKyAgICAgICAg
KiBQbHVnaW5Qcm9jZXNzL1dlYlByb2Nlc3NDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzc0Nvbm5lY3Rpb246On5XZWJQcm9jZXNzQ29ubmVjdGlvbik6CisgICAgICAg
IEFkZCBhc3NlcnRpb25zLgorCisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDb25uZWN0aW9u
OjpyZW1vdmVQbHVnaW5Db250cm9sbGVyUHJveHkpOgorICAgICAgICBJZiB3ZSBoYXZlIG5vIG1v
cmUgcGx1Zy1pbiBjb250cm9sbGVyIHByb3hpZXMsIGludmFsaWRhdGUgdGhlIHJlbW90ZSBvYmpl
Y3QgbWFwLgorCisgICAgICAgICogU2hhcmVkL1BsdWdpbnMvTlBJZGVudGlmaWVyRGF0YS5jcHA6
CisgICAgICAgIChXZWJLaXQ6Ok5QSWRlbnRpZmllckRhdGE6OmNyZWF0ZU5QSWRlbnRpZmllcik6
CisgICAgICAgIENyZWF0ZSBhbiBOUElkZW50aWZpZXIgZnJvbSB0aGUgZ2l2ZW4gTlBJZGVudGlm
aWVyRGF0YS4KKworICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL05QT2JqZWN0TWVzc2FnZVJlY2Vp
dmVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TlBPYmplY3RNZXNzYWdlUmVjZWl2ZXI6OmNyZWF0
ZSk6CisgICAgICAgIChXZWJLaXQ6Ok5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyOjpOUE9iamVjdE1l
c3NhZ2VSZWNlaXZlcik6CisgICAgICAgIFRoaXMgbm93IHRha2VzIHRoZSBOUFJlbW90ZU9iamVj
dE1hcCBhcyB3ZWxsIGFzIHRoZSBucE9iamVjdElEIG9mIHRoZSBvYmplY3QuCisKKyAgICAgICAg
KFdlYktpdDo6TlBPYmplY3RNZXNzYWdlUmVjZWl2ZXI6On5OUE9iamVjdE1lc3NhZ2VSZWNlaXZl
cik6CisgICAgICAgIFVucmVnaXN0ZXIgdGhlIG9iamVjdC4KKworICAgICAgICAoV2ViS2l0OjpO
UE9iamVjdE1lc3NhZ2VSZWNlaXZlcjo6ZGVhbGxvY2F0ZSk6CisgICAgICAgIERlbGV0ZSB0aGUg
b2JqZWN0LgorCisgICAgICAgIChXZWJLaXQ6Ok5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyOjpnZXRQ
cm9wZXJ0eSk6CisgICAgICAgIEFzayB0aGUgTlBPYmplY3QgZm9yIHRoZSBwcm9wZXJ0eSBhbmQg
Y29udmVydCBpdCBiYWNrIHRvIGFuIE5QVmFyaWFudERhdGEuCisKKyAgICAgICAgKiBTaGFyZWQv
UGx1Z2lucy9OUE9iamVjdFByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TlBPYmplY3RQcm94
eTo6fk5QT2JqZWN0UHJveHkpOgorICAgICAgICBTZW5kIGEgRGVhbGxvY2F0ZSBtZXNzYWdlIHRv
IHRoZSBjb3JyZXNwb25kaW5nIG1lc3NhZ2UgcmVjZWl2ZXIgb24gdGhlIG90aGVyIHNpZGUuCisK
KyAgICAgICAgKFdlYktpdDo6TlBPYmplY3RQcm94eTo6Z2V0UHJvcGVydHkpOgorICAgICAgICBD
b252ZXJ0IHRoZSBOUFZhcmlhbnREYXRhIGJhY2sgdG8gYW4gTlBWYXJpYW50IGFuZCByZXR1cm4g
aXQuCisKKyAgICAgICAgKiBTaGFyZWQvUGx1Z2lucy9OUFJlbW90ZU9iamVjdE1hcC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6Ok5QUmVtb3RlT2JqZWN0TWFwOjpyZWdpc3Rlck5QT2JqZWN0KToKKyAg
ICAgICAgUGFzcyB0aGUgTlBSZW1vdGVPYmplY3RNYXAgYW5kIHRoZSBucE9iamVjdElEIHRvIE5Q
T2JqZWN0TWVzc2FnZVJlY2VpdmVyOjpjcmVhdGUuCisKKyAgICAgICAgKFdlYktpdDo6TlBSZW1v
dGVPYmplY3RNYXA6OnVucmVnaXN0ZXJOUE9iamVjdCk6CisgICAgICAgIFJlbW92ZSB0aGUgZ2l2
ZW4gb2JqZWN0IGZyb20gdGhlIG1hcCBvZiByZWdpc3RlcmVkIG9iamVjdHMuCisKKyAgICAgICAg
KFdlYktpdDo6TlBSZW1vdGVPYmplY3RNYXA6Om5wVmFyaWFudFRvTlBWYXJpYW50RGF0YSk6Cisg
ICAgICAgIEdpdmVuIGFuIE5QVmFyaWFudCwgY3JlYXRlIGFuIE5QVmFyaWFudERhdGEuIE9ubHkg
c3VwcG9ydHMgdm9pZCBhbmQgZG91YmxlIHR5cGVzIHJpZ2h0IG5vdy4KKworICAgICAgICAoV2Vi
S2l0OjpOUFJlbW90ZU9iamVjdE1hcDo6bnBWYXJpYW50RGF0YVRvTlBWYXJpYW50KToKKyAgICAg
ICAgR2l2ZW4gYW4gTlBWYXJpYW50RGF0YSwgY3JlYXRlIGFuIE5QVmFyaWFudC4gT25seSBzdXBw
b3J0cyB2b2lkIGFuZCBkb3VibGUgdHlwZXMgcmlnaHQgbm93LgorCisgICAgICAgIChXZWJLaXQ6
Ok5QUmVtb3RlT2JqZWN0TWFwOjppbnZhbGlkYXRlKToKKyAgICAgICAgQWRkIHN0dWIuCisKKyAg
ICAgICAgKiBTaGFyZWQvUGx1Z2lucy9OUFZhcmlhbnREYXRhLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6TlBWYXJpYW50RGF0YTo6TlBWYXJpYW50RGF0YSk6CisgICAgICAgIFNldCB0aGUgdHlwZSB0
byB2b2lkIGJ5IGRlZmF1bHQuCisKKyAgICAgICAgKFdlYktpdDo6TlBWYXJpYW50RGF0YTo6bWFr
ZVZvaWQpOgorICAgICAgICBSZXR1cm4gYSB2b2lkIE5QVmFyaWFudERhdGEuCisKKyAgICAgICAg
KFdlYktpdDo6TlBWYXJpYW50RGF0YTo6bWFrZURvdWJsZSk6CisgICAgICAgIFJldHVybiBhbiBO
UFZhcmlhbnREYXRhIHRoYXQgY29udGFpbnMgYSBkb3VibGUgdmFsdWUuCisKKyAgICAgICAgKFdl
YktpdDo6TlBWYXJpYW50RGF0YTo6ZW5jb2RlKToKKyAgICAgICAgRW5jb2RlIHRoZSBOUFZhcmlh
bnREYXRhLgorCisgICAgICAgIChXZWJLaXQ6Ok5QVmFyaWFudERhdGE6OmRlY29kZSk6CisgICAg
ICAgIERlY29kZSB0aGUgTlBWYXJpYW50RGF0YS4KKworICAgICAgICAqIFNoYXJlZC9QbHVnaW5z
L05QVmFyaWFudERhdGEuaDoKKyAgICAgICAgKFdlYktpdDo6TlBWYXJpYW50RGF0YTo6dHlwZSk6
CisgICAgICAgIFJldHVybiB0aGUgdHlwZSBvZiB0aGUgTlBWYXJpYW50RGF0YS4KKworICAgICAg
ICAoV2ViS2l0OjpOUFZhcmlhbnREYXRhOjpkb3VibGVWYWx1ZSk6CisgICAgICAgIFJldHVybiB0
aGUgZG91YmxlIHZhbHVlIG9mIHRoZSBOUFZhcmlhbnREYXRhLgorICAgICAgICAKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzc1Byb3h5OjpkaWRDbG9zZSk6CisgICAgICAgIFVzZSBudWxscHRyIGluc3RlYWQgb2YgMC4K
KworICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbi5j
cHA6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3NDb25uZWN0aW9uOjp+UGx1Z2luUHJv
Y2Vzc0Nvbm5lY3Rpb24pOgorICAgICAgICBBc3NlcnQgdGhhdCB0aGUgY29ubmVjdGlvbiBhbmQg
dGhlIHJlbW90ZSBvYmplY3QgbWFwIGFyZSBib3RoIG51bGwuCisKKyAgICAgICAgKFdlYktpdDo6
UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb246OnJlbW92ZVBsdWdpblByb3h5KToKKyAgICAgICAgSWYg
dGhpcyB3YXMgdGhlIGxhc3QgcGx1Zy1pbiBwcm94eSwgaW52YWxpZGF0ZSB0aGUgcmVtb3RlIG9i
amVjdCBtYXAuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpzaHV0ZG93bik6CisgICAgICAgIFVzZSBudWxscHRyIGlu
c3RlYWQgb2YgMC4KKwogMjAxMC0xMS0wMSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBw
bGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9saXZlciBIdW50LgpkaWZmIC0tZ2l0IGEv
V2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1dlYlByb2Nlc3NDb25uZWN0aW9uLmNwcCBiL1dlYktpdDIv
UGx1Z2luUHJvY2Vzcy9XZWJQcm9jZXNzQ29ubmVjdGlvbi5jcHAKaW5kZXggMjUwMjg5MTExMWEy
MWNlY2M1ODE2YTRmNmMxYzg2ZWZlZWZhZTA4ZC4uMzUzOTQ1NDdmMTU3YzY2NzlhN2Q0YTFhMmU4
Njk2OWY5OTE4MDM1ZiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1dlYlByb2Nl
c3NDb25uZWN0aW9uLmNwcAorKysgYi9XZWJLaXQyL1BsdWdpblByb2Nlc3MvV2ViUHJvY2Vzc0Nv
bm5lY3Rpb24uY3BwCkBAIC00Miw2ICs0Miw4IEBAIFBhc3NSZWZQdHI8V2ViUHJvY2Vzc0Nvbm5l
Y3Rpb24+IFdlYlByb2Nlc3NDb25uZWN0aW9uOjpjcmVhdGUoQ29yZUlQQzo6Q29ubmVjdGlvCiBX
ZWJQcm9jZXNzQ29ubmVjdGlvbjo6fldlYlByb2Nlc3NDb25uZWN0aW9uKCkKIHsKICAgICBBU1NF
UlQobV9wbHVnaW5Db250cm9sbGVycy5pc0VtcHR5KCkpOworICAgIEFTU0VSVCghbV9ucFJlbW90
ZU9iamVjdE1hcCk7CisgICAgQVNTRVJUKCFtX2Nvbm5lY3Rpb24pOwogfQogICAgIAogV2ViUHJv
Y2Vzc0Nvbm5lY3Rpb246OldlYlByb2Nlc3NDb25uZWN0aW9uKENvcmVJUEM6OkNvbm5lY3Rpb246
OklkZW50aWZpZXIgY29ubmVjdGlvbklkZW50aWZpZXIpCkBAIC04MCw5ICs4MiwxMyBAQCB2b2lk
IFdlYlByb2Nlc3NDb25uZWN0aW9uOjpyZW1vdmVQbHVnaW5Db250cm9sbGVyUHJveHkoUGx1Z2lu
Q29udHJvbGxlclByb3h5KiBwbAogICAgIGlmICghbV9wbHVnaW5Db250cm9sbGVycy5pc0VtcHR5
KCkpCiAgICAgICAgIHJldHVybjsKIAorICAgIC8vIEludmFsaWRhdGUgb3VyIHJlbW90ZSBvYmpl
Y3QgbWFwLgorICAgIG1fbnBSZW1vdGVPYmplY3RNYXAtPmludmFsaWRhdGUoKTsKKyAgICBtX25w
UmVtb3RlT2JqZWN0TWFwID0gbnVsbHB0cjsKKwogICAgIC8vIFRoZSBsYXN0IHBsdWctaW4gd2Vu
dCBhd2F5LCBjbG9zZSB0aGlzIGNvbm5lY3Rpb24uCiAgICAgbV9jb25uZWN0aW9uLT5pbnZhbGlk
YXRlKCk7Ci0gICAgbV9jb25uZWN0aW9uID0gMDsKKyAgICBtX2Nvbm5lY3Rpb24gPSBudWxscHRy
OwogCiAgICAgLy8gVGhpcyB3aWxsIGNhdXNlIHVzIHRvIGJlIGRlbGV0ZWQuICAgIAogICAgIFBs
dWdpblByb2Nlc3M6OnNoYXJlZCgpLnJlbW92ZVdlYlByb2Nlc3NDb25uZWN0aW9uKHRoaXMpOwpk
aWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUElkZW50aWZpZXJEYXRhLmNwcCBi
L1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBJZGVudGlmaWVyRGF0YS5jcHAKaW5kZXggMmZlMjEy
NzU2OTA2NjkyNmIxZjBiZjg3YjBmMDgwZjAyMDZlN2E1Yi4uNTFkZDZiZWMwZjQzZDM4MGI3NmNi
ZmI4NzM5MTY2ZWYxYjNkMmZjMCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9O
UElkZW50aWZpZXJEYXRhLmNwcAorKysgYi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QSWRlbnRp
ZmllckRhdGEuY3BwCkBAIC01OSw2ICs1OSwxNCBAQCBOUElkZW50aWZpZXJEYXRhIE5QSWRlbnRp
ZmllckRhdGE6OmZyb21OUElkZW50aWZpZXIoTlBJZGVudGlmaWVyIG5wSWRlbnRpZmllcikKICAg
ICByZXR1cm4gbnBJZGVudGlmaWVyRGF0YTsKIH0KIAorTlBJZGVudGlmaWVyIE5QSWRlbnRpZmll
ckRhdGE6OmNyZWF0ZU5QSWRlbnRpZmllcigpIGNvbnN0Cit7CisgICAgaWYgKG1faXNTdHJpbmcp
CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxOUElkZW50aWZpZXI+KElkZW50aWZpZXJSZXA6
OmdldChtX3N0cmluZy5kYXRhKCkpKTsKKyAgICAKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8TlBJ
ZGVudGlmaWVyPihJZGVudGlmaWVyUmVwOjpnZXQobV9udW1iZXIpKTsKK30KKwogdm9pZCBOUElk
ZW50aWZpZXJEYXRhOjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyKiBlbmNvZGVyKSBj
b25zdAogewogICAgIGVuY29kZXItPmVuY29kZShtX2lzU3RyaW5nKTsKZGlmZiAtLWdpdCBhL1dl
YktpdDIvU2hhcmVkL1BsdWdpbnMvTlBJZGVudGlmaWVyRGF0YS5oIGIvV2ViS2l0Mi9TaGFyZWQv
UGx1Z2lucy9OUElkZW50aWZpZXJEYXRhLmgKaW5kZXggNjM3ZWE0NmIxZGNiZTAyZmMzMDVlMTky
OGRhYTJjYzU4MjA2ZmNkOS4uZGJlOTc5ZTNmNTViY2EzYTVhYmY2MjUwN2Y0ZGMyYzhjYTdkZjk1
ZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUElkZW50aWZpZXJEYXRhLmgK
KysrIGIvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUElkZW50aWZpZXJEYXRhLmgKQEAgLTQ1LDYg
KzQ1LDcgQEAgcHVibGljOgogICAgIE5QSWRlbnRpZmllckRhdGEoKTsKICAgICAKICAgICBzdGF0
aWMgTlBJZGVudGlmaWVyRGF0YSBmcm9tTlBJZGVudGlmaWVyKE5QSWRlbnRpZmllcik7CisgICAg
TlBJZGVudGlmaWVyIGNyZWF0ZU5QSWRlbnRpZmllcigpIGNvbnN0OwogCiAgICAgdm9pZCBlbmNv
ZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyKikgY29uc3Q7CiAgICAgc3RhdGljIGJvb2wgZGVj
b2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciosIE5QSWRlbnRpZmllckRhdGEmKTsKZGlmZiAt
LWdpdCBhL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuY3Bw
IGIvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5jcHAKaW5k
ZXggODU3NzVhMTdjZWJhYzY5MGM0NjFiOWMzNDE0ODEzYWY4ZWI5NGQwYS4uNmRmMGZkOTUzMmQy
M2UwMDBkMTM2MWYwNDBiMDA5ZDBmMTdlNjgyMCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQv
UGx1Z2lucy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5jcHAKKysrIGIvV2ViS2l0Mi9TaGFyZWQv
UGx1Z2lucy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5jcHAKQEAgLTI4LDM2ICsyOCw1MiBAQAog
I2luY2x1ZGUgIk5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLmgiCiAKICNpbmNsdWRlICJOUElkZW50
aWZpZXJEYXRhLmgiCisjaW5jbHVkZSAiTlBSZW1vdGVPYmplY3RNYXAuaCIKICNpbmNsdWRlICJO
UFJ1bnRpbWVVdGlsaXRpZXMuaCIKKyNpbmNsdWRlICJOUFZhcmlhbnREYXRhLmgiCiAjaW5jbHVk
ZSAiTm90SW1wbGVtZW50ZWQuaCIKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLVBhc3NPd25QdHI8
TlBPYmplY3RNZXNzYWdlUmVjZWl2ZXI+IE5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyOjpjcmVhdGUo
TlBPYmplY3QqIG5wT2JqZWN0KQorUGFzc093blB0cjxOUE9iamVjdE1lc3NhZ2VSZWNlaXZlcj4g
TlBPYmplY3RNZXNzYWdlUmVjZWl2ZXI6OmNyZWF0ZShOUFJlbW90ZU9iamVjdE1hcCogbnBSZW1v
dGVPYmplY3RNYXAsIHVpbnQ2NF90IG5wT2JqZWN0SUQsIE5QT2JqZWN0KiBucE9iamVjdCkKIHsK
LSAgICByZXR1cm4gYWRvcHRQdHIobmV3IE5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyKG5wT2JqZWN0
KSk7CisgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBOUE9iamVjdE1lc3NhZ2VSZWNlaXZlcihucFJl
bW90ZU9iamVjdE1hcCwgbnBPYmplY3RJRCwgbnBPYmplY3QpKTsKIH0KIAotTlBPYmplY3RNZXNz
YWdlUmVjZWl2ZXI6Ok5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyKE5QT2JqZWN0KiBucE9iamVjdCkK
LSAgICA6IG1fbnBPYmplY3QobnBPYmplY3QpCitOUE9iamVjdE1lc3NhZ2VSZWNlaXZlcjo6TlBP
YmplY3RNZXNzYWdlUmVjZWl2ZXIoTlBSZW1vdGVPYmplY3RNYXAqIG5wUmVtb3RlT2JqZWN0TWFw
LCB1aW50NjRfdCBucE9iamVjdElELCBOUE9iamVjdCogbnBPYmplY3QpCisgICAgOiBtX25wUmVt
b3RlT2JqZWN0TWFwKG5wUmVtb3RlT2JqZWN0TWFwKQorICAgICwgbV9ucE9iamVjdElEKG5wT2Jq
ZWN0SUQpCisgICAgLCBtX25wT2JqZWN0KG5wT2JqZWN0KQogewogICAgIHJldGFpbk5QT2JqZWN0
KG1fbnBPYmplY3QpOwogfQogCiBOUE9iamVjdE1lc3NhZ2VSZWNlaXZlcjo6fk5QT2JqZWN0TWVz
c2FnZVJlY2VpdmVyKCkKIHsKKyAgICBtX25wUmVtb3RlT2JqZWN0TWFwLT51bnJlZ2lzdGVyTlBP
YmplY3QobV9ucE9iamVjdElEKTsKKwogICAgIHJlbGVhc2VOUE9iamVjdChtX25wT2JqZWN0KTsK
IH0KIAogdm9pZCBOUE9iamVjdE1lc3NhZ2VSZWNlaXZlcjo6ZGVhbGxvY2F0ZSgpCiB7Ci0gICAg
bm90SW1wbGVtZW50ZWQoKTsKKyAgICBkZWxldGUgdGhpczsKIH0KIAotdm9pZCBOUE9iamVjdE1l
c3NhZ2VSZWNlaXZlcjo6Z2V0UHJvcGVydHkoY29uc3QgTlBJZGVudGlmaWVyRGF0YSYgcHJvcGVy
dHlOYW1lRGF0YSwgYm9vbCYgcmV0dXJuVmFsdWUsIE5QVmFyaWFudERhdGEmIHJlc3VsdCkKK3Zv
aWQgTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXI6OmdldFByb3BlcnR5KGNvbnN0IE5QSWRlbnRpZmll
ckRhdGEmIHByb3BlcnR5TmFtZURhdGEsIGJvb2wmIHJldHVyblZhbHVlLCBOUFZhcmlhbnREYXRh
JiByZXN1bHREYXRhKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuVmFsdWUg
PSBmYWxzZTsKKyAgICBpZiAoIW1fbnBPYmplY3QtPl9jbGFzcy0+Z2V0UHJvcGVydHkpIHsKKyAg
ICAgICAgcmV0dXJuVmFsdWUgPSBmYWxzZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IE5QVmFyaWFudCByZXN1bHQ7CisgICAgcmV0dXJuVmFsdWUgPSBtX25wT2JqZWN0LT5fY2xhc3Mt
PmdldFByb3BlcnR5KG1fbnBPYmplY3QsIHByb3BlcnR5TmFtZURhdGEuY3JlYXRlTlBJZGVudGlm
aWVyKCksICZyZXN1bHQpOworICAgIGlmICghcmV0dXJuVmFsdWUpCisgICAgICAgIHJldHVybjsK
KworICAgIC8vIENvbnZlcnQgdGhlIE5QVmFyaWFudCB0byBhbiBOUFZhcmlhbnREYXRhLgorICAg
IHJlc3VsdERhdGEgPSBtX25wUmVtb3RlT2JqZWN0TWFwLT5ucFZhcmlhbnRUb05QVmFyaWFudERh
dGEocmVzdWx0KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9XZWJL
aXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLmggYi9XZWJLaXQyL1No
YXJlZC9QbHVnaW5zL05QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLmgKaW5kZXggN2Q4MTNhMTYwNzhj
ZWEzOGU4ZjYzNmEzMjJiNWQ2MmNjYjc1ZjYzZi4uMzIxZTBjMmM1OTU1ODdjYWExN2QwZWRiNDA5
NWY2Y2YzN2RjZmY0NCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVj
dE1lc3NhZ2VSZWNlaXZlci5oCisrKyBiL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RN
ZXNzYWdlUmVjZWl2ZXIuaApAQCAtMzYsMjQgKzM2LDI3IEBACiBuYW1lc3BhY2UgV2ViS2l0IHsK
IAogY2xhc3MgTlBJZGVudGlmaWVyRGF0YTsKK2NsYXNzIE5QUmVtb3RlT2JqZWN0TWFwOwogY2xh
c3MgTlBWYXJpYW50RGF0YTsKIAogY2xhc3MgTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIgewogICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKE5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyKTsKIAogcHVibGlj
OgotICAgIHN0YXRpYyBQYXNzT3duUHRyPE5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyPiBjcmVhdGUo
TlBPYmplY3QqIG5wT2JqZWN0KTsKKyAgICBzdGF0aWMgUGFzc093blB0cjxOUE9iamVjdE1lc3Nh
Z2VSZWNlaXZlcj4gY3JlYXRlKE5QUmVtb3RlT2JqZWN0TWFwKiBucFJlbW90ZU9iamVjdE1hcCwg
dWludDY0X3QgbnBPYmplY3RJRCwgTlBPYmplY3QqIG5wT2JqZWN0KTsKICAgICB+TlBPYmplY3RN
ZXNzYWdlUmVjZWl2ZXIoKTsKIAogICAgIENvcmVJUEM6OlN5bmNSZXBseU1vZGUgZGlkUmVjZWl2
ZVN5bmNOUE9iamVjdE1lc3NhZ2VSZWNlaXZlck1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbios
IENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiwgQ29yZUlQQzo6
QXJndW1lbnRFbmNvZGVyKik7CiAgICAgCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IE5QT2JqZWN0
TWVzc2FnZVJlY2VpdmVyKE5QT2JqZWN0KiBucE9iamVjdCk7CisgICAgTlBPYmplY3RNZXNzYWdl
UmVjZWl2ZXIoTlBSZW1vdGVPYmplY3RNYXAqIG5wUmVtb3RlT2JqZWN0TWFwLCB1aW50NjRfdCBu
cE9iamVjdElELCBOUE9iamVjdCogbnBPYmplY3QpOwogCiAgICAgLy8gTWVzc2FnZSBoYW5kbGVy
cy4KICAgICB2b2lkIGRlYWxsb2NhdGUoKTsKLSAgICB2b2lkIGdldFByb3BlcnR5KGNvbnN0IE5Q
SWRlbnRpZmllckRhdGEmLCBib29sJiByZXR1cm5WYWx1ZSwgTlBWYXJpYW50RGF0YSYgcmVzdWx0
KTsKKyAgICB2b2lkIGdldFByb3BlcnR5KGNvbnN0IE5QSWRlbnRpZmllckRhdGEmLCBib29sJiBy
ZXR1cm5WYWx1ZSwgTlBWYXJpYW50RGF0YSYgcmVzdWx0RGF0YSk7CiAKKyAgICBOUFJlbW90ZU9i
amVjdE1hcCogbV9ucFJlbW90ZU9iamVjdE1hcDsKKyAgICB1aW50NjRfdCBtX25wT2JqZWN0SUQ7
CiAgICAgTlBPYmplY3QqIG1fbnBPYmplY3Q7CiB9OwogICAgIApkaWZmIC0tZ2l0IGEvV2ViS2l0
Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5tZXNzYWdlcy5pbiBiL1dl
YktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIubWVzc2FnZXMuaW4K
aW5kZXggMTU4ZmNhYjY4ZjQxMGEwOGQwZDVhMjZiMTM3ZmVmM2IwNzEwYWM5ZC4uMWZjMTIwZmEy
OWM1YWMxNjZlOGY0ZWJhYjAyODM1Y2MxYTZjZjQzNSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9TaGFy
ZWQvUGx1Z2lucy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5tZXNzYWdlcy5pbgorKysgYi9XZWJL
aXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLm1lc3NhZ2VzLmluCkBA
IC0yNyw3ICsyNyw3IEBAIG1lc3NhZ2VzIC0+IE5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyIHsKICAg
ICBEZWFsbG9jYXRlKCkgLT4gKCkKIAogICAgICMgR2V0IHRoZSBnaXZlbiBwcm9wZXJ0eS4KLSAg
ICBHZXRQcm9wZXJ0eShXZWJLaXQ6Ok5QSWRlbnRpZmllckRhdGEgcHJvcGVydHlOYW1lKSAtPiAo
Ym9vbCByZXR1cm5WYWx1ZSwgV2ViS2l0OjpOUFZhcmlhbnREYXRhIHJlc3VsdCkKKyAgICBHZXRQ
cm9wZXJ0eShXZWJLaXQ6Ok5QSWRlbnRpZmllckRhdGEgcHJvcGVydHlOYW1lKSAtPiAoYm9vbCBy
ZXR1cm5WYWx1ZSwgV2ViS2l0OjpOUFZhcmlhbnREYXRhIHJlc3VsdERhdGEpCiB9CiAKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdFByb3h5LmNwcCBi
L1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RQcm94eS5jcHAKaW5kZXggZjY1NWY4ZmRi
ZjBhMTRiM2FmNGQ5ZjM3MWMxNzQ2NTgyZDA0ZDA1ZC4uMTI2MTg5ZGEwNDc3ZDlmOGE0ODk0MjZm
ZWYxY2ZhNTQyODEzNWQzZSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9i
amVjdFByb3h5LmNwcAorKysgYi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHku
Y3BwCkBAIC01Myw2ICs1MywxMCBAQCBOUE9iamVjdFByb3h5OjpOUE9iamVjdFByb3h5KCkKIAog
TlBPYmplY3RQcm94eTo6fk5QT2JqZWN0UHJveHkoKQogeworICAgIGlmICghbV9ucFJlbW90ZU9i
amVjdE1hcCkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9ucFJlbW90ZU9iamVjdE1hcC0+Y29u
bmVjdGlvbigpLT5zZW5kU3luYyhNZXNzYWdlczo6TlBPYmplY3RNZXNzYWdlUmVjZWl2ZXI6OkRl
YWxsb2NhdGUoKSwgTWVzc2FnZXM6Ok5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyOjpEZWFsbG9jYXRl
OjpSZXBseSgpLCBtX25wT2JqZWN0SUQpOwogfQogCiBib29sIE5QT2JqZWN0UHJveHk6OmlzTlBP
YmplY3RQcm94eShOUE9iamVjdCogbnBPYmplY3QpCkBAIC04NSw4ICs4OSwxMSBAQCBib29sIE5Q
T2JqZWN0UHJveHk6OmdldFByb3BlcnR5KE5QSWRlbnRpZmllciBwcm9wZXJ0eU5hbWUsIE5QVmFy
aWFudCogcmVzdWx0KQogICAgIGlmICghbV9ucFJlbW90ZU9iamVjdE1hcC0+Y29ubmVjdGlvbigp
LT5zZW5kU3luYyhNZXNzYWdlczo6TlBPYmplY3RNZXNzYWdlUmVjZWl2ZXI6OkdldFByb3BlcnR5
KHByb3BlcnR5TmFtZURhdGEpLCBNZXNzYWdlczo6TlBPYmplY3RNZXNzYWdlUmVjZWl2ZXI6Okdl
dFByb3BlcnR5OjpSZXBseShyZXR1cm5WYWx1ZSwgcmVzdWx0RGF0YSksIG1fbnBPYmplY3RJRCkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIG5vdEltcGxlbWVudGVkKCk7ICAgIAotICAg
IHJldHVybiBmYWxzZTsKKyAgICBpZiAoIXJldHVyblZhbHVlKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICAqcmVzdWx0ID0gbV9ucFJlbW90ZU9iamVjdE1hcC0+bnBWYXJpYW50RGF0YVRv
TlBWYXJpYW50KHJlc3VsdERhdGEpOworICAgIHJldHVybiB0cnVlOwogfQogCiBOUENsYXNzKiBO
UE9iamVjdFByb3h5OjpucENsYXNzKCkKZGlmZiAtLWdpdCBhL1dlYktpdDIvU2hhcmVkL1BsdWdp
bnMvTlBSZW1vdGVPYmplY3RNYXAuY3BwIGIvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUFJlbW90
ZU9iamVjdE1hcC5jcHAKaW5kZXggZmFkYzcxMzQ0OGY4YmEwNzRhYTk2ODZjZDhlYWZiNDViNGQ4
MTI4Zi4uZThmM2M4M2Y0YWRmMTQ1YzExMTZjZmE5Y2ExZDI3Mjg1OWZjZjk4NCAxMDA2NDQKLS0t
IGEvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUFJlbW90ZU9iamVjdE1hcC5jcHAKKysrIGIvV2Vi
S2l0Mi9TaGFyZWQvUGx1Z2lucy9OUFJlbW90ZU9iamVjdE1hcC5jcHAKQEAgLTI5LDYgKzI5LDgg
QEAKIAogI2luY2x1ZGUgIk5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAiTlBP
YmplY3RQcm94eS5oIgorI2luY2x1ZGUgIk5QVmFyaWFudERhdGEuaCIKKyNpbmNsdWRlICJOb3RJ
bXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYktp
dCB7CkBAIC02MSwxMSArNjMsNjAgQEAgTlBPYmplY3QqIE5QUmVtb3RlT2JqZWN0TWFwOjpjcmVh
dGVOUE9iamVjdFByb3h5KHVpbnQ2NF90IHJlbW90ZU9iamVjdElEKQogdWludDY0X3QgTlBSZW1v
dGVPYmplY3RNYXA6OnJlZ2lzdGVyTlBPYmplY3QoTlBPYmplY3QqIG5wT2JqZWN0KQogewogICAg
IHVpbnQ2NF90IG5wT2JqZWN0SUQgPSBnZW5lcmF0ZU5QT2JqZWN0SUQoKTsKLSAgICBtX3JlZ2lz
dGVyZWROUE9iamVjdHMuc2V0KG5wT2JqZWN0SUQsIE5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyOjpj
cmVhdGUobnBPYmplY3QpLmxlYWtQdHIoKSk7CisgICAgbV9yZWdpc3RlcmVkTlBPYmplY3RzLnNl
dChucE9iamVjdElELCBOUE9iamVjdE1lc3NhZ2VSZWNlaXZlcjo6Y3JlYXRlKHRoaXMsIG5wT2Jq
ZWN0SUQsIG5wT2JqZWN0KS5sZWFrUHRyKCkpOwogCiAgICAgcmV0dXJuIG5wT2JqZWN0SUQ7CiB9
CiAKK3ZvaWQgTlBSZW1vdGVPYmplY3RNYXA6OnVucmVnaXN0ZXJOUE9iamVjdCh1aW50NjRfdCBu
cE9iamVjdElEKQoreworICAgIG1fcmVnaXN0ZXJlZE5QT2JqZWN0cy5yZW1vdmUobnBPYmplY3RJ
RCk7Cit9CisKK05QVmFyaWFudERhdGEgTlBSZW1vdGVPYmplY3RNYXA6Om5wVmFyaWFudFRvTlBW
YXJpYW50RGF0YShjb25zdCBOUFZhcmlhbnQmIHZhcmlhbnQpCit7CisgICAgc3dpdGNoICh2YXJp
YW50LnR5cGUpIHsKKyAgICBjYXNlIE5QVmFyaWFudFR5cGVfVm9pZDoKKyAgICAgICAgcmV0dXJu
IE5QVmFyaWFudERhdGE6Om1ha2VWb2lkKCk7CisKKyAgICBjYXNlIE5QVmFyaWFudFR5cGVfRG91
YmxlOgorICAgICAgICByZXR1cm4gTlBWYXJpYW50RGF0YTo6bWFrZURvdWJsZSh2YXJpYW50LnZh
bHVlLmRvdWJsZVZhbHVlKTsKKyAgICAgICAgICAgIAorICAgIGNhc2UgTlBWYXJpYW50VHlwZV9O
dWxsOgorICAgIGNhc2UgTlBWYXJpYW50VHlwZV9Cb29sOgorICAgIGNhc2UgTlBWYXJpYW50VHlw
ZV9JbnQzMjoKKyAgICBjYXNlIE5QVmFyaWFudFR5cGVfU3RyaW5nOgorICAgIGNhc2UgTlBWYXJp
YW50VHlwZV9PYmplY3Q6CisgICAgICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgICAgIHJldHVy
biBOUFZhcmlhbnREYXRhOjptYWtlVm9pZCgpOworICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOworICAgIHJldHVybiBOUFZhcmlhbnREYXRhOjptYWtlVm9pZCgpOworfQorCitOUFZh
cmlhbnQgTlBSZW1vdGVPYmplY3RNYXA6Om5wVmFyaWFudERhdGFUb05QVmFyaWFudChjb25zdCBO
UFZhcmlhbnREYXRhJiBucFZhcmlhbnREYXRhKQoreworICAgIE5QVmFyaWFudCBucFZhcmlhbnQ7
CisKKyAgICBzd2l0Y2ggKG5wVmFyaWFudERhdGEudHlwZSgpKSB7CisgICAgY2FzZSBOUFZhcmlh
bnREYXRhOjpWb2lkOgorICAgICAgICBWT0lEX1RPX05QVkFSSUFOVChucFZhcmlhbnQpOworICAg
ICAgICBicmVhazsKKyAgICBjYXNlIE5QVmFyaWFudERhdGE6OkRvdWJsZToKKyAgICAgICAgRE9V
QkxFX1RPX05QVkFSSUFOVChucFZhcmlhbnREYXRhLmRvdWJsZVZhbHVlKCksIG5wVmFyaWFudCk7
CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIHJldHVybiBucFZhcmlhbnQ7Cit9CisKK3Zv
aWQgTlBSZW1vdGVPYmplY3RNYXA6OmludmFsaWRhdGUoKQoreworICAgIC8vIEZJWE1FOiBJbnZh
bGlkYXRlIE5QT2JqZWN0UHJveHkgYW5kIE5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyIG9iamVjdHMu
CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwogQ29yZUlQQzo6U3luY1JlcGx5TW9kZSBOUFJl
bW90ZU9iamVjdE1hcDo6ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24q
IGNvbm5lY3Rpb24sIENvcmVJUEM6Ok1lc3NhZ2VJRCBtZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3Vt
ZW50RGVjb2RlciogYXJndW1lbnRzLCBDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIqIHJlcGx5KQog
ewogICAgIE5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyKiBtZXNzYWdlUmVjZWl2ZXIgPSBtX3JlZ2lz
dGVyZWROUE9iamVjdHMuZ2V0KGFyZ3VtZW50cy0+ZGVzdGluYXRpb25JRCgpKTsKZGlmZiAtLWdp
dCBhL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBSZW1vdGVPYmplY3RNYXAuaCBiL1dlYktpdDIv
U2hhcmVkL1BsdWdpbnMvTlBSZW1vdGVPYmplY3RNYXAuaAppbmRleCBmMGJmNDJhYmIwMjM1MmFk
ZTRkNjExYjU4ZmY2MTI1YTkwNjk1NmQ2Li41MzVlY2Q0OThkZmY2MmI5YmNhODkzODIzODIwMzJl
ZGUyZjhmMTAzIDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QUmVtb3RlT2Jq
ZWN0TWFwLmgKKysrIGIvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUFJlbW90ZU9iamVjdE1hcC5o
CkBAIC0zNyw2ICszNyw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBOUE9iamVjdE1l
c3NhZ2VSZWNlaXZlcjsKIGNsYXNzIE5QT2JqZWN0UHJveHk7CitjbGFzcyBOUFZhcmlhbnREYXRh
OwogCiBjbGFzcyBOUFJlbW90ZU9iamVjdE1hcCA6IHB1YmxpYyBSZWZDb3VudGVkPE5QUmVtb3Rl
T2JqZWN0TWFwPiB7CiBwdWJsaWM6CkBAIC00OCw5ICs0OSwxOCBAQCBwdWJsaWM6CiAKICAgICAv
LyBFeHBvc2UgdGhlIGdpdmVuIE5QT2JqZWN0IGFzIGEgcmVtb3RlIG9iamVjdC4gUmV0dXJucyB0
aGUgb2JqZWN0SUQuCiAgICAgdWludDY0X3QgcmVnaXN0ZXJOUE9iamVjdChOUE9iamVjdCopOwor
ICAgIHZvaWQgdW5yZWdpc3Rlck5QT2JqZWN0KHVpbnQ2NF90KTsKKworICAgIC8vIEdpdmVuIGFu
IE5QVmFyaWFudCwgY3JlYXRlcyBhbiBOUFZhcmlhbnREYXRhIG9iamVjdCAoYSBDb3JlSVBDIHJl
cHJlc2VudGF0aW9uIG9mIGFuIE5QVmFyaWFudCkuCisgICAgTlBWYXJpYW50RGF0YSBucFZhcmlh
bnRUb05QVmFyaWFudERhdGEoY29uc3QgTlBWYXJpYW50Jik7CisKKyAgICAvLyBHaXZlbiBhbiBO
UFZhcmlhbnREYXRhLCBjcmVhdGVzIGFuIE5QVmFyaWFudCBvYmplY3QuCisgICAgTlBWYXJpYW50
IG5wVmFyaWFudERhdGFUb05QVmFyaWFudChjb25zdCBOUFZhcmlhbnREYXRhJik7CiAKICAgICBD
b3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jb25uZWN0
aW9uOyB9CiAKKyAgICB2b2lkIGludmFsaWRhdGUoKTsKKwogICAgIENvcmVJUEM6OlN5bmNSZXBs
eU1vZGUgZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rp
b24sIENvcmVJUEM6Ok1lc3NhZ2VJRCBtZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2Rl
ciogYXJndW1lbnRzLCBDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIqIHJlcGx5KTsKIAogcHJpdmF0
ZToKZGlmZiAtLWdpdCBhL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBWYXJpYW50RGF0YS5jcHAg
Yi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QVmFyaWFudERhdGEuY3BwCmluZGV4IGYwYjFkNDg5
YTgyMmM1NDFlNWRhZTc5MWIwMGZjYTEyZWJlZWNkZjUuLmJiY2IyOGY1YjM5MjI0MTNhN2IyNzhh
OWNiMDJiOTVmY2Q2M2NhMDMgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBW
YXJpYW50RGF0YS5jcHAKKysrIGIvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUFZhcmlhbnREYXRh
LmNwcApAQCAtMjcsMTkgKzI3LDU5IEBACiAKICNpbmNsdWRlICJOUFZhcmlhbnREYXRhLmgiCiAK
KyNpbmNsdWRlICJBcmd1bWVudERlY29kZXIuaCIKKyNpbmNsdWRlICJBcmd1bWVudEVuY29kZXIu
aCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAot
dm9pZCBOUFZhcmlhbnREYXRhOjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyKikgY29u
c3QKK05QVmFyaWFudERhdGE6Ok5QVmFyaWFudERhdGEoKQorICAgIDogbV90eXBlKE5QVmFyaWFu
dERhdGE6OlZvaWQpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotYm9vbCBOUFZhcmlh
bnREYXRhOjpkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiwgTlBWYXJpYW50RGF0YSYp
CitOUFZhcmlhbnREYXRhIE5QVmFyaWFudERhdGE6Om1ha2VWb2lkKCkKIHsKLSAgICBub3RJbXBs
ZW1lbnRlZCgpOwotICAgIHJldHVybiBmYWxzZTsKKyAgICBOUFZhcmlhbnREYXRhIG5wVmFyaWFu
dERhdGE7CisKKyAgICByZXR1cm4gbnBWYXJpYW50RGF0YTsKK30KKworTlBWYXJpYW50RGF0YSBO
UFZhcmlhbnREYXRhOjptYWtlRG91YmxlKGRvdWJsZSB2YWx1ZSkKK3sKKyAgICBOUFZhcmlhbnRE
YXRhIG5wVmFyaWFudERhdGE7CisKKyAgICBucFZhcmlhbnREYXRhLm1fdHlwZSA9IE5QVmFyaWFu
dERhdGE6OkRvdWJsZTsKKyAgICBucFZhcmlhbnREYXRhLm1fZG91YmxlVmFsdWUgPSB2YWx1ZTsK
KworICAgIHJldHVybiBucFZhcmlhbnREYXRhOworfQorCit2b2lkIE5QVmFyaWFudERhdGE6OmVu
Y29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIqIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5j
b2Rlci0+ZW5jb2RlKG1fdHlwZSk7CisKKyAgICBzd2l0Y2ggKHR5cGUoKSkgeworICAgIGNhc2Ug
TlBWYXJpYW50RGF0YTo6Vm9pZDoKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBOUFZhcmlhbnRE
YXRhOjpEb3VibGU6CisgICAgICAgIGVuY29kZXItPmVuY29kZShtX2RvdWJsZVZhbHVlKTsKKyAg
ICB9Cit9CisKK2Jvb2wgTlBWYXJpYW50RGF0YTo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVj
b2RlciogZGVjb2RlciwgTlBWYXJpYW50RGF0YSYgcmVzdWx0KQoreworICAgIGlmICghZGVjb2Rl
ci0+ZGVjb2RlKHJlc3VsdC5tX3R5cGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBz
d2l0Y2ggKHJlc3VsdC5tX3R5cGUpIHsKKyAgICBjYXNlIE5QVmFyaWFudERhdGE6OlZvaWQ6Cisg
ICAgICAgIHJldHVybiB0cnVlOworICAgIGNhc2UgTlBWYXJpYW50RGF0YTo6RG91YmxlOgorICAg
ICAgICByZXR1cm4gZGVjb2Rlci0+ZGVjb2RlKHJlc3VsdC5tX2RvdWJsZVZhbHVlKTsKKyAgICBk
ZWZhdWx0OgorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQogfQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBWYXJpYW50RGF0
YS5oIGIvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUFZhcmlhbnREYXRhLmgKaW5kZXggNzM0YWU5
NzhjZmFjZGE3ZGQ1YmRmZDY5OWI3OWU4Njk0Y2RlZTQ4Ny4uZTdjZDgzZmIxZTA5YjRhNjg2YmE4
MDNiZWQ2NjEzOTY4ZGQ5YTA1YSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9O
UFZhcmlhbnREYXRhLmgKKysrIGIvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUFZhcmlhbnREYXRh
LmgKQEAgLTM5LDkgKzM5LDI5IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBOUFZhcmlh
bnREYXRhIHsKIHB1YmxpYzoKKyAgICBlbnVtIFR5cGUgeworICAgICAgICBWb2lkLAorICAgICAg
ICBEb3VibGUsCisgICAgfTsKKyAgICBOUFZhcmlhbnREYXRhKCk7CisKKyAgICBzdGF0aWMgTlBW
YXJpYW50RGF0YSBtYWtlVm9pZCgpOworICAgIHN0YXRpYyBOUFZhcmlhbnREYXRhIG1ha2VEb3Vi
bGUoZG91YmxlIHZhbHVlKTsKKworICAgIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRp
Y19jYXN0PFR5cGU+KG1fdHlwZSk7IH0KKworICAgIGRvdWJsZSBkb3VibGVWYWx1ZSgpIGNvbnN0
CisgICAgeworICAgICAgICBBU1NFUlQodHlwZSgpID09IE5QVmFyaWFudERhdGE6OkRvdWJsZSk7
CisgICAgICAgIHJldHVybiBtX2RvdWJsZVZhbHVlOworICAgIH0KKwogICAgIHZvaWQgZW5jb2Rl
KENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciopIGNvbnN0OwogICAgIHN0YXRpYyBib29sIGRlY29k
ZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqLCBOUFZhcmlhbnREYXRhJik7Ci0gICAgCisKK3By
aXZhdGU6CisgICAgdWludDMyX3QgbV90eXBlOworICAgIGRvdWJsZSBtX2RvdWJsZVZhbHVlOwog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUHJveHkuY3BwIGIvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5
LmNwcAppbmRleCBhYzMxMTMzZTNmMGEzZjY2N2ViMmM2YzAwOTY5ZWFhYmQwYzQ3YmQwLi5iYmEx
OTQ4Y2M5MTYyZGJmMzYzNGM0Y2RmYWYwZmZjOTM5OThmZDkyIDEwMDY0NAotLS0gYS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQcm94eS5jcHAKQEAgLTQwMSw3ICs0MDEsNyBAQCBDb3JlSVBDOjpTeW5jUmVwbHlN
b2RlIFdlYlByb2Nlc3NQcm94eTo6ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKENvcmVJUEM6OkNvbm5l
Y3RpbwogCiB2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZGlkQ2xvc2UoQ29yZUlQQzo6Q29ubmVjdGlv
biopCiB7Ci0gICAgbV9jb25uZWN0aW9uID0gMDsKKyAgICBtX2Nvbm5lY3Rpb24gPSBudWxscHRy
OwogICAgIG1fcmVzcG9uc2l2ZW5lc3NUaW1lci5zdG9wKCk7CiAKICAgICBWZWN0b3I8UmVmUHRy
PFdlYkZyYW1lUHJveHk+ID4gZnJhbWVzOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwIGIvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCmluZGV4IDAxM2JjMTY4NTY4NGMz
NWVjNmJkMzY4MDU4NzhkZWJiMGNkMzI3ZGMuLjdjMDllNTZiNmY1ZmI4NjcyZTkzZGUxNjBjZjM3
YTFlZDY4ZDU4NTIgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
blByb2Nlc3NDb25uZWN0aW9uLmNwcAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9Q
bHVnaW5Qcm9jZXNzQ29ubmVjdGlvbi5jcHAKQEAgLTQ2LDYgKzQ2LDggQEAgUGx1Z2luUHJvY2Vz
c0Nvbm5lY3Rpb246OlBsdWdpblByb2Nlc3NDb25uZWN0aW9uKFBsdWdpblByb2Nlc3NDb25uZWN0
aW9uTWFuYWdlcioKIAogUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb246On5QbHVnaW5Qcm9jZXNzQ29u
bmVjdGlvbigpCiB7CisgICAgQVNTRVJUKCFtX2Nvbm5lY3Rpb24pOworICAgIEFTU0VSVCghbV9u
cFJlbW90ZU9iamVjdE1hcCk7CiB9CiAKIHZvaWQgUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb246OmFk
ZFBsdWdpblByb3h5KFBsdWdpblByb3h5KiBwbHVnaW4pCkBAIC02Miw2ICs2NCwxMCBAQCB2b2lk
IFBsdWdpblByb2Nlc3NDb25uZWN0aW9uOjpyZW1vdmVQbHVnaW5Qcm94eShQbHVnaW5Qcm94eSog
cGx1Z2luKQogICAgIGlmICghbV9wbHVnaW5zLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwog
CisgICAgLy8gSW52YWxpZGF0ZSBvdXIgcmVtb3RlIG9iamVjdCBtYXAuCisgICAgbV9ucFJlbW90
ZU9iamVjdE1hcC0+aW52YWxpZGF0ZSgpOworICAgIG1fbnBSZW1vdGVPYmplY3RNYXAgPSAwOwor
ICAgIAogICAgIC8vIFdlIGhhdmUgbm8gbW9yZSBwbHVnLWlucywgaW52YWxpZGF0ZSB0aGUgY29u
bmVjdGlvbiB0byB0aGUgcGx1Zy1pbiBwcm9jZXNzLgogICAgIEFTU0VSVChtX2Nvbm5lY3Rpb24p
OwogICAgIG1fY29ubmVjdGlvbi0+aW52YWxpZGF0ZSgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
Y3BwCmluZGV4IDY2YzY5N2U1YmUzZDM5ZDQ4ZDg4YmRhMmM4YWI3MThiZGRhMzAxZDYuLjRkMjQz
ZmU2YWIxNTlhMmQyMmViYzgxYzJlMjk4NWE1YzcwYWIzYmUgMTAwNjQ0Ci0tLSBhL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5jcHAKQEAgLTI4NCw3ICsyODQsNyBAQCB2b2lkIFdlYlByb2Nlc3M6OnNodXRkb3duKCkK
IAogICAgIC8vIEludmFsaWRhdGUgb3VyIGNvbm5lY3Rpb24uCiAgICAgbV9jb25uZWN0aW9uLT5p
bnZhbGlkYXRlKCk7Ci0gICAgbV9jb25uZWN0aW9uID0gMDsKKyAgICBtX2Nvbm5lY3Rpb24gPSBu
dWxscHRyOwogCiAgICAgbV9ydW5Mb29wLT5zdG9wKCk7CiB9Cg==
</data>
<flag name="review"
          id="62985"
          type_id="1"
          status="+"
          setter="aroben"
    />
          </attachment>
      

    </bug>

</bugzilla>