<?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>36266</bug_id>
          
          <creation_ts>2010-03-17 19:51:21 -0700</creation_ts>
          <short_desc>Fire Focus Event type: focusin events</short_desc>
          <delta_ts>2010-03-23 10:53:19 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy Estes">aestes</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          <cc>ap</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>201145</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-03-17 19:51:21 -0700</bug_when>
    <thetext>2010-03-17 17:46:22 Andy Estes:
Safari fails the following test: http://samples.msdn.microsoft.com/ietestcenter/domevents/domevents_harness.htm?url=./focusin.html.

Safari does not fire focus events when registered for using the name &apos;focusin&apos;.  This is a valid event name as defined by the W3C DOM Level 3 Events Working Draft at http://www.w3.org/TR/DOM-Level-3-Events/.  Safari does implement the &apos;DOMFocusIn&apos; event, which appears to serve the same purpose.

&lt;rdar://problem/7765952&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201957</commentid>
    <comment_count>1</comment_count>
      <attachid>51176</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-03-19 11:49:09 -0700</bug_when>
    <thetext>Created attachment 51176
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201960</commentid>
    <comment_count>2</comment_count>
      <attachid>51176</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-03-19 11:51:56 -0700</bug_when>
    <thetext>Comment on attachment 51176
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201991</commentid>
    <comment_count>3</comment_count>
      <attachid>51176</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-03-19 12:42:47 -0700</bug_when>
    <thetext>Comment on attachment 51176
Patch

Clearing flag, since we need to support the old event names still.  New patch is going to be much more complicated. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202684</commentid>
    <comment_count>4</comment_count>
      <attachid>51329</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-03-22 12:28:55 -0700</bug_when>
    <thetext>Created attachment 51329
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202693</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-03-22 12:32:29 -0700</bug_when>
    <thetext>Attachment 51329 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/dom/Node.cpp:2726:  Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side.  [whitespace/operators] [4]
WebCore/dom/Event.cpp:269:  Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side.  [whitespace/operators] [4]
Total errors found: 2 in 17 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203108</commentid>
    <comment_count>6</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-03-23 10:53:19 -0700</bug_when>
    <thetext>Fixed in r56402.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51176</attachid>
            <date>2010-03-19 11:49:09 -0700</date>
            <delta_ts>2010-03-22 12:28:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>5745</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NjI1MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMTAtMDMtMTkgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjI2NiwgRE9NIExldmVsIDMgY2hh
