<?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>105682</bug_id>
          
          <creation_ts>2012-12-22 19:20:23 -0800</creation_ts>
          <short_desc>Make CustomProtocolManager a MessageReceiver to remove more special casing</short_desc>
          <delta_ts>2012-12-23 13:04:19 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>796702</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-12-22 19:20:23 -0800</bug_when>
    <thetext>Make CustomProtocolManager a MessageReceiver to remove more special casing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796704</commentid>
    <comment_count>1</comment_count>
      <attachid>180612</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-12-22 19:31:27 -0800</bug_when>
    <thetext>Created attachment 180612
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796799</commentid>
    <comment_count>2</comment_count>
      <attachid>180612</attachid>
    <who name="">mitz</who>
    <bug_when>2012-12-23 12:29:47 -0800</bug_when>
    <thetext>Comment on attachment 180612
Patch

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

&gt; Source/WebKit2/ChangeLog:22
&gt; +        Call connectionEstablished on the CustomProtocolManager to make start working as a NSURLProtocol handler.

Missing word!

&gt; Source/WebKit2/ChangeLog:35
&gt; +        (WebKit):

WebKit?

&gt; Source/WebKit2/ChangeLog:42
&gt; +        (WebKit):

WebKit??

&gt; Source/WebKit2/ChangeLog:46
&gt; +        Make CustomProtocolManager a MessageReceiver and split initialization and
&gt; +        from the time when it can start acting as protocol handler as these happen at

initialization and what?

&gt; Source/WebKit2/ChangeLog:61
&gt; +        Call connectionEstablished on the CustomProtocolManager to make start working as a NSURLProtocol handler.

