<?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>130727</bug_id>
          
          <creation_ts>2014-03-25 10:25:59 -0700</creation_ts>
          <short_desc>Eliminate a sync cancelComposition call in WebPageProxy::editorStateChanged</short_desc>
          <delta_ts>2014-03-28 12:11:52 -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>WebKit2</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>130748</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>andersca</cc>
    
    <cc>darin</cc>
    
    <cc>enrica</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>994241</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-03-25 10:25:59 -0700</bug_when>
    <thetext>We never want to make sync messages from UI Process to WebProcess. This one is particularly silly, as WebCore has more information to decide whether a selection change is such that should abandon the input session (e.g. using JS to remove the whole element that&apos;s being edited).

For now, I&apos;d like to move the decision to WebProcess, eliminating the sync call. There is only one other instance of cancelComposition which I&apos;ll tackle separately (it&apos;s in -resignFirstResponder), and then we can move the message under an #ifdef.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995088</commentid>
    <comment_count>1</comment_count>
      <attachid>227992</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-03-27 15:16:01 -0700</bug_when>
    <thetext>Created attachment 227992
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995349</commentid>
    <comment_count>2</comment_count>
      <attachid>228056</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-03-28 09:38:11 -0700</bug_when>
    <thetext>Created attachment 228056
with a build fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995412</commentid>
    <comment_count>3</comment_count>
      <attachid>228056</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-03-28 11:51:48 -0700</bug_when>
    <thetext>Comment on attachment 228056
with a build fix

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

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:4114
&gt; +printf(&quot;didChangeSelection. hasComposition = %uï¼ignoreCompositionSelectionChange ï¼%u, isNone = %u\n&quot;, frame.editor().hasComposition(), frame.editor().ignoreCompositionSelectionChange(), frame.selection().isNone());

You have a printf here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995417</commentid>
    <comment_count>4</comment_count>
      <attachid>228056</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2014-03-28 12:03:10 -0700</bug_when>
    <thetext>Comment on attachment 228056
with a build fix

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

&gt;&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:4114
&gt;&gt; +printf(&quot;didChangeSelection. hasComposition = %uï¼ignoreCompositionSelectionChange ï¼%u, isNone = %u\n&quot;, frame.editor().hasComposition(), frame.editor().ignoreCompositionSelectionChange(), frame.selection().isNone());
&gt; 
&gt; You have a printf here.

You probably don&apos;t want to leave this in :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995418</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-03-28 12:11:52 -0700</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/r166421&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227992</attachid>
            <date>2014-03-27 15:16:01 -0700</date>
            <delta_ts>2014-03-28 09:38:11 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>RemoveCancelComposition1.txt</filename>
            <type>text/plain</type>
            <size>8859</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NjM2OCkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDE0LTAzLTI3ICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIEVsaW1pbmF0ZSBhIHN5bmMg
