<?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>56506</bug_id>
          
          <creation_ts>2011-03-16 17:02:51 -0700</creation_ts>
          <short_desc>NPObjectProxy and NPObjectMessageReceiver objects should know their Plugin object</short_desc>
          <delta_ts>2011-03-16 17:12:18 -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>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>368656</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-03-16 17:02:51 -0700</bug_when>
    <thetext>NPObjectProxy and NPObjectMessageReceiver objects should know their Plugin object</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368659</commentid>
    <comment_count>1</comment_count>
      <attachid>86003</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-03-16 17:07:49 -0700</bug_when>
    <thetext>Created attachment 86003
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368663</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-03-16 17:12:18 -0700</bug_when>
    <thetext>Committed r81296: &lt;http://trac.webkit.org/changeset/81296&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86003</attachid>
            <date>2011-03-16 17:07:49 -0700</date>
            <delta_ts>2011-03-16 17:11:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56506-20110316170747.patch</filename>
            <type>text/plain</type>
            <size>23432</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDgxMjk0KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDcgQEAKKzIwMTEtMDMtMTYgIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBOUE9iamVjdFByb3h5IGFuZCBOUE9iamVjdE1lc3NhZ2VS
ZWNlaXZlciBvYmplY3RzIHNob3VsZCBrbm93IHRoZWlyIFBsdWdpbiBvYmplY3QKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU2NTA2CisKKyAgICAgICAg
KiBQbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OlBsdWdpbkNvbnRyb2xsZXJQcm94eTo6d2luZG93U2NyaXB0TlBPYmplY3QpOgorICAgICAg
ICAoV2ViS2l0OjpQbHVnaW5Db250cm9sbGVyUHJveHk6OnBsdWdpbkVsZW1lbnROUE9iamVjdCk6
CisgICAgICAgIChXZWJLaXQ6OlBsdWdpbkNvbnRyb2xsZXJQcm94eTo6ZXZhbHVhdGUpOgorICAg
ICAgICAoV2ViS2l0OjpQbHVnaW5Db250cm9sbGVyUHJveHk6OmdldFBsdWdpblNjcmlwdGFibGVO
UE9iamVjdCk6CisgICAgICAgICogU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNzYWdlUmVjZWl2
ZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpOUE9iamVjdE1lc3NhZ2VSZWNlaXZlcjo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYktpdDo6TlBPYmplY3RNZXNzYWdlUmVjZWl2ZXI6Ok5QT2JqZWN0TWVz
c2FnZVJlY2VpdmVyKToKKyAgICAgICAgKFdlYktpdDo6TlBPYmplY3RNZXNzYWdlUmVjZWl2ZXI6
Omludm9rZSk6CisgICAgICAgIChXZWJLaXQ6Ok5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyOjppbnZv
a2VEZWZhdWx0KToKKyAgICAgICAgKFdlYktpdDo6TlBPYmplY3RNZXNzYWdlUmVjZWl2ZXI6Omdl
dFByb3BlcnR5KToKKyAgICAgICAgKFdlYktpdDo6TlBPYmplY3RNZXNzYWdlUmVjZWl2ZXI6OnNl
dFByb3BlcnR5KToKKyAgICAgICAgKFdlYktpdDo6TlBPYmplY3RNZXNzYWdlUmVjZWl2ZXI6OmNv
bnN0cnVjdCk6CisgICAgICAgICogU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNzYWdlUmVjZWl2
ZXIuaDoKKyAgICAgICAgKiBTaGFyZWQvUGx1Z2lucy9OUE9iamVjdFByb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6TlBPYmplY3RQcm94eTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6TlBP
YmplY3RQcm94eTo6TlBPYmplY3RQcm94eSk6CisgICAgICAgIChXZWJLaXQ6Ok5QT2JqZWN0UHJv
eHk6OmludmFsaWRhdGUpOgorICAgICAgICAoV2ViS2l0OjpOUE9iamVjdFByb3h5Ojppbml0aWFs
aXplKToKKyAgICAgICAgKFdlYktpdDo6TlBPYmplY3RQcm94eTo6aW52b2tlKToKKyAgICAgICAg
KFdlYktpdDo6TlBPYmplY3RQcm94eTo6aW52b2tlRGVmYXVsdCk6CisgICAgICAgIChXZWJLaXQ6
Ok5QT2JqZWN0UHJveHk6OmdldFByb3BlcnR5KToKKyAgICAgICAgKFdlYktpdDo6TlBPYmplY3RQ
cm94eTo6c2V0UHJvcGVydHkpOgorICAgICAgICAoV2ViS2l0OjpOUE9iamVjdFByb3h5Ojpjb25z
dHJ1Y3QpOgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaDoKKyAgICAg
ICAgKiBTaGFyZWQvUGx1Z2lucy9OUFJlbW90ZU9iamVjdE1hcC5jcHA6CisgICAgICAgIChXZWJL
aXQ6Ok5QUmVtb3RlT2JqZWN0TWFwOjpjcmVhdGVOUE9iamVjdFByb3h5KToKKyAgICAgICAgKFdl
YktpdDo6TlBSZW1vdGVPYmplY3RNYXA6OnJlZ2lzdGVyTlBPYmplY3QpOgorICAgICAgICAoV2Vi
S2l0OjpOUFJlbW90ZU9iamVjdE1hcDo6bnBWYXJpYW50VG9OUFZhcmlhbnREYXRhKToKKyAgICAg
ICAgKFdlYktpdDo6TlBSZW1vdGVPYmplY3RNYXA6Om5wVmFyaWFudERhdGFUb05QVmFyaWFudCk6
CisgICAgICAgICogU2hhcmVkL1BsdWdpbnMvTlBSZW1vdGVPYmplY3RNYXAuaDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpQ
bHVnaW5Qcm94eTo6cGx1Z2luU2NyaXB0YWJsZU5QT2JqZWN0KToKKyAgICAgICAgKFdlYktpdDo6
UGx1Z2luUHJveHk6OmdldFdpbmRvd1NjcmlwdE5QT2JqZWN0KToKKyAgICAgICAgKFdlYktpdDo6
UGx1Z2luUHJveHk6OmdldFBsdWdpbkVsZW1lbnROUE9iamVjdCk6CisgICAgICAgIChXZWJLaXQ6
OlBsdWdpblByb3h5OjpldmFsdWF0ZSk6CisKIDIwMTEtMDMtMTYgIEJldGggRGFraW4gIDxiZGFr
aW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDog
U291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxl
clByb3h5LmNwcAkocmV2aXNpb24gODEyODcpCisrKyBTb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9j
ZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5OSw3ICsx
OTksNyBAQCBOUE9iamVjdCogUGx1Z2luQ29udHJvbGxlclByb3h5Ojp3aW5kb3dTCiAgICAgaWYg
KCF3aW5kb3dTY3JpcHROUE9iamVjdElEKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIHJldHVy
biBtX2Nvbm5lY3Rpb24tPm5wUmVtb3RlT2JqZWN0TWFwKCktPmNyZWF0ZU5QT2JqZWN0UHJveHko
d2luZG93U2NyaXB0TlBPYmplY3RJRCk7CisgICAgcmV0dXJuIG1fY29ubmVjdGlvbi0+bnBSZW1v
dGVPYmplY3RNYXAoKS0+Y3JlYXRlTlBPYmplY3RQcm94eSh3aW5kb3dTY3JpcHROUE9iamVjdElE
LCBtX3BsdWdpbi5nZXQoKSk7CiB9CiAKIE5QT2JqZWN0KiBQbHVnaW5Db250cm9sbGVyUHJveHk6
OnBsdWdpbkVsZW1lbnROUE9iamVjdCgpCkBAIC0yMTIsNyArMjEyLDcgQEAgTlBPYmplY3QqIFBs
dWdpbkNvbnRyb2xsZXJQcm94eTo6cGx1Z2luRQogICAgIGlmICghcGx1Z2luRWxlbWVudE5QT2Jq
ZWN0SUQpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgcmV0dXJuIG1fY29ubmVjdGlvbi0+bnBS
ZW1vdGVPYmplY3RNYXAoKS0+Y3JlYXRlTlBPYmplY3RQcm94eShwbHVnaW5FbGVtZW50TlBPYmpl
Y3RJRCk7CisgICAgcmV0dXJuIG1fY29ubmVjdGlvbi0+bnBSZW1vdGVPYmplY3RNYXAoKS0+Y3Jl
YXRlTlBPYmplY3RQcm94eShwbHVnaW5FbGVtZW50TlBPYmplY3RJRCwgbV9wbHVnaW4uZ2V0KCkp
OwogfQogCiBib29sIFBsdWdpbkNvbnRyb2xsZXJQcm94eTo6ZXZhbHVhdGUoTlBPYmplY3QqIG5w
T2JqZWN0LCBjb25zdCBTdHJpbmcmIHNjcmlwdFN0cmluZywgTlBWYXJpYW50KiByZXN1bHQsIGJv
b2wgYWxsb3dQb3B1cHMpCkBAIC0yMjMsNyArMjIzLDcgQEAgYm9vbCBQbHVnaW5Db250cm9sbGVy
UHJveHk6OmV2YWx1YXRlKE5QTwogICAgIE9CSkVDVF9UT19OUFZBUklBTlQobnBPYmplY3QsIG5w
T2JqZWN0QXNOUFZhcmlhbnQpOwogCiAgICAgLy8gU2VuZCB0aGUgTlBPYmplY3Qgb3ZlciBhcyBh
biBOUFZhcmlhbnREYXRhLgotICAgIE5QVmFyaWFudERhdGEgbnBPYmplY3RBc05QVmFyaWFudERh
dGEgPSBtX2Nvbm5lY3Rpb24tPm5wUmVtb3RlT2JqZWN0TWFwKCktPm5wVmFyaWFudFRvTlBWYXJp
YW50RGF0YShucE9iamVjdEFzTlBWYXJpYW50KTsKKyAgICBOUFZhcmlhbnREYXRhIG5wT2JqZWN0
QXNOUFZhcmlhbnREYXRhID0gbV9jb25uZWN0aW9uLT5ucFJlbW90ZU9iamVjdE1hcCgpLT5ucFZh
cmlhbnRUb05QVmFyaWFudERhdGEobnBPYmplY3RBc05QVmFyaWFudCwgbV9wbHVnaW4uZ2V0KCkp
OwogCiAgICAgYm9vbCByZXR1cm5WYWx1ZSA9IGZhbHNlOwogICAgIE5QVmFyaWFudERhdGEgcmVz
dWx0RGF0YTsKQEAgLTIzNCw3ICsyMzQsNyBAQCBib29sIFBsdWdpbkNvbnRyb2xsZXJQcm94eTo6
ZXZhbHVhdGUoTlBPCiAgICAgaWYgKCFyZXR1cm5WYWx1ZSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCi0gICAgKnJlc3VsdCA9IG1fY29ubmVjdGlvbi0+bnBSZW1vdGVPYmplY3RNYXAoKS0+bnBW
YXJpYW50RGF0YVRvTlBWYXJpYW50KHJlc3VsdERhdGEpOworICAgICpyZXN1bHQgPSBtX2Nvbm5l
Y3Rpb24tPm5wUmVtb3RlT2JqZWN0TWFwKCktPm5wVmFyaWFudERhdGFUb05QVmFyaWFudChyZXN1
bHREYXRhLCBtX3BsdWdpbi5nZXQoKSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTQ1OSw3
ICs0NTksNyBAQCB2b2lkIFBsdWdpbkNvbnRyb2xsZXJQcm94eTo6Z2V0UGx1Z2luU2NyCiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAgICAgCi0gICAgcGx1Z2luU2NyaXB0YWJsZU5QT2JqZWN0SUQg
PSBtX2Nvbm5lY3Rpb24tPm5wUmVtb3RlT2JqZWN0TWFwKCktPnJlZ2lzdGVyTlBPYmplY3QocGx1
Z2luU2NyaXB0YWJsZU5QT2JqZWN0KTsKKyAgICBwbHVnaW5TY3JpcHRhYmxlTlBPYmplY3RJRCA9
IG1fY29ubmVjdGlvbi0+bnBSZW1vdGVPYmplY3RNYXAoKS0+cmVnaXN0ZXJOUE9iamVjdChwbHVn
aW5TY3JpcHRhYmxlTlBPYmplY3QsIG1fcGx1Z2luLmdldCgpKTsKICAgICByZWxlYXNlTlBPYmpl
Y3QocGx1Z2luU2NyaXB0YWJsZU5QT2JqZWN0KTsKIH0KIApJbmRleDogU291cmNlL1dlYktpdDIv
U2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLmNw
cAkocmV2aXNpb24gODEyODcpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9i
amVjdE1lc3NhZ2VSZWNlaXZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDEzICszOCwxNCBA
QAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotUGFzc093blB0cjxOUE9iamVjdE1lc3NhZ2VSZWNl
aXZlcj4gTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXI6OmNyZWF0ZShOUFJlbW90ZU9iamVjdE1hcCog
bnBSZW1vdGVPYmplY3RNYXAsIHVpbnQ2NF90IG5wT2JqZWN0SUQsIE5QT2JqZWN0KiBucE9iamVj
dCkKK1Bhc3NPd25QdHI8TlBPYmplY3RNZXNzYWdlUmVjZWl2ZXI+IE5QT2JqZWN0TWVzc2FnZVJl
Y2VpdmVyOjpjcmVhdGUoTlBSZW1vdGVPYmplY3RNYXAqIG5wUmVtb3RlT2JqZWN0TWFwLCBQbHVn
aW4qIHBsdWdpbiwgdWludDY0X3QgbnBPYmplY3RJRCwgTlBPYmplY3QqIG5wT2JqZWN0KQogewot
ICAgIHJldHVybiBhZG9wdFB0cihuZXcgTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIobnBSZW1vdGVP
YmplY3RNYXAsIG5wT2JqZWN0SUQsIG5wT2JqZWN0KSk7CisgICAgcmV0dXJuIGFkb3B0UHRyKG5l
dyBOUE9iamVjdE1lc3NhZ2VSZWNlaXZlcihucFJlbW90ZU9iamVjdE1hcCwgcGx1Z2luLCBucE9i
amVjdElELCBucE9iamVjdCkpOwogfQogCi1OUE9iamVjdE1lc3NhZ2VSZWNlaXZlcjo6TlBPYmpl
Y3RNZXNzYWdlUmVjZWl2ZXIoTlBSZW1vdGVPYmplY3RNYXAqIG5wUmVtb3RlT2JqZWN0TWFwLCB1
aW50NjRfdCBucE9iamVjdElELCBOUE9iamVjdCogbnBPYmplY3QpCitOUE9iamVjdE1lc3NhZ2VS
ZWNlaXZlcjo6TlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIoTlBSZW1vdGVPYmplY3RNYXAqIG5wUmVt
b3RlT2JqZWN0TWFwLCBQbHVnaW4qIHBsdWdpbiwgdWludDY0X3QgbnBPYmplY3RJRCwgTlBPYmpl
Y3QqIG5wT2JqZWN0KQogICAgIDogbV9ucFJlbW90ZU9iamVjdE1hcChucFJlbW90ZU9iamVjdE1h
cCkKKyAgICAsIG1fcGx1Z2luKHBsdWdpbikKICAgICAsIG1fbnBPYmplY3RJRChucE9iamVjdElE
KQogICAgICwgbV9ucE9iamVjdChucE9iamVjdCkKICAgICAsIG1fc2hvdWxkUmVsZWFzZU9iamVj
dFdoZW5JbnZhbGlkYXRpbmcoIU5QSlNPYmplY3Q6OmlzTlBKU09iamVjdChucE9iamVjdCkpCkBA
IC05MCw3ICs5MSw3IEBAIHZvaWQgTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXI6Omludm9rZShjb24K
IAogICAgIFZlY3RvcjxOUFZhcmlhbnQ+IGFyZ3VtZW50czsKICAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IGFyZ3VtZW50c0RhdGEuc2l6ZSgpOyArK2kpCi0gICAgICAgIGFyZ3VtZW50cy5hcHBl
bmQobV9ucFJlbW90ZU9iamVjdE1hcC0+bnBWYXJpYW50RGF0YVRvTlBWYXJpYW50KGFyZ3VtZW50
c0RhdGFbaV0pKTsKKyAgICAgICAgYXJndW1lbnRzLmFwcGVuZChtX25wUmVtb3RlT2JqZWN0TWFw
LT5ucFZhcmlhbnREYXRhVG9OUFZhcmlhbnQoYXJndW1lbnRzRGF0YVtpXSwgbV9wbHVnaW4pKTsK
IAogICAgIE5QVmFyaWFudCByZXN1bHQ7CiAgICAgVk9JRF9UT19OUFZBUklBTlQocmVzdWx0KTsK
QEAgLTk4LDcgKzk5LDcgQEAgdm9pZCBOUE9iamVjdE1lc3NhZ2VSZWNlaXZlcjo6aW52b2tlKGNv
bgogICAgIHJldHVyblZhbHVlID0gbV9ucE9iamVjdC0+X2NsYXNzLT5pbnZva2UobV9ucE9iamVj
dCwgbWV0aG9kTmFtZURhdGEuY3JlYXRlTlBJZGVudGlmaWVyKCksIGFyZ3VtZW50cy5kYXRhKCks
IGFyZ3VtZW50cy5zaXplKCksICZyZXN1bHQpOwogICAgIGlmIChyZXR1cm5WYWx1ZSkgewogICAg
ICAgICAvLyBDb252ZXJ0IHRoZSBOUFZhcmlhbnQgdG8gYW4gTlBWYXJpYW50RGF0YS4KLSAgICAg
ICAgcmVzdWx0RGF0YSA9IG1fbnBSZW1vdGVPYmplY3RNYXAtPm5wVmFyaWFudFRvTlBWYXJpYW50
RGF0YShyZXN1bHQpOworICAgICAgICByZXN1bHREYXRhID0gbV9ucFJlbW90ZU9iamVjdE1hcC0+
bnBWYXJpYW50VG9OUFZhcmlhbnREYXRhKHJlc3VsdCwgbV9wbHVnaW4pOwogICAgIH0KIAogICAg
IC8vIFJlbGVhc2UgYWxsIGFyZ3VtZW50cy4KQEAgLTExOCw3ICsxMTksNyBAQCB2b2lkIE5QT2Jq
ZWN0TWVzc2FnZVJlY2VpdmVyOjppbnZva2VEZWZhCiAKICAgICBWZWN0b3I8TlBWYXJpYW50PiBh
cmd1bWVudHM7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBhcmd1bWVudHNEYXRhLnNpemUo
KTsgKytpKQotICAgICAgICBhcmd1bWVudHMuYXBwZW5kKG1fbnBSZW1vdGVPYmplY3RNYXAtPm5w
VmFyaWFudERhdGFUb05QVmFyaWFudChhcmd1bWVudHNEYXRhW2ldKSk7CisgICAgICAgIGFyZ3Vt
ZW50cy5hcHBlbmQobV9ucFJlbW90ZU9iamVjdE1hcC0+bnBWYXJpYW50RGF0YVRvTlBWYXJpYW50
KGFyZ3VtZW50c0RhdGFbaV0sIG1fcGx1Z2luKSk7CiAKICAgICBOUFZhcmlhbnQgcmVzdWx0Owog
ICAgIFZPSURfVE9fTlBWQVJJQU5UKHJlc3VsdCk7CkBAIC0xMjYsNyArMTI3LDcgQEAgdm9pZCBO
UE9iamVjdE1lc3NhZ2VSZWNlaXZlcjo6aW52b2tlRGVmYQogICAgIHJldHVyblZhbHVlID0gbV9u
cE9iamVjdC0+X2NsYXNzLT5pbnZva2VEZWZhdWx0KG1fbnBPYmplY3QsIGFyZ3VtZW50cy5kYXRh
KCksIGFyZ3VtZW50cy5zaXplKCksICZyZXN1bHQpOwogICAgIGlmIChyZXR1cm5WYWx1ZSkgewog
ICAgICAgICAvLyBDb252ZXJ0IHRoZSBOUFZhcmlhbnQgdG8gYW4gTlBWYXJpYW50RGF0YS4KLSAg
ICAgICAgcmVzdWx0RGF0YSA9IG1fbnBSZW1vdGVPYmplY3RNYXAtPm5wVmFyaWFudFRvTlBWYXJp
YW50RGF0YShyZXN1bHQpOworICAgICAgICByZXN1bHREYXRhID0gbV9ucFJlbW90ZU9iamVjdE1h
cC0+bnBWYXJpYW50VG9OUFZhcmlhbnREYXRhKHJlc3VsdCwgbV9wbHVnaW4pOwogICAgIH0KIAog
ICAgIC8vIFJlbGVhc2UgYWxsIGFyZ3VtZW50cy4KQEAgLTE2MCw3ICsxNjEsNyBAQCB2b2lkIE5Q
T2JqZWN0TWVzc2FnZVJlY2VpdmVyOjpnZXRQcm9wZXJ0CiAgICAgICAgIHJldHVybjsKIAogICAg
IC8vIENvbnZlcnQgdGhlIE5QVmFyaWFudCB0byBhbiBOUFZhcmlhbnREYXRhLgotICAgIHJlc3Vs
dERhdGEgPSBtX25wUmVtb3RlT2JqZWN0TWFwLT5ucFZhcmlhbnRUb05QVmFyaWFudERhdGEocmVz
dWx0KTsKKyAgICByZXN1bHREYXRhID0gbV9ucFJlbW90ZU9iamVjdE1hcC0+bnBWYXJpYW50VG9O
UFZhcmlhbnREYXRhKHJlc3VsdCwgbV9wbHVnaW4pOwogCiAgICAgLy8gQW5kIHJlbGVhc2UgdGhl
IHJlc3VsdC4KICAgICByZWxlYXNlTlBWYXJpYW50VmFsdWUoJnJlc3VsdCk7CkBAIC0xNzMsNyAr
MTc0LDcgQEAgdm9pZCBOUE9iamVjdE1lc3NhZ2VSZWNlaXZlcjo6c2V0UHJvcGVydAogICAgICAg
ICByZXR1cm47CiAgICAgfQogCi0gICAgTlBWYXJpYW50IHByb3BlcnR5VmFsdWUgPSBtX25wUmVt
b3RlT2JqZWN0TWFwLT5ucFZhcmlhbnREYXRhVG9OUFZhcmlhbnQocHJvcGVydHlWYWx1ZURhdGEp
OworICAgIE5QVmFyaWFudCBwcm9wZXJ0eVZhbHVlID0gbV9ucFJlbW90ZU9iamVjdE1hcC0+bnBW
YXJpYW50RGF0YVRvTlBWYXJpYW50KHByb3BlcnR5VmFsdWVEYXRhLCBtX3BsdWdpbik7CiAKICAg
ICAvLyBTZXQgdGhlIHByb3BlcnR5LgogICAgIHJldHVyblZhbHVlID0gbV9ucE9iamVjdC0+X2Ns
YXNzLT5zZXRQcm9wZXJ0eShtX25wT2JqZWN0LCBwcm9wZXJ0eU5hbWVEYXRhLmNyZWF0ZU5QSWRl
bnRpZmllcigpLCAmcHJvcGVydHlWYWx1ZSk7CkBAIC0yMjEsNyArMjIyLDcgQEAgdm9pZCBOUE9i
amVjdE1lc3NhZ2VSZWNlaXZlcjo6Y29uc3RydWN0KAogCiAgICAgVmVjdG9yPE5QVmFyaWFudD4g
YXJndW1lbnRzOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYXJndW1lbnRzRGF0YS5zaXpl
KCk7ICsraSkKLSAgICAgICAgYXJndW1lbnRzLmFwcGVuZChtX25wUmVtb3RlT2JqZWN0TWFwLT5u
cFZhcmlhbnREYXRhVG9OUFZhcmlhbnQoYXJndW1lbnRzRGF0YVtpXSkpOworICAgICAgICBhcmd1
bWVudHMuYXBwZW5kKG1fbnBSZW1vdGVPYmplY3RNYXAtPm5wVmFyaWFudERhdGFUb05QVmFyaWFu
dChhcmd1bWVudHNEYXRhW2ldLCBtX3BsdWdpbikpOwogCiAgICAgTlBWYXJpYW50IHJlc3VsdDsK
ICAgICBWT0lEX1RPX05QVkFSSUFOVChyZXN1bHQpOwpAQCAtMjI5LDcgKzIzMCw3IEBAIHZvaWQg
TlBPYmplY3RNZXNzYWdlUmVjZWl2ZXI6OmNvbnN0cnVjdCgKICAgICByZXR1cm5WYWx1ZSA9IG1f
bnBPYmplY3QtPl9jbGFzcy0+Y29uc3RydWN0KG1fbnBPYmplY3QsIGFyZ3VtZW50cy5kYXRhKCks
IGFyZ3VtZW50cy5zaXplKCksICZyZXN1bHQpOwogICAgIGlmIChyZXR1cm5WYWx1ZSkgewogICAg
ICAgICAvLyBDb252ZXJ0IHRoZSBOUFZhcmlhbnQgdG8gYW4gTlBWYXJpYW50RGF0YS4KLSAgICAg
ICAgcmVzdWx0RGF0YSA9IG1fbnBSZW1vdGVPYmplY3RNYXAtPm5wVmFyaWFudFRvTlBWYXJpYW50
RGF0YShyZXN1bHQpOworICAgICAgICByZXN1bHREYXRhID0gbV9ucFJlbW90ZU9iamVjdE1hcC0+
bnBWYXJpYW50VG9OUFZhcmlhbnREYXRhKHJlc3VsdCwgbV9wbHVnaW4pOwogICAgIH0KIAogICAg
IC8vIFJlbGVhc2UgYWxsIGFyZ3VtZW50cy4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9Q
bHVnaW5zL05QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuaAkocmV2aXNpb24g
ODEyODcpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdE1lc3NhZ2VS
ZWNlaXZlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOCwxMiArMzgsMTMgQEAgbmFtZXNwYWNlIFdl
YktpdCB7CiBjbGFzcyBOUElkZW50aWZpZXJEYXRhOwogY2xhc3MgTlBSZW1vdGVPYmplY3RNYXA7
CiBjbGFzcyBOUFZhcmlhbnREYXRhOworY2xhc3MgUGx1Z2luOwogCiBjbGFzcyBOUE9iamVjdE1l
c3NhZ2VSZWNlaXZlciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTlBPYmplY3RNZXNzYWdl
UmVjZWl2ZXIpOwogCiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8TlBPYmplY3RNZXNz
YWdlUmVjZWl2ZXI+IGNyZWF0ZShOUFJlbW90ZU9iamVjdE1hcCogbnBSZW1vdGVPYmplY3RNYXAs
IHVpbnQ2NF90IG5wT2JqZWN0SUQsIE5QT2JqZWN0KiBucE9iamVjdCk7CisgICAgc3RhdGljIFBh
c3NPd25QdHI8TlBPYmplY3RNZXNzYWdlUmVjZWl2ZXI+IGNyZWF0ZShOUFJlbW90ZU9iamVjdE1h
cCosIFBsdWdpbiosIHVpbnQ2NF90IG5wT2JqZWN0SUQsIE5QT2JqZWN0Kik7CiAgICAgfk5QT2Jq
ZWN0TWVzc2FnZVJlY2VpdmVyKCk7CiAKICAgICBDb3JlSVBDOjpTeW5jUmVwbHlNb2RlIGRpZFJl
Y2VpdmVTeW5jTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXJNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rp
b24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciosIENvcmVJ
UEM6OkFyZ3VtZW50RW5jb2RlciopOwpAQCAtNTEsNyArNTIsNyBAQCBwdWJsaWM6CiAgICAgTlBP
YmplY3QqIG5wT2JqZWN0KCkgY29uc3QgeyByZXR1cm4gbV9ucE9iamVjdDsgfQogICAgIAogcHJp
dmF0ZToKLSAgICBOUE9iamVjdE1lc3NhZ2VSZWNlaXZlcihOUFJlbW90ZU9iamVjdE1hcCogbnBS
ZW1vdGVPYmplY3RNYXAsIHVpbnQ2NF90IG5wT2JqZWN0SUQsIE5QT2JqZWN0KiBucE9iamVjdCk7
CisgICAgTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIoTlBSZW1vdGVPYmplY3RNYXAqLCBQbHVnaW4q
LCB1aW50NjRfdCBucE9iamVjdElELCBOUE9iamVjdCopOwogCiAgICAgLy8gTWVzc2FnZSBoYW5k
bGVycy4KICAgICB2b2lkIGRlYWxsb2NhdGUoKTsKQEAgLTY2LDYgKzY3LDcgQEAgcHJpdmF0ZToK
ICAgICB2b2lkIGNvbnN0cnVjdChjb25zdCBWZWN0b3I8TlBWYXJpYW50RGF0YT4mIGFyZ3VtZW50
c0RhdGEsIGJvb2wmIHJldHVyblZhbHVlLCBOUFZhcmlhbnREYXRhJiByZXN1bHREYXRhKTsKIAog
ICAgIE5QUmVtb3RlT2JqZWN0TWFwKiBtX25wUmVtb3RlT2JqZWN0TWFwOworICAgIFBsdWdpbiog
bV9wbHVnaW47CiAgICAgdWludDY0X3QgbV9ucE9iamVjdElEOwogICAgIE5QT2JqZWN0KiBtX25w
T2JqZWN0OwogICAgIGJvb2wgbV9zaG91bGRSZWxlYXNlT2JqZWN0V2hlbkludmFsaWRhdGluZzsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHku
Y3BwCShyZXZpc2lvbiA4MTI4NykKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05Q
T2JqZWN0UHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCwxNiArMzgsMTcgQEAKIAogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKLU5QT2JqZWN0UHJveHkqIE5QT2JqZWN0UHJveHk6OmNyZWF0ZShO
UFJlbW90ZU9iamVjdE1hcCogbnBSZW1vdGVPYmplY3RNYXAsIHVpbnQ2NF90IG5wT2JqZWN0SUQp
CitOUE9iamVjdFByb3h5KiBOUE9iamVjdFByb3h5OjpjcmVhdGUoTlBSZW1vdGVPYmplY3RNYXAq
IG5wUmVtb3RlT2JqZWN0TWFwLCBQbHVnaW4qIHBsdWdpbiwgdWludDY0X3QgbnBPYmplY3RJRCkK
IHsKICAgICBOUE9iamVjdFByb3h5KiBucE9iamVjdFByb3h5ID0gdG9OUE9iamVjdFByb3h5KGNy
ZWF0ZU5QT2JqZWN0KDAsIG5wQ2xhc3MoKSkpOwotICAgIG5wT2JqZWN0UHJveHktPmluaXRpYWxp
emUobnBSZW1vdGVPYmplY3RNYXAsIG5wT2JqZWN0SUQpOworICAgIG5wT2JqZWN0UHJveHktPmlu
aXRpYWxpemUobnBSZW1vdGVPYmplY3RNYXAsIHBsdWdpbiwgbnBPYmplY3RJRCk7CiAKICAgICBy
ZXR1cm4gbnBPYmplY3RQcm94eTsKIH0KIAogTlBPYmplY3RQcm94eTo6TlBPYmplY3RQcm94eSgp
CiAgICAgOiBtX25wUmVtb3RlT2JqZWN0TWFwKDApCisgICAgLCBtX3BsdWdpbigwKQogICAgICwg
bV9ucE9iamVjdElEKDApCiB7CiB9CkBAIC02OSwxOSArNzAsMjQgQEAgYm9vbCBOUE9iamVjdFBy
b3h5Ojppc05QT2JqZWN0UHJveHkoTlBPYgogdm9pZCBOUE9iamVjdFByb3h5OjppbnZhbGlkYXRl
KCkKIHsKICAgICBBU1NFUlQobV9ucFJlbW90ZU9iamVjdE1hcCk7CisgICAgQVNTRVJUKG1fcGx1
Z2luKTsKIAogICAgIG1fbnBSZW1vdGVPYmplY3RNYXAgPSAwOworICAgIG1fcGx1Z2luID0gMDsK
IH0KICAgICAKLXZvaWQgTlBPYmplY3RQcm94eTo6aW5pdGlhbGl6ZShOUFJlbW90ZU9iamVjdE1h
cCogbnBSZW1vdGVPYmplY3RNYXAsIHVpbnQ2NF90IG5wT2JqZWN0SUQpCit2b2lkIE5QT2JqZWN0
UHJveHk6OmluaXRpYWxpemUoTlBSZW1vdGVPYmplY3RNYXAqIG5wUmVtb3RlT2JqZWN0TWFwLCBQ
bHVnaW4qIHBsdWdpbiwgdWludDY0X3QgbnBPYmplY3RJRCkKIHsKICAgICBBU1NFUlQoIW1fbnBS
ZW1vdGVPYmplY3RNYXApOworICAgIEFTU0VSVCghbV9wbHVnaW4pOwogICAgIEFTU0VSVCghbV9u
cE9iamVjdElEKTsKIAogICAgIEFTU0VSVChucFJlbW90ZU9iamVjdE1hcCk7CisgICAgQVNTRVJU
KHBsdWdpbik7CiAgICAgQVNTRVJUKG5wT2JqZWN0SUQpOwogCiAgICAgbV9ucFJlbW90ZU9iamVj
dE1hcCA9IG5wUmVtb3RlT2JqZWN0TWFwOworICAgIG1fcGx1Z2luID0gcGx1Z2luOwogICAgIG1f
bnBPYmplY3RJRCA9IG5wT2JqZWN0SUQ7CiB9CiAKQEAgLTEwOCw3ICsxMTQsNyBAQCBib29sIE5Q
T2JqZWN0UHJveHk6Omludm9rZShOUElkZW50aWZpZXIgCiAgICAgTlBJZGVudGlmaWVyRGF0YSBt
ZXRob2ROYW1lRGF0YSA9IE5QSWRlbnRpZmllckRhdGE6OmZyb21OUElkZW50aWZpZXIobWV0aG9k
TmFtZSk7CiAgICAgVmVjdG9yPE5QVmFyaWFudERhdGE+IGFyZ3VtZW50c0RhdGE7CiAgICAgZm9y
ICh1aW50MzJfdCBpID0gMDsgaSA8IGFyZ3VtZW50Q291bnQ7ICsraSkKLSAgICAgICAgYXJndW1l
bnRzRGF0YS5hcHBlbmQobV9ucFJlbW90ZU9iamVjdE1hcC0+bnBWYXJpYW50VG9OUFZhcmlhbnRE
YXRhKGFyZ3VtZW50c1tpXSkpOworICAgICAgICBhcmd1bWVudHNEYXRhLmFwcGVuZChtX25wUmVt
b3RlT2JqZWN0TWFwLT5ucFZhcmlhbnRUb05QVmFyaWFudERhdGEoYXJndW1lbnRzW2ldLCBtX3Bs
dWdpbikpOwogCiAgICAgYm9vbCByZXR1cm5WYWx1ZSA9IGZhbHNlOwogICAgIE5QVmFyaWFudERh
dGEgcmVzdWx0RGF0YTsKQEAgLTExOSw3ICsxMjUsNyBAQCBib29sIE5QT2JqZWN0UHJveHk6Omlu
dm9rZShOUElkZW50aWZpZXIgCiAgICAgaWYgKCFyZXR1cm5WYWx1ZSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgIAotICAgICpyZXN1bHQgPSBtX25wUmVtb3RlT2JqZWN0TWFwLT5ucFZhcmlh
bnREYXRhVG9OUFZhcmlhbnQocmVzdWx0RGF0YSk7CisgICAgKnJlc3VsdCA9IG1fbnBSZW1vdGVP
YmplY3RNYXAtPm5wVmFyaWFudERhdGFUb05QVmFyaWFudChyZXN1bHREYXRhLCBtX3BsdWdpbik7
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTEzMCw3ICsxMzYsNyBAQCBib29sIE5QT2JqZWN0
UHJveHk6Omludm9rZURlZmF1bHQoY29uc3QgCiAKICAgICBWZWN0b3I8TlBWYXJpYW50RGF0YT4g
YXJndW1lbnRzRGF0YTsKICAgICBmb3IgKHVpbnQzMl90IGkgPSAwOyBpIDwgYXJndW1lbnRDb3Vu
dDsgKytpKQotICAgICAgICBhcmd1bWVudHNEYXRhLmFwcGVuZChtX25wUmVtb3RlT2JqZWN0TWFw
LT5ucFZhcmlhbnRUb05QVmFyaWFudERhdGEoYXJndW1lbnRzW2ldKSk7CisgICAgICAgIGFyZ3Vt
ZW50c0RhdGEuYXBwZW5kKG1fbnBSZW1vdGVPYmplY3RNYXAtPm5wVmFyaWFudFRvTlBWYXJpYW50
RGF0YShhcmd1bWVudHNbaV0sIG1fcGx1Z2luKSk7CiAKICAgICBib29sIHJldHVyblZhbHVlID0g
ZmFsc2U7CiAgICAgTlBWYXJpYW50RGF0YSByZXN1bHREYXRhOwpAQCAtMTQxLDcgKzE0Nyw3IEBA
IGJvb2wgTlBPYmplY3RQcm94eTo6aW52b2tlRGVmYXVsdChjb25zdCAKICAgICBpZiAoIXJldHVy
blZhbHVlKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCi0gICAgKnJlc3VsdCA9IG1fbnBS
ZW1vdGVPYmplY3RNYXAtPm5wVmFyaWFudERhdGFUb05QVmFyaWFudChyZXN1bHREYXRhKTsKKyAg
ICAqcmVzdWx0ID0gbV9ucFJlbW90ZU9iamVjdE1hcC0+bnBWYXJpYW50RGF0YVRvTlBWYXJpYW50
KHJlc3VsdERhdGEsIG1fcGx1Z2luKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAtMTc2LDcg
KzE4Miw3IEBAIGJvb2wgTlBPYmplY3RQcm94eTo6Z2V0UHJvcGVydHkoTlBJZGVudGkKICAgICBp
ZiAoIXJldHVyblZhbHVlKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAqcmVzdWx0ID0g
bV9ucFJlbW90ZU9iamVjdE1hcC0+bnBWYXJpYW50RGF0YVRvTlBWYXJpYW50KHJlc3VsdERhdGEp
OworICAgICpyZXN1bHQgPSBtX25wUmVtb3RlT2JqZWN0TWFwLT5ucFZhcmlhbnREYXRhVG9OUFZh
cmlhbnQocmVzdWx0RGF0YSwgbV9wbHVnaW4pOwogICAgIHJldHVybiB0cnVlOwogfQogCkBAIC0x
ODYsNyArMTkyLDcgQEAgYm9vbCBOUE9iamVjdFByb3h5OjpzZXRQcm9wZXJ0eShOUElkZW50aQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCiAgICAgTlBJZGVudGlmaWVyRGF0YSBwcm9wZXJ0
eU5hbWVEYXRhID0gTlBJZGVudGlmaWVyRGF0YTo6ZnJvbU5QSWRlbnRpZmllcihwcm9wZXJ0eU5h
bWUpOwotICAgIE5QVmFyaWFudERhdGEgcHJvcGVydHlWYWx1ZURhdGEgPSBtX25wUmVtb3RlT2Jq
ZWN0TWFwLT5ucFZhcmlhbnRUb05QVmFyaWFudERhdGEoKnZhbHVlKTsKKyAgICBOUFZhcmlhbnRE
YXRhIHByb3BlcnR5VmFsdWVEYXRhID0gbV9ucFJlbW90ZU9iamVjdE1hcC0+bnBWYXJpYW50VG9O
UFZhcmlhbnREYXRhKCp2YWx1ZSwgbV9wbHVnaW4pOwogCiAgICAgYm9vbCByZXR1cm5WYWx1ZSA9
IGZhbHNlOwogCkBAIC0yNDIsNyArMjQ4LDcgQEAgYm9vbCBOUE9iamVjdFByb3h5Ojpjb25zdHJ1
Y3QoY29uc3QgTlBWYQogCiAgICAgVmVjdG9yPE5QVmFyaWFudERhdGE+IGFyZ3VtZW50c0RhdGE7
CiAgICAgZm9yICh1aW50MzJfdCBpID0gMDsgaSA8IGFyZ3VtZW50Q291bnQ7ICsraSkKLSAgICAg
ICAgYXJndW1lbnRzRGF0YS5hcHBlbmQobV9ucFJlbW90ZU9iamVjdE1hcC0+bnBWYXJpYW50VG9O
UFZhcmlhbnREYXRhKGFyZ3VtZW50c1tpXSkpOworICAgICAgICBhcmd1bWVudHNEYXRhLmFwcGVu
ZChtX25wUmVtb3RlT2JqZWN0TWFwLT5ucFZhcmlhbnRUb05QVmFyaWFudERhdGEoYXJndW1lbnRz
W2ldLCBtX3BsdWdpbikpOwogCiAgICAgYm9vbCByZXR1cm5WYWx1ZSA9IGZhbHNlOwogICAgIE5Q
VmFyaWFudERhdGEgcmVzdWx0RGF0YTsKQEAgLTI1Myw3ICsyNTksNyBAQCBib29sIE5QT2JqZWN0
UHJveHk6OmNvbnN0cnVjdChjb25zdCBOUFZhCiAgICAgaWYgKCFyZXR1cm5WYWx1ZSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIAotICAgICpyZXN1bHQgPSBtX25wUmVtb3RlT2JqZWN0TWFw
LT5ucFZhcmlhbnREYXRhVG9OUFZhcmlhbnQocmVzdWx0RGF0YSk7CisgICAgKnJlc3VsdCA9IG1f
bnBSZW1vdGVPYmplY3RNYXAtPm5wVmFyaWFudERhdGFUb05QVmFyaWFudChyZXN1bHREYXRhLCBt
X3BsdWdpbik7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1No
YXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdFByb3h5LmgJKHJldmlzaW9uIDgxMjg3KQorKysgU291
cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RQcm94eS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0zNCwxMiArMzQsMTMgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBOUFJlbW90
ZU9iamVjdE1hcDsKK2NsYXNzIFBsdWdpbjsKIAogY2xhc3MgTlBPYmplY3RQcm94eSA6IHB1Ymxp
YyBOUE9iamVjdCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTlBPYmplY3RQcm94eSk7CiAK
IHB1YmxpYzoKLSAgICBzdGF0aWMgTlBPYmplY3RQcm94eSogY3JlYXRlKE5QUmVtb3RlT2JqZWN0
TWFwKiBucFJlbW90ZU9iamVjdE1hcCwgdWludDY0X3QgbnBPYmplY3RJRCk7CisgICAgc3RhdGlj
IE5QT2JqZWN0UHJveHkqIGNyZWF0ZShOUFJlbW90ZU9iamVjdE1hcCosIFBsdWdpbiosIHVpbnQ2
NF90IG5wT2JqZWN0SUQpOwogCiAgICAgc3RhdGljIGJvb2wgaXNOUE9iamVjdFByb3h5KE5QT2Jq
ZWN0Kik7CiAgICAgCkBAIC01Nyw3ICs1OCw3IEBAIHByaXZhdGU6CiAgICAgTlBPYmplY3RQcm94
eSgpOwogICAgIH5OUE9iamVjdFByb3h5KCk7CiAKLSAgICB2b2lkIGluaXRpYWxpemUoTlBSZW1v
dGVPYmplY3RNYXAqIG5wUmVtb3RlT2JqZWN0TWFwLCB1aW50NjRfdCBucE9iamVjdElEKTsKKyAg
ICB2b2lkIGluaXRpYWxpemUoTlBSZW1vdGVPYmplY3RNYXAqLCBQbHVnaW4qLCB1aW50NjRfdCBu
cE9iamVjdElEKTsKIAogICAgIGJvb2wgaGFzTWV0aG9kKE5QSWRlbnRpZmllciBtZXRob2ROYW1l
KTsKICAgICBib29sIGludm9rZShOUElkZW50aWZpZXIgbWV0aG9kTmFtZSwgY29uc3QgTlBWYXJp
YW50KiBhcmd1bWVudHMsIHVpbnQzMl90IGFyZ3VtZW50Q291bnQsIE5QVmFyaWFudCogcmVzdWx0
KTsKQEAgLTgzLDYgKzg0LDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgYm9vbCBOUF9Db25zdHJ1
Y3QoTlBPYmplY3QqLCBjb25zdCBOUFZhcmlhbnQqIGFyZ3VtZW50cywgdWludDMyX3QgYXJndW1l
bnRDb3VudCwgTlBWYXJpYW50KiByZXN1bHQpOwogCiAgICAgTlBSZW1vdGVPYmplY3RNYXAqIG1f
bnBSZW1vdGVPYmplY3RNYXA7CisgICAgUGx1Z2luKiBtX3BsdWdpbjsKICAgICB1aW50NjRfdCBt
X25wT2JqZWN0SUQ7CiB9OwogICAgIApJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdp
bnMvTlBSZW1vdGVPYmplY3RNYXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1No
YXJlZC9QbHVnaW5zL05QUmVtb3RlT2JqZWN0TWFwLmNwcAkocmV2aXNpb24gODEyODcpCisrKyBT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUFJlbW90ZU9iamVjdE1hcC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTYwLDkgKzYwLDkgQEAgTlBSZW1vdGVPYmplY3RNYXA6On5OUFJlbW90ZU9i
amVjdE1hcCgpCiAgICAgQVNTRVJUKG1fcmVnaXN0ZXJlZE5QT2JqZWN0cy5pc0VtcHR5KCkpOwog
fQogCi1OUE9iamVjdCogTlBSZW1vdGVPYmplY3RNYXA6OmNyZWF0ZU5QT2JqZWN0UHJveHkodWlu
dDY0X3QgcmVtb3RlT2JqZWN0SUQpCitOUE9iamVjdCogTlBSZW1vdGVPYmplY3RNYXA6OmNyZWF0
ZU5QT2JqZWN0UHJveHkodWludDY0X3QgcmVtb3RlT2JqZWN0SUQsIFBsdWdpbiogcGx1Z2luKQog
ewotICAgIE5QT2JqZWN0UHJveHkqIG5wT2JqZWN0UHJveHkgPSBOUE9iamVjdFByb3h5OjpjcmVh
dGUodGhpcywgcmVtb3RlT2JqZWN0SUQpOworICAgIE5QT2JqZWN0UHJveHkqIG5wT2JqZWN0UHJv
eHkgPSBOUE9iamVjdFByb3h5OjpjcmVhdGUodGhpcywgcGx1Z2luLCByZW1vdGVPYmplY3RJRCk7
CiAKICAgICBtX25wT2JqZWN0UHJveGllcy5hZGQobnBPYmplY3RQcm94eSk7CiAKQEAgLTc3LDEw
ICs3NywxMCBAQCB2b2lkIE5QUmVtb3RlT2JqZWN0TWFwOjpucE9iamVjdFByb3h5RGVzCiAgICAg
bV9ucE9iamVjdFByb3hpZXMucmVtb3ZlKG5wT2JqZWN0KTsKIH0KIAotdWludDY0X3QgTlBSZW1v
dGVPYmplY3RNYXA6OnJlZ2lzdGVyTlBPYmplY3QoTlBPYmplY3QqIG5wT2JqZWN0KQordWludDY0
X3QgTlBSZW1vdGVPYmplY3RNYXA6OnJlZ2lzdGVyTlBPYmplY3QoTlBPYmplY3QqIG5wT2JqZWN0
LCBQbHVnaW4qIHBsdWdpbikKIHsKICAgICB1aW50NjRfdCBucE9iamVjdElEID0gZ2VuZXJhdGVO
UE9iamVjdElEKCk7Ci0gICAgbV9yZWdpc3RlcmVkTlBPYmplY3RzLnNldChucE9iamVjdElELCBO
UE9iamVjdE1lc3NhZ2VSZWNlaXZlcjo6Y3JlYXRlKHRoaXMsIG5wT2JqZWN0SUQsIG5wT2JqZWN0
KS5sZWFrUHRyKCkpOworICAgIG1fcmVnaXN0ZXJlZE5QT2JqZWN0cy5zZXQobnBPYmplY3RJRCwg
TlBPYmplY3RNZXNzYWdlUmVjZWl2ZXI6OmNyZWF0ZSh0aGlzLCBwbHVnaW4sIG5wT2JqZWN0SUQs
IG5wT2JqZWN0KS5sZWFrUHRyKCkpOwogCiAgICAgcmV0dXJuIG5wT2JqZWN0SUQ7CiB9CkBAIC05
MCw3ICs5MCw3IEBAIHZvaWQgTlBSZW1vdGVPYmplY3RNYXA6OnVucmVnaXN0ZXJOUE9iamUKICAg
ICBtX3JlZ2lzdGVyZWROUE9iamVjdHMucmVtb3ZlKG5wT2JqZWN0SUQpOwogfQogCi1OUFZhcmlh
bnREYXRhIE5QUmVtb3RlT2JqZWN0TWFwOjpucFZhcmlhbnRUb05QVmFyaWFudERhdGEoY29uc3Qg
TlBWYXJpYW50JiB2YXJpYW50KQorTlBWYXJpYW50RGF0YSBOUFJlbW90ZU9iamVjdE1hcDo6bnBW
YXJpYW50VG9OUFZhcmlhbnREYXRhKGNvbnN0IE5QVmFyaWFudCYgdmFyaWFudCwgUGx1Z2luKiBw
bHVnaW4pCiB7CiAgICAgc3dpdGNoICh2YXJpYW50LnR5cGUpIHsKICAgICBjYXNlIE5QVmFyaWFu
dFR5cGVfVm9pZDoKQEAgLTEyNCw3ICsxMjQsNyBAQCBOUFZhcmlhbnREYXRhIE5QUmVtb3RlT2Jq
ZWN0TWFwOjpucFZhcmlhCiAgICAgICAgICAgICByZXR1cm4gTlBWYXJpYW50RGF0YTo6bWFrZVJl
bW90ZU5QT2JqZWN0SUQobnBPYmplY3RJRCk7CiAgICAgICAgIH0KIAotICAgICAgICB1aW50NjRf
dCBucE9iamVjdElEID0gcmVnaXN0ZXJOUE9iamVjdChucE9iamVjdCk7CisgICAgICAgIHVpbnQ2
NF90IG5wT2JqZWN0SUQgPSByZWdpc3Rlck5QT2JqZWN0KG5wT2JqZWN0LCBwbHVnaW4pOwogICAg
ICAgICByZXR1cm4gTlBWYXJpYW50RGF0YTo6bWFrZUxvY2FsTlBPYmplY3RJRChucE9iamVjdElE
KTsKICAgICB9CiAKQEAgLTEzNCw3ICsxMzQsNyBAQCBOUFZhcmlhbnREYXRhIE5QUmVtb3RlT2Jq
ZWN0TWFwOjpucFZhcmlhCiAgICAgcmV0dXJuIE5QVmFyaWFudERhdGE6Om1ha2VWb2lkKCk7CiB9
CiAKLU5QVmFyaWFudCBOUFJlbW90ZU9iamVjdE1hcDo6bnBWYXJpYW50RGF0YVRvTlBWYXJpYW50
KGNvbnN0IE5QVmFyaWFudERhdGEmIG5wVmFyaWFudERhdGEpCitOUFZhcmlhbnQgTlBSZW1vdGVP
YmplY3RNYXA6Om5wVmFyaWFudERhdGFUb05QVmFyaWFudChjb25zdCBOUFZhcmlhbnREYXRhJiBu
cFZhcmlhbnREYXRhLCBQbHVnaW4qIHBsdWdpbikKIHsKICAgICBOUFZhcmlhbnQgbnBWYXJpYW50
OwogCkBAIC0xNzgsNyArMTc4LDcgQEAgTlBWYXJpYW50IE5QUmVtb3RlT2JqZWN0TWFwOjpucFZh
cmlhbnREYQogICAgICAgICBicmVhazsKICAgICB9CiAgICAgY2FzZSBOUFZhcmlhbnREYXRhOjpS
ZW1vdGVOUE9iamVjdElEOiB7Ci0gICAgICAgIE5QT2JqZWN0KiBucE9iamVjdFByb3h5ID0gY3Jl
YXRlTlBPYmplY3RQcm94eShucFZhcmlhbnREYXRhLnJlbW90ZU5QT2JqZWN0SURWYWx1ZSgpKTsK
KyAgICAgICAgTlBPYmplY3QqIG5wT2JqZWN0UHJveHkgPSBjcmVhdGVOUE9iamVjdFByb3h5KG5w
VmFyaWFudERhdGEucmVtb3RlTlBPYmplY3RJRFZhbHVlKCksIHBsdWdpbik7CiAgICAgICAgIE9C
SkVDVF9UT19OUFZBUklBTlQobnBPYmplY3RQcm94eSwgbnBWYXJpYW50KTsKICAgICAgICAgYnJl
YWs7CiAgICAgfQpJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBSZW1vdGVP
YmplY3RNYXAuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9O
UFJlbW90ZU9iamVjdE1hcC5oCShyZXZpc2lvbiA4MTI4NykKKysrIFNvdXJjZS9XZWJLaXQyL1No
YXJlZC9QbHVnaW5zL05QUmVtb3RlT2JqZWN0TWFwLmgJKHdvcmtpbmcgY29weSkKQEAgLTM5LDYg
KzM5LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBOUE9iamVjdE1lc3NhZ2VSZWNlaXZl
cjsKIGNsYXNzIE5QT2JqZWN0UHJveHk7CiBjbGFzcyBOUFZhcmlhbnREYXRhOworY2xhc3MgUGx1
Z2luOwogCiBjbGFzcyBOUFJlbW90ZU9iamVjdE1hcCA6IHB1YmxpYyBSZWZDb3VudGVkPE5QUmVt
b3RlT2JqZWN0TWFwPiB7CiBwdWJsaWM6CkBAIC00NiwxOCArNDcsMTggQEAgcHVibGljOgogICAg
IH5OUFJlbW90ZU9iamVjdE1hcCgpOwogCiAgICAgLy8gQ3JlYXRlcyBhbiBOUE9iamVjdFByb3h5
IHdyYXBwZXIgZm9yIHRoZSByZW1vdGUgb2JqZWN0IHdpdGggdGhlIGdpdmVuIHJlbW90ZSBvYmpl
Y3QgSUQuCi0gICAgTlBPYmplY3QqIGNyZWF0ZU5QT2JqZWN0UHJveHkodWludDY0X3QgcmVtb3Rl
T2JqZWN0SUQpOworICAgIE5QT2JqZWN0KiBjcmVhdGVOUE9iamVjdFByb3h5KHVpbnQ2NF90IHJl
bW90ZU9iamVjdElELCBQbHVnaW4qKTsKICAgICB2b2lkIG5wT2JqZWN0UHJveHlEZXN0cm95ZWQo
TlBPYmplY3QqKTsKIAogICAgIC8vIEV4cG9zZSB0aGUgZ2l2ZW4gTlBPYmplY3QgYXMgYSByZW1v
dGUgb2JqZWN0LiBSZXR1cm5zIHRoZSBvYmplY3RJRC4KLSAgICB1aW50NjRfdCByZWdpc3Rlck5Q
T2JqZWN0KE5QT2JqZWN0Kik7CisgICAgdWludDY0X3QgcmVnaXN0ZXJOUE9iamVjdChOUE9iamVj
dCosIFBsdWdpbiopOwogICAgIHZvaWQgdW5yZWdpc3Rlck5QT2JqZWN0KHVpbnQ2NF90KTsKIAog
ICAgIC8vIEdpdmVuIGFuIE5QVmFyaWFudCwgY3JlYXRlcyBhbiBOUFZhcmlhbnREYXRhIG9iamVj
dCAoYSBDb3JlSVBDIHJlcHJlc2VudGF0aW9uIG9mIGFuIE5QVmFyaWFudCkuCi0gICAgTlBWYXJp
YW50RGF0YSBucFZhcmlhbnRUb05QVmFyaWFudERhdGEoY29uc3QgTlBWYXJpYW50Jik7CisgICAg
TlBWYXJpYW50RGF0YSBucFZhcmlhbnRUb05QVmFyaWFudERhdGEoY29uc3QgTlBWYXJpYW50Jiwg
UGx1Z2luKik7CiAKICAgICAvLyBHaXZlbiBhbiBOUFZhcmlhbnREYXRhLCBjcmVhdGVzIGFuIE5Q
VmFyaWFudCBvYmplY3QuCi0gICAgTlBWYXJpYW50IG5wVmFyaWFudERhdGFUb05QVmFyaWFudChj
b25zdCBOUFZhcmlhbnREYXRhJik7CisgICAgTlBWYXJpYW50IG5wVmFyaWFudERhdGFUb05QVmFy
aWFudChjb25zdCBOUFZhcmlhbnREYXRhJiwgUGx1Z2luKik7CiAKICAgICBDb3JlSVBDOjpDb25u
ZWN0aW9uKiBjb25uZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jb25uZWN0aW9uOyB9CiAgICAg
Ym9vbCBpc0ludmFsaWRhdGluZygpIGNvbnN0IHsgcmV0dXJuIG1faXNJbnZhbGlkYXRpbmc7IH0K
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblBy
b3h5LmNwcAkocmV2aXNpb24gODEyODcpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvUGx1Z2luUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMTksNyArMzE5LDcgQEAg
TlBPYmplY3QqIFBsdWdpblByb3h5OjpwbHVnaW5TY3JpcHRhYmxlTgogICAgIGlmICghcGx1Z2lu
U2NyaXB0YWJsZU5QT2JqZWN0SUQpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgcmV0dXJuIG1f
Y29ubmVjdGlvbi0+bnBSZW1vdGVPYmplY3RNYXAoKS0+Y3JlYXRlTlBPYmplY3RQcm94eShwbHVn
aW5TY3JpcHRhYmxlTlBPYmplY3RJRCk7CisgICAgcmV0dXJuIG1fY29ubmVjdGlvbi0+bnBSZW1v
dGVPYmplY3RNYXAoKS0+Y3JlYXRlTlBPYmplY3RQcm94eShwbHVnaW5TY3JpcHRhYmxlTlBPYmpl
Y3RJRCwgdGhpcyk7CiB9CiAKICNpZiBQTEFURk9STShNQUMpCkBAIC0zODgsNyArMzg4LDcgQEAg
dm9pZCBQbHVnaW5Qcm94eTo6Z2V0V2luZG93U2NyaXB0TlBPYmplYwogICAgICAgICByZXR1cm47
CiAgICAgfQogCi0gICAgd2luZG93U2NyaXB0TlBPYmplY3RJRCA9IG1fY29ubmVjdGlvbi0+bnBS
ZW1vdGVPYmplY3RNYXAoKS0+cmVnaXN0ZXJOUE9iamVjdCh3aW5kb3dTY3JpcHROUE9iamVjdCk7
CisgICAgd2luZG93U2NyaXB0TlBPYmplY3RJRCA9IG1fY29ubmVjdGlvbi0+bnBSZW1vdGVPYmpl
Y3RNYXAoKS0+cmVnaXN0ZXJOUE9iamVjdCh3aW5kb3dTY3JpcHROUE9iamVjdCwgdGhpcyk7CiAg
ICAgcmVsZWFzZU5QT2JqZWN0KHdpbmRvd1NjcmlwdE5QT2JqZWN0KTsKIH0KIApAQCAtNDAwLDcg
KzQwMCw3IEBAIHZvaWQgUGx1Z2luUHJveHk6OmdldFBsdWdpbkVsZW1lbnROUE9iamUKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAotICAgIHBsdWdpbkVsZW1lbnROUE9iamVjdElEID0gbV9jb25u
ZWN0aW9uLT5ucFJlbW90ZU9iamVjdE1hcCgpLT5yZWdpc3Rlck5QT2JqZWN0KHBsdWdpbkVsZW1l
bnROUE9iamVjdCk7CisgICAgcGx1Z2luRWxlbWVudE5QT2JqZWN0SUQgPSBtX2Nvbm5lY3Rpb24t
Pm5wUmVtb3RlT2JqZWN0TWFwKCktPnJlZ2lzdGVyTlBPYmplY3QocGx1Z2luRWxlbWVudE5QT2Jq
ZWN0LCB0aGlzKTsKICAgICByZWxlYXNlTlBPYmplY3QocGx1Z2luRWxlbWVudE5QT2JqZWN0KTsK
IH0KIApAQCAtNDA4LDcgKzQwOCw3IEBAIHZvaWQgUGx1Z2luUHJveHk6OmV2YWx1YXRlKGNvbnN0
IE5QVmFyaWEKIHsKICAgICBQbHVnaW5Db250cm9sbGVyOjpQbHVnaW5EZXN0cnVjdGlvblByb3Rl
Y3RvciBwcm90ZWN0b3IobV9wbHVnaW5Db250cm9sbGVyKTsKIAotICAgIE5QVmFyaWFudCBucE9i
amVjdEFzVmFyaWFudCA9IG1fY29ubmVjdGlvbi0+bnBSZW1vdGVPYmplY3RNYXAoKS0+bnBWYXJp
YW50RGF0YVRvTlBWYXJpYW50KG5wT2JqZWN0QXNWYXJpYW50RGF0YSk7CisgICAgTlBWYXJpYW50
IG5wT2JqZWN0QXNWYXJpYW50ID0gbV9jb25uZWN0aW9uLT5ucFJlbW90ZU9iamVjdE1hcCgpLT5u
cFZhcmlhbnREYXRhVG9OUFZhcmlhbnQobnBPYmplY3RBc1ZhcmlhbnREYXRhLCB0aGlzKTsKICAg
ICBBU1NFUlQoTlBWQVJJQU5UX0lTX09CSkVDVChucE9iamVjdEFzVmFyaWFudCkpOwogCiAgICAg
TlBWYXJpYW50IHJlc3VsdDsKQEAgLTQxNyw3ICs0MTcsNyBAQCB2b2lkIFBsdWdpblByb3h5Ojpl
dmFsdWF0ZShjb25zdCBOUFZhcmlhCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIENvbnZlcnQg
dGhlIE5QVmFyaWFudCB0byBhbiBOUFZhcmlhbnREYXRhLgotICAgIHJlc3VsdERhdGEgPSBtX2Nv
bm5lY3Rpb24tPm5wUmVtb3RlT2JqZWN0TWFwKCktPm5wVmFyaWFudFRvTlBWYXJpYW50RGF0YShy
ZXN1bHQpOworICAgIHJlc3VsdERhdGEgPSBtX2Nvbm5lY3Rpb24tPm5wUmVtb3RlT2JqZWN0TWFw
KCktPm5wVmFyaWFudFRvTlBWYXJpYW50RGF0YShyZXN1bHQsIHRoaXMpOwogICAgIAogICAgIC8v
IEFuZCByZWxlYXNlIHRoZSByZXN1bHQuCiAgICAgcmVsZWFzZU5QVmFyaWFudFZhbHVlKCZyZXN1
bHQpOwo=
</data>
<flag name="review"
          id="78214"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>