<?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>116106</bug_id>
          
          <creation_ts>2013-05-14 08:25:29 -0700</creation_ts>
          <short_desc>Remove ::-webkit-distributed()</short_desc>
          <delta_ts>2013-05-14 08:58:59 -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>CSS</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="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kling</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>888850</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-05-14 08:25:29 -0700</bug_when>
    <thetext>Unused, no owner</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888851</commentid>
    <comment_count>1</comment_count>
      <attachid>201717</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-05-14 08:50:17 -0700</bug_when>
    <thetext>Created attachment 201717
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888856</commentid>
    <comment_count>2</comment_count>
      <attachid>201717</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-05-14 08:53:46 -0700</bug_when>
    <thetext>Comment on attachment 201717
patch

&lt;3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888862</commentid>
    <comment_count>3</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-05-14 08:58:59 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/150070</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201717</attachid>
            <date>2013-05-14 08:50:17 -0700</date>
            <delta_ts>2013-05-14 08:53:46 -0700</delta_ts>
            <desc>patch</desc>
            <filename>distributed-pseudo-remove.patch</filename>
            <type>text/plain</type>
            <size>23935</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MDA2OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ2IEBACisyMDEzLTA1LTE0ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgOjotd2Via2l0LWRp
c3RyaWJ1dGVkKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTExNjEwNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoaXMgZXhwZXJpbWVudGFsIFNoYWRvdyBET00gc2VsZWN0b3IgY29kZSBpcyB1bnVzZWQg
YW5kIGhhcyBubyBvd25lci4KKworICAgICAgICAqIGNzcy9DU1NHcmFtbWFyLnkuaW46CisgICAg
ICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnJl
d3JpdGVTcGVjaWZpZXJzV2l0aE5hbWVzcGFjZUlmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1BhcnNlcjo6cmV3cml0ZVNwZWNpZmllcnNXaXRoRWxlbWVudE5hbWUpOgorICAgICAgICAq
IGNzcy9DU1NQYXJzZXIuaDoKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyVmFsdWVzLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlclNlbGVjdG9yOjpDU1NQYXJzZXJTZWxlY3Rvcik6Cisg
ICAgICAgICogY3NzL0NTU1BhcnNlclZhbHVlcy5oOgorICAgICAgICAoQ1NTUGFyc2VyU2VsZWN0
b3IpOgorICAgICAgICAqIGNzcy9DU1NTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
U1NTZWxlY3Rvcjo6cHNldWRvSWQpOgorICAgICAgICAoV2ViQ29yZTo6bmFtZVRvUHNldWRvVHlw
ZU1hcCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3Rvcjo6c2VsZWN0b3JUZXh0KToKKyAg
ICAgICAgKiBjc3MvQ1NTU2VsZWN0b3IuaDoKKyAgICAgICAgKiBjc3MvQ1NTU2VsZWN0b3JMaXN0
LmNwcDoKKyAgICAgICAgKiBjc3MvQ1NTU2VsZWN0b3JMaXN0Lmg6CisgICAgICAgIChDU1NTZWxl
Y3Rvckxpc3QpOgorICAgICAgICAqIGNzcy9Eb2N1bWVudFJ1bGVTZXRzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50UnVsZVNldHM6OnJlc2V0QXV0aG9yU3R5bGUpOgorICAgICAgICAq
IGNzcy9Eb2N1bWVudFJ1bGVTZXRzLmg6CisgICAgICAgIChEb2N1bWVudFJ1bGVTZXRzKToKKyAg
ICAgICAgKiBjc3MvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RWxlbWVudFJ1bGVDb2xsZWN0b3I6Om1hdGNoQXV0aG9yUnVsZXMpOgorICAgICAgICAqIGNzcy9F
bGVtZW50UnVsZUNvbGxlY3Rvci5oOgorICAgICAgICAoRWxlbWVudFJ1bGVDb2xsZWN0b3IpOgor
ICAgICAgICAqIGNzcy9SdWxlU2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJ1bGVTZXQ6OmFk
ZENoaWxkUnVsZXMpOgorICAgICAgICAqIGNzcy9TZWxlY3RvckNoZWNrZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U2VsZWN0b3JDaGVja2VyOjptYXRjaCk6CisgICAgICAgICogY3NzL1NlbGVj
dG9yRmlsdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yRmlsdGVyOjpjb2xsZWN0
SWRlbnRpZmllckhhc2hlcyk6CisgICAgICAgICogaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQu
Y3BwOgorICAgICAgICAqIGh0bWwvc2hhZG93L0luc2VydGlvblBvaW50Lmg6CisKIDIwMTMtMDUt
MTQgIERha2VyIEZlcm5hbmRlcyBQaW5oZWlybyAgPGRha2VyLnBpbmhlaXJvQG9wZW5ib3NzYS5v
cmc+CiAKICAgICAgICAgUmVtb3ZlIFJlbmRlclRoZW1lOjpzdXBwb3J0c0NhbGVuZGFyUGlja2Vy
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55LmluCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkuaW4JKHJldmlzaW9uIDE1MDAwOSkKKysr
IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkuaW4JKHdvcmtpbmcgY29weSkKQEAgLTIx
NSw3ICsyMTUsNiBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNDU1NUb2tlbkFTdHJpbmcoaW50CiAl
dG9rZW4gPHN0cmluZz4gQ1VFRlVOQ1RJT04KICNlbmRpZgogJXRva2VuIDxzdHJpbmc+IE5PVEZV
TkNUSU9OCi0ldG9rZW4gPHN0cmluZz4gRElTVFJJQlVURURGVU5DVElPTgogJXRva2VuIDxzdHJp
bmc+IENBTENGVU5DVElPTgogJXRva2VuIDxzdHJpbmc+IE1JTkZVTkNUSU9OCiAldG9rZW4gPHN0
cmluZz4gTUFYRlVOQ1RJT04KQEAgLTE0NTYsMTkgKzE0NTUsNiBAQCBwc2V1ZG86CiAgICAgICAg
ICAgICAkJCA9IDA7CiAgICAgfQogI2VuZGlmCi0jaWYgRU5BQkxFX1NIQURPV19ET00KLSAgICB8
ICc6JyAnOicgRElTVFJJQlVURURGVU5DVElPTiBtYXliZV9zcGFjZSBzZWxlY3RvciBtYXliZV9z
cGFjZSAnKScgewotICAgICAgICBpZiAoISQ1KQotICAgICAgICAgICAgJCQgPSAwOwotICAgICAg
ICBlbHNlIHsKLSAgICAgICAgICAgICQkID0gcGFyc2VyLT5jcmVhdGVGbG9hdGluZ1NlbGVjdG9y
KCk7Ci0gICAgICAgICAgICAkJC0+c2V0TWF0Y2goQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnQp
OwotICAgICAgICAgICAgJCQtPnNldEZ1bmN0aW9uQXJndW1lbnRTZWxlY3RvcigkNSk7Ci0gICAg
ICAgICAgICAkMy5sb3dlcigpOwotICAgICAgICAgICAgJCQtPnNldFZhbHVlKCQzKTsKLSAgICAg
ICAgfQotICAgIH0KLSNlbmRpZgogICAgIC8vIHVzZSBieSA6LXdlYmtpdC1hbnkuCiAgICAgLy8g
RklYTUU6IHNob3VsZCB3ZSBzdXBwb3J0IGdlbmVyaWMgc2VsZWN0b3JzIGhlcmUgb3IganVzdCBz
aW1wbGVfc2VsZWN0b3JzPwogICAgIC8vIFVzZSBzaW1wbGVfc2VsZWN0b3JfbGlzdCBmb3Igbm93
IHRvIG1hdGNoIC1tb3otYW55LgpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAJKHJldmlz
aW9uIDE1MDAwOSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xMTYxOCwxMiArMTE2MTgsNiBAQCBDU1NQYXJzZXJTZWxlY3RvciogQ1NTUGFy
c2VyOjpyZXdyaXRlU3BlCiB7CiAgICAgaWYgKG1fZGVmYXVsdE5hbWVzcGFjZSAhPSBzdGFyQXRv
bSB8fCBzcGVjaWZpZXJzLT5pc0N1c3RvbVBzZXVkb0VsZW1lbnQoKSkKICAgICAgICAgcmV0dXJu
IHJld3JpdGVTcGVjaWZpZXJzV2l0aEVsZW1lbnROYW1lKG51bGxBdG9tLCBzdGFyQXRvbSwgc3Bl
Y2lmaWVycywgLyp0YWdJc0Zvck5hbWVzcGFjZVJ1bGUqL3RydWUpOwotI2lmIEVOQUJMRShTSEFE
T1dfRE9NKQotICAgIGlmIChDU1NQYXJzZXJTZWxlY3RvciogZGlzdHJpYnV0ZWRQc2V1ZG9FbGVt
ZW50U2VsZWN0b3IgPSBzcGVjaWZpZXJzLT5maW5kRGlzdHJpYnV0ZWRQc2V1ZG9FbGVtZW50U2Vs
ZWN0b3IoKSkgewotICAgICAgICBzcGVjaWZpZXJzLT5wcmVwZW5kVGFnU2VsZWN0b3IoUXVhbGlm
aWVkTmFtZShudWxsQXRvbSwgc3RhckF0b20sIG1fZGVmYXVsdE5hbWVzcGFjZSksIC8qdGFnSXNG
b3JOYW1lc3BhY2VSdWxlKi90cnVlKTsKLSAgICAgICAgcmV0dXJuIHJld3JpdGVTcGVjaWZpZXJz
Rm9yU2hhZG93RGlzdHJpYnV0ZWQoc3BlY2lmaWVycywgZGlzdHJpYnV0ZWRQc2V1ZG9FbGVtZW50
U2VsZWN0b3IpOwotICAgIH0KLSNlbmRpZgogICAgIHJldHVybiBzcGVjaWZpZXJzOwogfQogCkBA
IC0xMTYzMiwxMyArMTE2MjYsNiBAQCBDU1NQYXJzZXJTZWxlY3RvciogQ1NTUGFyc2VyOjpyZXdy
aXRlU3BlCiAgICAgQXRvbWljU3RyaW5nIGRldGVybWluZWROYW1lc3BhY2UgPSBuYW1lc3BhY2VQ
cmVmaXggIT0gbnVsbEF0b20gJiYgbV9zdHlsZVNoZWV0ID8gbV9zdHlsZVNoZWV0LT5kZXRlcm1p
bmVOYW1lc3BhY2UobmFtZXNwYWNlUHJlZml4KSA6IG1fZGVmYXVsdE5hbWVzcGFjZTsKICAgICBR
dWFsaWZpZWROYW1lIHRhZyhuYW1lc3BhY2VQcmVmaXgsIGVsZW1lbnROYW1lLCBkZXRlcm1pbmVk
TmFtZXNwYWNlKTsKIAotI2lmIEVOQUJMRShTSEFET1dfRE9NKQotICAgIGlmIChDU1NQYXJzZXJT
ZWxlY3RvciogZGlzdHJpYnV0ZWRQc2V1ZG9FbGVtZW50U2VsZWN0b3IgPSBzcGVjaWZpZXJzLT5m
aW5kRGlzdHJpYnV0ZWRQc2V1ZG9FbGVtZW50U2VsZWN0b3IoKSkgewotICAgICAgICBzcGVjaWZp
ZXJzLT5wcmVwZW5kVGFnU2VsZWN0b3IodGFnLCB0YWdJc0Zvck5hbWVzcGFjZVJ1bGUpOwotICAg
ICAgICByZXR1cm4gcmV3cml0ZVNwZWNpZmllcnNGb3JTaGFkb3dEaXN0cmlidXRlZChzcGVjaWZp
ZXJzLCBkaXN0cmlidXRlZFBzZXVkb0VsZW1lbnRTZWxlY3Rvcik7Ci0gICAgfQotI2VuZGlmCi0K
ICAgICBpZiAoIXNwZWNpZmllcnMtPmlzQ3VzdG9tUHNldWRvRWxlbWVudCgpKSB7CiAgICAgICAg
IGlmICh0YWcgPT0gYW55UU5hbWUoKSkKICAgICAgICAgICAgIHJldHVybiBzcGVjaWZpZXJzOwpA
QCAtMTE2NzEsMjcgKzExNjU4LDYgQEAgQ1NTUGFyc2VyU2VsZWN0b3IqIENTU1BhcnNlcjo6cmV3
cml0ZVNwZQogICAgIHJldHVybiBzcGVjaWZpZXJzOwogfQogCi0jaWYgRU5BQkxFKFNIQURPV19E
T00pCi1DU1NQYXJzZXJTZWxlY3RvciogQ1NTUGFyc2VyOjpyZXdyaXRlU3BlY2lmaWVyc0ZvclNo
YWRvd0Rpc3RyaWJ1dGVkKENTU1BhcnNlclNlbGVjdG9yKiBzcGVjaWZpZXJzLCBDU1NQYXJzZXJT
ZWxlY3RvciogZGlzdHJpYnV0ZWRQc2V1ZG9FbGVtZW50U2VsZWN0b3IpCi17Ci0gICAgQ1NTUGFy
c2VyU2VsZWN0b3IqIGFyZ3VtZW50U2VsZWN0b3IgPSBkaXN0cmlidXRlZFBzZXVkb0VsZW1lbnRT
ZWxlY3Rvci0+ZnVuY3Rpb25Bcmd1bWVudFNlbGVjdG9yKCk7Ci0gICAgQVNTRVJUKGFyZ3VtZW50
U2VsZWN0b3IpOwotICAgIEFTU0VSVCghc3BlY2lmaWVycy0+aXNEaXN0cmlidXRlZFBzZXVkb0Vs
ZW1lbnQoKSk7Ci0gICAgZm9yIChDU1NQYXJzZXJTZWxlY3RvciogZW5kID0gc3BlY2lmaWVyczsg
ZW5kLT50YWdIaXN0b3J5KCk7IGVuZCA9IGVuZC0+dGFnSGlzdG9yeSgpKSB7Ci0gICAgICAgIGlm
IChlbmQtPnRhZ0hpc3RvcnkoKS0+aXNEaXN0cmlidXRlZFBzZXVkb0VsZW1lbnQoKSkgewotICAg
ICAgICAgICAgZW5kLT5jbGVhclRhZ0hpc3RvcnkoKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICB9Ci0gICAgfQotICAgIENTU1BhcnNlclNlbGVjdG9yKiBlbmQgPSBhcmd1bWVudFNlbGVj
dG9yOwotICAgIHdoaWxlIChlbmQtPnRhZ0hpc3RvcnkoKSkKLSAgICAgICAgZW5kID0gZW5kLT50
YWdIaXN0b3J5KCk7Ci0gICAgZW5kLT5zZXRUYWdIaXN0b3J5KHNpbmtGbG9hdGluZ1NlbGVjdG9y
KHNwZWNpZmllcnMpKTsKLSAgICBlbmQtPnNldFJlbGF0aW9uKENTU1NlbGVjdG9yOjpTaGFkb3dE
aXN0cmlidXRlZCk7Ci0gICAgcmV0dXJuIGFyZ3VtZW50U2VsZWN0b3I7Ci19Ci0jZW5kaWYKLQog
Q1NTUGFyc2VyU2VsZWN0b3IqIENTU1BhcnNlcjo6cmV3cml0ZVNwZWNpZmllcnMoQ1NTUGFyc2Vy
U2VsZWN0b3IqIHNwZWNpZmllcnMsIENTU1BhcnNlclNlbGVjdG9yKiBuZXdTcGVjaWZpZXIpCiB7
CiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAkocmV2
aXNpb24gMTUwMDA5KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zNTYsOSArMzU2LDYgQEAgcHVibGljOgogICAgIENTU1BhcnNlclNlbGVjdG9y
KiByZXdyaXRlU3BlY2lmaWVyc1dpdGhFbGVtZW50TmFtZShjb25zdCBBdG9taWNTdHJpbmcmIG5h
bWVzcGFjZVByZWZpeCwgY29uc3QgQXRvbWljU3RyaW5nJiBlbGVtZW50TmFtZSwgQ1NTUGFyc2Vy
U2VsZWN0b3IqLCBib29sIGlzTmFtZXNwYWNlUGxhY2Vob2xkZXIgPSBmYWxzZSk7CiAgICAgQ1NT
UGFyc2VyU2VsZWN0b3IqIHJld3JpdGVTcGVjaWZpZXJzV2l0aE5hbWVzcGFjZUlmTmVlZGVkKENT
U1BhcnNlclNlbGVjdG9yKik7CiAgICAgQ1NTUGFyc2VyU2VsZWN0b3IqIHJld3JpdGVTcGVjaWZp
ZXJzKENTU1BhcnNlclNlbGVjdG9yKiwgQ1NTUGFyc2VyU2VsZWN0b3IqKTsKLSNpZiBFTkFCTEUo
U0hBRE9XX0RPTSkKLSAgICBDU1NQYXJzZXJTZWxlY3RvciogcmV3cml0ZVNwZWNpZmllcnNGb3JT
aGFkb3dEaXN0cmlidXRlZChDU1NQYXJzZXJTZWxlY3Rvciogc3BlY2lmaWVycywgQ1NTUGFyc2Vy
U2VsZWN0b3IqIGRpc3RyaWJ1dGVkUHNldWRvRWxlbWVudFNlbGVjdG9yKTsKLSNlbmRpZgogCiAg
ICAgdm9pZCBpbnZhbGlkQmxvY2tIaXQoKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhcnNlclZhbHVlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlclZhbHVlcy5jcHAJKHJldmlzaW9uIDE1MDAwOSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQYXJzZXJWYWx1ZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDgsOSArMTQ4LDYgQEAgUGFz
c1JlZlB0cjxDU1NWYWx1ZT4gQ1NTUGFyc2VyVmFsdWU6OmNyZQogCiBDU1NQYXJzZXJTZWxlY3Rv
cjo6Q1NTUGFyc2VyU2VsZWN0b3IoKQogICAgIDogbV9zZWxlY3RvcihhZG9wdFB0cihmYXN0TmV3
PENTU1NlbGVjdG9yPigpKSkKLSNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKLSAgICAsIG1fZnVuY3Rp
b25Bcmd1bWVudFNlbGVjdG9yKDApCi0jZW5kaWYKIHsKIH0KIApAQCAtMjMwLDE3ICsyMjcsNSBA
QCB2b2lkIENTU1BhcnNlclNlbGVjdG9yOjpwcmVwZW5kVGFnU2VsZWN0CiAgICAgbV9zZWxlY3Rv
ci0+bV9yZWxhdGlvbiA9IENTU1NlbGVjdG9yOjpTdWJTZWxlY3RvcjsKIH0KIAotI2lmIEVOQUJM
RShTSEFET1dfRE9NKQotQ1NTUGFyc2VyU2VsZWN0b3IqIENTU1BhcnNlclNlbGVjdG9yOjpmaW5k
RGlzdHJpYnV0ZWRQc2V1ZG9FbGVtZW50U2VsZWN0b3IoKSBjb25zdAotewotICAgIENTU1BhcnNl
clNlbGVjdG9yKiBzZWxlY3RvciA9IGNvbnN0X2Nhc3Q8Q1NTUGFyc2VyU2VsZWN0b3IqPih0aGlz
KTsKLSAgICBkbyB7Ci0gICAgICAgIGlmIChzZWxlY3Rvci0+aXNEaXN0cmlidXRlZFBzZXVkb0Vs
ZW1lbnQoKSkKLSAgICAgICAgICAgIHJldHVybiBzZWxlY3RvcjsKLSAgICB9IHdoaWxlICgoc2Vs
ZWN0b3IgPSBzZWxlY3Rvci0+dGFnSGlzdG9yeSgpKSk7Ci0gICAgcmV0dXJuIDA7Ci19Ci0jZW5k
aWYKLQogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCShyZXZpc2lv
biAxNTAwMDkpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgJKHdvcmtp
bmcgY29weSkKQEAgLTE4NiwxMyArMTg2LDYgQEAgcHVibGljOgogCiAgICAgdm9pZCBhZG9wdFNl
bGVjdG9yVmVjdG9yKFZlY3RvcjxPd25QdHI8Q1NTUGFyc2VyU2VsZWN0b3I+ID4mIHNlbGVjdG9y
VmVjdG9yKTsKIAotI2lmIEVOQUJMRShTSEFET1dfRE9NKQotICAgIENTU1BhcnNlclNlbGVjdG9y
KiBmdW5jdGlvbkFyZ3VtZW50U2VsZWN0b3IoKSBjb25zdCB7IHJldHVybiBtX2Z1bmN0aW9uQXJn
dW1lbnRTZWxlY3RvcjsgfQotICAgIHZvaWQgc2V0RnVuY3Rpb25Bcmd1bWVudFNlbGVjdG9yKENT
U1BhcnNlclNlbGVjdG9yKiBzZWxlY3RvcikgeyBtX2Z1bmN0aW9uQXJndW1lbnRTZWxlY3RvciA9
IHNlbGVjdG9yOyB9Ci0gICAgYm9vbCBpc0Rpc3RyaWJ1dGVkUHNldWRvRWxlbWVudCgpIGNvbnN0
IHsgcmV0dXJuIG1fc2VsZWN0b3ItPmlzRGlzdHJpYnV0ZWRQc2V1ZG9FbGVtZW50KCk7IH0KLSAg
ICBDU1NQYXJzZXJTZWxlY3RvciogZmluZERpc3RyaWJ1dGVkUHNldWRvRWxlbWVudFNlbGVjdG9y
KCkgY29uc3Q7Ci0jZW5kaWYKLQogICAgIENTU1NlbGVjdG9yOjpQc2V1ZG9UeXBlIHBzZXVkb1R5
cGUoKSBjb25zdCB7IHJldHVybiBtX3NlbGVjdG9yLT5wc2V1ZG9UeXBlKCk7IH0KICAgICBib29s
IGlzQ3VzdG9tUHNldWRvRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fc2VsZWN0b3ItPmlzQ3Vz
dG9tUHNldWRvRWxlbWVudCgpOyB9CiAKQEAgLTIwOSw5ICsyMDIsNiBAQCBwdWJsaWM6CiBwcml2
YXRlOgogICAgIE93blB0cjxDU1NTZWxlY3Rvcj4gbV9zZWxlY3RvcjsKICAgICBPd25QdHI8Q1NT
UGFyc2VyU2VsZWN0b3I+IG1fdGFnSGlzdG9yeTsKLSNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKLSAg
ICBDU1NQYXJzZXJTZWxlY3RvciogbV9mdW5jdGlvbkFyZ3VtZW50U2VsZWN0b3I7Ci0jZW5kaWYK
IH07CiAKIGlubGluZSBib29sIENTU1BhcnNlclNlbGVjdG9yOjpoYXNTaGFkb3dEZXNjZW5kYW50
KCkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAkocmV2aXNpb24gMTUw
MDA5KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjQ0LDkgKzI0NCw2IEBAIFBzZXVkb0lkIENTU1NlbGVjdG9yOjpwc2V1ZG9JZChQc2V1
ZG9UeXAKICNpZiBFTkFCTEUoSUZSQU1FX1NFQU1MRVNTKQogICAgIGNhc2UgUHNldWRvU2VhbWxl
c3NEb2N1bWVudDoKICNlbmRpZgotI2lmIEVOQUJMRShTSEFET1dfRE9NKQotICAgIGNhc2UgUHNl
dWRvRGlzdHJpYnV0ZWQ6Ci0jZW5kaWYKICAgICAgICAgcmV0dXJuIE5PUFNFVURPOwogICAgIGNh
c2UgUHNldWRvTm90UGFyc2VkOgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTMz
Nyw5ICszMzQsNiBAQCBzdGF0aWMgSGFzaE1hcDxBdG9taWNTdHJpbmdJbXBsKiwgQ1NTU2VsCiAj
aWYgRU5BQkxFKElGUkFNRV9TRUFNTEVTUykKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21p
Y1N0cmluZywgc2VhbWxlc3NEb2N1bWVudCwgKCItd2Via2l0LXNlYW1sZXNzLWRvY3VtZW50Iiwg
QXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwogI2VuZGlmCi0jaWYgRU5BQkxF
KFNIQURPV19ET00pCi0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIGRpc3Ry
aWJ1dGVkLCAoIi13ZWJraXQtZGlzdHJpYnV0ZWQoIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RG
cm9tTGl0ZXJhbCkpOwotI2VuZGlmCiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJp
bmcsIGluUmFuZ2UsICgiaW4tcmFuZ2UiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRl
cmFsKSk7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG91dE9mUmFuZ2Us
ICgib3V0LW9mLXJhbmdlIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwog
ICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBzY29wZSwgKCJzY29wZSIsIEF0
b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKQEAgLTQyNSw5ICs0MTksNiBAQCBz
dGF0aWMgSGFzaE1hcDxBdG9taWNTdHJpbmdJbXBsKiwgQ1NTU2VsCiAjaWYgRU5BQkxFKElGUkFN
RV9TRUFNTEVTUykKICAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KHNlYW1sZXNzRG9jdW1l
bnQuaW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNldWRvU2VhbWxlc3NEb2N1bWVudCk7CiAjZW5kaWYK
LSNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKLSAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KGRp
c3RyaWJ1dGVkLmltcGwoKSwgQ1NTU2VsZWN0b3I6OlBzZXVkb0Rpc3RyaWJ1dGVkKTsKLSNlbmRp
ZgogICAgICAgICBuYW1lVG9Qc2V1ZG9UeXBlLT5zZXQoaW5SYW5nZS5pbXBsKCksIENTU1NlbGVj
dG9yOjpQc2V1ZG9JblJhbmdlKTsKICAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KG91dE9m
UmFuZ2UuaW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNldWRvT3V0T2ZSYW5nZSk7CiAgICAgfQpAQCAt
NzE2LDEwICs3MDcsNiBAQCBTdHJpbmcgQ1NTU2VsZWN0b3I6OnNlbGVjdG9yVGV4dChjb25zdCBT
CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgY2FzZSBDU1NTZWxl
Y3Rvcjo6U2hhZG93RGVzY2VuZGFudDoKICAgICAgICAgICAgIHJldHVybiB0YWdIaXN0b3J5LT5z
ZWxlY3RvclRleHQoc3RyLnRvU3RyaW5nKCkgKyByaWdodFNpZGUpOwotI2lmIEVOQUJMRShTSEFE
T1dfRE9NKQotICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpTaGFkb3dEaXN0cmlidXRlZDoKLSAg
ICAgICAgICAgIHJldHVybiB0YWdIaXN0b3J5LT5zZWxlY3RvclRleHQoIjo6LXdlYmtpdC1kaXN0
cmlidXRlZCgiICsgc3RyLnRvU3RyaW5nKCkgKyByaWdodFNpZGUgKyAiKSIpOwotI2VuZGlmCiAg
ICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIHN0ci50b1N0cmluZygpICsgcmlnaHRTaWRlOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgJKHJldmlzaW9uIDE1MDAwOSkKKysrIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCSh3b3JraW5nIGNvcHkpCkBAIC03OCw5ICs3OCw2
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIEluZGlyZWN0QWRqYWNlbnQsCiAg
ICAgICAgICAgICBTdWJTZWxlY3RvciwKICAgICAgICAgICAgIFNoYWRvd0Rlc2NlbmRhbnQsCi0j
aWYgRU5BQkxFKFNIQURPV19ET00pCi0gICAgICAgICAgICBTaGFkb3dEaXN0cmlidXRlZAotI2Vu
ZGlmCiAgICAgICAgIH07CiAKICAgICAgICAgZW51bSBQc2V1ZG9UeXBlIHsKQEAgLTE2OSw5ICsx
NjYsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjaWYgRU5BQkxFKElGUkFNRV9TRUFNTEVTUykK
ICAgICAgICAgICAgIFBzZXVkb1NlYW1sZXNzRG9jdW1lbnQsCiAjZW5kaWYKLSNpZiBFTkFCTEUo
U0hBRE9XX0RPTSkKLSAgICAgICAgICAgIFBzZXVkb0Rpc3RyaWJ1dGVkCi0jZW5kaWYKICAgICAg
ICAgfTsKIAogICAgICAgICBlbnVtIE1hcmdpbkJveFR5cGUgewpAQCAtMjI2LDEwICsyMjAsNiBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgaXNDdXN0b21Qc2V1ZG9FbGVtZW50
KCkgY29uc3Q7CiAgICAgICAgIGJvb2wgaXNTaWJsaW5nU2VsZWN0b3IoKSBjb25zdDsKICAgICAg
ICAgYm9vbCBpc0F0dHJpYnV0ZVNlbGVjdG9yKCkgY29uc3Q7Ci0jaWYgRU5BQkxFKFNIQURPV19E
T00pCi0gICAgICAgIGJvb2wgaXNEaXN0cmlidXRlZFBzZXVkb0VsZW1lbnQoKSBjb25zdDsKLSAg
ICAgICAgYm9vbCBpc1NoYWRvd0Rpc3RyaWJ1dGVkKCkgY29uc3Q7Ci0jZW5kaWYKIAogICAgICAg
ICBSZWxhdGlvbiByZWxhdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PFJlbGF0aW9u
PihtX3JlbGF0aW9uKTsgfQogCkBAIC0zNDIsMTggKzMzMiw2IEBAIGlubGluZSBib29sIENTU1Nl
bGVjdG9yOjppc0F0dHJpYnV0ZVNlbGUKICAgICAgICAgfHwgbV9tYXRjaCA9PSBDU1NTZWxlY3Rv
cjo6RW5kOwogfQogCi0jaWYgRU5BQkxFKFNIQURPV19ET00pCi1pbmxpbmUgYm9vbCBDU1NTZWxl
Y3Rvcjo6aXNEaXN0cmlidXRlZFBzZXVkb0VsZW1lbnQoKSBjb25zdAotewotICAgIHJldHVybiBt
X21hdGNoID09IFBzZXVkb0VsZW1lbnQgJiYgcHNldWRvVHlwZSgpID09IFBzZXVkb0Rpc3RyaWJ1
dGVkOwotfQotCi1pbmxpbmUgYm9vbCBDU1NTZWxlY3Rvcjo6aXNTaGFkb3dEaXN0cmlidXRlZCgp
IGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fcmVsYXRpb24gPT0gQ1NTU2VsZWN0b3I6OlNoYWRvd0Rp
c3RyaWJ1dGVkOwotfQotI2VuZGlmCi0KIGlubGluZSB2b2lkIENTU1NlbGVjdG9yOjpzZXRWYWx1
ZShjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlKQogewogICAgIEFTU0VSVChtX21hdGNoICE9IFRh
Zyk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3JMaXN0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3JMaXN0LmNwcAkocmV2aXNpb24g
MTUwMDA5KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlzdC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTE4MCwyMCArMTgwLDQgQEAgYm9vbCBDU1NTZWxlY3Rvckxpc3Q6Omhhc0lu
dmFsaWRTZWxlY3RvcgogICAgIHJldHVybiBmb3JFYWNoU2VsZWN0b3IoZnVuY3RvciwgdGhpcyk7
CiB9CiAKLSNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKLWNsYXNzIFNlbGVjdG9ySGFzU2hhZG93RGlz
dHJpYnV0ZWQgewotcHVibGljOgotICAgIGJvb2wgb3BlcmF0b3IoKShjb25zdCBDU1NTZWxlY3Rv
ciogc2VsZWN0b3IpCi0gICAgewotICAgICAgICByZXR1cm4gc2VsZWN0b3ItPmlzU2hhZG93RGlz
dHJpYnV0ZWQoKTsKLSAgICB9Ci19OwotCi1ib29sIENTU1NlbGVjdG9yTGlzdDo6aGFzU2hhZG93
RGlzdHJpYnV0ZWRBdChzaXplX3QgaW5kZXgpIGNvbnN0Ci17Ci0gICAgU2VsZWN0b3JIYXNTaGFk
b3dEaXN0cmlidXRlZCBmdW5jdG9yOwotICAgIHJldHVybiBmb3JFYWNoVGFnU2VsZWN0b3IoZnVu
Y3Rvciwgc2VsZWN0b3JBdChpbmRleCkpOwotfQotI2VuZGlmCi0KIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3JMaXN0LmgJKHJldmlzaW9uIDE1
MDAwOSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuaAkod29ya2luZyBj
b3B5KQpAQCAtNjEsMTAgKzYxLDYgQEAgcHVibGljOgogICAgIGJvb2wgc2VsZWN0b3JzTmVlZE5h
bWVzcGFjZVJlc29sdXRpb24oKTsKICAgICBib29sIGhhc0ludmFsaWRTZWxlY3RvcigpIGNvbnN0
OwogCi0jaWYgRU5BQkxFKFNIQURPV19ET00pCi0gICAgYm9vbCBoYXNTaGFkb3dEaXN0cmlidXRl
ZEF0KHNpemVfdCBpbmRleCkgY29uc3Q7Ci0jZW5kaWYKLQogICAgIFN0cmluZyBzZWxlY3RvcnNU
ZXh0KCkgY29uc3Q7CiAKIHByaXZhdGU6CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvRG9jdW1l
bnRSdWxlU2V0cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0RvY3VtZW50
UnVsZVNldHMuY3BwCShyZXZpc2lvbiAxNTAwMDkpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvRG9j
dW1lbnRSdWxlU2V0cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDI1ICszOCw2IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotI2lmIEVOQUJMRShTSEFET1dfRE9NKQotdm9pZCBTaGFkb3dE
aXN0cmlidXRlZFJ1bGVzOjphZGRSdWxlKFN0eWxlUnVsZSogcnVsZSwgc2l6ZV90IHNlbGVjdG9y
SW5kZXgsIENvbnRhaW5lck5vZGUqIHNjb3BlLCBBZGRSdWxlRmxhZ3MgYWRkUnVsZUZsYWdzKQot
ewotICAgIGlmIChtX3NoYWRvd0Rpc3RyaWJ1dGVkUnVsZVNldE1hcC5jb250YWlucyhzY29wZSkp
Ci0gICAgICAgIG1fc2hhZG93RGlzdHJpYnV0ZWRSdWxlU2V0TWFwLmdldChzY29wZSktPmFkZFJ1
bGUocnVsZSwgc2VsZWN0b3JJbmRleCwgYWRkUnVsZUZsYWdzKTsKLSAgICBlbHNlIHsKLSAgICAg
ICAgT3duUHRyPFJ1bGVTZXQ+IHJ1bGVTZXRGb3JTY29wZSA9IGFkb3B0UHRyKG5ldyBSdWxlU2V0
KCkpOwotICAgICAgICBydWxlU2V0Rm9yU2NvcGUtPmFkZFJ1bGUocnVsZSwgc2VsZWN0b3JJbmRl
eCwgYWRkUnVsZUZsYWdzKTsKLSAgICAgICAgbV9zaGFkb3dEaXN0cmlidXRlZFJ1bGVTZXRNYXAu
YWRkKHNjb3BlLCBydWxlU2V0Rm9yU2NvcGUucmVsZWFzZSgpKTsKLSAgICB9Ci19Ci0KLXZvaWQg
U2hhZG93RGlzdHJpYnV0ZWRSdWxlczo6Y29sbGVjdE1hdGNoUmVxdWVzdHMoYm9vbCBpbmNsdWRl
RW1wdHlSdWxlcywgVmVjdG9yPE1hdGNoUmVxdWVzdD4mIG1hdGNoUmVxdWVzdHMpCi17Ci0gICAg
Zm9yIChTaGFkb3dEaXN0cmlidXRlZFJ1bGVTZXRNYXA6Oml0ZXJhdG9yIGl0ID0gbV9zaGFkb3dE
aXN0cmlidXRlZFJ1bGVTZXRNYXAuYmVnaW4oKTsgaXQgIT0gbV9zaGFkb3dEaXN0cmlidXRlZFJ1
bGVTZXRNYXAuZW5kKCk7ICsraXQpCi0gICAgICAgIG1hdGNoUmVxdWVzdHMuYXBwZW5kKE1hdGNo
UmVxdWVzdChpdC0+dmFsdWUuZ2V0KCksIGluY2x1ZGVFbXB0eVJ1bGVzLCBpdC0+a2V5KSk7Ci19
Ci0jZW5kaWYKLQogRG9jdW1lbnRSdWxlU2V0czo6RG9jdW1lbnRSdWxlU2V0cygpCiB7CiB9CkBA
IC0xMDAsOSArODEsNiBAQCB2b2lkIERvY3VtZW50UnVsZVNldHM6OnJlc2V0QXV0aG9yU3R5bGUo
CiB7CiAgICAgbV9hdXRob3JTdHlsZSA9IFJ1bGVTZXQ6OmNyZWF0ZSgpOwogICAgIG1fYXV0aG9y
U3R5bGUtPmRpc2FibGVBdXRvU2hyaW5rVG9GaXQoKTsKLSNpZiBFTkFCTEUoU0hBRE9XX0RPTSkK
LSAgICBtX3NoYWRvd0Rpc3RyaWJ1dGVkUnVsZXMuY2xlYXIoKTsKLSNlbmRpZgogfQogCiB2b2lk
IERvY3VtZW50UnVsZVNldHM6OmFwcGVuZEF1dGhvclN0eWxlU2hlZXRzKHVuc2lnbmVkIGZpcnN0
TmV3LCBjb25zdCBWZWN0b3I8UmVmUHRyPENTU1N0eWxlU2hlZXQ+ID4mIHN0eWxlU2hlZXRzLCBN
ZWRpYVF1ZXJ5RXZhbHVhdG9yKiBtZWRpdW0sIEluc3BlY3RvckNTU09NV3JhcHBlcnMmIGluc3Bl
Y3RvckNTU09NV3JhcHBlcnMsIGJvb2wgaXNWaWV3U291cmNlLCBTdHlsZVJlc29sdmVyKiByZXNv
bHZlcikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9Eb2N1bWVudFJ1bGVTZXRzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0RvY3VtZW50UnVsZVNldHMuaAkocmV2aXNpb24g
MTUwMDA5KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0RvY3VtZW50UnVsZVNldHMuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNDEsMTkgKzQxLDYgQEAgY2xhc3MgTWVkaWFRdWVyeUV2YWx1YXRvcjsKIGNs
YXNzIFJ1bGVTZXQ7CiBjbGFzcyBTdHlsZVNjb3BlUmVzb2x2ZXI7CiAKLSNpZiBFTkFCTEUoU0hB
RE9XX0RPTSkKLWNsYXNzIFNoYWRvd0Rpc3RyaWJ1dGVkUnVsZXMgewotcHVibGljOgotICAgIHZv
aWQgYWRkUnVsZShTdHlsZVJ1bGUqLCBzaXplX3Qgc2VsZWN0b3JJbmRleCwgQ29udGFpbmVyTm9k
ZSogc2NvcGUsIEFkZFJ1bGVGbGFncyk7Ci0gICAgdm9pZCBjb2xsZWN0TWF0Y2hSZXF1ZXN0cyhi
b29sIGluY2x1ZGVFbXB0eVJ1bGVzLCBWZWN0b3I8TWF0Y2hSZXF1ZXN0PiYpOwotICAgIHZvaWQg
Y2xlYXIoKSB7IG1fc2hhZG93RGlzdHJpYnV0ZWRSdWxlU2V0TWFwLmNsZWFyKCk7IH0KLSAgICBi
b29sIGlzRW1wdHkoKSBjb25zdCB7IHJldHVybiBtX3NoYWRvd0Rpc3RyaWJ1dGVkUnVsZVNldE1h
cC5pc0VtcHR5KCk7IH0KLXByaXZhdGU6Ci0gICAgdHlwZWRlZiBIYXNoTWFwPGNvbnN0IENvbnRh
aW5lck5vZGUqLCBPd25QdHI8UnVsZVNldD4gPiBTaGFkb3dEaXN0cmlidXRlZFJ1bGVTZXRNYXA7
Ci0gICAgU2hhZG93RGlzdHJpYnV0ZWRSdWxlU2V0TWFwIG1fc2hhZG93RGlzdHJpYnV0ZWRSdWxl
U2V0TWFwOwotfTsKLSNlbmRpZgotCiBjbGFzcyBEb2N1bWVudFJ1bGVTZXRzIHsKIHB1YmxpYzoK
ICAgICBEb2N1bWVudFJ1bGVTZXRzKCk7CkBAIC03MCw5ICs1Nyw2IEBAIHB1YmxpYzoKICAgICB2
b2lkIGFwcGVuZEF1dGhvclN0eWxlU2hlZXRzKHVuc2lnbmVkIGZpcnN0TmV3LCBjb25zdCBWZWN0
b3I8UmVmUHRyPENTU1N0eWxlU2hlZXQ+ID4mLCBNZWRpYVF1ZXJ5RXZhbHVhdG9yKiwgSW5zcGVj
dG9yQ1NTT01XcmFwcGVycyYsIGJvb2wgaXNWaWV3U291cmNlLCBTdHlsZVJlc29sdmVyKik7CiAK
ICAgICB2b2lkIGNvbGxlY3RGZWF0dXJlcyhib29sIGlzVmlld1NvdXJjZSwgU3R5bGVTY29wZVJl
c29sdmVyKik7Ci0jaWYgRU5BQkxFKFNIQURPV19ET00pCi0gICAgU2hhZG93RGlzdHJpYnV0ZWRS
dWxlcyYgc2hhZG93RGlzdHJpYnV0ZWRSdWxlcygpIHsgcmV0dXJuIG1fc2hhZG93RGlzdHJpYnV0
ZWRSdWxlczsgfQotI2VuZGlmCiAKIHByaXZhdGU6CiAgICAgdm9pZCBjb2xsZWN0UnVsZXNGcm9t
VXNlclN0eWxlU2hlZXRzKGNvbnN0IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4gPiYsIFJ1
bGVTZXQmIHVzZXJTdHlsZSwgY29uc3QgTWVkaWFRdWVyeUV2YWx1YXRvciYsIFN0eWxlUmVzb2x2
ZXImKTsKQEAgLTgxLDkgKzY1LDYgQEAgcHJpdmF0ZToKICAgICBSdWxlRmVhdHVyZVNldCBtX2Zl
YXR1cmVzOwogICAgIE93blB0cjxSdWxlU2V0PiBtX3NpYmxpbmdSdWxlU2V0OwogICAgIE93blB0
cjxSdWxlU2V0PiBtX3VuY29tbW9uQXR0cmlidXRlUnVsZVNldDsKLSNpZiBFTkFCTEUoU0hBRE9X
X0RPTSkKLSAgICBTaGFkb3dEaXN0cmlidXRlZFJ1bGVzIG1fc2hhZG93RGlzdHJpYnV0ZWRSdWxl
czsKLSNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dl
YkNvcmUvY3NzL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9jc3MvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwCShyZXZpc2lvbiAxNTAwMDkpCisr
KyBTb3VyY2UvV2ViQ29yZS9jc3MvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNzcsMjIgKzI3Nyw2IEBAIHZvaWQgRWxlbWVudFJ1bGVDb2xsZWN0b3I6Om1hdGNo
SG9zdFJ1bGUKICNlbmRpZgogfQogCi0jaWYgRU5BQkxFKFNIQURPV19ET00pCi1pbmxpbmUgdm9p
ZCBFbGVtZW50UnVsZUNvbGxlY3Rvcjo6bWF0Y2hTaGFkb3dEaXN0cmlidXRlZFJ1bGVzKGJvb2wg
aW5jbHVkZUVtcHR5UnVsZXMsIFN0eWxlUmVzb2x2ZXI6OlJ1bGVSYW5nZSYgcnVsZVJhbmdlKQot
ewotICAgIGlmIChtX3J1bGVTZXRzLnNoYWRvd0Rpc3RyaWJ1dGVkUnVsZXMoKS5pc0VtcHR5KCkp
Ci0gICAgICAgIHJldHVybjsKLQotICAgIFRlbXBvcmFyeUNoYW5nZTxib29sPiBjYW5Vc2VGYXN0
UmVqZWN0KG1fY2FuVXNlRmFzdFJlamVjdCwgZmFsc2UpOwotICAgIFRlbXBvcmFyeUNoYW5nZTxT
ZWxlY3RvckNoZWNrZXI6OkJlaGF2aW9yQXRCb3VuZGFyeT4gYmVoYXZpb3JBdEJvdW5kYXJ5KG1f
YmVoYXZpb3JBdEJvdW5kYXJ5LCBTZWxlY3RvckNoZWNrZXI6OkNyb3NzZXNCb3VuZGFyeSk7Ci0K
LSAgICBWZWN0b3I8TWF0Y2hSZXF1ZXN0PiBtYXRjaFJlcXVlc3RzOwotICAgIG1fcnVsZVNldHMu
c2hhZG93RGlzdHJpYnV0ZWRSdWxlcygpLmNvbGxlY3RNYXRjaFJlcXVlc3RzKGluY2x1ZGVFbXB0
eVJ1bGVzLCBtYXRjaFJlcXVlc3RzKTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1hdGNo
UmVxdWVzdHMuc2l6ZSgpOyArK2kpCi0gICAgICAgIGNvbGxlY3RNYXRjaGluZ1J1bGVzKG1hdGNo
UmVxdWVzdHNbaV0sIHJ1bGVSYW5nZSk7Ci19Ci0jZW5kaWYKLQogdm9pZCBFbGVtZW50UnVsZUNv
bGxlY3Rvcjo6bWF0Y2hBdXRob3JSdWxlcyhib29sIGluY2x1ZGVFbXB0eVJ1bGVzKQogewogICAg
IGNsZWFyTWF0Y2hlZFJ1bGVzKCk7CkBAIC0zMDYsOSArMjkwLDcgQEAgdm9pZCBFbGVtZW50UnVs
ZUNvbGxlY3Rvcjo6bWF0Y2hBdXRob3JSdQogICAgIFN0eWxlUmVzb2x2ZXI6OlJ1bGVSYW5nZSBy
dWxlUmFuZ2UgPSBtX3Jlc3VsdC5yYW5nZXMuYXV0aG9yUnVsZVJhbmdlKCk7CiAgICAgY29sbGVj
dE1hdGNoaW5nUnVsZXMobWF0Y2hSZXF1ZXN0LCBydWxlUmFuZ2UpOwogICAgIGNvbGxlY3RNYXRj
aGluZ1J1bGVzRm9yUmVnaW9uKG1hdGNoUmVxdWVzdCwgcnVsZVJhbmdlKTsKLSNpZiBFTkFCTEUo
U0hBRE9XX0RPTSkKLSAgICBtYXRjaFNoYWRvd0Rpc3RyaWJ1dGVkUnVsZXMoaW5jbHVkZUVtcHR5
UnVsZXMsIHJ1bGVSYW5nZSk7Ci0jZW5kaWYKKwogICAgIHNvcnRBbmRUcmFuc2Zlck1hdGNoZWRS
dWxlcygpOwogCiAgICAgbWF0Y2hTY29wZWRBdXRob3JSdWxlcyhpbmNsdWRlRW1wdHlSdWxlcyk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvRWxlbWVudFJ1bGVDb2xsZWN0b3IuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvRWxlbWVudFJ1bGVDb2xsZWN0b3IuaAkocmV2aXNp
b24gMTUwMDA5KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTc0LDkgKzc0LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGFkZEVs
ZW1lbnRTdHlsZVByb3BlcnRpZXMoY29uc3QgU3R5bGVQcm9wZXJ0eVNldCosIGJvb2wgaXNDYWNo
ZWFibGUgPSB0cnVlKTsKIAogICAgIHZvaWQgbWF0Y2hVQVJ1bGVzKFJ1bGVTZXQqKTsKLSNpZiBF
TkFCTEUoU0hBRE9XX0RPTSkKLSAgICB2b2lkIG1hdGNoU2hhZG93RGlzdHJpYnV0ZWRSdWxlcyhi
b29sIGluY2x1ZGVFbXB0eVJ1bGVzLCBTdHlsZVJlc29sdmVyOjpSdWxlUmFuZ2UmKTsKLSNlbmRp
ZgogICAgIHZvaWQgbWF0Y2hTY29wZWRBdXRob3JSdWxlcyhib29sIGluY2x1ZGVFbXB0eVJ1bGVz
KTsKICAgICB2b2lkIG1hdGNoSG9zdFJ1bGVzKGJvb2wgaW5jbHVkZUVtcHR5UnVsZXMpOwogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvUnVsZVNldC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvY3NzL1J1bGVTZXQuY3BwCShyZXZpc2lvbiAxNTAwMDkpCisrKyBTb3VyY2UvV2Vi
Q29yZS9jc3MvUnVsZVNldC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3NywyMiArMjc3LDcgQEAg
dm9pZCBSdWxlU2V0OjphZGRDaGlsZFJ1bGVzKGNvbnN0IFZlY3RvcgogCiAgICAgICAgIGlmIChy
dWxlLT5pc1N0eWxlUnVsZSgpKSB7CiAgICAgICAgICAgICBTdHlsZVJ1bGUqIHN0eWxlUnVsZSA9
IHN0YXRpY19jYXN0PFN0eWxlUnVsZSo+KHJ1bGUpOwotI2lmIEVOQUJMRShTSEFET1dfRE9NKQot
ICAgICAgICAgICAgaWYgKCFzY29wZSkKLSAgICAgICAgICAgICAgICBhZGRTdHlsZVJ1bGUoc3R5
bGVSdWxlLCBhZGRSdWxlRmxhZ3MpOwotICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAg
ICAgY29uc3QgQ1NTU2VsZWN0b3JMaXN0JiBzZWxlY3Rvckxpc3QgPSBzdHlsZVJ1bGUtPnNlbGVj
dG9yTGlzdCgpOwotICAgICAgICAgICAgICAgIGZvciAoc2l6ZV90IHNlbGVjdG9ySW5kZXggPSAw
OyBzZWxlY3RvckluZGV4ICE9IG5vdEZvdW5kOyBzZWxlY3RvckluZGV4ID0gc2VsZWN0b3JMaXN0
LmluZGV4T2ZOZXh0U2VsZWN0b3JBZnRlcihzZWxlY3RvckluZGV4KSkgewotICAgICAgICAgICAg
ICAgICAgICBpZiAoc2VsZWN0b3JMaXN0Lmhhc1NoYWRvd0Rpc3RyaWJ1dGVkQXQoc2VsZWN0b3JJ
bmRleCkpCi0gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlci0+cnVsZVNldHMoKS5zaGFk
b3dEaXN0cmlidXRlZFJ1bGVzKCkuYWRkUnVsZShzdHlsZVJ1bGUsIHNlbGVjdG9ySW5kZXgsIGNv
bnN0X2Nhc3Q8Q29udGFpbmVyTm9kZSo+KHNjb3BlKSwgYWRkUnVsZUZsYWdzKTsKLSAgICAgICAg
ICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgYWRkUnVsZShzdHlsZVJ1
bGUsIHNlbGVjdG9ySW5kZXgsIGFkZFJ1bGVGbGFncyk7Ci0gICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgfQotI2Vsc2UKICAgICAgICAgICAgIGFkZFN0eWxlUnVsZShzdHlsZVJ1bGUsIGFk
ZFJ1bGVGbGFncyk7Ci0jZW5kaWYKLQogICAgICAgICB9IGVsc2UgaWYgKHJ1bGUtPmlzUGFnZVJ1
bGUoKSkKICAgICAgICAgICAgIGFkZFBhZ2VSdWxlKHN0YXRpY19jYXN0PFN0eWxlUnVsZVBhZ2Uq
PihydWxlKSk7CiAgICAgICAgIGVsc2UgaWYgKHJ1bGUtPmlzTWVkaWFSdWxlKCkpIHsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCShyZXZpc2lvbiAxNTAwMDkpCisr
KyBTb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjgzLDI0ICsyODMsNiBAQCBTZWxlY3RvckNoZWNrZXI6Ok1hdGNoIFNlbGVjdG9yQ2hlY2tl
cjo6CiAgICAgICAgICAgICBuZXh0Q29udGV4dC5lbGVtZW50U3R5bGUgPSAwOwogICAgICAgICAg
ICAgcmV0dXJuIG1hdGNoKG5leHRDb250ZXh0LCBpZ25vcmVEeW5hbWljUHNldWRvKTsKICAgICAg
ICAgfQotI2lmIEVOQUJMRShTSEFET1dfRE9NKQotICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlNoYWRv
d0Rpc3RyaWJ1dGVkOgotICAgICAgICB7Ci0gICAgICAgICAgICBWZWN0b3I8SW5zZXJ0aW9uUG9p
bnQqLCA4PiBpbnNlcnRpb25Qb2ludHM7Ci0gICAgICAgICAgICBmb3IgKEVsZW1lbnQqIGVsZW1l
bnQgPSBjb250ZXh0LmVsZW1lbnQ7IGVsZW1lbnQ7IGVsZW1lbnQgPSBlbGVtZW50LT5wYXJlbnRF
bGVtZW50KCkpIHsKLSAgICAgICAgICAgICAgICBpbnNlcnRpb25Qb2ludHMuY2xlYXIoKTsKLSAg
ICAgICAgICAgICAgICBjb2xsZWN0SW5zZXJ0aW9uUG9pbnRzV2hlcmVOb2RlSXNEaXN0cmlidXRl
ZChlbGVtZW50LCBpbnNlcnRpb25Qb2ludHMpOwotICAgICAgICAgICAgICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgaW5zZXJ0aW9uUG9pbnRzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICAg
ICAgICAgIG5leHRDb250ZXh0LmVsZW1lbnQgPSBpbnNlcnRpb25Qb2ludHNbaV07Ci0gICAgICAg
ICAgICAgICAgICAgIG5leHRDb250ZXh0LmlzU3ViU2VsZWN0b3IgPSBmYWxzZTsKLSAgICAgICAg
ICAgICAgICAgICAgbmV4dENvbnRleHQuZWxlbWVudFN0eWxlID0gMDsKLSAgICAgICAgICAgICAg
ICAgICAgaWYgKG1hdGNoKG5leHRDb250ZXh0LCBpZ25vcmVEeW5hbWljUHNldWRvKSA9PSBTZWxl
Y3Rvck1hdGNoZXMpCi0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gU2VsZWN0b3JNYXRj
aGVzOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJldHVy
biBTZWxlY3RvckZhaWxzQ29tcGxldGVseTsKLSAgICAgICAgfQotI2VuZGlmCiAgICAgfQogCiAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0
b3JGaWx0ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckZp
bHRlci5jcHAJKHJldmlzaW9uIDE1MDAwOSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3Rv
ckZpbHRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0OCw5ICsxNDgsNiBAQCB2b2lkIFNlbGVj
dG9yRmlsdGVyOjpjb2xsZWN0SWRlbnRpZmllckhhCiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6
OkRpcmVjdEFkamFjZW50OgogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpJbmRpcmVjdEFkamFj
ZW50OgogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpTaGFkb3dEZXNjZW5kYW50OgotI2lmIEVO
QUJMRShTSEFET1dfRE9NKQotICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpTaGFkb3dEaXN0cmli
dXRlZDoKLSNlbmRpZgogICAgICAgICAgICAgc2tpcE92ZXJTdWJzZWxlY3RvcnMgPSB0cnVlOwog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OkRlc2NlbmRhbnQ6
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuY3Bw
CShyZXZpc2lvbiAxNTAwMDkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRp
b25Qb2ludC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxNiwyMSArMjE2LDQgQEAgSW5zZXJ0aW9u
UG9pbnQqIHJlc29sdmVSZXByb2plY3Rpb24oY29ucwogICAgIHJldHVybiBpbnNlcnRpb25Qb2lu
dDsKIH0KIAotdm9pZCBjb2xsZWN0SW5zZXJ0aW9uUG9pbnRzV2hlcmVOb2RlSXNEaXN0cmlidXRl
ZChjb25zdCBOb2RlKiBub2RlLCBWZWN0b3I8SW5zZXJ0aW9uUG9pbnQqLCA4PiYgcmVzdWx0cykK
LXsKLSAgICBjb25zdCBOb2RlKiBjdXJyZW50ID0gbm9kZTsKLSAgICB3aGlsZSAodHJ1ZSkgewot
ICAgICAgICBpZiAoRWxlbWVudFNoYWRvdyogc2hhZG93ID0gc2hhZG93T2ZQYXJlbnRGb3JEaXN0
cmlidXRpb24oY3VycmVudCkpIHsKLSAgICAgICAgICAgIGlmIChTaGFkb3dSb290KiByb290ID0g
Y3VycmVudC0+Y29udGFpbmluZ1NoYWRvd1Jvb3QoKSkKLSAgICAgICAgICAgICAgICBDb250ZW50
RGlzdHJpYnV0b3I6OmVuc3VyZURpc3RyaWJ1dGlvbihyb290KTsKLSAgICAgICAgICAgIGlmIChJ
bnNlcnRpb25Qb2ludCogaW5zZXJ0ZWRUbyA9IHNoYWRvdy0+ZGlzdHJpYnV0b3IoKS5maW5kSW5z
ZXJ0aW9uUG9pbnRGb3Iobm9kZSkpIHsKLSAgICAgICAgICAgICAgICBjdXJyZW50ID0gaW5zZXJ0
ZWRUbzsKLSAgICAgICAgICAgICAgICByZXN1bHRzLmFwcGVuZChpbnNlcnRlZFRvKTsKLSAgICAg
ICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBy
ZXR1cm47Ci0gICAgfQotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmgJKHJldmlzaW9uIDE1MDAwOSkK
KysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTE1OSw4ICsxNTksNiBAQCBpbmxpbmUgRWxlbWVudFNoYWRvdyogc2hhZG93T2ZQ
YXJlbnRGb3JECiAKIEluc2VydGlvblBvaW50KiByZXNvbHZlUmVwcm9qZWN0aW9uKGNvbnN0IE5v
ZGUqKTsKIAotdm9pZCBjb2xsZWN0SW5zZXJ0aW9uUG9pbnRzV2hlcmVOb2RlSXNEaXN0cmlidXRl
ZChjb25zdCBOb2RlKiwgVmVjdG9yPEluc2VydGlvblBvaW50KiwgOD4mIHJlc3VsdHMpOwotCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBJbnNlcnRpb25Qb2ludF9oCg==
</data>
<flag name="review"
          id="223068"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>