Y2FuY2VsQ29tcG9zaXRpb24gY2FsbCBpbiBXZWJQYWdlUHJveHk6OmVkaXRvclN0YXRlQ2hhbmdl
ZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwNzI3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
YSBzZXBhcmF0ZSBDb21wb3NpdGlvbldhc0NhbmNlbGVkIElQQyBjYWxsLCB3aXRoIHdoaWNoIFdl
YlByb2Nlc3MgY2FuIHRlbGwKKyAgICAgICAgVUlQcm9jZXNzIHRoYXQgaXQgc2hvdWxkIG5vdGlm
eSBhbiBpbnB1dCBtZXRob2Qgb2YgY2FuY2VsZWQgY29tcG9zaXRpb24uIFRoZXJlIGFyZQorICAg
ICAgICBhIGxvdCBvZiBpbmNvcnJlY3QgZWRnZSBjYXNlcyB3aGVyZSB3ZSBkb24ndCBjYWxsIGl0
IGNvcnJlY3RseSwgYnV0IHRoaXMgd2FzIHRydWUKKyAgICAgICAgaW4gdGhlIG9sZCBpbXBsZW1l
bnRhdGlvbiB0b28gKGZvciBkaWZmZXJlbnQgZWRnZSBjYXNlcykuCisKKyAgICAgICAgVGhpcyBj
aGFuZ2Ugb25seSBhZmZlY3RzIGlPUyBhbmQgYXN5bmMgTlNUZXh0SW5wdXRDbGllbnQgY29kZSBw
YXRoIG9uIE1hYy4gSSBkb24ndAorICAgICAgICB3YW50IHRvIGNoYW5nZSBzeW5jIE5TVGV4dElu
cHV0Q2xpZW50IGNvZGUgcGF0aCB1bmxlc3MgYWJzb2x1dGVseSBuZWNlc3NhcnkuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZVByb3h5OjpXZWJQYWdlUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmVk
aXRvclN0YXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y29tcG9z
aXRpb25XYXNDYW5jZWxlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cmVzZXRT
dGF0ZUFmdGVyUHJvY2Vzc0V4aXRlZCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAg
ICAgICogVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlNYWMubW06CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6aW5zZXJ0VGV4dCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6ZXhlY3V0ZUtleXByZXNzQ29tbWFuZHMpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZGlkQ2hhbmdlU2VsZWN0
aW9uKToKKwogMjAxNC0wMy0yNyAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29t
PgogCiAgICAgICAgIFJlbmFtZSBXS0ZyYW1lSGFuZGxlIHRvIF9XS0ZyYW1lSGFuZGxlCkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkocmV2aXNpb24gMTY2
MjQwKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI2OCw3ICsyNjgsOSBAQCBXZWJQYWdlUHJveHk6OldlYlBhZ2VQcm94eShQ
YWdlQ2xpZW50JiBwCiAgICAgLCBtX3ZpZXdTdGF0ZShWaWV3U3RhdGU6Ok5vRmxhZ3MpCiAgICAg
LCBtX2JhY2tGb3J3YXJkTGlzdChXZWJCYWNrRm9yd2FyZExpc3Q6OmNyZWF0ZSgqdGhpcykpCiAg
ICAgLCBtX2xvYWRTdGF0ZUF0UHJvY2Vzc0V4aXQoRnJhbWVMb2FkU3RhdGU6OlN0YXRlOjpGaW5p
c2hlZCkKKyNpZiBQTEFURk9STShNQUMpICYmICFVU0UoQVNZTkNfTlNURVhUSU5QVVRDTElFTlQp
CiAgICAgLCBtX3RlbXBvcmFyaWx5Q2xvc2VkQ29tcG9zaXRpb24oZmFsc2UpCisjZW5kaWYKICAg
ICAsIG1fdGV4dFpvb21GYWN0b3IoMSkKICAgICAsIG1fcGFnZVpvb21GYWN0b3IoMSkKICAgICAs
IG1fcGFnZVNjYWxlRmFjdG9yKDEpCkBAIC0zMTA0LDYgKzMxMDYsOCBAQCB2b2lkIFdlYlBhZ2VQ
cm94eTo6ZWRpdG9yU3RhdGVDaGFuZ2VkKGNvCiB7CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAg
Ym9vbCBjb3VsZENoYW5nZVNlY3VyZUlucHV0U3RhdGUgPSBtX2VkaXRvclN0YXRlLmlzSW5QYXNz
d29yZEZpZWxkICE9IGVkaXRvclN0YXRlLmlzSW5QYXNzd29yZEZpZWxkIHx8IG1fZWRpdG9yU3Rh
dGUuc2VsZWN0aW9uSXNOb25lOworI2VuZGlmCisjaWYgUExBVEZPUk0oTUFDKSAmJiAhVVNFKEFT
WU5DX05TVEVYVElOUFVUQ0xJRU5UKQogICAgIGJvb2wgY2xvc2VkQ29tcG9zaXRpb24gPSAhZWRp
dG9yU3RhdGUuc2hvdWxkSWdub3JlQ29tcG9zaXRpb25TZWxlY3Rpb25DaGFuZ2UgJiYgIWVkaXRv
clN0YXRlLmhhc0NvbXBvc2l0aW9uICYmIChtX2VkaXRvclN0YXRlLmhhc0NvbXBvc2l0aW9uIHx8
IG1fdGVtcG9yYXJpbHlDbG9zZWRDb21wb3NpdGlvbik7CiAgICAgbV90ZW1wb3JhcmlseUNsb3Nl
ZENvbXBvc2l0aW9uID0gZWRpdG9yU3RhdGUuc2hvdWxkSWdub3JlQ29tcG9zaXRpb25TZWxlY3Rp
b25DaGFuZ2UgJiYgKG1fdGVtcG9yYXJpbHlDbG9zZWRDb21wb3NpdGlvbiB8fCBtX2VkaXRvclN0
YXRlLmhhc0NvbXBvc2l0aW9uKSAmJiAhZWRpdG9yU3RhdGUuaGFzQ29tcG9zaXRpb247CiAjZW5k
aWYKQEAgLTMxMTQsMTAgKzMxMTgsMTIgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmVkaXRvclN0YXRl
Q2hhbmdlZChjbwogICAgIC8vIFNlbGVjdGlvbiBiZWluZyBub25lIGlzIGEgdGVtcG9yYXJ5IHN0
YXRlIHdoZW4gZWRpdGluZy4gRmxpcHBpbmcgc2VjdXJlIGlucHV0IHN0YXRlIHRvbyBxdWlja2x5
IHdhcyBjYXVzaW5nIHRyb3VibGUgKG5vdCBmdWxseSB1bmRlcnN0b29kKS4KICAgICBpZiAoY291
bGRDaGFuZ2VTZWN1cmVJbnB1dFN0YXRlICYmICFlZGl0b3JTdGF0ZS5zZWxlY3Rpb25Jc05vbmUp
CiAgICAgICAgIG1fcGFnZUNsaWVudC51cGRhdGVTZWN1cmVJbnB1dFN0YXRlKCk7CisjZW5kaWYK
IAogICAgIGlmIChlZGl0b3JTdGF0ZS5zaG91bGRJZ25vcmVDb21wb3NpdGlvblNlbGVjdGlvbkNo
YW5nZSkKICAgICAgICAgcmV0dXJuOwogCisjaWYgUExBVEZPUk0oTUFDKSAmJiAhVVNFKEFTWU5D
X05TVEVYVElOUFVUQ0xJRU5UKQogICAgIGlmIChjbG9zZWRDb21wb3NpdGlvbikKICAgICAgICAg
bV9wYWdlQ2xpZW50Lm5vdGlmeUlucHV0Q29udGV4dEFib3V0RGlzY2FyZGVkQ29tcG9zaXRpb24o
KTsKICAgICBpZiAoZWRpdG9yU3RhdGUuaGFzQ29tcG9zaXRpb24pIHsKQEAgLTMxMjYsMTcgKzMx
MzIsMjIgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmVkaXRvclN0YXRlQ2hhbmdlZChjbwogICAgICAg
ICBjYW5jZWxDb21wb3NpdGlvbigpOwogICAgICAgICBtX3BhZ2VDbGllbnQubm90aWZ5SW5wdXRD
b250ZXh0QWJvdXREaXNjYXJkZWRDb21wb3NpdGlvbigpOwogICAgIH0KLSNpZiBQTEFURk9STShJ
T1MpCi0gICAgZWxzZSB7CisjZWxpZiBQTEFURk9STShJT1MpCisgICAgaWYgKCFlZGl0b3JTdGF0
ZS5oYXNDb21wb3NpdGlvbikgewogICAgICAgICAvLyBXZSBuZWVkIHRvIG5vdGlmeSB0aGUgY2xp
ZW50IG9uIGlPUyB0byBtYWtlIHN1cmUgdGhlIHNlbGVjdGlvbiBpcyByZWRyYXduLgogICAgICAg
ICBub3RpZnlSZXZlYWxlZFNlbGVjdGlvbigpOwogICAgIH0KLSNlbmRpZgogI2VsaWYgUExBVEZP
Uk0oRUZMKSB8fCBQTEFURk9STShHVEspCiAgICAgbV9wYWdlQ2xpZW50LnVwZGF0ZVRleHRJbnB1
dFN0YXRlKCk7CiAjZW5kaWYKIH0KIAordm9pZCBXZWJQYWdlUHJveHk6OmNvbXBvc2l0aW9uV2Fz
Q2FuY2VsZWQoY29uc3QgRWRpdG9yU3RhdGUmIGVkaXRvclN0YXRlKQoreworICAgIG1fcGFnZUNs
aWVudC5ub3RpZnlJbnB1dENvbnRleHRBYm91dERpc2NhcmRlZENvbXBvc2l0aW9uKCk7CisgICAg
ZWRpdG9yU3RhdGVDaGFuZ2VkKGVkaXRvclN0YXRlKTsKK30KKwogLy8gVW5kbyBtYW5hZ2VtZW50
CiAKIHZvaWQgV2ViUGFnZVByb3h5OjpyZWdpc3RlckVkaXRDb21tYW5kRm9yVW5kbyh1aW50NjRf
dCBjb21tYW5kSUQsIHVpbnQzMl90IGVkaXRBY3Rpb24pCkBAIC00MDU3LDcgKzQwNjgsOSBAQCB2
b2lkIFdlYlBhZ2VQcm94eTo6cmVzZXRTdGF0ZUFmdGVyUHJvY2VzCiAKICAgICAvLyBGSVhNRTog
UmVzZXQgbV9lZGl0b3JTdGF0ZS4KICAgICAvLyBGSVhNRTogTm90aWZ5IGlucHV0IG1ldGhvZHMg
YWJvdXQgYWJhbmRvbmVkIGNvbXBvc2l0aW9uLgorI2lmIFBMQVRGT1JNKE1BQykgJiYgIVVTRShB
U1lOQ19OU1RFWFRJTlBVVENMSUVOVCkKICAgICBtX3RlbXBvcmFyaWx5Q2xvc2VkQ29tcG9zaXRp
b24gPSBmYWxzZTsKKyNlbmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIGRpc21pc3NDb3Jy
ZWN0aW9uUGFuZWwoUmVhc29uRm9yRGlzbWlzc2luZ0FsdGVybmF0aXZlVGV4dElnbm9yZWQpOwpJ
bmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAkocmV2aXNpb24gMTY2
MjQwKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xMTg0LDYgKzExODQsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAKICAgICB2b2lk
IGVkaXRvclN0YXRlQ2hhbmdlZChjb25zdCBFZGl0b3JTdGF0ZSYpOworICAgIHZvaWQgY29tcG9z
aXRpb25XYXNDYW5jZWxlZChjb25zdCBFZGl0b3JTdGF0ZSYpOwogCiAgICAgLy8gQmFjay9Gb3J3
YXJkIGxpc3QgbWFuYWdlbWVudAogICAgIHZvaWQgYmFja0ZvcndhcmRBZGRJdGVtKHVpbnQ2NF90
IGl0ZW1JRCk7CkBAIC0xNDYxLDcgKzE0NjIsOSBAQCBwcml2YXRlOgogICAgIEZyYW1lTG9hZFN0
YXRlOjpTdGF0ZSBtX2xvYWRTdGF0ZUF0UHJvY2Vzc0V4aXQ7CiAKICAgICBFZGl0b3JTdGF0ZSBt
X2VkaXRvclN0YXRlOworI2lmIFBMQVRGT1JNKE1BQykgJiYgIVVTRShBU1lOQ19OU1RFWFRJTlBV
VENMSUVOVCkKICAgICBib29sIG1fdGVtcG9yYXJpbHlDbG9zZWRDb21wb3NpdGlvbjsgLy8gRWRp
dG9yIHN0YXRlIGNoYW5nZWQgZnJvbSBoYXNDb21wb3NpdGlvbiB0byAhaGFzQ29tcG9zaXRpb24s
IGJ1dCB0aGF0IHdhcyBvbmx5IHdpdGggc2hvdWxkSWdub3JlQ29tcG9zaXRpb25TZWxlY3Rpb25D
aGFuZ2UgeWV0LgorI2VuZGlmCiAKICAgICBkb3VibGUgbV90ZXh0Wm9vbUZhY3RvcjsKICAgICBk
b3VibGUgbV9wYWdlWm9vbUZhY3RvcjsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgkocmV2aXNpb24gMTY2MjQwKQorKysgU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgkod29ya2luZyBj
b3B5KQpAQCAtMjAyLDYgKzIwMiw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAKICAg
ICAjIEVkaXRvciBub3RpZmljYXRpb25zCiAgICAgRWRpdG9yU3RhdGVDaGFuZ2VkKFdlYktpdDo6
RWRpdG9yU3RhdGUgZWRpdG9yU3RhdGUpCisgICAgQ29tcG9zaXRpb25XYXNDYW5jZWxlZChXZWJL
aXQ6OkVkaXRvclN0YXRlIGVkaXRvclN0YXRlKQogCiAgICAgIyBGaW5kIG1lc3NhZ2VzCiAgICAg
RGlkQ291bnRTdHJpbmdNYXRjaGVzKFN0cmluZyBzdHJpbmcsIHVpbnQzMl90IG1hdGNoQ291bnQp
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1h
Yy5tbQkocmV2aXNpb24gMTY2MjQwKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9X
ZWJQYWdlUHJveHlNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTE4MCw3ICsxODAsOSBAQCBib29s
IFdlYlBhZ2VQcm94eTo6aW5zZXJ0VGV4dChjb25zdCBTdHJpCiAKICAgICBib29sIGhhbmRsZWQg
PSB0cnVlOwogICAgIHByb2Nlc3MoKS5zZW5kU3luYyhNZXNzYWdlczo6V2ViUGFnZTo6SW5zZXJ0
VGV4dCh0ZXh0LCByZXBsYWNlbWVudFJhbmdlKSwgTWVzc2FnZXM6OldlYlBhZ2U6Okluc2VydFRl
eHQ6OlJlcGx5KGhhbmRsZWQsIG1fZWRpdG9yU3RhdGUpLCBtX3BhZ2VJRCk7CisjaWYgUExBVEZP
Uk0oTUFDKSAmJiAhVVNFKEFTWU5DX05TVEVYVElOUFVUQ0xJRU5UKQogICAgIG1fdGVtcG9yYXJp
bHlDbG9zZWRDb21wb3NpdGlvbiA9IGZhbHNlOworI2VuZGlmCiAKICAgICByZXR1cm4gaGFuZGxl
ZDsKIH0KQEAgLTI3MCw3ICsyNzIsOSBAQCBib29sIFdlYlBhZ2VQcm94eTo6ZXhlY3V0ZUtleXBy
ZXNzQ29tbWFuCiAKICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAgIHByb2Nlc3MoKS5zZW5k
U3luYyhNZXNzYWdlczo6V2ViUGFnZTo6RXhlY3V0ZUtleXByZXNzQ29tbWFuZHMoY29tbWFuZHMp
LCBNZXNzYWdlczo6V2ViUGFnZTo6RXhlY3V0ZUtleXByZXNzQ29tbWFuZHM6OlJlcGx5KHJlc3Vs
dCwgbV9lZGl0b3JTdGF0ZSksIG1fcGFnZUlEKTsKKyNpZiBQTEFURk9STShNQUMpICYmICFVU0Uo
QVNZTkNfTlNURVhUSU5QVVRDTElFTlQpCiAgICAgbV90ZW1wb3JhcmlseUNsb3NlZENvbXBvc2l0
aW9uID0gZmFsc2U7CisjZW5kaWYKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiAx
NjYyNDApCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQxMDMsNyArNDEwMywxOSBAQCB2b2lkIFdlYlBhZ2U6OmNhbmNl
bENvbXBvc2l0aW9uKCkKIAogdm9pZCBXZWJQYWdlOjpkaWRDaGFuZ2VTZWxlY3Rpb24oKQogewot
ICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RWRpdG9yU3RhdGVDaGFuZ2VkKGVkaXRv
clN0YXRlKCkpKTsKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiBVU0UoQVNZTkNfTlNURVhUSU5QVVRD
TElFTlQpKSB8fCBQTEFURk9STShJT1MpCisgICAgRnJhbWUmIGZyYW1lID0gbV9wYWdlLT5mb2N1
c0NvbnRyb2xsZXIoKS5mb2N1c2VkT3JNYWluRnJhbWUoKTsKK3ByaW50ZigiZGlkQ2hhbmdlU2Vs
ZWN0aW9uLiBoYXNDb21wb3NpdGlvbiA9ICV177yMaWdub3JlQ29tcG9zaXRpb25TZWxlY3Rpb25D
aGFuZ2Ug77ydJXUsIGlzTm9uZSA9ICV1XG4iLCBmcmFtZS5lZGl0b3IoKS5oYXNDb21wb3NpdGlv
bigpLCBmcmFtZS5lZGl0b3IoKS5pZ25vcmVDb21wb3NpdGlvblNlbGVjdGlvbkNoYW5nZSgpLCBm
cmFtZS5zZWxlY3Rpb24oKS5pc05vbmUoKSk7CisgICAgLy8gQWJhbmRvbiB0aGUgY3VycmVudCBp
bmxpbmUgaW5wdXQgc2Vzc2lvbiBpZiBzZWxlY3Rpb24gY2hhbmdlZCBmb3IgYW55IG90aGVyIHJl
YXNvbiBidXQgYW4gaW5wdXQgbWV0aG9kIGRpcmVjdCBhY3Rpb24uCisgICAgLy8gRklYTUU6IE1h
bnkgY2hhbmdlcyB0aGF0IGFmZmVjdCBjb21wb3NpdGlvbiBub2RlIGRvIG5vdCBnbyB0aHJvdWdo
IGRpZENoYW5nZVNlbGVjdGlvbigpLiBXZSBuZWVkIHRvIGRvIHNvbWV0aGluZyB3aGVuIERPTSBt
YW5pcHVsYXRpb24gYWZmZWN0cyB0aGUgY29tcG9zaXRpb24sIGJlY2F1c2Ugb3RoZXJ3aXNlIGlu
cHV0IG1ldGhvZCdzIGlkZWEgYWJvdXQgaXQgd2lsbCBiZSBkaWZmZXJlbnQgZnJvbSBFZGl0b3In
cy4KKyAgICAvLyBGSVhNRTogV2UgY2FuJ3QgY2FuY2VsIGNvbXBvc2l0aW9uIHdoZW4gc2VsZWN0
aW9uIGNoYW5nZXMgdG8gTm9TZWxlY3Rpb24sIGJ1dCB3ZSBwcm9iYWJseSBzaG91bGQuCisgICAg
aWYgKGZyYW1lLmVkaXRvcigpLmhhc0NvbXBvc2l0aW9uKCkgJiYgIWZyYW1lLmVkaXRvcigpLmln
bm9yZUNvbXBvc2l0aW9uU2VsZWN0aW9uQ2hhbmdlKCkgJiYgIWZyYW1lLnNlbGVjdGlvbigpLmlz
Tm9uZSgpKSB7CisgICAgICAgIGZyYW1lLmVkaXRvcigpLmNhbmNlbENvbXBvc2l0aW9uKCk7Cisg
ICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6Q29tcG9zaXRpb25XYXNDYW5jZWxl
ZChlZGl0b3JTdGF0ZSgpKSk7CisgICAgfSBlbHNlCisjZW5kaWYKKyAgICAgICAgc2VuZChNZXNz
YWdlczo6V2ViUGFnZVByb3h5OjpFZGl0b3JTdGF0ZUNoYW5nZWQoZWRpdG9yU3RhdGUoKSkpOwor
CiAjaWYgUExBVEZPUk0oSU9TKQogICAgIG1fZHJhd2luZ0FyZWEtPnNjaGVkdWxlQ29tcG9zaXRp
bmdMYXllckZsdXNoKCk7CiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>228056</attachid>
            <date>2014-03-28 09:38:11 -0700</date>
            <delta_ts>2014-03-28 12:03:10 -0700</delta_ts>
            <desc>with a build fix</desc>
            <filename>RemoveCancelComposition1.txt</filename>
            <type>text/plain</type>
            <size>8888</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NjQwOSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDE0LTAzLTI4ICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIEVsaW1pbmF0ZSBhIHN5bmMg
