<?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>67569</bug_id>
          
          <creation_ts>2011-09-03 16:37:09 -0700</creation_ts>
          <short_desc>Rename confirmCompositionWithoutDisturbingSelection to cancelComposition</short_desc>
          <delta_ts>2011-09-06 16:05:30 -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>HTML Editing</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>
          <dependson>67377</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>ap</cc>
    
    <cc>cshu</cc>
    
    <cc>darin</cc>
    
    <cc>hausmann</cc>
    
    <cc>hbono</cc>
    
    <cc>kenneth</cc>
    
    <cc>tkent</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>461868</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-09-03 16:37:09 -0700</bug_when>
    <thetext>Per discussion on the bug 67377, we found that confirmCompositionWithoutDisturbingSelection is only used to cancel composition and the corresponding changeset http://trac.webkit.org/changeset/94497 made a change that enforces this notion.  We should rename this function to match the actual behavior now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462760</commentid>
    <comment_count>1</comment_count>
      <attachid>106469</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-09-06 12:49:15 -0700</bug_when>
    <thetext>Created attachment 106469
cleanup</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462795</commentid>
    <comment_count>2</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-09-06 13:17:37 -0700</bug_when>
    <thetext>So what if I really want to confirm? We are depending a lot of this method in our slightly outdated branch as we commit the composition instead of cancelling it in many cases (ie. moving from one field to another etc)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462796</commentid>
    <comment_count>3</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2011-09-06 13:20:21 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; So what if I really want to confirm? We are depending a lot of this method in our slightly outdated branch as we commit the composition instead of cancelling it in many cases (ie. moving from one field to another etc)

r+ upon kenneth&apos;s concern is not an issue.

I was about to ask the same: if one want to cancel selection without actually disturbing selection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462798</commentid>
    <comment_count>4</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-09-06 13:23:23 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; So what if I really want to confirm? We are depending a lot of this method in our slightly outdated branch as we commit the composition instead of cancelling it in many cases (ie. moving from one field to another etc)
&gt; 
&gt; r+ upon kenneth&apos;s concern is not an issue.
&gt; 
&gt; I was about to ask the same: if one want to cancel selection without actually disturbing selection.