bmdlcyBET01Gb2N1c0luIGFuZCBET01Gb2N1c091dCB0byBqdXN0IGJlCisgICAgICAgIGZvY3Vz
aW4gYW5kIGZvY3Vzb3V0LgorCisgICAgICAgIEFkZGVkIGZhc3QvZXZlbnRzL2ZvY3VzaW5vdXQu
aHRtbAorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50OjpzZXRGb2N1c2VkTm9kZSk6CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAg
ICAgICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpkaXNwYXRjaFVJ
RXZlbnQpOgorICAgICAgICAqIHN2Zy9TVkdFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNWR0VsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKwogMjAxMC0wMy0xOSAgSm9zZXBo
IFBlY29yYXJvICA8am9lcGVja0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERh
dmlkIEtpbHplci4KSW5kZXg6IFdlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDU2MTY4KQorKysgV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzYwLDcgKzI3NjAsOSBAQCBib29s
IERvY3VtZW50OjpzZXRGb2N1c2VkTm9kZShQYXNzUmVmUHRyCiAgICAgICAgICAgICBmb2N1c0No
YW5nZUJsb2NrZWQgPSB0cnVlOwogICAgICAgICAgICAgbmV3Rm9jdXNlZE5vZGUgPSAwOwogICAg
ICAgICB9Ci0gICAgICAgIG9sZEZvY3VzZWROb2RlLT5kaXNwYXRjaFVJRXZlbnQoZXZlbnROYW1l
cygpLkRPTUZvY3VzT3V0RXZlbnQsIDAsIDApOworICAgICAgICAKKyAgICAgICAgb2xkRm9jdXNl
ZE5vZGUtPmRpc3BhdGNoVUlFdmVudChldmVudE5hbWVzKCkuZm9jdXNvdXRFdmVudCwgMCwgMCk7
IC8vIERPTSBsZXZlbCAzIG5hbWUgZm9yIHRoZSBidWJibGluZyBibHVyIGV2ZW50LgorCiAgICAg
ICAgIGlmIChtX2ZvY3VzZWROb2RlKSB7CiAgICAgICAgICAgICAvLyBoYW5kbGVyIHNoaWZ0ZWQg
Zm9jdXMKICAgICAgICAgICAgIGZvY3VzQ2hhbmdlQmxvY2tlZCA9IHRydWU7CkBAIC0yNzkwLDcg
KzI3OTIsOSBAQCBib29sIERvY3VtZW50OjpzZXRGb2N1c2VkTm9kZShQYXNzUmVmUHRyCiAgICAg
ICAgICAgICBmb2N1c0NoYW5nZUJsb2NrZWQgPSB0cnVlOwogICAgICAgICAgICAgZ290byBTZXRG
b2N1c2VkTm9kZURvbmU7CiAgICAgICAgIH0KLSAgICAgICAgbV9mb2N1c2VkTm9kZS0+ZGlzcGF0
Y2hVSUV2ZW50KGV2ZW50TmFtZXMoKS5ET01Gb2N1c0luRXZlbnQsIDAsIDApOworCisgICAgICAg
IG1fZm9jdXNlZE5vZGUtPmRpc3BhdGNoVUlFdmVudChldmVudE5hbWVzKCkuZm9jdXNpbkV2ZW50
LCAwLCAwKTsgLy8gRE9NIGxldmVsIDMgYnViYmxpbmcgZm9jdXMgZXZlbnQuCisKICAgICAgICAg
aWYgKG1fZm9jdXNlZE5vZGUgIT0gbmV3Rm9jdXNlZE5vZGUpIHsgCiAgICAgICAgICAgICAvLyBo
YW5kbGVyIHNoaWZ0ZWQgZm9jdXMKICAgICAgICAgICAgIGZvY3VzQ2hhbmdlQmxvY2tlZCA9IHRy
dWU7CkluZGV4OiBXZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9kb20vRXZlbnROYW1lcy5oCShyZXZpc2lvbiA1NjE2OCkKKysrIFdlYkNvcmUvZG9tL0V2ZW50
TmFtZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNjAsNiArNjAsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgbWFjcm8oZHJvcCkgXAogICAgIG1hY3JvKGVycm9yKSBcCiAgICAgbWFjcm8oZm9j
dXMpIFwKKyAgICBtYWNybyhmb2N1c2luKSBcCisgICAgbWFjcm8oZm9jdXNvdXQpIFwKICAgICBt
YWNybyhoYXNoY2hhbmdlKSBcCiAgICAgbWFjcm8oaW5wdXQpIFwKICAgICBtYWNybyhpbnZhbGlk
KSBcCkBAIC0xMDIsOCArMTA0LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKERP
TUFjdGl2YXRlKSBcCiAgICAgbWFjcm8oRE9NQXR0ck1vZGlmaWVkKSBcCiAgICAgbWFjcm8oRE9N
Q2hhcmFjdGVyRGF0YU1vZGlmaWVkKSBcCi0gICAgbWFjcm8oRE9NRm9jdXNJbikgXAotICAgIG1h
Y3JvKERPTUZvY3VzT3V0KSBcCiAgICAgbWFjcm8oRE9NTm9kZUluc2VydGVkKSBcCiAgICAgbWFj
cm8oRE9NTm9kZUluc2VydGVkSW50b0RvY3VtZW50KSBcCiAgICAgbWFjcm8oRE9NTm9kZVJlbW92
ZWQpIFwKSW5kZXg6IFdlYkNvcmUvZG9tL05vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
ZG9tL05vZGUuY3BwCShyZXZpc2lvbiA1NjE2OCkKKysrIFdlYkNvcmUvZG9tL05vZGUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yNzIzLDcgKzI3MjMsNyBAQCB2b2lkIE5vZGU6OmRpc3BhdGNoU3Vi
dHJlZU1vZGlmaWVkRXZlbnQoCiB2b2lkIE5vZGU6OmRpc3BhdGNoVUlFdmVudChjb25zdCBBdG9t
aWNTdHJpbmcmIGV2ZW50VHlwZSwgaW50IGRldGFpbCwgUGFzc1JlZlB0cjxFdmVudD4gdW5kZXJs
eWluZ0V2ZW50KQogewogICAgIEFTU0VSVCghZXZlbnREaXNwYXRjaEZvcmJpZGRlbigpKTsKLSAg
ICBBU1NFUlQoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5ET01Gb2N1c0luRXZlbnQgfHwgZXZl
bnRUeXBlID09IGV2ZW50TmFtZXMoKS5ET01Gb2N1c091dEV2ZW50IHx8IGV2ZW50VHlwZSA9PSBl
dmVudE5hbWVzKCkuRE9NQWN0aXZhdGVFdmVudCk7CisgICAgQVNTRVJUKGV2ZW50VHlwZSA9PSBl
dmVudE5hbWVzKCkuZm9jdXNpbkV2ZW50IHx8IGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuZm9j
dXNvdXRFdmVudCB8fCBldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLkRPTUFjdGl2YXRlRXZlbnQp
OwogICAgIAogICAgIGJvb2wgY2FuY2VsYWJsZSA9IGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCku
RE9NQWN0aXZhdGVFdmVudDsKICAgICAKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCShyZXZpc2lvbiA1NjE2
OCkKKysrIFdlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDgs
OSArMjA4LDkgQEAgdm9pZCBTVkdFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYQogICAg
IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvbm1vdXNldXBBdHRyKQogICAgICAgICBzZXRBdHRy
aWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5tb3VzZXVwRXZlbnQsIGNyZWF0ZUF0dHJp
YnV0ZUV2ZW50TGlzdGVuZXIodGhpcywgYXR0cikpOwogICAgIGVsc2UgaWYgKGF0dHItPm5hbWUo
KSA9PSBTVkdOYW1lczo6b25mb2N1c2luQXR0cikKLSAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRM
aXN0ZW5lcihldmVudE5hbWVzKCkuRE9NRm9jdXNJbkV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVu
dExpc3RlbmVyKHRoaXMsIGF0dHIpKTsKKyAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5l
cihldmVudE5hbWVzKCkuZm9jdXNpbkV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVy
KHRoaXMsIGF0dHIpKTsKICAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6Om9u
Zm9jdXNvdXRBdHRyKQotICAgICAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFt
ZXMoKS5ET01Gb2N1c091dEV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMs
IGF0dHIpKTsKKyAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCku
Zm9jdXNvdXRFdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBhdHRyKSk7
CiAgICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpvbmFjdGl2YXRlQXR0cikK
ICAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuRE9NQWN0aXZh
dGVFdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBhdHRyKSk7CiAgICAg
ZWxzZQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZm9jdXNpbm91dC1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZm9jdXNpbm91dC1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9mb2N1c2lu
b3V0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MKK1BB
U1MKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2ZvY3VzaW5vdXQuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9mb2N1c2lub3V0Lmh0bWwJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9mb2N1c2lub3V0Lmh0bWwJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMzEgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dCgpOworCitmdW5jdGlvbiBmb2N1c0hhbmRsZXIoZXZlbnQpCit7CisgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdDEnKS5pbm5lckhUTUwgPSAiUEFTUyI7Cit9CisK
K2Z1bmN0aW9uIGJsdXJIYW5kbGVyKGV2ZW50KQoreworICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdyZXN1bHQyJykuaW5uZXJIVE1MID0gIlBBU1MiOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keSBvbmxvYWQ9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmaWVsZCcpLmZvY3VzKCk7
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZpZWxkJykuYmx1cigpIj4KKworPGZvcm0+Cis8aW5w
dXQgdHlwZT10ZXh0IGlkPSJmaWVsZCI+Cis8L2Zvcm0+CisKKzxkaXYgaWQ9InJlc3VsdDEiPkZB
SUw8L2Rpdj4KKzxkaXYgaWQ9InJlc3VsdDIiPkZBSUw8L2Rpdj4KKworPHNjcmlwdD4KK2RvY3Vt
ZW50LmRvY3VtZW50RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJmb2N1c2luIiwgZm9jdXNIYW5k
bGVyLCBmYWxzZSk7Citkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigi
Zm9jdXNvdXQiLCBibHVySGFuZGxlciwgZmFsc2UpOworPC9zY3JpcHQ+CisK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51329</attachid>
            <date>2010-03-22 12:28:55 -0700</date>
            <delta_ts>2010-03-22 14:59:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>16468</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NjM1MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzggQEAKKzIwMTAtMDMtMjIgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjI2Niwgc3VwcG9ydCBET00gTGV2