Y2FuY2VsQ29tcG9zaXRpb24gY2FsbCBpbiBXZWJQYWdlUHJveHk6OmVkaXRvclN0YXRlQ2hhbmdl
ZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwNzI3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
YSBzZXBhcmF0ZSBDb21wb3NpdGlvbldhc0NhbmNlbGVkIElQQyBjYWxsLCB3aXRoIHdoaWNoIFdl
YlByb2Nlc3MgY2FuIHRlbGwKKyAgICAgICAgVUlQcm9jZXNzIHRoYXQgaXQgc2hvdWxkIG5vdGlm
eSBhbiBpbnB1dCBtZXRob2Qgb2YgY2FuY2VsZWQgY29tcG9zaXRpb24uIFRoZXJlIGFyZQorICAg
ICAgICBhIGxvdCBvZiBpbmNvcnJlY3QgZWRnZSBjYXNlcyB3aGVyZSB3ZSBkb24ndCBjYWxsIGl0
IGNvcnJlY3RseSwgYnV0IHRoaXMgd2FzIHRydWUKKyAgICAgICAgaW4gdGhlIG9sZCBpbXBsZW1l
bnRhdGlvbiB0b28gKGZvciBkaWZmZXJlbnQgZWRnZSBjYXNlcykuCisKKyAgICAgICAgVGhpcyBj
aGFuZ2Ugb25seSBhZmZlY3RzIGlPUyBhbmQgYXN5bmMgTlNUZXh0SW5wdXRDbGllbnQgY29kZSBw
YXRoIG9uIE1hYy4gSSBkb24ndAorICAgICAgICB3YW50IHRvIGNoYW5nZSBzeW5jIE5TVGV4dElu
cHV0Q2xpZW50IGNvZGUgcGF0aCB1bmxlc3MgYWJzb2x1dGVseSBuZWNlc3NhcnkuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZVByb3h5OjpXZWJQYWdlUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmVk
aXRvclN0YXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y29tcG9z
aXRpb25XYXNDYW5jZWxlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cmVzZXRT
dGF0ZUFmdGVyUHJvY2Vzc0V4aXRlZCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAg
ICAgICogVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlNYWMubW06CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6aW5zZXJ0VGV4dCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6ZXhlY3V0ZUtleXByZXNzQ29tbWFuZHMpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZGlkQ2hhbmdlU2VsZWN0
aW9uKToKKwogMjAxNC0wMy0yNyAgUHJhdGlrIFNvbGFua2kgIDxwc29sYW5raUBhcHBsZS5jb20+
CiAKICAgICAgICAgW2lPUyBXZWJLaXQyXSBUd2VhayBjYWNoZSBzaXplcyBmb3IgaU9TCkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkocmV2aXNpb24gMTY2
NDA5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI2OCw3ICsyNjgsOSBAQCBXZWJQYWdlUHJveHk6OldlYlBhZ2VQcm94eShQ
YWdlQ2xpZW50JiBwCiAgICAgLCBtX3ZpZXdTdGF0ZShWaWV3U3RhdGU6Ok5vRmxhZ3MpCiAgICAg
LCBtX2JhY2tGb3J3YXJkTGlzdChXZWJCYWNrRm9yd2FyZExpc3Q6OmNyZWF0ZSgqdGhpcykpCiAg
ICAgLCBtX2xvYWRTdGF0ZUF0UHJvY2Vzc0V4aXQoRnJhbWVMb2FkU3RhdGU6OlN0YXRlOjpGaW5p
c2hlZCkKKyNpZiBQTEFURk9STShNQUMpICYmICFVU0UoQVNZTkNfTlNURVhUSU5QVVRDTElFTlQp
CiAgICAgLCBtX3RlbXBvcmFyaWx5Q2xvc2VkQ29tcG9zaXRpb24oZmFsc2UpCisjZW5kaWYKICAg
ICAsIG1fdGV4dFpvb21GYWN0b3IoMSkKICAgICAsIG1fcGFnZVpvb21GYWN0b3IoMSkKICAgICAs
IG1fcGFnZVNjYWxlRmFjdG9yKDEpCkBAIC0zMTIwLDYgKzMxMjIsOCBAQCB2b2lkIFdlYlBhZ2VQ
cm94eTo6ZWRpdG9yU3RhdGVDaGFuZ2VkKGNvCiB7CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAg
Ym9vbCBjb3VsZENoYW5nZVNlY3VyZUlucHV0U3RhdGUgPSBtX2VkaXRvclN0YXRlLmlzSW5QYXNz
d29yZEZpZWxkICE9IGVkaXRvclN0YXRlLmlzSW5QYXNzd29yZEZpZWxkIHx8IG1fZWRpdG9yU3Rh
dGUuc2VsZWN0aW9uSXNOb25lOworI2VuZGlmCisjaWYgUExBVEZPUk0oTUFDKSAmJiAhVVNFKEFT
WU5DX05TVEVYVElOUFVUQ0xJRU5UKQogICAgIGJvb2wgY2xvc2VkQ29tcG9zaXRpb24gPSAhZWRp
dG9yU3RhdGUuc2hvdWxkSWdub3JlQ29tcG9zaXRpb25TZWxlY3Rpb25DaGFuZ2UgJiYgIWVkaXRv
clN0YXRlLmhhc0NvbXBvc2l0aW9uICYmIChtX2VkaXRvclN0YXRlLmhhc0NvbXBvc2l0aW9uIHx8
IG1fdGVtcG9yYXJpbHlDbG9zZWRDb21wb3NpdGlvbik7CiAgICAgbV90ZW1wb3JhcmlseUNsb3Nl
ZENvbXBvc2l0aW9uID0gZWRpdG9yU3RhdGUuc2hvdWxkSWdub3JlQ29tcG9zaXRpb25TZWxlY3Rp
b25DaGFuZ2UgJiYgKG1fdGVtcG9yYXJpbHlDbG9zZWRDb21wb3NpdGlvbiB8fCBtX2VkaXRvclN0
YXRlLmhhc0NvbXBvc2l0aW9uKSAmJiAhZWRpdG9yU3RhdGUuaGFzQ29tcG9zaXRpb247CiAjZW5k
aWYKQEAgLTMxMzAsMTAgKzMxMzQsMTIgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmVkaXRvclN0YXRl
Q2hhbmdlZChjbwogICAgIC8vIFNlbGVjdGlvbiBiZWluZyBub25lIGlzIGEgdGVtcG9yYXJ5IHN0
YXRlIHdoZW4gZWRpdGluZy4gRmxpcHBpbmcgc2VjdXJlIGlucHV0IHN0YXRlIHRvbyBxdWlja2x5
IHdhcyBjYXVzaW5nIHRyb3VibGUgKG5vdCBmdWxseSB1bmRlcnN0b29kKS4KICAgICBpZiAoY291
bGRDaGFuZ2VTZWN1cmVJbnB1dFN0YXRlICYmICFlZGl0b3JTdGF0ZS5zZWxlY3Rpb25Jc05vbmUp
CiAgICAgICAgIG1fcGFnZUNsaWVudC51cGRhdGVTZWN1cmVJbnB1dFN0YXRlKCk7CisjZW5kaWYK
IAogICAgIGlmIChlZGl0b3JTdGF0ZS5zaG91bGRJZ25vcmVDb21wb3NpdGlvblNlbGVjdGlvbkNo
YW5nZSkKICAgICAgICAgcmV0dXJuOwogCisjaWYgUExBVEZPUk0oTUFDKSAmJiAhVVNFKEFTWU5D
X05TVEVYVElOUFVUQ0xJRU5UKQogICAgIGlmIChjbG9zZWRDb21wb3NpdGlvbikKICAgICAgICAg
bV9wYWdlQ2xpZW50Lm5vdGlmeUlucHV0Q29udGV4dEFib3V0RGlzY2FyZGVkQ29tcG9zaXRpb24o
KTsKICAgICBpZiAoZWRpdG9yU3RhdGUuaGFzQ29tcG9zaXRpb24pIHsKQEAgLTMxNDIsMTcgKzMx
NDgsMjQgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmVkaXRvclN0YXRlQ2hhbmdlZChjbwogICAgICAg
ICBjYW5jZWxDb21wb3NpdGlvbigpOwogICAgICAgICBtX3BhZ2VDbGllbnQubm90aWZ5SW5wdXRD
b250ZXh0QWJvdXREaXNjYXJkZWRDb21wb3NpdGlvbigpOwogICAgIH0KLSNpZiBQTEFURk9STShJ
T1MpCi0gICAgZWxzZSB7CisjZWxpZiBQTEFURk9STShJT1MpCisgICAgaWYgKCFlZGl0b3JTdGF0
ZS5oYXNDb21wb3NpdGlvbikgewogICAgICAgICAvLyBXZSBuZWVkIHRvIG5vdGlmeSB0aGUgY2xp
ZW50IG9uIGlPUyB0byBtYWtlIHN1cmUgdGhlIHNlbGVjdGlvbiBpcyByZWRyYXduLgogICAgICAg
ICBub3RpZnlSZXZlYWxlZFNlbGVjdGlvbigpOwogICAgIH0KLSNlbmRpZgogI2VsaWYgUExBVEZP
Uk0oRUZMKSB8fCBQTEFURk9STShHVEspCiAgICAgbV9wYWdlQ2xpZW50LnVwZGF0ZVRleHRJbnB1
dFN0YXRlKCk7CiAjZW5kaWYKIH0KIAordm9pZCBXZWJQYWdlUHJveHk6OmNvbXBvc2l0aW9uV2Fz
Q2FuY2VsZWQoY29uc3QgRWRpdG9yU3RhdGUmIGVkaXRvclN0YXRlKQoreworI2lmIFBMQVRGT1JN
KENPQ09BKQorICAgIG1fcGFnZUNsaWVudC5ub3RpZnlJbnB1dENvbnRleHRBYm91dERpc2NhcmRl
ZENvbXBvc2l0aW9uKCk7CisjZW5kaWYKKyAgICBlZGl0b3JTdGF0ZUNoYW5nZWQoZWRpdG9yU3Rh
dGUpOworfQorCiAvLyBVbmRvIG1hbmFnZW1lbnQKIAogdm9pZCBXZWJQYWdlUHJveHk6OnJlZ2lz
dGVyRWRpdENvbW1hbmRGb3JVbmRvKHVpbnQ2NF90IGNvbW1hbmRJRCwgdWludDMyX3QgZWRpdEFj
dGlvbikKQEAgLTQwNzMsNyArNDA4Niw5IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZXNldFN0YXRl
QWZ0ZXJQcm9jZXMKIAogICAgIC8vIEZJWE1FOiBSZXNldCBtX2VkaXRvclN0YXRlLgogICAgIC8v
IEZJWE1FOiBOb3RpZnkgaW5wdXQgbWV0aG9kcyBhYm91dCBhYmFuZG9uZWQgY29tcG9zaXRpb24u
CisjaWYgUExBVEZPUk0oTUFDKSAmJiAhVVNFKEFTWU5DX05TVEVYVElOUFVUQ0xJRU5UKQogICAg
IG1fdGVtcG9yYXJpbHlDbG9zZWRDb21wb3NpdGlvbiA9IGZhbHNlOworI2VuZGlmCiAKICNpZiBQ
TEFURk9STShNQUMpCiAgICAgZGlzbWlzc0NvcnJlY3Rpb25QYW5lbChSZWFzb25Gb3JEaXNtaXNz
aW5nQWx0ZXJuYXRpdmVUZXh0SWdub3JlZCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oCShyZXZpc2lvbiAxNjY0MDkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTExODYsNiArMTE4Niw3IEBA
IHByaXZhdGU6CiAjZW5kaWYKIAogICAgIHZvaWQgZWRpdG9yU3RhdGVDaGFuZ2VkKGNvbnN0IEVk
aXRvclN0YXRlJik7CisgICAgdm9pZCBjb21wb3NpdGlvbldhc0NhbmNlbGVkKGNvbnN0IEVkaXRv
clN0YXRlJik7CiAKICAgICAvLyBCYWNrL0ZvcndhcmQgbGlzdCBtYW5hZ2VtZW50CiAgICAgdm9p
ZCBiYWNrRm9yd2FyZEFkZEl0ZW0odWludDY0X3QgaXRlbUlEKTsKQEAgLTE0NzAsNyArMTQ3MSw5
IEBAIHByaXZhdGU6CiAgICAgRnJhbWVMb2FkU3RhdGU6OlN0YXRlIG1fbG9hZFN0YXRlQXRQcm9j
ZXNzRXhpdDsKIAogICAgIEVkaXRvclN0YXRlIG1fZWRpdG9yU3RhdGU7CisjaWYgUExBVEZPUk0o
TUFDKSAmJiAhVVNFKEFTWU5DX05TVEVYVElOUFVUQ0xJRU5UKQogICAgIGJvb2wgbV90ZW1wb3Jh
cmlseUNsb3NlZENvbXBvc2l0aW9uOyAvLyBFZGl0b3Igc3RhdGUgY2hhbmdlZCBmcm9tIGhhc0Nv
bXBvc2l0aW9uIHRvICFoYXNDb21wb3NpdGlvbiwgYnV0IHRoYXQgd2FzIG9ubHkgd2l0aCBzaG91
bGRJZ25vcmVDb21wb3NpdGlvblNlbGVjdGlvbkNoYW5nZSB5ZXQuCisjZW5kaWYKIAogICAgIGRv
dWJsZSBtX3RleHRab29tRmFjdG9yOwogICAgIGRvdWJsZSBtX3BhZ2Vab29tRmFjdG9yOwpJbmRl
eDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluCShyZXZpc2lvbiAxNjY0MDkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC0yMDMsNiArMjAzLDcgQEAgbWVz
c2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKIAogICAgICMgRWRpdG9yIG5vdGlmaWNhdGlvbnMKICAg
ICBFZGl0b3JTdGF0ZUNoYW5nZWQoV2ViS2l0OjpFZGl0b3JTdGF0ZSBlZGl0b3JTdGF0ZSkKKyAg
ICBDb21wb3NpdGlvbldhc0NhbmNlbGVkKFdlYktpdDo6RWRpdG9yU3RhdGUgZWRpdG9yU3RhdGUp
CiAKICAgICAjIEZpbmQgbWVzc2FnZXMKICAgICBEaWRDb3VudFN0cmluZ01hdGNoZXMoU3RyaW5n
IHN0cmluZywgdWludDMyX3QgbWF0Y2hDb3VudCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tCShyZXZpc2lvbiAxNjY0MDkpCisrKyBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbQkod29ya2luZyBj
b3B5KQpAQCAtMTgwLDcgKzE4MCw5IEBAIGJvb2wgV2ViUGFnZVByb3h5OjppbnNlcnRUZXh0KGNv
bnN0IFN0cmkKIAogICAgIGJvb2wgaGFuZGxlZCA9IHRydWU7CiAgICAgcHJvY2VzcygpLnNlbmRT
eW5jKE1lc3NhZ2VzOjpXZWJQYWdlOjpJbnNlcnRUZXh0KHRleHQsIHJlcGxhY2VtZW50UmFuZ2Up
LCBNZXNzYWdlczo6V2ViUGFnZTo6SW5zZXJ0VGV4dDo6UmVwbHkoaGFuZGxlZCwgbV9lZGl0b3JT
dGF0ZSksIG1fcGFnZUlEKTsKKyNpZiBQTEFURk9STShNQUMpICYmICFVU0UoQVNZTkNfTlNURVhU
SU5QVVRDTElFTlQpCiAgICAgbV90ZW1wb3JhcmlseUNsb3NlZENvbXBvc2l0aW9uID0gZmFsc2U7
CisjZW5kaWYKIAogICAgIHJldHVybiBoYW5kbGVkOwogfQpAQCAtMjcwLDcgKzI3Miw5IEBAIGJv
b2wgV2ViUGFnZVByb3h5OjpleGVjdXRlS2V5cHJlc3NDb21tYW4KIAogICAgIGJvb2wgcmVzdWx0
ID0gZmFsc2U7CiAgICAgcHJvY2VzcygpLnNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQYWdlOjpFeGVj
dXRlS2V5cHJlc3NDb21tYW5kcyhjb21tYW5kcyksIE1lc3NhZ2VzOjpXZWJQYWdlOjpFeGVjdXRl
S2V5cHJlc3NDb21tYW5kczo6UmVwbHkocmVzdWx0LCBtX2VkaXRvclN0YXRlKSwgbV9wYWdlSUQp
OworI2lmIFBMQVRGT1JNKE1BQykgJiYgIVVTRShBU1lOQ19OU1RFWFRJTlBVVENMSUVOVCkKICAg
ICBtX3RlbXBvcmFyaWx5Q2xvc2VkQ29tcG9zaXRpb24gPSBmYWxzZTsKKyNlbmRpZgogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAJKHJldmlzaW9uIDE2NjQwOSkKKysrIFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEwOSw3ICs0
MTA5LDE5IEBAIHZvaWQgV2ViUGFnZTo6Y2FuY2VsQ29tcG9zaXRpb24oKQogCiB2b2lkIFdlYlBh
Z2U6OmRpZENoYW5nZVNlbGVjdGlvbigpCiB7Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVBy
b3h5OjpFZGl0b3JTdGF0ZUNoYW5nZWQoZWRpdG9yU3RhdGUoKSkpOworI2lmIChQTEFURk9STShN
QUMpICYmIFVTRShBU1lOQ19OU1RFWFRJTlBVVENMSUVOVCkpIHx8IFBMQVRGT1JNKElPUykKKyAg
ICBGcmFtZSYgZnJhbWUgPSBtX3BhZ2UtPmZvY3VzQ29udHJvbGxlcigpLmZvY3VzZWRPck1haW5G
cmFtZSgpOworcHJpbnRmKCJkaWRDaGFuZ2VTZWxlY3Rpb24uIGhhc0NvbXBvc2l0aW9uID0gJXXv
vIxpZ25vcmVDb21wb3NpdGlvblNlbGVjdGlvbkNoYW5nZSDvvJ0ldSwgaXNOb25lID0gJXVcbiIs
IGZyYW1lLmVkaXRvcigpLmhhc0NvbXBvc2l0aW9uKCksIGZyYW1lLmVkaXRvcigpLmlnbm9yZUNv
bXBvc2l0aW9uU2VsZWN0aW9uQ2hhbmdlKCksIGZyYW1lLnNlbGVjdGlvbigpLmlzTm9uZSgpKTsK
KyAgICAvLyBBYmFuZG9uIHRoZSBjdXJyZW50IGlubGluZSBpbnB1dCBzZXNzaW9uIGlmIHNlbGVj
dGlvbiBjaGFuZ2VkIGZvciBhbnkgb3RoZXIgcmVhc29uIGJ1dCBhbiBpbnB1dCBtZXRob2QgZGly
ZWN0IGFjdGlvbi4KKyAgICAvLyBGSVhNRTogTWFueSBjaGFuZ2VzIHRoYXQgYWZmZWN0IGNvbXBv
c2l0aW9uIG5vZGUgZG8gbm90IGdvIHRocm91Z2ggZGlkQ2hhbmdlU2VsZWN0aW9uKCkuIFdlIG5l
ZWQgdG8gZG8gc29tZXRoaW5nIHdoZW4gRE9NIG1hbmlwdWxhdGlvbiBhZmZlY3RzIHRoZSBjb21w
b3NpdGlvbiwgYmVjYXVzZSBvdGhlcndpc2UgaW5wdXQgbWV0aG9kJ3MgaWRlYSBhYm91dCBpdCB3
aWxsIGJlIGRpZmZlcmVudCBmcm9tIEVkaXRvcidzLgorICAgIC8vIEZJWE1FOiBXZSBjYW4ndCBj
YW5jZWwgY29tcG9zaXRpb24gd2hlbiBzZWxlY3Rpb24gY2hhbmdlcyB0byBOb1NlbGVjdGlvbiwg
YnV0IHdlIHByb2JhYmx5IHNob3VsZC4KKyAgICBpZiAoZnJhbWUuZWRpdG9yKCkuaGFzQ29tcG9z
aXRpb24oKSAmJiAhZnJhbWUuZWRpdG9yKCkuaWdub3JlQ29tcG9zaXRpb25TZWxlY3Rpb25DaGFu
Z2UoKSAmJiAhZnJhbWUuc2VsZWN0aW9uKCkuaXNOb25lKCkpIHsKKyAgICAgICAgZnJhbWUuZWRp
dG9yKCkuY2FuY2VsQ29tcG9zaXRpb24oKTsKKyAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFn
ZVByb3h5OjpDb21wb3NpdGlvbldhc0NhbmNlbGVkKGVkaXRvclN0YXRlKCkpKTsKKyAgICB9IGVs
c2UKKyNlbmRpZgorICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkVkaXRvclN0
YXRlQ2hhbmdlZChlZGl0b3JTdGF0ZSgpKSk7CisKICNpZiBQTEFURk9STShJT1MpCiAgICAgbV9k
cmF3aW5nQXJlYS0+c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2goKTsKICNlbmRpZgo=
</data>
<flag name="review"
          id="252322"
          type_id="1"
          status="+"
          setter="enrica"
    />
          </attachment>
      

    </bug>

</bugzilla>