We kind of need that. That is how our mobile platform works. We commit when loosing focus (could be just moving the cursor position with a touch in the same input field) and before injecting compositions into our virtual keyboard (used when the user touches a word and it becomes a composition)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462799</commentid>
    <comment_count>5</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2011-09-06 13:25:43 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; (In reply to comment #2)
&gt; &gt; &gt; So what if I really want to confirm? We are depending a lot of this method in our slightly outdated branch as we commit the composition instead of cancelling it in many cases (ie. moving from one field to another etc)
&gt; &gt; 
&gt; &gt; r+ upon kenneth&apos;s concern is not an issue.
&gt; &gt; 
&gt; &gt; I was about to ask the same: if one want to cancel selection without actually disturbing selection.
&gt; 
&gt; We kind of need that. That is how our mobile platform works. We commit when loosing focus (could be just moving the cursor position with a touch in the same input field) and before injecting compositions into our virtual keyboard (used when the user touches a word and it becomes a composition)

Although the patch is not chaning any actual behavior, but cleaning it up instead. So if it is/was broken for us with the patch, it will keep beeing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462800</commentid>
    <comment_count>6</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-09-06 13:28:28 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (In reply to comment #3)
&gt; &gt; &gt; (In reply to comment #2)
&gt; &gt; &gt; &gt; So what if I really want to confirm? We are depending a lot of this method in our slightly outdated branch as we commit the composition instead of cancelling it in many cases (ie. moving from one field to another etc)
&gt; &gt; &gt; 
&gt; &gt; &gt; r+ upon kenneth&apos;s concern is not an issue.
&gt; &gt; &gt; 
&gt; &gt; &gt; I was about to ask the same: if one want to cancel selection without actually disturbing selection.
&gt; &gt; 
&gt; &gt; We kind of need that. That is how our mobile platform works. We commit when loosing focus (could be just moving the cursor position with a touch in the same input field) and before injecting compositions into our virtual keyboard (used when the user touches a word and it becomes a composition)
&gt; 
&gt; Although the patch is not chaning any actual behavior, but cleaning it up instead. So if it is/was broken for us with the patch, it will keep beeing.

Sure, but the behavior was changed without me being aware of it. Examples of use:

http://gitorious.org/+qtwebkit-webkit2-dev/webkit/qtwebkit-webkit2-dev/blobs/master/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp

I think we are using it one other place, but I don&apos;t have the source handy right now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462856</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-09-06 14:31:33 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Sure, but the behavior was changed without me being aware of it. Examples of use:
&gt; 
&gt; http://gitorious.org/+qtwebkit-webkit2-dev/webkit/qtwebkit-webkit2-dev/blobs/master/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp
&gt; 
&gt; I think we are using it one other place, but I don&apos;t have the source handy right now.

Kenneth and I chatted over this and he&apos;s going to investigate further if he can work-around by using other API.

I&apos;m going to land this patch for now because I don&apos;t want to leave the function name mismatching to its behavior. We can always add new API for Qt if it&apos;s necessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462953</commentid>
    <comment_count>8</comment_count>
      <attachid>106469</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-09-06 15:45:40 -0700</bug_when>
    <thetext>Comment on attachment 106469
cleanup

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

&gt; Source/WebCore/editing/Editor.cpp:1494
&gt; -    if (preserveSelection)
&gt; +    if (mode == ConfirmComposition)

Oops, this obviously needs to be &quot;mode == CancelComposition&quot;. Will fix before landing the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462967</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-09-06 16:05:30 -0700</bug_when>
    <thetext>Committed r94613: &lt;http://trac.webkit.org/changeset/94613&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106469</attachid>
            <date>2011-09-06 12:49:15 -0700</date>
            <delta_ts>2011-09-06 15:45:40 -0700</delta_ts>
            <desc>cleanup</desc>
            <filename>bug-67569-20110906124914.patch</filename>
            <type>text/plain</type>
            <size>17005</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0NTkwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDktMDYgIFJ5b3N1a2Ug
Tml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVuYW1lIGNvbmZpcm1Db21wb3Np
dGlvbldpdGhvdXREaXN0dXJiaW5nU2VsZWN0aW9uIHRvIGNhbmNlbENvbXBvc2l0aW9uCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NzU2OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZWQgRWRpdG9y
Ojpjb25maXJtQ29tcG9zaXRpb25XaXRob3V0RGlzdHVyYmluZ1NlbGVjdGlvbiB0byBFZGl0b3I6
OmNhbmNlbENvbXBvc2l0aW9uLgorICAgICAgICBBbHNvIHJlbmFtZWQgdGhlIHNoYXJlZCBmdW5j
dGlvbiBmcm9tIGNvbmZpcm1Db21wb3NpdGlvbiB0byBzZXRDb21wb3NpdGlvbi4KKworICAgICAg
ICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkVkaXRvcjo6Y29uZmlybUNvbXBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OkVkaXRvcjo6Y2FuY2VsQ29tcG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9y
OjpzZXRDb21wb3NpdGlvbik6CisgICAgICAgICogZWRpdGluZy9FZGl0b3IuaDoKKwogMjAxMS0w
OS0wNiAgQWFyb24gQ29sd2VsbCAgPGFjb2x3ZWxsQGNocm9taXVtLm9yZz4KIAogICAgICAgICBB
bGxvdyBNZWRpYVNvdXJjZSBBUEkgdG8gYmUgZW5hYmxlZCBhdCBydW50aW1lLgpJbmRleDogU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5leHAuaW4JKHJldmlzaW9uIDk0NTg3KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4JKHdvcmtpbmcgY29weSkKQEAgLTc3NSw2ICs3NzUsNyBAQCBfX1pON1dlYkNvcmU2
RWRpdG9yMTN0cnlESFRNTFBhc3RlRXYKIF9fWk43V2ViQ29yZTZFZGl0b3IxNHNldENvbXBvc2l0
aW9uRVJLTjNXVEY2U3RyaW5nRVJLTlMxXzZWZWN0b3JJTlNfMjBDb21wb3NpdGlvblVuZGVybGlu
ZUVMbTBFRUVqagogX19aTjdXZWJDb3JlNkVkaXRvcjE1cGFzdGVBc0ZyYWdtZW50RU4zV1RGMTBQ
YXNzUmVmUHRySU5TXzE2RG9jdW1lbnRGcmFnbWVudEVFRWJiCiBfX1pON1dlYkNvcmU2RWRpdG9y
MTZwYXN0ZUFzUGxhaW5UZXh0RXYKK19fWk43V2ViQ29yZTZFZGl0b3IxN2NhbmNlbENvbXBvc2l0
aW9uRXYKIF9fWk43V2ViQ29yZTZFZGl0b3IxN2luc2VydE9yZGVyZWRMaXN0RXYKIF9fWk43V2Vi
Q29yZTZFZGl0b3IxOGNvbmZpcm1Db21wb3NpdGlvbkVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2Vi
Q29yZTZFZGl0b3IxOGNvbmZpcm1Db21wb3NpdGlvbkV2CkBAIC04MDQsNyArODA1LDYgQEAgX19a
TjdXZWJDb3JlNkVkaXRvcjM1aW5jcmVhc2VTZWxlY3Rpb25MaQogX19aTjdXZWJDb3JlNkVkaXRv
cjM1c2V0SWdub3JlQ29tcG9zaXRpb25TZWxlY3Rpb25DaGFuZ2VFYgogX19aTjdXZWJDb3JlNkVk
aXRvcjM4Y29tbWFuZElzU3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmdFUktOM1dURjZTdHJp
bmdFCiBfX1pON1dlYkNvcmU2RWRpdG9yM2N1dEV2Ci1fX1pON1dlYkNvcmU2RWRpdG9yNDRjb25m
aXJtQ29tcG9zaXRpb25XaXRob3V0RGlzdHVyYmluZ1NlbGVjdGlvbkV2CiBfX1pON1dlYkNvcmU2
RWRpdG9yNGNvcHlFdgogX19aTjdXZWJDb3JlNkVkaXRvcjVwYXN0ZUV2CiBfX1pON1dlYkNvcmU2
RWRpdG9yNmluZGVudEV2CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCShyZXZpc2lv
biA5NDU4NykKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTQ2OSwzMCArMTQ2OSwyOSBAQCB2b2lkIEVkaXRvcjo6Y29uZmlybUNvbXBvc2l0
aW9uKCkKIHsKICAgICBpZiAoIW1fY29tcG9zaXRpb25Ob2RlKQogICAgICAgICByZXR1cm47Ci0g
ICAgY29uZmlybUNvbXBvc2l0aW9uKG1fY29tcG9zaXRpb25Ob2RlLT5kYXRhKCkuc3Vic3RyaW5n
KG1fY29tcG9zaXRpb25TdGFydCwgbV9jb21wb3NpdGlvbkVuZCAtIG1fY29tcG9zaXRpb25TdGFy
dCksIGZhbHNlKTsKKyAgICBzZXRDb21wb3NpdGlvbihtX2NvbXBvc2l0aW9uTm9kZS0+ZGF0YSgp
LnN1YnN0cmluZyhtX2NvbXBvc2l0aW9uU3RhcnQsIG1fY29tcG9zaXRpb25FbmQgLSBtX2NvbXBv
c2l0aW9uU3RhcnQpLCBDb25maXJtQ29tcG9zaXRpb24pOwogfQogCi0vLyBGSVhNRTogVGhpcyBm
dW5jdGlvbiBpcyBwb29ybHkgbmFtZWQuIENhbGxlcnMgb2YgdGhpcyBmdW5jdGlvbiB1c2VzIHRo
aXMgZnVuY3Rpb24gdG8gY2FuY2VsIGNvbXBvc2l0aW9uLAotLy8gYW5kIGRvbid0IGV4cGVjdCBp
dCB0byBpbnNlcnQgdGhlIGN1cnJlbnQgY29tcG9zaXRpb24gYXMgdGhlIG5hbWUgc3VnZ2VzdHMu
Ci12b2lkIEVkaXRvcjo6Y29uZmlybUNvbXBvc2l0aW9uV2l0aG91dERpc3R1cmJpbmdTZWxlY3Rp
b24oKQordm9pZCBFZGl0b3I6OmNhbmNlbENvbXBvc2l0aW9uKCkKIHsKICAgICBpZiAoIW1fY29t
cG9zaXRpb25Ob2RlKQogICAgICAgICByZXR1cm47Ci0gICAgY29uZmlybUNvbXBvc2l0aW9uKGVt
cHR5U3RyaW5nKCksIHRydWUpOworICAgIHNldENvbXBvc2l0aW9uKGVtcHR5U3RyaW5nKCksIENh
bmNlbENvbXBvc2l0aW9uKTsKIH0KIAogdm9pZCBFZGl0b3I6OmNvbmZpcm1Db21wb3NpdGlvbihj
b25zdCBTdHJpbmcmIHRleHQpCiB7Ci0gICAgY29uZmlybUNvbXBvc2l0aW9uKHRleHQsIGZhbHNl
KTsKKyAgICBzZXRDb21wb3NpdGlvbih0ZXh0LCBDb25maXJtQ29tcG9zaXRpb24pOwogfQogCi12
b2lkIEVkaXRvcjo6Y29uZmlybUNvbXBvc2l0aW9uKGNvbnN0IFN0cmluZyYgdGV4dCwgYm9vbCBw
cmVzZXJ2ZVNlbGVjdGlvbikKK3ZvaWQgRWRpdG9yOjpzZXRDb21wb3NpdGlvbihjb25zdCBTdHJp
bmcmIHRleHQsIFNldENvbXBvc2l0aW9uTW9kZSBtb2RlKQogeworICAgIEFTU0VSVChtb2RlID09
IENvbmZpcm1Db21wb3NpdGlvbiB8fCBtb2RlID09IENhbmNlbENvbXBvc2l0aW9uKTsKICAgICBV
c2VyVHlwaW5nR2VzdHVyZUluZGljYXRvciB0eXBpbmdHZXN0dXJlSW5kaWNhdG9yKG1fZnJhbWUp
OwogCiAgICAgc2V0SWdub3JlQ29tcG9zaXRpb25TZWxlY3Rpb25DaGFuZ2UodHJ1ZSk7CiAKLSAg
ICBpZiAocHJlc2VydmVTZWxlY3Rpb24pCisgICAgaWYgKG1vZGUgPT0gQ29uZmlybUNvbXBvc2l0
aW9uKQogICAgICAgICBBU1NFUlQodGV4dCA9PSBlbXB0eVN0cmluZygpKTsKICAgICBlbHNlCiAg
ICAgICAgIHNlbGVjdENvbXBvc2l0aW9uKCk7CkBAIC0xNTIyLDcgKzE1MjEsNyBAQCB2b2lkIEVk
aXRvcjo6Y29uZmlybUNvbXBvc2l0aW9uKGNvbnN0IFN0CiAKICAgICBpbnNlcnRUZXh0Rm9yQ29u
ZmlybWVkQ29tcG9zaXRpb24odGV4dCk7CiAKLSAgICBpZiAocHJlc2VydmVTZWxlY3Rpb24pIHsK
KyAgICBpZiAobW9kZSA9PSBDYW5jZWxDb21wb3NpdGlvbikgewogICAgICAgICAvLyBBbiBvcGVu
IHR5cGluZyBjb21tYW5kIHRoYXQgZGlzYWdyZWVzIGFib3V0IGN1cnJlbnQgc2VsZWN0aW9uIHdv
dWxkIGNhdXNlIGlzc3VlcyB3aXRoIHR5cGluZyBsYXRlciBvbi4KICAgICAgICAgVHlwaW5nQ29t
bWFuZDo6Y2xvc2VUeXBpbmcobV9sYXN0RWRpdENvbW1hbmQuZ2V0KCkpOwogICAgIH0KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvZWRpdGluZy9FZGl0b3IuaAkocmV2aXNpb24gOTQ1ODcpCisrKyBTb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yODAsNyArMjgwLDcgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0Q29tcG9zaXRpb24oY29uc3QgU3RyaW5nJiwgY29uc3QgVmVjdG9y
PENvbXBvc2l0aW9uVW5kZXJsaW5lPiYsIHVuc2lnbmVkIHNlbGVjdGlvblN0YXJ0LCB1bnNpZ25l
ZCBzZWxlY3Rpb25FbmQpOwogICAgIHZvaWQgY29uZmlybUNvbXBvc2l0aW9uKCk7CiAgICAgdm9p
ZCBjb25maXJtQ29tcG9zaXRpb24oY29uc3QgU3RyaW5nJik7IC8vIGlmIG5vIGV4aXN0aW5nIGNv
bXBvc2l0aW9uLCByZXBsYWNlcyBzZWxlY3Rpb24KLSAgICB2b2lkIGNvbmZpcm1Db21wb3NpdGlv
bldpdGhvdXREaXN0dXJiaW5nU2VsZWN0aW9uKCk7CisgICAgdm9pZCBjYW5jZWxDb21wb3NpdGlv
bigpOwogICAgIFBhc3NSZWZQdHI8UmFuZ2U+IGNvbXBvc2l0aW9uUmFuZ2UoKSBjb25zdDsKICAg
ICBib29sIGdldENvbXBvc2l0aW9uU2VsZWN0aW9uKHVuc2lnbmVkJiBzZWxlY3Rpb25TdGFydCwg
dW5zaWduZWQmIHNlbGVjdGlvbkVuZCkgY29uc3Q7CiAKQEAgLTQwOSw3ICs0MDksOCBAQCBwcml2
YXRlOgogICAgIFRleHRDaGVja2luZ1R5cGVNYXNrIHJlc29sdmVUZXh0Q2hlY2tpbmdUeXBlTWFz
ayhUZXh0Q2hlY2tpbmdUeXBlTWFzayk7CiAKICAgICB2b2lkIHNlbGVjdENvbXBvc2l0aW9uKCk7
Ci0gICAgdm9pZCBjb25maXJtQ29tcG9zaXRpb24oY29uc3QgU3RyaW5nJiwgYm9vbCBwcmVzZXJ2
ZVNlbGVjdGlvbik7CisgICAgZW51bSBTZXRDb21wb3NpdGlvbk1vZGUgeyBDb25maXJtQ29tcG9z
aXRpb24sIENhbmNlbENvbXBvc2l0aW9uIH07CisgICAgdm9pZCBzZXRDb21wb3NpdGlvbihjb25z
dCBTdHJpbmcmLCBTZXRDb21wb3NpdGlvbk1vZGUpOwogICAgIHZvaWQgc2V0SWdub3JlQ29tcG9z
aXRpb25TZWxlY3Rpb25DaGFuZ2UoYm9vbCBpZ25vcmUpOwogCiAgICAgUGFzc1JlZlB0cjxSYW5n
ZT4gZmlyc3RWaXNpYmxlUmFuZ2UoY29uc3QgU3RyaW5nJiwgRmluZE9wdGlvbnMpOwpJbmRleDog
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwkocmV2aXNpb24gOTQ1OTApCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwyMSBAQAorMjAxMS0wOS0wNiAgUnlvc3VrZSBOaXdhICA8
cm5pd2FAd2Via2l0Lm9yZz4KKworICAgICAgICBSZW5hbWUgY29uZmlybUNvbXBvc2l0aW9uV2l0
aG91dERpc3R1cmJpbmdTZWxlY3Rpb24gdG8gY2FuY2VsQ29tcG9zaXRpb24KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTY5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9X
S1ZpZXcubW06CisgICAgICAgICgtW1dLVmlldyByZXNpZ25GaXJzdFJlc3BvbmRlcl0pOgorICAg
ICAgICAoLVtXS1ZpZXcgX3VwZGF0ZVRleHRJbnB1dFN0YXRlSW5jbHVkaW5nU2VjdXJlSW5wdXRT
dGF0ZTpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICog
VUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlNYWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2VQcm94eTo6Y2FuY2VsQ29tcG9zaXRpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2Fn
ZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpjYW5jZWxDb21wb3NpdGlvbik6CisKIDIwMTEtMDkt
MDYgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lP
TihyOTQyNzQpOiBGb3JtTWFuYWdlclRlc3QuUHJldmlld0Zvcm0gYW5kIEZpbGxGb3JtTm9uRW1w
dHlGaWVsZCBmYWlsIG9uIGNocm9taXVtCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCShyZXZpc2lvbiA5NDU4NykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMjk5LDcgKzI5OSw3IEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgc2V0Q29tcG9zaXRpb24oY29uc3QgU3RyaW5nJiB0ZXh0LCBWZWN0b3I8
V2ViQ29yZTo6Q29tcG9zaXRpb25VbmRlcmxpbmU+IHVuZGVybGluZXMsIHVpbnQ2NF90IHNlbGVj
dGlvblN0YXJ0LCB1aW50NjRfdCBzZWxlY3Rpb25FbmQsIHVpbnQ2NF90IHJlcGxhY2VtZW50UmFu
Z2VTdGFydCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZUVuZCk7CiAgICAgdm9pZCBjb25maXJt
Q29tcG9zaXRpb24oKTsKLSAgICB2b2lkIGNvbmZpcm1Db21wb3NpdGlvbldpdGhvdXREaXN0dXJi
aW5nU2VsZWN0aW9uKCk7CisgICAgdm9pZCBjYW5jZWxDb21wb3NpdGlvbigpOwogICAgIGJvb2wg
aW5zZXJ0VGV4dChjb25zdCBTdHJpbmcmIHRleHQsIHVpbnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VT
dGFydCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZUVuZCk7CiAgICAgdm9pZCBnZXRNYXJrZWRS
YW5nZSh1aW50NjRfdCYgbG9jYXRpb24sIHVpbnQ2NF90JiBsZW5ndGgpOwogICAgIHZvaWQgZ2V0
U2VsZWN0ZWRSYW5nZSh1aW50NjRfdCYgbG9jYXRpb24sIHVpbnQ2NF90JiBsZW5ndGgpOwpJbmRl
eDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQkocmV2aXNpb24g
OTQ1ODcpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0JKHdv
cmtpbmcgY29weSkKQEAgLTMyMyw3ICszMjMsNyBAQCAtIChCT09MKXJlc2lnbkZpcnN0UmVzcG9u
ZGVyCiAgICAgX2RhdGEtPl9pblJlc2lnbkZpcnN0UmVzcG9uZGVyID0gdHJ1ZTsKIAogICAgIGlm
IChfZGF0YS0+X3BhZ2UtPmVkaXRvclN0YXRlKCkuaGFzQ29tcG9zaXRpb24gJiYgIV9kYXRhLT5f
cGFnZS0+ZWRpdG9yU3RhdGUoKS5zaG91bGRJZ25vcmVDb21wb3NpdGlvblNlbGVjdGlvbkNoYW5n
ZSkKLSAgICAgICAgX2RhdGEtPl9wYWdlLT5jb25maXJtQ29tcG9zaXRpb25XaXRob3V0RGlzdHVy
YmluZ1NlbGVjdGlvbigpOworICAgICAgICBfZGF0YS0+X3BhZ2UtPmNhbmNlbENvbXBvc2l0aW9u
KCk7CiAgICAgW3NlbGYgX3Jlc2V0VGV4dElucHV0U3RhdGVdOwogICAgIAogICAgIGlmICghX2Rh
dGEtPl9wYWdlLT5tYWludGFpbnNJbmFjdGl2ZVNlbGVjdGlvbigpKQpAQCAtMjUzNyw3ICsyNTM3
LDcgQEAgLSAodm9pZClfdXBkYXRlVGV4dElucHV0U3RhdGVJbmNsdWRpbmdTZQogICAgIGlmICgh
ZWRpdG9yU3RhdGUuaGFzQ29tcG9zaXRpb24gfHwgZWRpdG9yU3RhdGUuc2hvdWxkSWdub3JlQ29t
cG9zaXRpb25TZWxlY3Rpb25DaGFuZ2UpCiAgICAgICAgIHJldHVybjsKIAotICAgIF9kYXRhLT5f
cGFnZS0+Y29uZmlybUNvbXBvc2l0aW9uV2l0aG91dERpc3R1cmJpbmdTZWxlY3Rpb24oKTsKKyAg
ICBfZGF0YS0+X3BhZ2UtPmNhbmNlbENvbXBvc2l0aW9uKCk7CiAKICAgICBbc2VsZiBfbm90aWZ5
SW5wdXRDb250ZXh0QWJvdXREaXNjYXJkZWRDb21wb3NpdGlvbl07CiB9CkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbQkocmV2aXNpb24g
OTQ1ODcpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5t
bQkod29ya2luZyBjb3B5KQpAQCAtMTYzLDEyICsxNjMsMTIgQEAgdm9pZCBXZWJQYWdlUHJveHk6
OmNvbmZpcm1Db21wb3NpdGlvbigpCiAgICAgcHJvY2VzcygpLT5zZW5kU3luYyhNZXNzYWdlczo6
V2ViUGFnZTo6Q29uZmlybUNvbXBvc2l0aW9uKCksIE1lc3NhZ2VzOjpXZWJQYWdlOjpDb25maXJt
Q29tcG9zaXRpb246OlJlcGx5KG1fZWRpdG9yU3RhdGUpLCBtX3BhZ2VJRCk7CiB9CiAKLXZvaWQg
V2ViUGFnZVByb3h5Ojpjb25maXJtQ29tcG9zaXRpb25XaXRob3V0RGlzdHVyYmluZ1NlbGVjdGlv
bigpCit2b2lkIFdlYlBhZ2VQcm94eTo6Y2FuY2VsQ29tcG9zaXRpb24oKQogewogICAgIGlmICgh
aXNWYWxpZCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBwcm9jZXNzKCktPnNlbmRTeW5jKE1l
c3NhZ2VzOjpXZWJQYWdlOjpDb25maXJtQ29tcG9zaXRpb25XaXRob3V0RGlzdHVyYmluZ1NlbGVj
dGlvbigpLCBNZXNzYWdlczo6V2ViUGFnZTo6Q29uZmlybUNvbXBvc2l0aW9uOjpSZXBseShtX2Vk
aXRvclN0YXRlKSwgbV9wYWdlSUQpOworICAgIHByb2Nlc3MoKS0+c2VuZFN5bmMoTWVzc2FnZXM6
OldlYlBhZ2U6OkNhbmNlbENvbXBvc2l0aW9uKCksIE1lc3NhZ2VzOjpXZWJQYWdlOjpDb25maXJt
Q29tcG9zaXRpb246OlJlcGx5KG1fZWRpdG9yU3RhdGUpLCBtX3BhZ2VJRCk7CiB9CiAKIGJvb2wg
V2ViUGFnZVByb3h5OjppbnNlcnRUZXh0KGNvbnN0IFN0cmluZyYgdGV4dCwgdWludDY0X3QgcmVw
bGFjZW1lbnRSYW5nZVN0YXJ0LCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdlRW5kKQpJbmRleDog
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCShyZXZpc2lvbiA5
NDU4NykKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTMzNyw3ICszMzcsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldENv
bXBvc2l0aW9uKGNvbnN0IFN0cmluZyYgdGV4dCwgVmVjdG9yPFdlYkNvcmU6OkNvbXBvc2l0aW9u
VW5kZXJsaW5lPiB1bmRlcmxpbmVzLCB1aW50NjRfdCBzZWxlY3Rpb25TdGFydCwgdWludDY0X3Qg
c2VsZWN0aW9uRW5kLCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdlU3RhcnQsIHVpbnQ2NF90IHJl
cGxhY2VtZW50UmFuZ2VFbmQsIEVkaXRvclN0YXRlJiBuZXdTdGF0ZSk7CiAgICAgdm9pZCBjb25m
aXJtQ29tcG9zaXRpb24oRWRpdG9yU3RhdGUmIG5ld1N0YXRlKTsKLSAgICB2b2lkIGNvbmZpcm1D
b21wb3NpdGlvbldpdGhvdXREaXN0dXJiaW5nU2VsZWN0aW9uKEVkaXRvclN0YXRlJiBuZXdTdGF0
ZSk7CisgICAgdm9pZCBjYW5jZWxDb21wb3NpdGlvbihFZGl0b3JTdGF0ZSYgbmV3U3RhdGUpOwog
ICAgIHZvaWQgaW5zZXJ0VGV4dChjb25zdCBTdHJpbmcmIHRleHQsIHVpbnQ2NF90IHJlcGxhY2Vt
ZW50UmFuZ2VTdGFydCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZUVuZCwgYm9vbCYgaGFuZGxl
ZCwgRWRpdG9yU3RhdGUmIG5ld1N0YXRlKTsKICAgICB2b2lkIGdldE1hcmtlZFJhbmdlKHVpbnQ2
NF90JiBsb2NhdGlvbiwgdWludDY0X3QmIGxlbmd0aCk7CiAgICAgdm9pZCBnZXRTZWxlY3RlZFJh
bmdlKHVpbnQ2NF90JiBsb2NhdGlvbiwgdWludDY0X3QmIGxlbmd0aCk7CkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5p
bgkocmV2aXNpb24gOTQ1ODcpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5tZXNzYWdlcy5pbgkod29ya2luZyBjb3B5KQpAQCAtMTk0LDcgKzE5NCw3IEBAIG1l
c3NhZ2VzIC0+IFdlYlBhZ2UgewogICAgICMgVGV4dCBpbnB1dC4KICAgICBTZXRDb21wb3NpdGlv
bihXVEY6OlN0cmluZyB0ZXh0LCBXVEY6OlZlY3RvcjxXZWJDb3JlOjpDb21wb3NpdGlvblVuZGVy
bGluZT4gdW5kZXJsaW5lcywgdWludDY0X3Qgc2VsZWN0aW9uU3RhcnQsIHVpbnQ2NF90IHNlbGVj
dGlvbkVuZCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZVN0YXJ0LCB1aW50NjRfdCByZXBsYWNl
bWVudFJhbmdlRW5kKSAtPiAoV2ViS2l0OjpFZGl0b3JTdGF0ZSBuZXdTdGF0ZSkKICAgICBDb25m
aXJtQ29tcG9zaXRpb24oKSAtPiAoV2ViS2l0OjpFZGl0b3JTdGF0ZSBuZXdTdGF0ZSkKLSAgICBD
b25maXJtQ29tcG9zaXRpb25XaXRob3V0RGlzdHVyYmluZ1NlbGVjdGlvbigpIC0+IChXZWJLaXQ6
OkVkaXRvclN0YXRlIG5ld1N0YXRlKQorICAgIENhbmNlbENvbXBvc2l0aW9uKCkgLT4gKFdlYktp
dDo6RWRpdG9yU3RhdGUgbmV3U3RhdGUpCiAgICAgSW5zZXJ0VGV4dChXVEY6OlN0cmluZyB0ZXh0
LCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdlU3RhcnQsIHVpbnQ2NF90IHJlcGxhY2VtZW50UmFu
Z2VFbmQpIC0+IChib29sIGhhbmRsZWQsIFdlYktpdDo6RWRpdG9yU3RhdGUgbmV3U3RhdGUpCiAg
ICAgR2V0TWFya2VkUmFuZ2UoKSAtPiAodWludDY0X3QgbG9jYXRpb24sIHVpbnQ2NF90IGxlbmd0
aCkKICAgICBHZXRTZWxlY3RlZFJhbmdlKCkgLT4gKHVpbnQ2NF90IGxvY2F0aW9uLCB1aW50NjRf
dCBsZW5ndGgpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dl
YlBhZ2VNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL21hYy9XZWJQYWdlTWFjLm1tCShyZXZpc2lvbiA5NDU4NykKKysrIFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAt
MjUyLDExICsyNTIsMTEgQEAgdm9pZCBXZWJQYWdlOjpjb25maXJtQ29tcG9zaXRpb24oRWRpdG9y
UwogICAgIG5ld1N0YXRlID0gZWRpdG9yU3RhdGUoKTsKIH0KIAotdm9pZCBXZWJQYWdlOjpjb25m
aXJtQ29tcG9zaXRpb25XaXRob3V0RGlzdHVyYmluZ1NlbGVjdGlvbihFZGl0b3JTdGF0ZSYgbmV3
U3RhdGUpCit2b2lkIFdlYlBhZ2U6OmNhbmNlbENvbXBvc2l0aW9uKEVkaXRvclN0YXRlJiBuZXdT
dGF0ZSkKIHsKICAgICBGcmFtZSogZnJhbWUgPSBtX3BhZ2UtPmZvY3VzQ29udHJvbGxlcigpLT5m
b2N1c2VkT3JNYWluRnJhbWUoKTsKIAotICAgIGZyYW1lLT5lZGl0b3IoKS0+Y29uZmlybUNvbXBv
c2l0aW9uV2l0aG91dERpc3R1cmJpbmdTZWxlY3Rpb24oKTsKKyAgICBmcmFtZS0+ZWRpdG9yKCkt
PmNhbmNlbENvbXBvc2l0aW9uKCk7CiAKICAgICBuZXdTdGF0ZSA9IGVkaXRvclN0YXRlKCk7CiB9
CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gOTQ1OTApCisrKyBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEz
IEBACisyMDExLTA5LTA2ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAg
ICAgIFJlbmFtZSBjb25maXJtQ29tcG9zaXRpb25XaXRob3V0RGlzdHVyYmluZ1NlbGVjdGlvbiB0
byBjYW5jZWxDb21wb3NpdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9Njc1NjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHNyYy9XZWJGcmFtZUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJG
cmFtZUltcGw6OnVubWFya1RleHQpOgorCiAyMDExLTA5LTA2ICBBYXJvbiBDb2x3ZWxsICA8YWNv
bHdlbGxAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFsbG93IE1lZGlhU291cmNlIEFQSSB0byBi
ZSBlbmFibGVkIGF0IHJ1bnRpbWUuCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJGcmFtZUltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkZyYW1lSW1wbC5jcHAJKHJldmlzaW9uIDk0NTg3KQorKysgU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA4OCw3ICsxMDg4
LDcgQEAgdm9pZCBXZWJGcmFtZUltcGw6OnNldE1hcmtlZFRleHQoCiAKIHZvaWQgV2ViRnJhbWVJ
bXBsOjp1bm1hcmtUZXh0KCkKIHsKLSAgICBmcmFtZSgpLT5lZGl0b3IoKS0+Y29uZmlybUNvbXBv
c2l0aW9uV2l0aG91dERpc3R1cmJpbmdTZWxlY3Rpb24oKTsKKyAgICBmcmFtZSgpLT5lZGl0b3Io
KS0+Y2FuY2VsQ29tcG9zaXRpb24oKTsKIH0KIAogYm9vbCBXZWJGcmFtZUltcGw6Omhhc01hcmtl
ZFRleHQoKSBjb25zdApJbmRleDogU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwkocmV2aXNpb24gOTQ1OTApCisrKyBT
b3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBA
QAorMjAxMS0wOS0wNiAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KKworICAgICAg
ICBSZW5hbWUgY29uZmlybUNvbXBvc2l0aW9uV2l0aG91dERpc3R1cmJpbmdTZWxlY3Rpb24gdG8g
Y2FuY2VsQ29tcG9zaXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY3NTY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwOgorICAgICAgICAo
V2ViS2l0OjpFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24pOgorCiAyMDEx
LTA4LTMwICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAg
ICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByOTQxNDIsIHI5NDE0NCwgcjk0MTQ1LCBhbmQg
cjk0MTQ4LgpJbmRleDogU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xp
ZW50R3RrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9y
dC9FZGl0b3JDbGllbnRHdGsuY3BwCShyZXZpc2lvbiA5NDU4NykKKysrIFNvdXJjZS9XZWJLaXQv
Z3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTMyOCw3ICszMjgsNyBAQCB2b2lkIEVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVj
CiAgICAgaWYgKCF0YXJnZXRGcmFtZS0+ZWRpdG9yKCktPmdldENvbXBvc2l0aW9uU2VsZWN0aW9u
KHN0YXJ0LCBlbmQpKSB7CiAgICAgICAgIC8vIGd0a19pbV9jb250ZXh0X3Jlc2V0KCkgY2xlYXJz
IHRoZSBjb21wb3NpdGlvbiBmb3IgdXMuCiAgICAgICAgIGd0a19pbV9jb250ZXh0X3Jlc2V0KHBy
aXYtPmltQ29udGV4dC5nZXQoKSk7Ci0gICAgICAgIHRhcmdldEZyYW1lLT5lZGl0b3IoKS0+Y29u
ZmlybUNvbXBvc2l0aW9uV2l0aG91dERpc3R1cmJpbmdTZWxlY3Rpb24oKTsKKyAgICAgICAgdGFy
Z2V0RnJhbWUtPmVkaXRvcigpLT5jYW5jZWxDb21wb3NpdGlvbigpOwogICAgIH0KIH0KIApJbmRl
eDogU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gOTQ1OTApCisrKyBTb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0wOS0wNiAgUnlv
c3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KKworICAgICAgICBSZW5hbWUgY29uZmlybUNv
bXBvc2l0aW9uV2l0aG91dERpc3R1cmJpbmdTZWxlY3Rpb24gdG8gY2FuY2VsQ29tcG9zaXRpb24K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTY5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3
L1dlYkhUTUxWaWV3Lm1tOgorICAgICAgICAoLVtXZWJIVE1MVmlldyBfdXBkYXRlU2VsZWN0aW9u
Rm9ySW5wdXRNYW5hZ2VyXSk6CisKIDIwMTEtMDktMDEgIE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxl
LmNvbT4KIAogICAgICAgICBGaXggdGhlIGJ1aWxkIGJ5IGFkZGluZyBzb21lIG1vcmUgbWlzc2lu
ZyByZXR1cm4gdHlwZXMuCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxW
aWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZp
ZXcubW0JKHJldmlzaW9uIDk0NTg3KQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJI
VE1MVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtNTk0MCw3ICs1OTQwLDcgQEAgLSAodm9pZClf
dXBkYXRlU2VsZWN0aW9uRm9ySW5wdXRNYW5hZ2VyCiAgICAgaWYgKGNvcmVGcmFtZS0+ZWRpdG9y
KCktPmdldENvbXBvc2l0aW9uU2VsZWN0aW9uKHN0YXJ0LCBlbmQpKQogICAgICAgICBbW05TSW5w
dXRNYW5hZ2VyIGN1cnJlbnRJbnB1dE1hbmFnZXJdIG1hcmtlZFRleHRTZWxlY3Rpb25DaGFuZ2Vk
Ok5TTWFrZVJhbmdlKHN0YXJ0LCBlbmQgLSBzdGFydCkgY2xpZW50OnNlbGZdOwogICAgIGVsc2Ug
ewotICAgICAgICBjb3JlRnJhbWUtPmVkaXRvcigpLT5jb25maXJtQ29tcG9zaXRpb25XaXRob3V0
RGlzdHVyYmluZ1NlbGVjdGlvbigpOworICAgICAgICBjb3JlRnJhbWUtPmVkaXRvcigpLT5jYW5j
ZWxDb21wb3NpdGlvbigpOwogICAgICAgICBbW05TSW5wdXRNYW5hZ2VyIGN1cnJlbnRJbnB1dE1h
bmFnZXJdIG1hcmtlZFRleHRBYmFuZG9uZWQ6c2VsZl07CiAgICAgfQogfQpJbmRleDogU291cmNl
L1dlYktpdC93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL0No
YW5nZUxvZwkocmV2aXNpb24gOTQ1OTApCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0wOS0wNiAgUnlvc3VrZSBOaXdh
ICA8cm5pd2FAd2Via2l0Lm9yZz4KKworICAgICAgICBSZW5hbWUgY29uZmlybUNvbXBvc2l0aW9u
V2l0aG91dERpc3R1cmJpbmdTZWxlY3Rpb24gdG8gY2FuY2VsQ29tcG9zaXRpb24KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTY5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAg
ICAgICAgKFdlYlZpZXc6OnJlc2V0SU1FKToKKwogMjAxMS0wOC0yOSAgQWxleGV5IFByb3NrdXJ5
YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBEdW1wUmVuZGVyVHJlZSBzaG91bGQgYmVn
aW4gZWFjaCB0ZXN0IHdpdGggYW4gZW1wdHkgY29va2llIHN0b3JlCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L3dpbi9XZWJWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJW
aWV3LmNwcAkocmV2aXNpb24gOTQ1ODcpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNTQxMiw3ICs1NDEyLDcgQEAgdm9pZCBXZWJWaWV3OjpwcmVw
YXJlQ2FuZGlkYXRlV2luZG93KEZyYQogdm9pZCBXZWJWaWV3OjpyZXNldElNRShGcmFtZSogdGFy
Z2V0RnJhbWUpCiB7CiAgICAgaWYgKHRhcmdldEZyYW1lKQotICAgICAgICB0YXJnZXRGcmFtZS0+
ZWRpdG9yKCktPmNvbmZpcm1Db21wb3NpdGlvbldpdGhvdXREaXN0dXJiaW5nU2VsZWN0aW9uKCk7
CisgICAgICAgIHRhcmdldEZyYW1lLT5lZGl0b3IoKS0+Y2FuY2VsQ29tcG9zaXRpb24oKTsKIAog
ICAgIGlmIChISU1DIGhJbnB1dENvbnRleHQgPSBnZXRJTU1Db250ZXh0KCkpIHsKICAgICAgICAg
SU1NRGljdDo6ZGljdCgpLm5vdGlmeUlNRShoSW5wdXRDb250ZXh0LCBOSV9DT01QT1NJVElPTlNU
UiwgQ1BTX0NBTkNFTCwgMCk7Cg==
</data>
<flag name="review"
          id="102907"
          type_id="1"
          status="+"
          setter="tonikitoo"
    />
          </attachment>
      

    </bug>

</bugzilla>