$ make start
make: *** No rule to make target `start&apos;.  Stop.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796806</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-12-23 13:04:19 -0800</bug_when>
    <thetext>Committed r138426: &lt;http://trac.webkit.org/changeset/138426&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180612</attachid>
            <date>2012-12-22 19:31:27 -0800</date>
            <delta_ts>2012-12-23 12:29:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105682-20121222192842.patch</filename>
            <type>text/plain</type>
            <size>15691</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4NDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNTI2ZjNhMTA4MDAyNDdi
NDIzM2YxMmM5Y2I1NWY3MzhiNTliMTQ5My4uNzAxZDJmMDIzZDU5ZGI1NjQ4NWI0ZjA2NzIzZGZk
NDIxYmM2YzE1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDcwIEBACiAyMDEyLTEyLTIyICBTYW0g
V2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKKyAgICAgICAgTWFrZSBDdXN0b21Qcm90b2NvbE1h
bmFnZXIgYSBNZXNzYWdlUmVjZWl2ZXIgdG8gcmVtb3ZlIG1vcmUgc3BlY2lhbCBjYXNpbmcKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTY4MgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRvIGF2b2lkIHN0
b3JpbmcgYSBDb25uZWN0aW9uIGluIEN1c3RvbVByb3RvY29sTWFuYWdlciwgd2hpY2ggaXMgbm90
IGEgZ3JlYXQgaWRlYSB3aXRob3V0CisgICAgICAgIGl0IGJlaW5nIHRoZSBDb25uZWN0aW9uOjpD
bGllbnQgYW5kIHRoZXJlZm9yZSBnZXR0aW5nIGRlYXRoIG5vdGlmaWNhdGlvbnMsIEkgYWxzbyBt
YWRlCisgICAgICAgIENoaWxkUHJvY2VzcyBhIE1lc3NhZ2VTZW5kZXIgc28gdGhhdCBleHRlbnNp
b25zIHRvIGl0LCBsaWtlIEN1c3RvbVByb3RvY29sTWFuYWdlciwgY2FuCisgICAgICAgIGVhc2ls
eSBzZW5kIG1lc3NhZ2VzIHRvIHRoZSBwYXJlbnQgcHJvY2Vzcy4KKworICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1By
b2Nlc3M6Ok5ldHdvcmtQcm9jZXNzKToKKyAgICAgICAgSW5pdGlhbGl6ZSB0aGUgc2hhcmVkIEN1
c3RvbVByb3RvY29sTWFuYWdlciwgd2hpY2ggd2lsbCBhZGQgaXQgdG8gdGhlIE1lc3NhZ2VSZWNl
aXZlck1hcCBpbiAKKyAgICAgICAgdGhlIENoaWxkUHJvY2Vzcy4KKworICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrUHJvY2Vzczo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAgICAgICBSZW1vdmUgdGhl
IHNwZWNpYWwgY2FzZSBmb3IgQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyLgorCisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtQcm9jZXNzOjppbml0aWFsaXplTmV0d29ya1Byb2Nlc3MpOgorICAgICAgICBD
YWxsIGNvbm5lY3Rpb25Fc3RhYmxpc2hlZCBvbiB0aGUgQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyIHRv
IG1ha2Ugc3RhcnQgd29ya2luZyBhcyBhIE5TVVJMUHJvdG9jb2wgaGFuZGxlci4KKworICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgIEFkZCBvdmVycmlk
ZXMgbmVjZXNzYXJ5IGZvciBNZXNzYWdlU2VuZGVyLgorCisgICAgICAgICogUGx1Z2luUHJvY2Vz
cy9QbHVnaW5Qcm9jZXNzLmg6CisgICAgICAgIERpdHRvLgorCisgICAgICAgICogU2hhcmVkL0No
aWxkUHJvY2Vzcy5oOgorICAgICAgICAoQ2hpbGRQcm9jZXNzKToKKyAgICAgICAgTWFrZSBDaGls
ZFByb2Nlc3MgYSBNZXNzYWdlU2VuZGVyLgorCisgICAgICAgICogU2hhcmVkL05ldHdvcmsvQ3Vz
dG9tUHJvdG9jb2xzL0N1c3RvbVByb3RvY29sTWFuYWdlci5oOgorICAgICAgICAoV2ViS2l0KToK
KyAgICAgICAgKEN1c3RvbVByb3RvY29sTWFuYWdlcik6CisgICAgICAgIChXZWJLaXQ6OkN1c3Rv
bVByb3RvY29sTWFuYWdlcjo6Y2hpbGRQcm9jZXNzKToKKyAgICAgICAgKiBTaGFyZWQvTmV0d29y
ay9DdXN0b21Qcm90b2NvbHMvbWFjL0N1c3RvbVByb3RvY29sTWFuYWdlck1hYy5tbToKKyAgICAg
ICAgKC1bV0tDdXN0b21Qcm90b2NvbCBzdGFydExvYWRpbmddKToKKyAgICAgICAgKC1bV0tDdXN0
b21Qcm90b2NvbCBzdG9wTG9hZGluZ10pOgorICAgICAgICAoV2ViS2l0OjpDdXN0b21Qcm90b2Nv
bE1hbmFnZXI6OkN1c3RvbVByb3RvY29sTWFuYWdlcik6CisgICAgICAgIChXZWJLaXQpOgorICAg
ICAgICAoV2ViS2l0OjpDdXN0b21Qcm90b2NvbE1hbmFnZXI6OmluaXRpYWxpemUpOgorICAgICAg
ICAoV2ViS2l0OjpDdXN0b21Qcm90b2NvbE1hbmFnZXI6OmNvbm5lY3Rpb25Fc3RhYmxpc2hlZCk6
CisgICAgICAgIE1ha2UgQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyIGEgTWVzc2FnZVJlY2VpdmVyIGFu
ZCBzcGxpdCBpbml0aWFsaXphdGlvbiBhbmQKKyAgICAgICAgZnJvbSB0aGUgdGltZSB3aGVuIGl0
IGNhbiBzdGFydCBhY3RpbmcgYXMgcHJvdG9jb2wgaGFuZGxlciBhcyB0aGVzZSBoYXBwZW4gYXQK
KyAgICAgICAgZGlmZmVyZW50IHRpbWVzIG5vdy4gSXQgYWxzbyBub3cgc3RvcmVzIGEgQ2hpbGRQ
cm9jZXNzIHJhdGhlciB0aGFuIGEgQ29ubmVjdGlvbi4KKworICAgICAgICAqIFNoYXJlZFdvcmtl
clByb2Nlc3MvU2hhcmVkV29ya2VyUHJvY2Vzcy5oOgorICAgICAgICBBZGQgb3ZlcnJpZGVzIG5l
Y2Vzc2FyeSBmb3IgTWVzc2FnZVNlbmRlci4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OldlYlByb2Nlc3MpOgorICAg
ICAgICBJbml0aWFsaXplIHRoZSBzaGFyZWQgQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyLCB3aGljaCB3
aWxsIGFkZCBpdCB0byB0aGUgTWVzc2FnZVJlY2VpdmVyTWFwIGluIAorICAgICAgICB0aGUgQ2hp
bGRQcm9jZXNzLgorCisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmRpZFJlY2VpdmVNZXNz
YWdlKToKKyAgICAgICAgUmVtb3ZlIHRoZSBzcGVjaWFsIGNhc2UgZm9yIEN1c3RvbVByb3RvY29s
TWFuYWdlci4KKworICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjppbml0aWFsaXplQ3VzdG9t
UHJvdG9jb2xNYW5hZ2VyKToKKyAgICAgICAgQ2FsbCBjb25uZWN0aW9uRXN0YWJsaXNoZWQgb24g
dGhlIEN1c3RvbVByb3RvY29sTWFuYWdlciB0byBtYWtlIHN0YXJ0IHdvcmtpbmcgYXMgYSBOU1VS
TFByb3RvY29sIGhhbmRsZXIuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoK
KyAgICAgICAgQWRkIG92ZXJyaWRlcyBuZWNlc3NhcnkgZm9yIE1lc3NhZ2VTZW5kZXIuCisKKzIw
MTItMTItMjIgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KKwogICAgICAgICBHaXZlIHRo
ZSBDaGlsZFByb2Nlc3MgYSBNZXNzYWdlUmVjZWl2ZXJNYXAKICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTY4MQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKaW5kZXggZDk0MTI1MzI0M2NjNzM3
YTk3MzJlM2IwNjhlMzg4NzExNmQ2M2QzMi4uN2UwNjkzZWI3N2I3MjM3N2YzYWEyYzY4ODRkODJh
MjgyMzljYzhlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLmNwcApAQCAtNTYsNiArNTYsOSBAQCBOZXR3b3JrUHJvY2Vzczo6TmV0d29ya1By
b2Nlc3MoKQogICAgICwgbV9jYWNoZU1vZGVsKENhY2hlTW9kZWxEb2N1bWVudFZpZXdlcikKICAg
ICAsIG1fZG93bmxvYWRzQXV0aGVudGljYXRpb25NYW5hZ2VyKHRoaXMpCiB7CisjaWYgRU5BQkxF
KENVU1RPTV9QUk9UT0NPTFMpCisgICAgQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyOjpzaGFyZWQoKS5p
bml0aWFsaXplKHRoaXMpOworI2VuZGlmCiB9CiAKIE5ldHdvcmtQcm9jZXNzOjp+TmV0d29ya1By
b2Nlc3MoKQpAQCAtOTgsMTMgKzEwMSw2IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OmRpZFJlY2Vp
dmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIENvcmVJUEM6CiAgICAg
aWYgKG1fbWVzc2FnZVJlY2VpdmVyTWFwLmRpc3BhdGNoTWVzc2FnZShjb25uZWN0aW9uLCBtZXNz
YWdlSUQsIGRlY29kZXIpKQogICAgICAgICByZXR1cm47CiAKLSNpZiBFTkFCTEUoQ1VTVE9NX1BS
T1RPQ09MUykKLSAgICBpZiAobWVzc2FnZUlELmlzPENvcmVJUEM6Ok1lc3NhZ2VDbGFzc0N1c3Rv
bVByb3RvY29sTWFuYWdlcj4oKSkgewotICAgICAgICBDdXN0b21Qcm90b2NvbE1hbmFnZXI6OnNo
YXJlZCgpLmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3NhZ2VJRCwgZGVjb2Rlcik7
Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0jZW5kaWYKLQogICAgIGRpZFJlY2VpdmVOZXR3b3Jr
UHJvY2Vzc01lc3NhZ2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBkZWNvZGVyKTsKIH0KIApAQCAt
MTYzLDcgKzE1OSw3IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OmluaXRpYWxpemVOZXR3b3JrUHJv
Y2Vzcyhjb25zdCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1lCiAgICAgICAgIFJlbW90ZU5l
dHdvcmtpbmdDb250ZXh0OjplbnN1cmVQcml2YXRlQnJvd3NpbmdTZXNzaW9uKCk7CiAKICNpZiBF
TkFCTEUoQ1VTVE9NX1BST1RPQ09MUykKLSAgICBDdXN0b21Qcm90b2NvbE1hbmFnZXI6OnNoYXJl
ZCgpLmluaXRpYWxpemUobV91aUNvbm5lY3Rpb24pOworICAgIEN1c3RvbVByb3RvY29sTWFuYWdl
cjo6c2hhcmVkKCkuY29ubmVjdGlvbkVzdGFibGlzaGVkKCk7CiAgICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPCBwYXJhbWV0ZXJzLnVybFNjaGVtZXNSZWdpc3RlcmVkRm9yQ3VzdG9tUHJvdG9jb2xz
LnNpemUoKTsgKytpKQogICAgICAgICBDdXN0b21Qcm90b2NvbE1hbmFnZXI6OnNoYXJlZCgpLnJl
Z2lzdGVyU2NoZW1lKHBhcmFtZXRlcnMudXJsU2NoZW1lc1JlZ2lzdGVyZWRGb3JDdXN0b21Qcm90
b2NvbHNbaV0pOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3MuaAppbmRleCA2ZjVkZjM1MDUxODgyYTI2NGY2YTFlY2Y0YjlkYjY2MTdmZTJh
Yjk3Li43YjU2ZjQ5YmE0ZDE5NTA2MTYyMmQ4MjU1NmY3MWQyODRlNjI1MjNlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAgLTQ1LDcgKzQ1
LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2VzczsKIHN0cnVjdCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKIAotY2xhc3Mg
TmV0d29ya1Byb2Nlc3MgOiBDaGlsZFByb2Nlc3MsIERvd25sb2FkTWFuYWdlcjo6Q2xpZW50IHsK
K2NsYXNzIE5ldHdvcmtQcm9jZXNzIDogcHVibGljIENoaWxkUHJvY2VzcywgRG93bmxvYWRNYW5h
Z2VyOjpDbGllbnQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5ldHdvcmtQcm9jZXNzKTsK
IHB1YmxpYzoKICAgICBzdGF0aWMgTmV0d29ya1Byb2Nlc3MmIHNoYXJlZCgpOwpAQCAtNjYsNiAr
NjYsOCBAQCBwcml2YXRlOgogCiAgICAgLy8gQ2hpbGRQcm9jZXNzCiAgICAgdmlydHVhbCBib29s
IHNob3VsZFRlcm1pbmF0ZSgpIE9WRVJSSURFOworICAgIHZpcnR1YWwgQ29yZUlQQzo6Q29ubmVj
dGlvbiogY29ubmVjdGlvbigpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIG1fdWlDb25uZWN0aW9u
LmdldCgpOyB9CisgICAgdmlydHVhbCB1aW50NjRfdCBkZXN0aW5hdGlvbklEKCkgY29uc3QgT1ZF
UlJJREUgeyByZXR1cm4gMDsgfQogCiAgICAgLy8gQ29yZUlQQzo6Q29ubmVjdGlvbjo6Q2xpZW50
CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24q
LCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3Mu
aCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCmluZGV4IGI0
MzIzZWQxNzBlZDI1NDc2NmMzOTBlOWJiMjYyODE0YTg0OWE2MGYuLjQ4YjgwZTExNzZkODM5NDFl
YjFkOGFhNTkyYzIzZmUyYWYyYTI0ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsdWdp
blByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nl
c3MvUGx1Z2luUHJvY2Vzcy5oCkBAIC03OSw2ICs3OSw4IEBAIHByaXZhdGU6CiAKICAgICAvLyBD
aGlsZFByb2Nlc3MKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkVGVybWluYXRlKCk7CisgICAgdmly
dHVhbCBDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uKCkgY29uc3QgT1ZFUlJJREUgeyBy
ZXR1cm4gbV9jb25uZWN0aW9uLmdldCgpOyB9CisgICAgdmlydHVhbCB1aW50NjRfdCBkZXN0aW5h
dGlvbklEKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gMDsgfQogCiAgICAgLy8gQ29yZUlQQzo6
Q29ubmVjdGlvbjo6Q2xpZW50CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKENv
cmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VE
ZWNvZGVyJikgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hp
bGRQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgKaW5kZXgg
NzhmOTViMDU4NTcxODliOTg2NDUxYmMxYjk1YWY1MDUzNDRiNzExMS4uZGM1MDRjM2ZlZDU2NGY0
NGE2NWFjM2E5YjM0NjA5MTYxNWVlYzhlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL0NoaWxkUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nl
c3MuaApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgogI2luY2x1
ZGUgIk1lc3NhZ2VSZWNlaXZlck1hcC5oIgorI2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNp
bmNsdWRlIDxXZWJDb3JlL1J1bkxvb3AuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAK
QEAgLTM3LDcgKzM4LDcgQEAgT0JKQ19DTEFTUyBOU1N0cmluZzsKIAogbmFtZXNwYWNlIFdlYktp
dCB7CiAKLWNsYXNzIENoaWxkUHJvY2VzcyA6IHByb3RlY3RlZCBDb3JlSVBDOjpDb25uZWN0aW9u
OjpDbGllbnQgeworY2xhc3MgQ2hpbGRQcm9jZXNzIDogcHJvdGVjdGVkIENvcmVJUEM6OkNvbm5l
Y3Rpb246OkNsaWVudCwgcHVibGljIENvcmVJUEM6Ok1lc3NhZ2VTZW5kZXI8Q2hpbGRQcm9jZXNz
PiB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2hpbGRQcm9jZXNzKTsKIAogcHVibGljOgpA
QCAtNzQsNiArNzUsMTAgQEAgcHVibGljOgogCiAgICAgc3RhdGljIHZvaWQgZGlkQ2xvc2VPbkNv
bm5lY3Rpb25Xb3JrUXVldWUoV29ya1F1ZXVlJiwgQ29yZUlQQzo6Q29ubmVjdGlvbiopOwogCisg
ICAgLy8gVXNlZCBieSBDb3JlSVBDOjpNZXNzYWdlU2VuZGVyCisgICAgdmlydHVhbCBDb3JlSVBD
OjpDb25uZWN0aW9uKiBjb25uZWN0aW9uKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgdWludDY0
X3QgZGVzdGluYXRpb25JRCgpIGNvbnN0ID0gMDsKKwogcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0
IENoaWxkUHJvY2VzcygpOwogICAgIHZpcnR1YWwgfkNoaWxkUHJvY2VzcygpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL0N1c3RvbVBy
b3RvY29sTWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL05ldHdvcmsvQ3VzdG9tUHJv
dG9jb2xzL0N1c3RvbVByb3RvY29sTWFuYWdlci5oCmluZGV4IGZmZDg1OWFiNGMzNDU0ZmRmMTc4
M2Y1M2Q2YjkzYTQzNTk5MDE5ZDcuLmU4MjA1MzVlNzYwNzk1YzhjOGM3YTA0ZjBkZTVjNTA4Yzc1
NTg2NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9OZXR3b3JrL0N1c3RvbVBy
b3RvY29scy9DdXN0b21Qcm90b2NvbE1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyLmgKQEAgLTI5
LDcgKzI5LDcgQEAKICNpZiBFTkFCTEUoQ1VTVE9NX1BST1RPQ09MUykKIAogI2luY2x1ZGUgIkNv
bm5lY3Rpb24uaCIKLSNpbmNsdWRlICJNZXNzYWdlSUQuaCIKKyNpbmNsdWRlICJNZXNzYWdlUmVj
ZWl2ZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgogCkBAIC00Miw3ICs0Miw2IEBAIE9CSkNfQ0xBU1MgV0tDdXN0b21Qcm90b2Nv
bDsKIAogbmFtZXNwYWNlIENvcmVJUEMgewogY2xhc3MgRGF0YVJlZmVyZW5jZTsKLWNsYXNzIE1l
c3NhZ2VEZWNvZGVyOwogfSAvLyBuYW1lc3BhY2UgQ29yZUlQQwogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC01MiwyNSArNTEsMjMgQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAogbmFtZXNw
YWNlIFdlYktpdCB7CiAKLWNsYXNzIEN1c3RvbVByb3RvY29sTWFuYWdlciB7CitjbGFzcyBDaGls
ZFByb2Nlc3M7CisKK2NsYXNzIEN1c3RvbVByb3RvY29sTWFuYWdlciA6IHByaXZhdGUgQ29yZUlQ
Qzo6TWVzc2FnZVJlY2VpdmVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDdXN0b21Qcm90
b2NvbE1hbmFnZXIpOwogCiBwdWJsaWM6CiAgICAgc3RhdGljIEN1c3RvbVByb3RvY29sTWFuYWdl
ciYgc2hhcmVkKCk7CiAgICAgCi0gICAgdm9pZCBpbml0aWFsaXplKFBhc3NSZWZQdHI8Q29yZUlQ
Qzo6Q29ubmVjdGlvbj4pOworICAgIHZvaWQgaW5pdGlhbGl6ZShDaGlsZFByb2Nlc3MqKTsKKyAg
ICB2b2lkIGNvbm5lY3Rpb25Fc3RhYmxpc2hlZCgpOwogCi0gICAgQ29yZUlQQzo6Q29ubmVjdGlv
biogY29ubmVjdGlvbigpIGNvbnN0Ci0gICAgewotICAgICAgICBBU1NFUlQobV9jb25uZWN0aW9u
KTsKLSAgICAgICAgcmV0dXJuIG1fY29ubmVjdGlvbi5nZXQoKTsKLSAgICB9CisgICAgQ2hpbGRQ
cm9jZXNzKiBjaGlsZFByb2Nlc3MoKSBjb25zdCB7IHJldHVybiBtX2NoaWxkUHJvY2VzczsgfQog
CiAgICAgdm9pZCByZWdpc3RlclNjaGVtZShjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHVucmVn
aXN0ZXJTY2hlbWUoY29uc3QgU3RyaW5nJik7CiAgICAgYm9vbCBzdXBwb3J0c1NjaGVtZShjb25z
dCBTdHJpbmcmKTsKIAotICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVj
dGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAg
ICB2b2lkIGRpZEZhaWxXaXRoRXJyb3IodWludDY0X3QgY3VzdG9tUHJvdG9jb2xJRCwgY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOwogICAgIHZvaWQgZGlkTG9hZERhdGEodWludDY0X3Qg
Y3VzdG9tUHJvdG9jb2xJRCwgY29uc3QgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSYpOwogICAgIHZv
aWQgZGlkUmVjZWl2ZVJlc3BvbnNlKHVpbnQ2NF90IGN1c3RvbVByb3RvY29sSUQsIGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCB1aW50MzJfdCBjYWNoZVN0b3JhZ2VQb2xpY3kpOwpA
QCAtODIsMTEgKzc5LDE0IEBAIHB1YmxpYzoKICNlbmRpZgogCiBwcml2YXRlOgotICAgIEN1c3Rv
bVByb3RvY29sTWFuYWdlcigpIHsgfQorICAgIEN1c3RvbVByb3RvY29sTWFuYWdlcigpOworCisg
ICAgLy8gQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyCisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2Vp
dmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJ
UEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7CiAgICAgdm9pZCBkaWRSZWNlaXZlQ3VzdG9t
UHJvdG9jb2xNYW5hZ2VyTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVz
c2FnZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIAogICAgIEhhc2hTZXQ8U3Ry
aW5nPiBtX3JlZ2lzdGVyZWRTY2hlbWVzOwotICAgIFJlZlB0cjxDb3JlSVBDOjpDb25uZWN0aW9u
PiBtX2Nvbm5lY3Rpb247CisgICAgQ2hpbGRQcm9jZXNzKiBtX2NoaWxkUHJvY2VzczsKIAogI2lm
IFBMQVRGT1JNKE1BQykKICAgICB0eXBlZGVmIEhhc2hNYXA8dWludDY0X3QsIFJldGFpblB0cjxX
S0N1c3RvbVByb3RvY29sPiA+IEN1c3RvbVByb3RvY29sTWFwOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL21hYy9DdXN0b21Qcm90b2Nv
bE1hbmFnZXJNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmV0d29yay9DdXN0b21Qcm90
b2NvbHMvbWFjL0N1c3RvbVByb3RvY29sTWFuYWdlck1hYy5tbQppbmRleCBiMTlmYWU1YTFmNTA1
YWMyZmI0ZmNmNzQ0YmJjZjkxNmFkMGE5OTQ1Li43ZTg1ZGE1ZDc3MDdlMmM3YjFkYWFhNzM3M2Ri
ZThjZGMzMzdmNjJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmV0d29yay9D
dXN0b21Qcm90b2NvbHMvbWFjL0N1c3RvbVByb3RvY29sTWFuYWdlck1hYy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvbWFjL0N1c3RvbVByb3Rv
Y29sTWFuYWdlck1hYy5tbQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKENVU1RPTV9Q
Uk9UT0NPTFMpCiAKKyNpbXBvcnQgIkN1c3RvbVByb3RvY29sTWFuYWdlck1lc3NhZ2VzLmgiCiAj
aW1wb3J0ICJDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eU1lc3NhZ2VzLmgiCiAjaW1wb3J0ICJE
YXRhUmVmZXJlbmNlLmgiCiAjaW1wb3J0ICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKQEAgLTgy
LDEyICs4MywxMiBAQCBzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVDdXN0b21Qcm90b2NvbElEKCkK
IAogLSAodm9pZClzdGFydExvYWRpbmcKIHsKLSAgICBDdXN0b21Qcm90b2NvbE1hbmFnZXI6OnNo
YXJlZCgpLmNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6Q3VzdG9tUHJvdG9jb2xNYW5hZ2Vy
UHJveHk6OlN0YXJ0TG9hZGluZyhzZWxmLmN1c3RvbVByb3RvY29sSUQsIFtzZWxmIHJlcXVlc3Rd
KSwgMCk7CisgICAgQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyOjpzaGFyZWQoKS5jaGlsZFByb2Nlc3Mo
KS0+c2VuZChNZXNzYWdlczo6Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6OlN0YXJ0TG9hZGlu
ZyhzZWxmLmN1c3RvbVByb3RvY29sSUQsIFtzZWxmIHJlcXVlc3RdKSwgMCk7CiB9CiAKIC0gKHZv
aWQpc3RvcExvYWRpbmcKIHsKLSAgICBDdXN0b21Qcm90b2NvbE1hbmFnZXI6OnNoYXJlZCgpLmNv
bm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6OlN0
b3BMb2FkaW5nKHNlbGYuY3VzdG9tUHJvdG9jb2xJRCksIDApOworICAgIEN1c3RvbVByb3RvY29s
TWFuYWdlcjo6c2hhcmVkKCkuY2hpbGRQcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OkN1c3RvbVBy
b3RvY29sTWFuYWdlclByb3h5OjpTdG9wTG9hZGluZyhzZWxmLmN1c3RvbVByb3RvY29sSUQpLCAw
KTsKICAgICBDdXN0b21Qcm90b2NvbE1hbmFnZXI6OnNoYXJlZCgpLnJlbW92ZUN1c3RvbVByb3Rv
Y29sKHNlbGYpOwogfQogCkBAIC0xMDEsMTEgKzEwMiwyMiBAQCBDdXN0b21Qcm90b2NvbE1hbmFn
ZXImIEN1c3RvbVByb3RvY29sTWFuYWdlcjo6c2hhcmVkKCkKICAgICByZXR1cm4gY3VzdG9tUHJv
dG9jb2xNYW5hZ2VyOwogfQogCi12b2lkIEN1c3RvbVByb3RvY29sTWFuYWdlcjo6aW5pdGlhbGl6
ZShQYXNzUmVmUHRyPENvcmVJUEM6OkNvbm5lY3Rpb24+IGNvbm5lY3Rpb24pCitDdXN0b21Qcm90
b2NvbE1hbmFnZXI6OkN1c3RvbVByb3RvY29sTWFuYWdlcigpCisgICAgOiBtX2NoaWxkUHJvY2Vz
cygwKQoreworfQorCit2b2lkIEN1c3RvbVByb3RvY29sTWFuYWdlcjo6aW5pdGlhbGl6ZShDaGls
ZFByb2Nlc3MqIGNoaWxkUHJvY2VzcykKK3sKKyAgICBBU1NFUlQoIW1fY2hpbGRQcm9jZXNzKTsK
KyAgICBBU1NFUlQoY2hpbGRQcm9jZXNzKTsKKworICAgIG1fY2hpbGRQcm9jZXNzID0gY2hpbGRQ
cm9jZXNzOworICAgIG1fY2hpbGRQcm9jZXNzLT5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6
OkN1c3RvbVByb3RvY29sTWFuYWdlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCB0aGlzKTsKK30K
Kwordm9pZCBDdXN0b21Qcm90b2NvbE1hbmFnZXI6OmNvbm5lY3Rpb25Fc3RhYmxpc2hlZCgpCiB7
Ci0gICAgQVNTRVJUKGNvbm5lY3Rpb24pOwotICAgIEFTU0VSVCghQ3VzdG9tUHJvdG9jb2xNYW5h
Z2VyOjpzaGFyZWQoKS5tX2Nvbm5lY3Rpb24pOwotICAgIEN1c3RvbVByb3RvY29sTWFuYWdlcjo6
c2hhcmVkKCkubV9jb25uZWN0aW9uID0gY29ubmVjdGlvbjsKICAgICBbTlNVUkxQcm90b2NvbCBy
ZWdpc3RlckNsYXNzOltXS0N1c3RvbVByb3RvY29sIGNsYXNzXV07CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZFdvcmtlclByb2Nlc3MvU2hhcmVkV29ya2VyUHJvY2Vzcy5o
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkV29ya2VyUHJvY2Vzcy9TaGFyZWRXb3JrZXJQcm9jZXNz
LmgKaW5kZXggN2ViZDM1N2U0MTMxYjU4NzgzNGU2ZGJiNmEyZDUzNzBjMWRiNGI1Yy4uZDZiZDFh
MWFiOWI4OWQ5MmQwY2YyNmNmODA2MTFlMjIzNGZkZDE2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvU2hhcmVkV29ya2VyUHJvY2Vzcy9TaGFyZWRXb3JrZXJQcm9jZXNzLmgKKysrIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkV29ya2VyUHJvY2Vzcy9TaGFyZWRXb3JrZXJQcm9jZXNzLmgKQEAg
LTU1LDYgKzU1LDggQEAgcHJpdmF0ZToKIAogICAgIC8vIENoaWxkUHJvY2VzcwogICAgIHZpcnR1
YWwgYm9vbCBzaG91bGRUZXJtaW5hdGUoKTsKKyAgICB2aXJ0dWFsIENvcmVJUEM6OkNvbm5lY3Rp
b24qIGNvbm5lY3Rpb24oKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBtX2Nvbm5lY3Rpb24uZ2V0
KCk7IH0KKyAgICB2aXJ0dWFsIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQoKSBjb25zdCBPVkVSUklE
RSB7IHJldHVybiAwOyB9CiAKICAgICAvLyBDb3JlSVBDOjpDb25uZWN0aW9uOjpDbGllbnQKICAg
ICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENv
cmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IDBmOTQxOGVlYzA2Y2E5YzgzYTMwNjgx
YzU1ZDgzZWFhYzgwZTk2YjcuLjhjYWViOGIxMzY1MTU4NDYwZTU2NWUwZWIxMjE5ZjI2MGI3Mzhi
NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMTYwLDYg
KzE2MCwxMCBAQCBXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKCkKICAgICBXZWJDb3JlOjppbml0aWFs
aXplTG9nZ2luZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKTsKICAgICBXZWJLaXQ6OmluaXRpYWxpemVM
b2dDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CiAjZW5kaWYgLy8gIUxPR19ESVNBQkxFRAorCisjaWYg
RU5BQkxFKENVU1RPTV9QUk9UT0NPTFMpCisgICAgQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyOjpzaGFy
ZWQoKS5pbml0aWFsaXplKHRoaXMpOworI2VuZGlmCiB9CiAKIHZvaWQgV2ViUHJvY2Vzczo6aW5p
dGlhbGl6ZShDb3JlSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyIHNlcnZlcklkZW50aWZpZXIs
IFJ1bkxvb3AqIHJ1bkxvb3ApCkBAIC02MDIsMTMgKzYwNiw2IEBAIHZvaWQgV2ViUHJvY2Vzczo6
ZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgQ29yZUlQ
Qzo6TWVzCiAgICAgICAgIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyOjpzaGFyZWQoKS5kaWRSZWNl
aXZlTWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGRlY29kZXIpOwogICAgICAgICByZXR1
cm47CiAgICAgfQotICAgIAotI2lmIEVOQUJMRShDVVNUT01fUFJPVE9DT0xTKQotICAgIGlmICht
ZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2FnZUNsYXNzQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyPigp
KSB7Ci0gICAgICAgIEN1c3RvbVByb3RvY29sTWFuYWdlcjo6c2hhcmVkKCkuZGlkUmVjZWl2ZU1l
c3NhZ2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBkZWNvZGVyKTsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KLSNlbmRpZgogCiAgICAgaWYgKG1lc3NhZ2VJRC5pczxDb3JlSVBDOjpNZXNzYWdlQ2xh
c3NXZWJQYWdlR3JvdXBQcm94eT4oKSkgewogICAgICAgICB1aW50NjRfdCBwYWdlR3JvdXBJRCA9
IGRlY29kZXIuZGVzdGluYXRpb25JRCgpOwpAQCAtMTA3OCw3ICsxMDc1LDcgQEAgdm9pZCBXZWJQ
cm9jZXNzOjppbml0aWFsaXplQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyKGNvbnN0IFdlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXQKICAgICAgICAgcmV0dXJuOwogI2VuZGlmCiAKLSAgICBDdXN0b21Qcm90
b2NvbE1hbmFnZXI6OnNoYXJlZCgpLmluaXRpYWxpemUobV9jb25uZWN0aW9uKTsKKyAgICBDdXN0
b21Qcm90b2NvbE1hbmFnZXI6OnNoYXJlZCgpLmNvbm5lY3Rpb25Fc3RhYmxpc2hlZCgpOwogICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcGFyYW1ldGVycy51cmxTY2hlbWVzUmVnaXN0ZXJlZEZv
ckN1c3RvbVByb3RvY29scy5zaXplKCk7ICsraSkKICAgICAgICAgQ3VzdG9tUHJvdG9jb2xNYW5h
Z2VyOjpzaGFyZWQoKS5yZWdpc3RlclNjaGVtZShwYXJhbWV0ZXJzLnVybFNjaGVtZXNSZWdpc3Rl
cmVkRm9yQ3VzdG9tUHJvdG9jb2xzW2ldKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmgKaW5kZXggYzM4MzkyY2RiNWQyOTU4MTA4ZWZmNjU1NjI1ODhiNDRkM2FmOGJmYS4u
ZjBmODc5MWE3ZDUyNTFmYmNmZWM0MzMwN2Y2YzEyMGU1YWUzMTU1NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTExNiw3ICsxMTYsOSBAQCBwdWJsaWM6CiAKICAg
ICB2b2lkIGluaXRpYWxpemUoQ29yZUlQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciwgV2ViQ29y
ZTo6UnVuTG9vcCopOwogCi0gICAgQ29yZUlQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbigpIGNv
bnN0IHsgcmV0dXJuIG1fY29ubmVjdGlvbi5nZXQoKTsgfQorICAgIHZpcnR1YWwgQ29yZUlQQzo6
Q29ubmVjdGlvbiogY29ubmVjdGlvbigpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIG1fY29ubmVj
dGlvbi5nZXQoKTsgfQorICAgIHZpcnR1YWwgdWludDY0X3QgZGVzdGluYXRpb25JRCgpIGNvbnN0
IE9WRVJSSURFIHsgcmV0dXJuIDA7IH0KKwogICAgIFdlYkNvcmU6OlJ1bkxvb3AqIHJ1bkxvb3Ao
KSBjb25zdCB7IHJldHVybiBtX3J1bkxvb3A7IH0KICAgICBXZWJDb25uZWN0aW9uVG9VSVByb2Nl
c3MqIHdlYkNvbm5lY3Rpb25Ub1VJUHJvY2VzcygpIGNvbnN0IHsgcmV0dXJuIG1fd2ViQ29ubmVj
dGlvbi5nZXQoKTsgfQogCg==
</data>
<flag name="review"
          id="197931"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>