ZWwgMyBmb2N1c2luL2ZvY3Vzb3V0IGV2ZW50cy4gIEFkZCBzdXBwb3J0IGZvcgorICAgICAgICBJ
RSBvbmZvY3VzaW4vb25mb2N1c291dCBleHRlbnNpb25zIHRvIEhUTUwuICBUaGUgb2xkIERPTSBs
ZXZlbCAyIG5hbWVzIChET01Gb2N1c0luL0RPTUZvY3VzT3V0IGFyZSBzdGlsbCBzdXBwb3J0ZWQp
LgorCisgICAgICAgIEFkZGVkIGZhc3QvZXZlbnRzL2ZvY3VzaW5vdXQuaHRtbAorCisgICAgICAg
ICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRGb2N1
c2VkTm9kZSk6CisgICAgICAgICogZG9tL0V2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50OjphbGlhc2VkVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudDo6aGFzQWxpYXNlZFR5
cGUpOgorICAgICAgICAqIGRvbS9FdmVudC5oOgorICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmg6
CisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50
VGFyZ2V0OjpmaXJlRXZlbnRMaXN0ZW5lcnMpOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5o
OgorICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmRpc3Bh
dGNoVUlFdmVudCk6CisgICAgICAgICogaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW46CisgICAg
ICAgICogaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
QnV0dG9uRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOgorICAgICAgICAqIGh0bWwvSFRN
TEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEVsZW1lbnQ6OnBhcnNlTWFwcGVk
QXR0cmlidXRlKToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OnBhcnNlTWFwcGVk
QXR0cmlidXRlKToKKyAgICAgICAgKiBodG1sL0hUTUxGcmFtZVNldEVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTEZyYW1lU2V0RWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUp
OgorICAgICAgICAqIGh0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKiBz
dmcvU1ZHRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50OjpwYXJzZU1h
cHBlZEF0dHJpYnV0ZSk6CisKIDIwMTAtMDMtMjIgIEpha3ViIFdpZWN6b3JlayAgPGZhdzIxN0Bn
bWFpbC5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5z
ZW4uCkluZGV4OiBXZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiA1NjI1MCkKKysrIFdlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjc2MCw3ICsyNzYwLDkgQEAgYm9vbCBEb2N1bWVu
dDo6c2V0Rm9jdXNlZE5vZGUoUGFzc1JlZlB0cgogICAgICAgICAgICAgZm9jdXNDaGFuZ2VCbG9j
a2VkID0gdHJ1ZTsKICAgICAgICAgICAgIG5ld0ZvY3VzZWROb2RlID0gMDsKICAgICAgICAgfQot
ICAgICAgICBvbGRGb2N1c2VkTm9kZS0+ZGlzcGF0Y2hVSUV2ZW50KGV2ZW50TmFtZXMoKS5ET01G
b2N1c091dEV2ZW50LCAwLCAwKTsKKyAgICAgICAgCisgICAgICAgIG9sZEZvY3VzZWROb2RlLT5k
aXNwYXRjaFVJRXZlbnQoZXZlbnROYW1lcygpLmZvY3Vzb3V0RXZlbnQsIDAsIDApOyAvLyBET00g
bGV2ZWwgMyBuYW1lIGZvciB0aGUgYnViYmxpbmcgYmx1ciBldmVudC4KKwogICAgICAgICBpZiAo
bV9mb2N1c2VkTm9kZSkgewogICAgICAgICAgICAgLy8gaGFuZGxlciBzaGlmdGVkIGZvY3VzCiAg
ICAgICAgICAgICBmb2N1c0NoYW5nZUJsb2NrZWQgPSB0cnVlOwpAQCAtMjc5MCw3ICsyNzkyLDkg
QEAgYm9vbCBEb2N1bWVudDo6c2V0Rm9jdXNlZE5vZGUoUGFzc1JlZlB0cgogICAgICAgICAgICAg
Zm9jdXNDaGFuZ2VCbG9ja2VkID0gdHJ1ZTsKICAgICAgICAgICAgIGdvdG8gU2V0Rm9jdXNlZE5v
ZGVEb25lOwogICAgICAgICB9Ci0gICAgICAgIG1fZm9jdXNlZE5vZGUtPmRpc3BhdGNoVUlFdmVu
dChldmVudE5hbWVzKCkuRE9NRm9jdXNJbkV2ZW50LCAwLCAwKTsKKworICAgICAgICBtX2ZvY3Vz
ZWROb2RlLT5kaXNwYXRjaFVJRXZlbnQoZXZlbnROYW1lcygpLmZvY3VzaW5FdmVudCwgMCwgMCk7
IC8vIERPTSBsZXZlbCAzIGJ1YmJsaW5nIGZvY3VzIGV2ZW50LgorCiAgICAgICAgIGlmIChtX2Zv
Y3VzZWROb2RlICE9IG5ld0ZvY3VzZWROb2RlKSB7IAogICAgICAgICAgICAgLy8gaGFuZGxlciBz
aGlmdGVkIGZvY3VzCiAgICAgICAgICAgICBmb2N1c0NoYW5nZUJsb2NrZWQgPSB0cnVlOwpJbmRl
eDogV2ViQ29yZS9kb20vRXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0V2ZW50
LmNwcAkocmV2aXNpb24gNTYyNTApCisrKyBXZWJDb3JlL2RvbS9FdmVudC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI0OSw0ICsyNDksMjUgQEAgdm9pZCBFdmVudDo6c2V0VW5kZXJseWluZ0V2ZW50
KFBhc3NSZWZQdAogICAgIG1fdW5kZXJseWluZ0V2ZW50ID0gdWU7CiB9CiAKK2NvbnN0IEF0b21p
Y1N0cmluZyYgRXZlbnQ6OmFsaWFzZWRUeXBlKCkgY29uc3QKK3sKKyAgICBpZiAodHlwZSgpID09
IGV2ZW50TmFtZXMoKS5mb2N1c2luRXZlbnQpCisgICAgICAgIHJldHVybiBldmVudE5hbWVzKCku
RE9NRm9jdXNJbkV2ZW50OworICAgIGlmICh0eXBlKCkgPT0gZXZlbnROYW1lcygpLmZvY3Vzb3V0
RXZlbnQpCisgICAgICAgIHJldHVybiBldmVudE5hbWVzKCkuRE9NRm9jdXNPdXRFdmVudDsKKyAg
ICBpZiAodHlwZSgpID09IGV2ZW50TmFtZXMoKS5ET01Gb2N1c0luRXZlbnQpCisgICAgICAgIHJl
dHVybiBldmVudE5hbWVzKCkuZm9jdXNpbkV2ZW50OworICAgIGlmICh0eXBlKCkgPT0gZXZlbnRO
YW1lcygpLkRPTUZvY3VzT3V0RXZlbnQpCisgICAgICAgIHJldHVybiBldmVudE5hbWVzKCkuZm9j
dXNvdXRFdmVudDsKKyAgICAKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4g
dHlwZSgpOworfQorCitib29sIEV2ZW50OjpoYXNBbGlhc2VkVHlwZSgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIHR5cGUoKSA9PSBldmVudE5hbWVzKCkuZm9jdXNpbkV2ZW50IHx8IHR5cGUoKSA9PSBl
dmVudE5hbWVzKCkuZm9jdXNvdXRFdmVudCB8fAorICAgICAgICAgICB0eXBlKCkgPT0gZXZlbnRO
YW1lcygpLkRPTUZvY3VzSW5FdmVudCB8fCB0eXBlKCkgPT0gZXZlbnROYW1lcygpLkRPTUZvY3Vz
T3V0RXZlbnQ7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvZG9t
L0V2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRXZlbnQuaAkocmV2aXNpb24gNTYy
NTApCisrKyBXZWJDb3JlL2RvbS9FdmVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC03NSw2ICs3NSw5
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBpbml0RXZlbnQoY29uc3QgQXRv
bWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlKTsKIAogICAg
ICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0K
KyAgICAgICAgCisgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgYWxpYXNlZFR5cGUoKSBjb25z
dDsKKyAgICAgICAgYm9vbCBoYXNBbGlhc2VkVHlwZSgpIGNvbnN0OwogCiAgICAgICAgIEV2ZW50
VGFyZ2V0KiB0YXJnZXQoKSBjb25zdCB7IHJldHVybiBtX3RhcmdldC5nZXQoKTsgfQogICAgICAg
ICB2b2lkIHNldFRhcmdldChQYXNzUmVmUHRyPEV2ZW50VGFyZ2V0Pik7CkluZGV4OiBXZWJDb3Jl
L2RvbS9FdmVudE5hbWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRXZlbnROYW1lcy5o
CShyZXZpc2lvbiA1NjI1MCkKKysrIFdlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAkod29ya2luZyBj
b3B5KQpAQCAtNjAsNiArNjAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oZHJv
cCkgXAogICAgIG1hY3JvKGVycm9yKSBcCiAgICAgbWFjcm8oZm9jdXMpIFwKKyAgICBtYWNybyhm
b2N1c2luKSBcCisgICAgbWFjcm8oZm9jdXNvdXQpIFwKICAgICBtYWNybyhoYXNoY2hhbmdlKSBc
CiAgICAgbWFjcm8oaW5wdXQpIFwKICAgICBtYWNybyhpbnZhbGlkKSBcCkBAIC0xMDAsMTAgKzEw
MiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oem9vbSkgXAogICAgIFwKICAg
ICBtYWNybyhET01BY3RpdmF0ZSkgXAotICAgIG1hY3JvKERPTUF0dHJNb2RpZmllZCkgXAotICAg
IG1hY3JvKERPTUNoYXJhY3RlckRhdGFNb2RpZmllZCkgXAogICAgIG1hY3JvKERPTUZvY3VzSW4p
IFwKICAgICBtYWNybyhET01Gb2N1c091dCkgXAorICAgIG1hY3JvKERPTUF0dHJNb2RpZmllZCkg
XAorICAgIG1hY3JvKERPTUNoYXJhY3RlckRhdGFNb2RpZmllZCkgXAogICAgIG1hY3JvKERPTU5v
ZGVJbnNlcnRlZCkgXAogICAgIG1hY3JvKERPTU5vZGVJbnNlcnRlZEludG9Eb2N1bWVudCkgXAog
ICAgIG1hY3JvKERPTU5vZGVSZW1vdmVkKSBcCkluZGV4OiBXZWJDb3JlL2RvbS9FdmVudFRhcmdl
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuY3BwCShyZXZpc2lv
biA1NjI1MCkKKysrIFdlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjcyLDEwICsyNzIsMjIgQEAgYm9vbCBFdmVudFRhcmdldDo6ZmlyZUV2ZW50TGlzdGVuZXJz
KEV2ZQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIEV2ZW50TGlzdGVuZXJNYXA6Oml0ZXJh
dG9yIHJlc3VsdCA9IGQtPmV2ZW50TGlzdGVuZXJNYXAuZmluZChldmVudC0+dHlwZSgpKTsKLSAg
ICBpZiAocmVzdWx0ID09IGQtPmV2ZW50TGlzdGVuZXJNYXAuZW5kKCkpCi0gICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICBFdmVudExpc3RlbmVyVmVjdG9yJiBlbnRyeSA9ICpyZXN1bHQtPnNlY29u
ZDsKLQorICAgIGlmIChyZXN1bHQgIT0gZC0+ZXZlbnRMaXN0ZW5lck1hcC5lbmQoKSkKKyAgICAg
ICAgZmlyZUV2ZW50TGlzdGVuZXJzKGV2ZW50LCBkLCAqcmVzdWx0LT5zZWNvbmQpOworICAgIAor
ICAgIC8vIEFsaWFzIERPTUZvY3VzSW4vRE9NRm9jdXNPdXQgdG8gZm9jdXNpbi9mb2N1c291dCAo
YW5kIHZpY2UgdmVyc2EpLiBKdXN0IGNvbnNpZGVyIHRoZW0gdG8gYmUgdGhlCisgICAgLy8gc2Ft
ZSBldmVudCAodHJpZ2dlcmluZyBvbmUgYW5vdGhlcidzIGhhbmRsZXJzKS4gIFRoaXMgbWVjaGFu
aXNtIGFsbG93cyB1cyB0byBkZXByZWNhdGUgb3IgY2hhbmdlIGV2ZW50CisgICAgLy8gbmFtZXMg
aW4gdGhlIGZ1dHVyZSBhbmQgc3RpbGwgbWFrZSB0aGVtIGJlIGludGVyb3BlcmFibGUuCisgICAg
aWYgKGV2ZW50LT5oYXNBbGlhc2VkVHlwZSgpICYmICFldmVudC0+aW1tZWRpYXRlUHJvcGFnYXRp
b25TdG9wcGVkKCkpIHsKKyAgICAgICAgRXZlbnRMaXN0ZW5lck1hcDo6aXRlcmF0b3IgcmVzdWx0
ID0gZC0+ZXZlbnRMaXN0ZW5lck1hcC5maW5kKGV2ZW50LT5hbGlhc2VkVHlwZSgpKTsKKyAgICAg
ICAgaWYgKHJlc3VsdCAhPSBkLT5ldmVudExpc3RlbmVyTWFwLmVuZCgpKQorICAgICAgICAgICAg
ZmlyZUV2ZW50TGlzdGVuZXJzKGV2ZW50LCBkLCAqcmVzdWx0LT5zZWNvbmQpOworICAgIH0KKyAg
ICByZXR1cm4gIWV2ZW50LT5kZWZhdWx0UHJldmVudGVkKCk7Cit9CisgICAgICAgIAordm9pZCBF
dmVudFRhcmdldDo6ZmlyZUV2ZW50TGlzdGVuZXJzKEV2ZW50KiBldmVudCwgRXZlbnRUYXJnZXRE
YXRhKiBkLCBFdmVudExpc3RlbmVyVmVjdG9yJiBlbnRyeSkKK3sKICAgICBSZWZQdHI8RXZlbnRU
YXJnZXQ+IHByb3RlY3QgPSB0aGlzOwogCiAgICAgLy8gRmlyZSBhbGwgbGlzdGVuZXJzIHJlZ2lz
dGVyZWQgZm9yIHRoaXMgZXZlbnQuIERvbid0IGZpcmUgbGlzdGVuZXJzIHJlbW92ZWQKQEAgLTMw
Myw4ICszMTUsNiBAQCBib29sIEV2ZW50VGFyZ2V0OjpmaXJlRXZlbnRMaXN0ZW5lcnMoRXZlCiAg
ICAgICAgIHJlZ2lzdGVyZWRMaXN0ZW5lci5saXN0ZW5lci0+aGFuZGxlRXZlbnQoc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpLCBldmVudCk7CiAgICAgfQogICAgIGQtPmZpcmluZ0V2ZW50SXRlcmF0
b3JzLnJlbW92ZUxhc3QoKTsKLQotICAgIHJldHVybiAhZXZlbnQtPmRlZmF1bHRQcmV2ZW50ZWQo
KTsKIH0KIAogY29uc3QgRXZlbnRMaXN0ZW5lclZlY3RvciYgRXZlbnRUYXJnZXQ6OmdldEV2ZW50
TGlzdGVuZXJzKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlKQpJbmRleDogV2ViQ29yZS9k
b20vRXZlbnRUYXJnZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9FdmVudFRhcmdldC5o
CShyZXZpc2lvbiA1NjI1MCkKKysrIFdlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTE1Myw2ICsxNTMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgcHJpdmF0
ZToKICAgICAgICAgdmlydHVhbCB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgPSAwOwogICAgICAgICB2
aXJ0dWFsIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpID0gMDsKKyAgICAgICAgCisgICAgICAgIHZv
aWQgZmlyZUV2ZW50TGlzdGVuZXJzKEV2ZW50KiwgRXZlbnRUYXJnZXREYXRhKiwgRXZlbnRMaXN0
ZW5lclZlY3RvciYpOwogICAgIH07CiAKICAgICAjZGVmaW5lIERFRklORV9BVFRSSUJVVEVfRVZF
TlRfTElTVEVORVIoYXR0cmlidXRlKSBcCkluZGV4OiBXZWJDb3JlL2RvbS9Ob2RlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9Ob2RlLmNwcAkocmV2aXNpb24gNTYyNTApCisrKyBXZWJD
b3JlL2RvbS9Ob2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcyMyw3ICsyNzIzLDggQEAgdm9p
ZCBOb2RlOjpkaXNwYXRjaFN1YnRyZWVNb2RpZmllZEV2ZW50KAogdm9pZCBOb2RlOjpkaXNwYXRj
aFVJRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGludCBkZXRhaWwsIFBhc3NS
ZWZQdHI8RXZlbnQ+IHVuZGVybHlpbmdFdmVudCkKIHsKICAgICBBU1NFUlQoIWV2ZW50RGlzcGF0
Y2hGb3JiaWRkZW4oKSk7Ci0gICAgQVNTRVJUKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuRE9N
Rm9jdXNJbkV2ZW50IHx8IGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuRE9NRm9jdXNPdXRFdmVu
dCB8fCBldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLkRPTUFjdGl2YXRlRXZlbnQpOworICAgIEFT
U0VSVChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLmZvY3VzaW5FdmVudCB8fCBldmVudFR5cGUg
PT0gZXZlbnROYW1lcygpLmZvY3Vzb3V0RXZlbnQgfHwgCisgICAgICAgICAgIGV2ZW50VHlwZSA9
PSBldmVudE5hbWVzKCkuRE9NRm9jdXNJbkV2ZW50IHx8IGV2ZW50VHlwZSA9PSBldmVudE5hbWVz
KCkuRE9NRm9jdXNPdXRFdmVudCB8fCBldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLkRPTUFjdGl2
YXRlRXZlbnQpOwogICAgIAogICAgIGJvb2wgY2FuY2VsYWJsZSA9IGV2ZW50VHlwZSA9PSBldmVu
dE5hbWVzKCkuRE9NQWN0aXZhdGVFdmVudDsKICAgICAKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1M
QXR0cmlidXRlTmFtZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1
dGVOYW1lcy5pbgkocmV2aXNpb24gNTYyNTApCisrKyBXZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0
ZU5hbWVzLmluCSh3b3JraW5nIGNvcHkpCkBAIC0xNjMsNiArMTYzLDggQEAgb25lbXB0aWVkCiBv
bmVuZGVkCiBvbmVycm9yCiBvbmZvY3VzCitvbmZvY3VzaW4KK29uZm9jdXNvdXQKIG9uaGFzaGNo
YW5nZQogb25pbnB1dAogb25pbnZhbGlkCkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVs
ZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5j
cHAJKHJldmlzaW9uIDU2MjUwKQorKysgV2ViQ29yZS9odG1sL0hUTUxCdXR0b25FbGVtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtOTAsMTAgKzkwLDYgQEAgdm9pZCBIVE1MQnV0dG9uRWxlbWVu
dDo6cGFyc2VNYXBwZWRBdHRyaQogICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IGFsaWdu
QXR0cikgewogICAgICAgICAvLyBEb24ndCBtYXAgJ2FsaWduJyBhdHRyaWJ1dGUuICBUaGlzIG1h
dGNoZXMgd2hhdCBGaXJlZm94IGFuZCBJRSBkbywgYnV0IG5vdCBPcGVyYS4KICAgICAgICAgLy8g
U2VlIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMDcxCi0gICAgfSBl
bHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gb25mb2N1c0F0dHIpIHsKLSAgICAgICAgc2V0QXR0cmli
dXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuZm9jdXNFdmVudCwgY3JlYXRlQXR0cmlidXRl
RXZlbnRMaXN0ZW5lcih0aGlzLCBhdHRyKSk7Ci0gICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkg
PT0gb25ibHVyQXR0cikgewotICAgICAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50
TmFtZXMoKS5ibHVyRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhpcywgYXR0
cikpOwogICAgIH0gZWxzZQogICAgICAgICBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpwYXJzZU1h
cHBlZEF0dHJpYnV0ZShhdHRyKTsKIH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAkocmV2aXNpb24g
NTYyNTApCisrKyBXZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xOTgsNiArMTk4LDEwIEBAIHZvaWQgSFRNTEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRl
KE0KICAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkubW91c2V3
aGVlbEV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIGF0dHIpKTsKICAg
ICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvbmZvY3VzQXR0cikgewogICAgICAgICBzZXRB
dHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5mb2N1c0V2ZW50LCBjcmVhdGVBdHRy
aWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIGF0dHIpKTsKKyAgICB9IGVsc2UgaWYgKGF0dHItPm5h
bWUoKSA9PSBvbmZvY3VzaW5BdHRyKSB7CisgICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVu
ZXIoZXZlbnROYW1lcygpLmZvY3VzaW5FdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5l
cih0aGlzLCBhdHRyKSk7CisgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gb25mb2N1c291
dEF0dHIpIHsKKyAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCku
Zm9jdXNvdXRFdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBhdHRyKSk7
CiAgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gb25ibHVyQXR0cikgewogICAgICAgICBz
ZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5ibHVyRXZlbnQsIGNyZWF0ZUF0
dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhpcywgYXR0cikpOwogICAgIH0gZWxzZSBpZiAoYXR0ci0+
bmFtZSgpID09IG9ua2V5ZG93bkF0dHIpIHsKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MRm9ybUNv
bnRyb2xFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250
cm9sRWxlbWVudC5jcHAJKHJldmlzaW9uIDU2MjUwKQorKysgV2ViQ29yZS9odG1sL0hUTUxGb3Jt
Q29udHJvbEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MjAsMTAgKzUyMCw2IEBAIHZv
aWQgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OnBhcnNlTWEKIHsKICAgICBpZiAoYXR0ci0+
bmFtZSgpID09IHBsYWNlaG9sZGVyQXR0cikKICAgICAgICAgdXBkYXRlUGxhY2Vob2xkZXJWaXNp
YmlsaXR5KHRydWUpOwotICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvbmZvY3VzQXR0cikK
LSAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuZm9jdXNFdmVu
dCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBhdHRyKSk7Ci0gICAgZWxzZSBp
ZiAoYXR0ci0+bmFtZSgpID09IG9uYmx1ckF0dHIpCi0gICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50
TGlzdGVuZXIoZXZlbnROYW1lcygpLmJsdXJFdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0
ZW5lcih0aGlzLCBhdHRyKSk7CiAgICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG9uc2VsZWN0
QXR0cikKICAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuc2Vs
ZWN0RXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhpcywgYXR0cikpOwogICAg
IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvbmNoYW5nZUF0dHIpCkluZGV4OiBXZWJDb3JlL2h0
bWwvSFRNTEZyYW1lU2V0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hU
TUxGcmFtZVNldEVsZW1lbnQuY3BwCShyZXZpc2lvbiA1NjI1MCkKKysrIFdlYkNvcmUvaHRtbC9I
VE1MRnJhbWVTZXRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM1LDYgKzEzNSwxMCBA
QCB2b2lkIEhUTUxGcmFtZVNldEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0CiAgICAgICAgIGRvY3Vt
ZW50KCktPnNldFdpbmRvd0F0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmJsdXJF
dmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcihkb2N1bWVudCgpLT5mcmFtZSgpLCBh
dHRyKSk7CiAgICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG9uZm9jdXNBdHRyKQogICAgICAg
ICBkb2N1bWVudCgpLT5zZXRXaW5kb3dBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMo
KS5mb2N1c0V2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGRvY3VtZW50KCktPmZy
YW1lKCksIGF0dHIpKTsKKyAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gb25mb2N1c2luQXR0
cikKKyAgICAgICAgZG9jdW1lbnQoKS0+c2V0V2luZG93QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihl
dmVudE5hbWVzKCkuZm9jdXNpbkV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGRv
Y3VtZW50KCktPmZyYW1lKCksIGF0dHIpKTsKKyAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0g
b25mb2N1c291dEF0dHIpCisgICAgICAgIGRvY3VtZW50KCktPnNldFdpbmRvd0F0dHJpYnV0ZUV2
ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmZvY3Vzb3V0RXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2
ZW50TGlzdGVuZXIoZG9jdW1lbnQoKS0+ZnJhbWUoKSwgYXR0cikpOwogI2lmIEVOQUJMRShPUklF
TlRBVElPTl9FVkVOVFMpCiAgICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG9ub3JpZW50YXRp
b25jaGFuZ2VBdHRyKQogICAgICAgICBkb2N1bWVudCgpLT5zZXRXaW5kb3dBdHRyaWJ1dGVFdmVu
dExpc3RlbmVyKGV2ZW50TmFtZXMoKS5vcmllbnRhdGlvbmNoYW5nZUV2ZW50LCBjcmVhdGVBdHRy
aWJ1dGVFdmVudExpc3RlbmVyKGRvY3VtZW50KCktPmZyYW1lKCksIGF0dHIpKTsKSW5kZXg6IFdl
YkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9o
dG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcAkocmV2aXNpb24gNTYyNTApCisrKyBXZWJDb3JlL2h0
bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTQsMTAgKzIxNCw2
IEBAIHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmkKICAgICB9IGVsc2Ug
aWYgKGF0dHItPm5hbWUoKSA9PSBhbGlnbkF0dHIpIHsKICAgICAgICAgLy8gRG9uJ3QgbWFwICdh
bGlnbicgYXR0cmlidXRlLiAgVGhpcyBtYXRjaGVzIHdoYXQgRmlyZWZveCwgT3BlcmEgYW5kIElF
IGRvLgogICAgICAgICAvLyBTZWUgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTIwNzIKLSAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvbmZvY3VzQXR0cikgewot
ICAgICAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5mb2N1c0V2ZW50
LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIGF0dHIpKTsKLSAgICB9IGVsc2Ug
aWYgKGF0dHItPm5hbWUoKSA9PSBvbmJsdXJBdHRyKSB7Ci0gICAgICAgIHNldEF0dHJpYnV0ZUV2
ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmJsdXJFdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRM
aXN0ZW5lcih0aGlzLCBhdHRyKSk7CiAgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gb25j
aGFuZ2VBdHRyKSB7CiAgICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1l
cygpLmNoYW5nZUV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIGF0dHIp
KTsKICAgICB9IGVsc2UKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCShyZXZpc2lvbiA1NjI1MCkKKysrIFdl
YkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDgsOSArMjA4LDkg
QEAgdm9pZCBTVkdFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYQogICAgIGVsc2UgaWYg
KGF0dHItPm5hbWUoKSA9PSBvbm1vdXNldXBBdHRyKQogICAgICAgICBzZXRBdHRyaWJ1dGVFdmVu
dExpc3RlbmVyKGV2ZW50TmFtZXMoKS5tb3VzZXVwRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50
TGlzdGVuZXIodGhpcywgYXR0cikpOwogICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdO
YW1lczo6b25mb2N1c2luQXR0cikKLSAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihl
dmVudE5hbWVzKCkuRE9NRm9jdXNJbkV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVy
KHRoaXMsIGF0dHIpKTsKKyAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5h
bWVzKCkuZm9jdXNpbkV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIGF0
dHIpKTsKICAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6Om9uZm9jdXNvdXRB
dHRyKQotICAgICAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5ET01G
b2N1c091dEV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIGF0dHIpKTsK
KyAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuZm9jdXNvdXRF
dmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBhdHRyKSk7CiAgICAgZWxz
ZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpvbmFjdGl2YXRlQXR0cikKICAgICAgICAg
c2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuRE9NQWN0aXZhdGVFdmVudCwg
Y3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBhdHRyKSk7CiAgICAgZWxzZQpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZm9jdXNpbm91dC1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZm9jdXNpbm91dC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9mb2N1c2lub3V0LWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw3IEBACisKK1BBU1MKK1BBU1MKK1BBU1MK
K1BBU1MKK1BBU1MKK1BBU1MKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2ZvY3VzaW5v
dXQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9mb2N1c2lub3V0
Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9mb2N1c2lub3V0
Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTIgQEAKKzxodG1sIG9uZm9jdXNpbj0id3Jp
dGVQYXNzKCdyZXN1bHQ1JykiIG9uZm9jdXNvdXQ9IndyaXRlUGFzcygncmVzdWx0NicpIj4KKzxo
ZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgd2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworZnVuY3Rpb24gd3JpdGVQ
YXNzKGlkKQoreworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKS5pbm5lckhUTUwgPSAi
UEFTUyI7Cit9CisKK2Z1bmN0aW9uIGZvY3VzSGFuZGxlcihldmVudCkKK3sKKyAgICB3cml0ZVBh
c3MoJ3Jlc3VsdDEnKTsKK30KKworZnVuY3Rpb24gYmx1ckhhbmRsZXIoZXZlbnQpCit7CisgICAg
d3JpdGVQYXNzKCdyZXN1bHQyJyk7Cit9CisKK2Z1bmN0aW9uIGZvY3VzSGFuZGxlclR3byhldmVu
dCkKK3sKKyAgICB3cml0ZVBhc3MoJ3Jlc3VsdDMnKTsKK30KKworZnVuY3Rpb24gYmx1ckhhbmRs
ZXJUd28oZXZlbnQpCit7CisgICAgd3JpdGVQYXNzKCdyZXN1bHQ0Jyk7Cit9Cis8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5IG9ubG9hZD0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZpZWxkJyku
Zm9jdXMoKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmllbGQnKS5ibHVyKCkiPgorCis8Zm9y
bT4KKzxpbnB1dCB0eXBlPXRleHQgaWQ9ImZpZWxkIj4KKzwvZm9ybT4KKworPGRpdiBpZD0icmVz
dWx0MSI+RkFJTDwvZGl2PgorPGRpdiBpZD0icmVzdWx0MiI+RkFJTDwvZGl2PgorPGRpdiBpZD0i
cmVzdWx0MyI+RkFJTDwvZGl2PgorPGRpdiBpZD0icmVzdWx0NCI+RkFJTDwvZGl2PgorPGRpdiBp
ZD0icmVzdWx0NSI+RkFJTDwvZGl2PgorPGRpdiBpZD0icmVzdWx0NiI+RkFJTDwvZGl2PgorCis8
c2NyaXB0PgorZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImZvY3Vz
aW4iLCBmb2N1c0hhbmRsZXIsIGZhbHNlKTsKK2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hZGRF
dmVudExpc3RlbmVyKCJmb2N1c291dCIsIGJsdXJIYW5kbGVyLCBmYWxzZSk7Citkb2N1bWVudC5k
b2N1bWVudEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NRm9jdXNJbiIsIGZvY3VzSGFuZGxl
clR3bywgZmFsc2UpOworZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIo
IkRPTUZvY3VzT3V0IiwgYmx1ckhhbmRsZXJUd28sIGZhbHNlKTsKKzwvc2NyaXB0PgorCg==
</data>
<flag name="review"
          id="34569"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>