<?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>134853</bug_id>
          
          <creation_ts>2014-07-12 00:06:32 -0700</creation_ts>
          <short_desc>[Cocoa] Inform the client when back-forward navigation gestures begin and end</short_desc>
          <delta_ts>2014-07-14 02:41: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>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to>mitz</assigned_to>
          <cc>andersca</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jfernandez</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1021957</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-07-12 00:06:32 -0700</bug_when>
    <thetext>&lt;rdar://problem/16020380&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021960</commentid>
    <comment_count>1</comment_count>
      <attachid>234797</attachid>
    <who name="">mitz</who>
    <bug_when>2014-07-12 00:17:46 -0700</bug_when>
    <thetext>Created attachment 234797
Add WKNavigationDelegate methods and WKWebView property for monitoring navigation gesture state</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021961</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-07-12 00:19:58 -0700</bug_when>
    <thetext>Attachment 234797 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/ios/ViewGestureControllerIOS.mm:214:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 1 in 15 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>1022011</commentid>
    <comment_count>3</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-07-12 16:33:11 -0700</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/r171034&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1022192</commentid>
    <comment_count>4</comment_count>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2014-07-14 02:41:19 -0700</bug_when>
    <thetext>This broke gtk+ build, but it has been fixed in bug #134861</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>234797</attachid>
            <date>2014-07-12 00:17:46 -0700</date>
            <delta_ts>2014-07-12 15:07:11 -0700</delta_ts>
            <desc>Add WKNavigationDelegate methods and WKWebView property for monitoring navigation gesture state</desc>
            <filename>bug-134853-20140712001729.patch</filename>
            <type>text/plain</type>
            <size>22631</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3MTAyMCkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDcxIEBACisyMDE0LTA3LTEyICBEYW4gQmVy
bnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE2MDIw
MzgwPiBbQ29jb2FdIEluZm9ybSB0aGUgY2xpZW50IHdoZW4gYmFjay1mb3J3YXJkIG5hdmlnYXRp
b24gZ2VzdHVyZXMgYmVnaW4gYW5kIGVuZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTM0ODUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdhdGlvbkRlbGVn
YXRlUHJpdmF0ZS5oOiBEZWNsYXJlZCBuZXcgV0tOYXZpZ2F0aW9uRGVsZWdhdGUKKyAgICAgICAg
bWV0aG9kcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgor
ICAgICAgICAoLVtXS1dlYlZpZXcgX2lzU2hvd2luZ05hdmlnYXRpb25HZXN0dXJlU25hcHNob3Rd
KTogQWRkZWQgdGhpcyBnZXR0ZXIuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlld1ByaXZhdGUuaDogRGVjbGFyZWQgbmV3IHByb3BlcnR5CisgICAgICAgIF9pc1Nob3dp
bmdOYXZpZ2F0aW9uR2VzdHVyZVNuYXBzaG90LgorCisgICAgICAgICogVUlQcm9jZXNzL0NvY29h
L05hdmlnYXRpb25TdGF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9u
U3RhdGUubW06CisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRpb25TdGF0ZTo6c2V0TmF2aWdhdGlv
bkRlbGVnYXRlKTogSW5pdGlhbGl6ZSBuZXcgZmxhZ3MgaW4KKyAgICAgICAgbV9uYXZpZ2F0aW9u
RGVsZWdhdGVNZXRob2RzLgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0aW9uU3RhdGU6Om5hdmln
YXRpb25HZXN0dXJlRGlkQmVnaW4pOiBBZGRlZC4gQ2FsbHMgdGhlIG5ldworICAgICAgICBXS05h
dmlnYXRpb25EZWxlZ2F0ZSBtZXRob2QuCisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRpb25TdGF0
ZTo6bmF2aWdhdGlvbkdlc3R1cmVXaWxsRW5kKTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6Ok5h
dmlnYXRpb25TdGF0ZTo6bmF2aWdhdGlvbkdlc3R1cmVEaWRFbmQpOiBEaXR0by4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6IERlY2xhcmVkIG5ldyBjbGllbnQgZnVuY3Rpb25z
LgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6V2ViUGFnZVByb3h5KTogSW5pdGlhbGl6ZSBuZXcgbWVtYmVyIHZh
cmlhYmxlLgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6Om5hdmlnYXRpb25HZXN0dXJl
RGlkQmVnaW4pOiBTZXQgbV9pc1Nob3dpbmdOYXZpZ2F0aW9uR2VzdHVyZVNuYXBzaG90CisgICAg
ICAgIGFuZCBjYWxsIHRoZSBuZXcgY2xpZW50IGZ1bmN0aW9uLgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlUHJveHk6Om5hdmlnYXRpb25HZXN0dXJlV2lsbEVuZCk6IENhbGwgdGhlIG5ldyBjbGll
bnQgZnVuY3Rpb24uCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6bmF2aWdhdGlvbkdl
c3R1cmVEaWRFbmQpOiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpuYXZp
Z2F0aW9uR2VzdHVyZVNuYXBzaG90V2FzUmVtb3ZlZCk6IENsZWFyCisgICAgICAgIG1faXNTaG93
aW5nTmF2aWdhdGlvbkdlc3R1cmVTbmFwc2hvdC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6aXNTaG93aW5nTmF2aWdh
dGlvbkdlc3R1cmVTbmFwc2hvdCk6IEFkZGVkIHRoaXMgZ2V0dGVyLgorCisgICAgICAgICogVUlQ
cm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oOiBEZWNsYXJlZCBvdmVycmlkZXMgb2YgbmV3
IGNsaWVudCBmdW5jdGlvbnMuCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1w
bElPUy5tbToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6Om5hdmlnYXRpb25HZXN0
dXJlRGlkQmVnaW4pOiBPdmVycmlkZSB0aGF0IGNhbGxzIHRoZSBuZXcKKyAgICAgICAgTmF2aWdh
dGlvblN0YXRlIGZ1bmN0aW9uLgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6bmF2
aWdhdGlvbkdlc3R1cmVXaWxsRW5kKTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGll
bnRJbXBsOjpuYXZpZ2F0aW9uR2VzdHVyZURpZEVuZCk6IERpdHRvLgorCisgICAgICAgICogVUlQ
cm9jZXNzL2lvcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJJT1MubW06CisgICAgICAgIChXZWJLaXQ6
OlZpZXdHZXN0dXJlQ29udHJvbGxlcjo6YmVnaW5Td2lwZUdlc3R1cmUpOiBBZGRlZCBjYWxscyB0
bworICAgICAgICBXZWJQYWdlUHJveHk6Om5hdmlnYXRpb25HZXN0dXJlRGlkQmVnaW4gYW5kIFdl
YlBhZ2VQcm94eTo6bmF2aWdhdGlvbkdlc3R1cmVXaWxsRW5kLgorICAgICAgICAoV2ViS2l0OjpW
aWV3R2VzdHVyZUNvbnRyb2xsZXI6OmVuZFN3aXBlR2VzdHVyZSk6IEFkZGVkIGNhbGxzIHRvCisg
ICAgICAgIFdlYlBhZ2VQcm94eTo6bmF2aWdhdGlvbkdlc3R1cmVEaWRFbmQuCisgICAgICAgIChX
ZWJLaXQ6OlZpZXdHZXN0dXJlQ29udHJvbGxlcjo6cmVtb3ZlU3dpcGVTbmFwc2hvdCk6IEFkZGVk
IGNhbGwgdG8KKyAgICAgICAgV2ViUGFnZVByb3h5OjpuYXZpZ2F0aW9uR2VzdHVyZVNuYXBzaG90
V2FzUmVtb3ZlZC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaDog
RGVjbGFyZWQgb3ZlcnJpZGVzIG9mIG5ldyBjbGllbnQgZnVuY3Rpb25zLgorICAgICAgICAqIFVJ
UHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGll
bnRJbXBsOjpuYXZpZ2F0aW9uR2VzdHVyZURpZEJlZ2luKTogT3ZlcnJpZGUgdGhhdCBjYWxscyB0
aGUgbmV3CisgICAgICAgIE5hdmlnYXRpb25TdGF0ZSBmdW5jdGlvbi4KKyAgICAgICAgKFdlYktp
dDo6UGFnZUNsaWVudEltcGw6Om5hdmlnYXRpb25HZXN0dXJlV2lsbEVuZCk6IERpdHRvLgorICAg
ICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6bmF2aWdhdGlvbkdlc3R1cmVEaWRFbmQpOiBE
aXR0by4KKworICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvVmlld0dlc3R1cmVDb250cm9sbGVyTWFj
Lm1tOgorICAgICAgICAoV2ViS2l0OjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmJlZ2luU3dpcGVH
ZXN0dXJlKTogQWRkZWQgY2FsbCB0bworICAgICAgICBXZWJQYWdlUHJveHk6Om5hdmlnYXRpb25H
ZXN0dXJlRGlkQmVnaW4uCisgICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJlQ29udHJvbGxlcjo6
ZW5kU3dpcGVHZXN0dXJlKTogQWRkZWQgY2FsbHMgdG8KKyAgICAgICAgV2ViUGFnZVByb3h5Ojpu
YXZpZ2F0aW9uR2VzdHVyZURpZEVuZC4KKyAgICAgICAgKFdlYktpdDo6Vmlld0dlc3R1cmVDb250
cm9sbGVyOjpyZW1vdmVTd2lwZVNuYXBzaG90KTogQWRkZWQgY2FsbCB0bworICAgICAgICBXZWJQ
YWdlUHJveHk6Om5hdmlnYXRpb25HZXN0dXJlU25hcHNob3RXYXNSZW1vdmVkLgorCiAyMDE0LTA3
LTExICBFbnJpY2EgQ2FzdWNjaSAgPGVucmljYUBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wbGVt
ZW50IHRleHRTdHlsaW5nQXRQb3NpdGlvbiBpbiBXSzIuCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvUGFnZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9QYWdlQ2xpZW50LmgJKHJldmlzaW9uIDE3MTAyMCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9QYWdlQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTI5NCw2ICsyOTQsMTAgQEAg
cHVibGljOgogCiAgICAgLy8gQ3VzdG9tIHJlcHJlc2VudGF0aW9ucy4KICAgICB2aXJ0dWFsIHZv
aWQgZGlkRmluaXNoTG9hZGluZ0RhdGFGb3JDdXN0b21Db250ZW50UHJvdmlkZXIoY29uc3QgU3Ry
aW5nJiBzdWdnZXN0ZWRGaWxlbmFtZSwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJikgPSAwOwor
CisgICAgdmlydHVhbCB2b2lkIG5hdmlnYXRpb25HZXN0dXJlRGlkQmVnaW4oKSA9IDA7CisgICAg
dmlydHVhbCB2b2lkIG5hdmlnYXRpb25HZXN0dXJlV2lsbEVuZChib29sIHdpbGxOYXZpZ2F0ZSwg
V2ViQmFja0ZvcndhcmRMaXN0SXRlbSYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgbmF2aWdhdGlv
bkdlc3R1cmVEaWRFbmQoYm9vbCB3aWxsTmF2aWdhdGUsIFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0m
KSA9IDA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCShyZXZpc2lvbiAxNzEwMjApCisrKyBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzU1
LDYgKzM1NSw3IEBAIFdlYlBhZ2VQcm94eTo6V2ViUGFnZVByb3h5KFBhZ2VDbGllbnQmIHAKICAg
ICAsIG1fZW5hYmxlSG9yaXpvbnRhbFJ1YmJlckJhbmRpbmcodHJ1ZSkKICAgICAsIG1fYmFja2dy
b3VuZEV4dGVuZHNCZXlvbmRQYWdlKGZhbHNlKQogICAgICwgbV9zaG91bGRSZWNvcmROYXZpZ2F0
aW9uU25hcHNob3RzKGZhbHNlKQorICAgICwgbV9pc1Nob3dpbmdOYXZpZ2F0aW9uR2VzdHVyZVNu
YXBzaG90KGZhbHNlKQogICAgICwgbV9wYWdlQ291bnQoMCkKICAgICAsIG1fcmVuZGVyVHJlZVNp
emUoMCkKICAgICAsIG1fc2hvdWxkU2VuZEV2ZW50c1N5bmNocm9ub3VzbHkoZmFsc2UpCkBAIC01
MTI2LDQgKzUxMjcsMjUgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnRha2VTbmFwc2hvdChJbnRSZWN0
IAogICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6VGFrZVNuYXBzaG90KHJl
Y3QsIGJpdG1hcFNpemUsIG9wdGlvbnMsIGNhbGxiYWNrSUQpLCBtX3BhZ2VJRCk7CiB9CiAKK3Zv
aWQgV2ViUGFnZVByb3h5OjpuYXZpZ2F0aW9uR2VzdHVyZURpZEJlZ2luKCkKK3sKKyAgICBtX2lz
U2hvd2luZ05hdmlnYXRpb25HZXN0dXJlU25hcHNob3QgPSB0cnVlOworICAgIG1fcGFnZUNsaWVu
dC5uYXZpZ2F0aW9uR2VzdHVyZURpZEJlZ2luKCk7Cit9CisKK3ZvaWQgV2ViUGFnZVByb3h5Ojpu
YXZpZ2F0aW9uR2VzdHVyZVdpbGxFbmQoYm9vbCB3aWxsTmF2aWdhdGUsIFdlYkJhY2tGb3J3YXJk
TGlzdEl0ZW0mIGl0ZW0pCit7CisgICAgbV9wYWdlQ2xpZW50Lm5hdmlnYXRpb25HZXN0dXJlV2ls
bEVuZCh3aWxsTmF2aWdhdGUsIGl0ZW0pOworfQorCit2b2lkIFdlYlBhZ2VQcm94eTo6bmF2aWdh
dGlvbkdlc3R1cmVEaWRFbmQoYm9vbCB3aWxsTmF2aWdhdGUsIFdlYkJhY2tGb3J3YXJkTGlzdEl0
ZW0mIGl0ZW0pCit7CisgICAgbV9wYWdlQ2xpZW50Lm5hdmlnYXRpb25HZXN0dXJlRGlkRW5kKHdp
bGxOYXZpZ2F0ZSwgaXRlbSk7Cit9CisKK3ZvaWQgV2ViUGFnZVByb3h5OjpuYXZpZ2F0aW9uR2Vz
dHVyZVNuYXBzaG90V2FzUmVtb3ZlZCgpCit7CisgICAgbV9pc1Nob3dpbmdOYXZpZ2F0aW9uR2Vz
dHVyZVNuYXBzaG90ID0gZmFsc2U7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDog
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAkocmV2aXNpb24gMTcxMDIwKQor
KysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCSh3b3JraW5nIGNvcHkp
CkBAIC04OTcsNiArODk3LDEzIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgdGFrZVNuYXBzaG90KFdl
YkNvcmU6OkludFJlY3QsIFdlYkNvcmU6OkludFNpemUgYml0bWFwU2l6ZSwgU25hcHNob3RPcHRp
b25zLCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiwg
Q2FsbGJhY2tCYXNlOjpFcnJvcik+KTsKIAorICAgIHZvaWQgbmF2aWdhdGlvbkdlc3R1cmVEaWRC
ZWdpbigpOworICAgIHZvaWQgbmF2aWdhdGlvbkdlc3R1cmVXaWxsRW5kKGJvb2wgd2lsbE5hdmln
YXRlLCBXZWJCYWNrRm9yd2FyZExpc3RJdGVtJik7CisgICAgdm9pZCBuYXZpZ2F0aW9uR2VzdHVy
ZURpZEVuZChib29sIHdpbGxOYXZpZ2F0ZSwgV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYpOworICAg
IHZvaWQgbmF2aWdhdGlvbkdlc3R1cmVTbmFwc2hvdFdhc1JlbW92ZWQoKTsKKworICAgIGJvb2wg
aXNTaG93aW5nTmF2aWdhdGlvbkdlc3R1cmVTbmFwc2hvdCgpIGNvbnN0IHsgcmV0dXJuIG1faXNT
aG93aW5nTmF2aWdhdGlvbkdlc3R1cmVTbmFwc2hvdDsgfQorCiBwcml2YXRlOgogICAgIFdlYlBh
Z2VQcm94eShQYWdlQ2xpZW50JiwgV2ViUHJvY2Vzc1Byb3h5JiwgdWludDY0X3QgcGFnZUlELCBj
b25zdCBXZWJQYWdlQ29uZmlndXJhdGlvbiYpOwogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXpl
KCk7CkBAIC0xNDg1LDYgKzE0OTIsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9iYWNrZ3JvdW5k
RXh0ZW5kc0JleW9uZFBhZ2U7CiAKICAgICBib29sIG1fc2hvdWxkUmVjb3JkTmF2aWdhdGlvblNu
YXBzaG90czsKKyAgICBib29sIG1faXNTaG93aW5nTmF2aWdhdGlvbkdlc3R1cmVTbmFwc2hvdDsK
IAogICAgIHVuc2lnbmVkIG1fcGFnZUNvdW50OwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdhdGlvbkRlbGVnYXRlUHJpdmF0ZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tOYXZpZ2F0aW9uRGVsZWdh
dGVQcml2YXRlLmgJKHJldmlzaW9uIDE3MTAyMCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tOYXZpZ2F0aW9uRGVsZWdhdGVQcml2YXRlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTUxLDYgKzUxLDEzIEBAIHN0YXRpYyBjb25zdCBXS05hdmlnYXRpb25SZXNwb25zZVBvbGlj
eSAKIAogLSAoTlNEYXRhICopX3dlYkNyeXB0b01hc3RlcktleUZvcldlYlZpZXc6KFdLV2ViVmll
dyAqKXdlYlZpZXc7CiAKKy0gKHZvaWQpX3dlYlZpZXdEaWRCZWdpbk5hdmlnYXRpb25HZXN0dXJl
OihXS1dlYlZpZXcgKil3ZWJWaWV3OworLy8gSXRlbSBpcyBuaWwgaWYgdGhlIGdlc3R1cmUgZW5k
ZWQgd2l0aG91dCBuYXZpZ2F0aW9uLgorLSAodm9pZClfd2ViVmlld0RpZEVuZE5hdmlnYXRpb25H
ZXN0dXJlOihXS1dlYlZpZXcgKil3ZWJWaWV3IHdpdGhOYXZpZ2F0aW9uVG9CYWNrRm9yd2FyZExp
c3RJdGVtOihXS0JhY2tGb3J3YXJkTGlzdEl0ZW0gKilpdGVtOworLy8gT25seSBjYWxsZWQgaWYg
aG93IHRoZSBnZXN0dXJlIHdpbGwgZW5kICh3aXRoIG9yIHdpdGhvdXQgbmF2aWdhdGlvbikgaXMg
a25vd24gYmVmb3JlIGl0IGVuZHMuCistICh2b2lkKV93ZWJWaWV3V2lsbEVuZE5hdmlnYXRpb25H
ZXN0dXJlOihXS1dlYlZpZXcgKil3ZWJWaWV3IHdpdGhOYXZpZ2F0aW9uVG9CYWNrRm9yd2FyZExp
c3RJdGVtOihXS0JhY2tGb3J3YXJkTGlzdEl0ZW0gKilpdGVtOworCisKICNpZiBUQVJHRVRfT1Nf
SVBIT05FCiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRpZFN0YXJ0TG9h
ZEZvclF1aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWVXaXRoRmlsZU5hbWU6KE5TU3RyaW5nICop
ZmlsZU5hbWUgdXRpOihOU1N0cmluZyAqKXV0aTsKIC0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmll
dyAqKXdlYlZpZXcgZGlkRmluaXNoTG9hZEZvclF1aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWU6
KE5TRGF0YSAqKWRvY3VtZW50RGF0YTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCShyZXZpc2lvbiAxNzEwMjApCisrKyBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQkod29ya2luZyBjb3B5KQpA
QCAtMTk4MCw2ICsxOTgwLDExIEBAIC0gKEJPT0wpX2lzRGlzcGxheWluZ1N0YW5kYWxvbmVJbWFn
ZURvY3UKICAgICByZXR1cm4gTk87CiB9CiAKKy0gKEJPT0wpX2lzU2hvd2luZ05hdmlnYXRpb25H
ZXN0dXJlU25hcHNob3QKK3sKKyAgICByZXR1cm4gX3BhZ2UtPmlzU2hvd2luZ05hdmlnYXRpb25H
ZXN0dXJlU25hcHNob3QoKTsKK30KKwogI3ByYWdtYSBtYXJrIGlPUy1zcGVjaWZpYyBtZXRob2Rz
CiAKICNpZiBQTEFURk9STShJT1MpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAkocmV2aXNpb24gMTcxMDIwKQor
KysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEwMSw2ICsxMDEsOCBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNV
SW50ZWdlciwgX1dLRmluZE9wCiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQk9P
TCBfbmV0d29ya1JlcXVlc3RzSW5Qcm9ncmVzczsKIAorQHByb3BlcnR5IChub25hdG9taWMsIHJl
YWRvbmx5LCBnZXR0ZXI9X2lzU2hvd2luZ05hdmlnYXRpb25HZXN0dXJlU25hcHNob3QpIEJPT0wg
X3Nob3dpbmdOYXZpZ2F0aW9uR2VzdHVyZVNuYXBzaG90OworCiAtICh2b2lkKV9jbG9zZTsKIAog
I2lmIFRBUkdFVF9PU19JUEhPTkUKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2Nv
YS9OYXZpZ2F0aW9uU3RhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLmgJKHJldmlzaW9uIDE3MTAyMCkKKysrIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUuaAkod29ya2luZyBjb3B5KQpA
QCAtNzQsNiArNzQsMTEgQEAgcHVibGljOgogICAgIHZvaWQgZGlkUGVyZm9ybVNlcnZlclJlZGly
ZWN0KGNvbnN0IFdURjo6U3RyaW5nJiBzb3VyY2VVUkwsIGNvbnN0IFdURjo6U3RyaW5nJiBkZXN0
aW5hdGlvblVSTCk7CiAgICAgdm9pZCBkaWRVcGRhdGVIaXN0b3J5VGl0bGUoY29uc3QgV1RGOjpT
dHJpbmcmIHRpdGxlLCBjb25zdCBXVEY6OlN0cmluZyYgdXJsKTsKIAorICAgIC8vIENhbGxlZCBi
eSB0aGUgcGFnZSBjbGllbnQuCisgICAgdm9pZCBuYXZpZ2F0aW9uR2VzdHVyZURpZEJlZ2luKCk7
CisgICAgdm9pZCBuYXZpZ2F0aW9uR2VzdHVyZVdpbGxFbmQoYm9vbCB3aWxsTmF2aWdhdGUsIFdl
YkJhY2tGb3J3YXJkTGlzdEl0ZW0mKTsKKyAgICB2b2lkIG5hdmlnYXRpb25HZXN0dXJlRGlkRW5k
KGJvb2wgd2lsbE5hdmlnYXRlLCBXZWJCYWNrRm9yd2FyZExpc3RJdGVtJik7CisKIHByaXZhdGU6
CiAgICAgY2xhc3MgUG9saWN5Q2xpZW50IDogcHVibGljIEFQSTo6UG9saWN5Q2xpZW50IHsKICAg
ICBwdWJsaWM6CkBAIC0xNTYsNiArMTYxLDkgQEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCB3ZWJW
aWV3RGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlIDogMTsKICAgICAgICAgYm9vbCB3
ZWJWaWV3V2ViUHJvY2Vzc0RpZENyYXNoIDogMTsKICAgICAgICAgYm9vbCB3ZWJDcnlwdG9NYXN0
ZXJLZXlGb3JXZWJWaWV3IDogMTsKKyAgICAgICAgYm9vbCB3ZWJWaWV3RGlkQmVnaW5OYXZpZ2F0
aW9uR2VzdHVyZSA6IDE7CisgICAgICAgIGJvb2wgd2ViVmlld1dpbGxFbmROYXZpZ2F0aW9uR2Vz
dHVyZVdpdGhOYXZpZ2F0aW9uVG9CYWNrRm9yd2FyZExpc3RJdGVtIDogMTsKKyAgICAgICAgYm9v
bCB3ZWJWaWV3RGlkRW5kTmF2aWdhdGlvbkdlc3R1cmVXaXRoTmF2aWdhdGlvblRvQmFja0Zvcndh
cmRMaXN0SXRlbSA6IDE7CiAjaWYgVVNFKFFVSUNLX0xPT0spCiAgICAgICAgIGJvb2wgd2ViVmll
d0RpZFN0YXJ0TG9hZEZvclF1aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWUgOiAxOwogICAgICAg
ICBib29sIHdlYlZpZXdEaWRGaW5pc2hMb2FkRm9yUXVpY2tMb29rRG9jdW1lbnRJbk1haW5GcmFt
ZSA6IDE7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0
YXRlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZp
Z2F0aW9uU3RhdGUubW0JKHJldmlzaW9uIDE3MTAyMCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0JKHdvcmtpbmcgY29weSkKQEAgLTEzNiw2ICsx
MzYsOSBAQCB2b2lkIE5hdmlnYXRpb25TdGF0ZTo6c2V0TmF2aWdhdGlvbkRlbGVnCiAgICAgbV9u
YXZpZ2F0aW9uRGVsZWdhdGVNZXRob2RzLndlYlZpZXdEaWRSZWNlaXZlQXV0aGVudGljYXRpb25D
aGFsbGVuZ2UgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmll
dzpkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6KV07CiAgICAgbV9uYXZpZ2F0aW9u
RGVsZWdhdGVNZXRob2RzLndlYlZpZXdXZWJQcm9jZXNzRGlkQ3Jhc2ggPSBbZGVsZWdhdGUgcmVz
cG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlld1dlYlByb2Nlc3NEaWRDcmFzaDopXTsK
ICAgICBtX25hdmlnYXRpb25EZWxlZ2F0ZU1ldGhvZHMud2ViQ3J5cHRvTWFzdGVyS2V5Rm9yV2Vi
VmlldyA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJDcnlwdG9N
YXN0ZXJLZXlGb3JXZWJWaWV3OildOworICAgIG1fbmF2aWdhdGlvbkRlbGVnYXRlTWV0aG9kcy53
ZWJWaWV3RGlkQmVnaW5OYXZpZ2F0aW9uR2VzdHVyZSA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2Vs
ZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3RGlkQmVnaW5OYXZpZ2F0aW9uR2VzdHVyZTopXTsKKyAg
ICBtX25hdmlnYXRpb25EZWxlZ2F0ZU1ldGhvZHMud2ViVmlld1dpbGxFbmROYXZpZ2F0aW9uR2Vz
dHVyZVdpdGhOYXZpZ2F0aW9uVG9CYWNrRm9yd2FyZExpc3RJdGVtID0gW2RlbGVnYXRlIHJlc3Bv
bmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXdXaWxsRW5kTmF2aWdhdGlvbkdlc3R1cmU6
d2l0aE5hdmlnYXRpb25Ub0JhY2tGb3J3YXJkTGlzdEl0ZW06KV07CisgICAgbV9uYXZpZ2F0aW9u
RGVsZWdhdGVNZXRob2RzLndlYlZpZXdEaWRFbmROYXZpZ2F0aW9uR2VzdHVyZVdpdGhOYXZpZ2F0
aW9uVG9CYWNrRm9yd2FyZExpc3RJdGVtID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpA
c2VsZWN0b3IoX3dlYlZpZXdEaWRFbmROYXZpZ2F0aW9uR2VzdHVyZTp3aXRoTmF2aWdhdGlvblRv
QmFja0ZvcndhcmRMaXN0SXRlbTopXTsKICNpZiBVU0UoUVVJQ0tfTE9PSykKICAgICBtX25hdmln
YXRpb25EZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0RpZFN0YXJ0TG9hZEZvclF1aWNrTG9va0RvY3Vt
ZW50SW5NYWluRnJhbWUgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihf
d2ViVmlldzpkaWRTdGFydExvYWRGb3JRdWlja0xvb2tEb2N1bWVudEluTWFpbkZyYW1lV2l0aEZp
bGVOYW1lOnV0aTopXTsKICAgICBtX25hdmlnYXRpb25EZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0Rp
ZEZpbmlzaExvYWRGb3JRdWlja0xvb2tEb2N1bWVudEluTWFpbkZyYW1lID0gW2RlbGVnYXRlIHJl
c3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6ZGlkRmluaXNoTG9hZEZvclF1aWNr
TG9va0RvY3VtZW50SW5NYWluRnJhbWU6KV07CkBAIC0yNTAsNiArMjUzLDQyIEBAIHZvaWQgTmF2
aWdhdGlvblN0YXRlOjpkaWRVcGRhdGVIaXN0b3J5VGkKICAgICBbaGlzdG9yeURlbGVnYXRlIF93
ZWJWaWV3Om1fd2ViVmlldyBkaWRVcGRhdGVIaXN0b3J5VGl0bGU6dGl0bGUgZm9yVVJMOltOU1VS
TCBfd2ViX1VSTFdpdGhXVEZTdHJpbmc6dXJsXV07CiB9CiAKK3ZvaWQgTmF2aWdhdGlvblN0YXRl
OjpuYXZpZ2F0aW9uR2VzdHVyZURpZEJlZ2luKCkKK3sKKyAgICBpZiAoIW1fbmF2aWdhdGlvbkRl
bGVnYXRlTWV0aG9kcy53ZWJWaWV3RGlkQmVnaW5OYXZpZ2F0aW9uR2VzdHVyZSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgYXV0byBuYXZpZ2F0aW9uRGVsZWdhdGUgPSBtX25hdmlnYXRpb25EZWxl
Z2F0ZS5nZXQoKTsKKyAgICBpZiAoIW5hdmlnYXRpb25EZWxlZ2F0ZSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgW3N0YXRpY19jYXN0PGlkIDxXS05hdmlnYXRpb25EZWxlZ2F0ZVByaXZhdGU+Pihu
YXZpZ2F0aW9uRGVsZWdhdGUpIF93ZWJWaWV3RGlkQmVnaW5OYXZpZ2F0aW9uR2VzdHVyZTptX3dl
YlZpZXddOworfQorCit2b2lkIE5hdmlnYXRpb25TdGF0ZTo6bmF2aWdhdGlvbkdlc3R1cmVXaWxs
RW5kKGJvb2wgd2lsbE5hdmlnYXRlLCBXZWJCYWNrRm9yd2FyZExpc3RJdGVtJiBpdGVtKQorewor
ICAgIGlmICghbV9uYXZpZ2F0aW9uRGVsZWdhdGVNZXRob2RzLndlYlZpZXdXaWxsRW5kTmF2aWdh
dGlvbkdlc3R1cmVXaXRoTmF2aWdhdGlvblRvQmFja0ZvcndhcmRMaXN0SXRlbSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgYXV0byBuYXZpZ2F0aW9uRGVsZWdhdGUgPSBtX25hdmlnYXRpb25EZWxl
Z2F0ZS5nZXQoKTsKKyAgICBpZiAoIW5hdmlnYXRpb25EZWxlZ2F0ZSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgW3N0YXRpY19jYXN0PGlkIDxXS05hdmlnYXRpb25EZWxlZ2F0ZVByaXZhdGU+Pihu
YXZpZ2F0aW9uRGVsZWdhdGUpIF93ZWJWaWV3V2lsbEVuZE5hdmlnYXRpb25HZXN0dXJlOm1fd2Vi
VmlldyB3aXRoTmF2aWdhdGlvblRvQmFja0ZvcndhcmRMaXN0SXRlbTp3aWxsTmF2aWdhdGUgPyB3
cmFwcGVyKGl0ZW0pIDogbmlsXTsKK30KKwordm9pZCBOYXZpZ2F0aW9uU3RhdGU6Om5hdmlnYXRp
b25HZXN0dXJlRGlkRW5kKGJvb2wgd2lsbE5hdmlnYXRlLCBXZWJCYWNrRm9yd2FyZExpc3RJdGVt
JiBpdGVtKQoreworICAgIGlmICghbV9uYXZpZ2F0aW9uRGVsZWdhdGVNZXRob2RzLndlYlZpZXdE
aWRFbmROYXZpZ2F0aW9uR2VzdHVyZVdpdGhOYXZpZ2F0aW9uVG9CYWNrRm9yd2FyZExpc3RJdGVt
KQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvIG5hdmlnYXRpb25EZWxlZ2F0ZSA9IG1fbmF2
aWdhdGlvbkRlbGVnYXRlLmdldCgpOworICAgIGlmICghbmF2aWdhdGlvbkRlbGVnYXRlKQorICAg
ICAgICByZXR1cm47CisKKyAgICBbc3RhdGljX2Nhc3Q8aWQgPFdLTmF2aWdhdGlvbkRlbGVnYXRl
UHJpdmF0ZT4+KG5hdmlnYXRpb25EZWxlZ2F0ZSkgX3dlYlZpZXdEaWRFbmROYXZpZ2F0aW9uR2Vz
dHVyZTptX3dlYlZpZXcgd2l0aE5hdmlnYXRpb25Ub0JhY2tGb3J3YXJkTGlzdEl0ZW06d2lsbE5h
dmlnYXRlID8gd3JhcHBlcihpdGVtKSA6IG5pbF07Cit9CisKIE5hdmlnYXRpb25TdGF0ZTo6UG9s
aWN5Q2xpZW50OjpQb2xpY3lDbGllbnQoTmF2aWdhdGlvblN0YXRlJiBuYXZpZ2F0aW9uU3RhdGUp
CiAgICAgOiBtX25hdmlnYXRpb25TdGF0ZShuYXZpZ2F0aW9uU3RhdGUpCiB7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCShyZXZp
c2lvbiAxNzEwMjApCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJ
bXBsSU9TLmgJKHdvcmtpbmcgY29weSkKQEAgLTE2Nyw2ICsxNjcsMTAgQEAgcHJpdmF0ZToKIAog
ICAgIHZpcnR1YWwgVmVjdG9yPFN0cmluZz4gbWltZVR5cGVzV2l0aEN1c3RvbUNvbnRlbnRQcm92
aWRlcnMoKSBvdmVycmlkZTsKIAorICAgIHZpcnR1YWwgdm9pZCBuYXZpZ2F0aW9uR2VzdHVyZURp
ZEJlZ2luKCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIG5hdmlnYXRpb25HZXN0dXJlV2ls
bEVuZChib29sIHdpbGxOYXZpZ2F0ZSwgV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYpIG92ZXJyaWRl
OworICAgIHZpcnR1YWwgdm9pZCBuYXZpZ2F0aW9uR2VzdHVyZURpZEVuZChib29sIHdpbGxOYXZp
Z2F0ZSwgV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYpIG92ZXJyaWRlOworCiAgICAgV0tDb250ZW50
VmlldyAqbV9jb250ZW50VmlldzsKICAgICBXS1dlYlZpZXcgKm1fd2ViVmlldzsKICAgICBSZXRh
aW5QdHI8V0tFZGl0b3JVbmRvVGFyZ2V0T2JqQz4gbV91bmRvVGFyZ2V0OwpJbmRleDogU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCShyZXZp
c2lvbiAxNzEwMjApCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJ
bXBsSU9TLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw4ICszMiw5IEBACiAjaW1wb3J0ICJEYXRh
UmVmZXJlbmNlLmgiCiAjaW1wb3J0ICJEb3dubG9hZFByb3h5LmgiCiAjaW1wb3J0ICJGaW5kSW5k
aWNhdG9yLmgiCi0jaW1wb3J0ICJOYXRpdmVXZWJLZXlib2FyZEV2ZW50LmgiCiAjaW1wb3J0ICJJ
bnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbi5oIgorI2ltcG9ydCAiTmF0aXZlV2ViS2V5
Ym9hcmRFdmVudC5oIgorI2ltcG9ydCAiTmF2aWdhdGlvblN0YXRlLmgiCiAjaW1wb3J0ICJWaWV3
U25hcHNob3RTdG9yZS5oIgogI2ltcG9ydCAiV0tDb250ZW50Vmlldy5oIgogI2ltcG9ydCAiV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLmgiCkBAIC02NTEsNiArNjUyLDIxIEBAIFZlY3RvcjxTdHJp
bmc+IFBhZ2VDbGllbnRJbXBsOjptaW1lVHlwZXMKICAgICByZXR1cm4gbV93ZWJWaWV3LmNvbmZp
Z3VyYXRpb24uX2NvbnRlbnRQcm92aWRlclJlZ2lzdHJ5Ll9taW1lVHlwZXNXaXRoQ3VzdG9tQ29u
dGVudFByb3ZpZGVyczsKIH0KIAordm9pZCBQYWdlQ2xpZW50SW1wbDo6bmF2aWdhdGlvbkdlc3R1
cmVEaWRCZWdpbigpCit7CisgICAgTmF2aWdhdGlvblN0YXRlOjpmcm9tV2ViUGFnZSgqbV93ZWJW
aWV3LT5fcGFnZSkubmF2aWdhdGlvbkdlc3R1cmVEaWRCZWdpbigpOworfQorCit2b2lkIFBhZ2VD
bGllbnRJbXBsOjpuYXZpZ2F0aW9uR2VzdHVyZVdpbGxFbmQoYm9vbCB3aWxsTmF2aWdhdGUsIFdl
YkJhY2tGb3J3YXJkTGlzdEl0ZW0mIGl0ZW0pCit7CisgICAgTmF2aWdhdGlvblN0YXRlOjpmcm9t
V2ViUGFnZSgqbV93ZWJWaWV3LT5fcGFnZSkubmF2aWdhdGlvbkdlc3R1cmVXaWxsRW5kKHdpbGxO
YXZpZ2F0ZSwgaXRlbSk7Cit9CisKK3ZvaWQgUGFnZUNsaWVudEltcGw6Om5hdmlnYXRpb25HZXN0
dXJlRGlkRW5kKGJvb2wgd2lsbE5hdmlnYXRlLCBXZWJCYWNrRm9yd2FyZExpc3RJdGVtJiBpdGVt
KQoreworICAgIE5hdmlnYXRpb25TdGF0ZTo6ZnJvbVdlYlBhZ2UoKm1fd2ViVmlldy0+X3BhZ2Up
Lm5hdmlnYXRpb25HZXN0dXJlRGlkRW5kKHdpbGxOYXZpZ2F0ZSwgaXRlbSk7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TKQpJbmRleDogU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2lvcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJJT1MubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9WaWV3R2VzdHVyZUNvbnRyb2xs
ZXJJT1MubW0JKHJldmlzaW9uIDE3MTAyMCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9p
b3MvVmlld0dlc3R1cmVDb250cm9sbGVySU9TLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xNTcsNyAr
MTU3LDkgQEAgdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmJlZ2luU3dpcGVHZQogewogICAg
IGlmIChtX2FjdGl2ZUdlc3R1cmVUeXBlICE9IFZpZXdHZXN0dXJlVHlwZTo6Tm9uZSkKICAgICAg
ICAgcmV0dXJuOwotICAgIAorCisgICAgbV93ZWJQYWdlUHJveHkubmF2aWdhdGlvbkdlc3R1cmVE
aWRCZWdpbigpOworCiAgICAgVmlld1NuYXBzaG90U3RvcmU6OnNoYXJlZCgpLnJlY29yZFNuYXBz
aG90KG1fd2ViUGFnZVByb3h5KTsKIAogICAgIFdlYktpdDo6V2ViQmFja0ZvcndhcmRMaXN0SXRl
bSogdGFyZ2V0SXRlbSA9IGRpcmVjdGlvbiA9PSBTd2lwZURpcmVjdGlvbjo6TGVmdCA/IG1fd2Vi
UGFnZVByb3h5LmJhY2tGb3J3YXJkTGlzdCgpLmJhY2tJdGVtKCkgOiBtX3dlYlBhZ2VQcm94eS5i
YWNrRm9yd2FyZExpc3QoKS5mb3J3YXJkSXRlbSgpOwpAQCAtMjA5LDYgKzIxMSwxMCBAQCB2b2lk
IFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6YmVnaW5Td2lwZUdlCiAgICAgW3RyYW5zaXRpb25Db250
ZXh0IF9zZXRBbmltYXRvcjphbmltYXRpb25Db250cm9sbGVyLmdldCgpXTsKICAgICBbdHJhbnNp
dGlvbkNvbnRleHQgX3NldEludGVyYWN0b3I6dHJhbnNpdGlvbl07CiAgICAgW3RyYW5zaXRpb25D
b250ZXh0IF9zZXRUcmFuc2l0aW9uSXNJbkZsaWdodDpZRVNdOworICAgIFt0cmFuc2l0aW9uQ29u
dGV4dCBfc2V0SW50ZXJhY3RpdmVVcGRhdGVIYW5kbGVyOl4oQk9PTCBmaW5pc2gsIENHRmxvYXQg
cGVyY2VudCwgQk9PTCB0cmFuc2l0aW9uQ29tcGxldGVkLCBfVUlWaWV3Q29udHJvbGxlclRyYW5z
aXRpb25Db250ZXh0ICopIHsKKyAgICAgICAgaWYgKGZpbmlzaCkKKyAgICAgICAgICAgIG1fd2Vi
UGFnZVByb3h5Lm5hdmlnYXRpb25HZXN0dXJlV2lsbEVuZCh0cmFuc2l0aW9uQ29tcGxldGVkLCAq
dGFyZ2V0SXRlbSk7CisgICAgfV07CiAgICAgW3RyYW5zaXRpb25Db250ZXh0IF9zZXRDb21wbGV0
aW9uSGFuZGxlcjpeKF9VSVZpZXdDb250cm9sbGVyVHJhbnNpdGlvbkNvbnRleHQgKmNvbnRleHQs
IEJPT0wgZGlkQ29tcGxldGUpIHsgZW5kU3dpcGVHZXN0dXJlKHRhcmdldEl0ZW0sIGNvbnRleHQs
ICFkaWRDb21wbGV0ZSk7IH1dOwogICAgIFt0cmFuc2l0aW9uQ29udGV4dCBfc2V0SW50ZXJhY3Rp
dmVVcGRhdGVIYW5kbGVyOl4oQk9PTCwgQ0dGbG9hdCwgQk9PTCwgX1VJVmlld0NvbnRyb2xsZXJU
cmFuc2l0aW9uQ29udGV4dCAqKSB7IH1dOwogCkBAIC0yNDAsNiArMjQ2LDcgQEAgdm9pZCBWaWV3
R2VzdHVyZUNvbnRyb2xsZXI6OmVuZFN3aXBlR2VzdAogICAgIAogICAgIGlmIChjYW5jZWxsZWQp
IHsKICAgICAgICAgcmVtb3ZlU3dpcGVTbmFwc2hvdCgpOworICAgICAgICBtX3dlYlBhZ2VQcm94
eS5uYXZpZ2F0aW9uR2VzdHVyZURpZEVuZChmYWxzZSwgKnRhcmdldEl0ZW0pOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCkBAIC0yNTEsNiArMjU4LDggQEAgdm9pZCBWaWV3R2VzdHVyZUNvbnRy
b2xsZXI6OmVuZFN3aXBlR2VzdAogICAgIC8vIGxpa2Ugd2Ugbm9ybWFsbHkgd291bGQgd2hlbiBn
b2luZyBiYWNrIG9yIGZvcndhcmQsIGJlY2F1c2Ugd2UgYXJlCiAgICAgLy8gZGlzcGxheWluZyB0
aGUgZGVzdGluYXRpb24gaXRlbSdzIHNuYXBzaG90LgogICAgIFZpZXdTbmFwc2hvdFN0b3JlOjpz
aGFyZWQoKS5kaXNhYmxlU25hcHNob3R0aW5nKCk7CisKKyAgICBtX3dlYlBhZ2VQcm94eS5uYXZp
Z2F0aW9uR2VzdHVyZURpZEVuZCh0cnVlLCAqdGFyZ2V0SXRlbSk7CiAgICAgbV93ZWJQYWdlUHJv
eHkuZ29Ub0JhY2tGb3J3YXJkSXRlbSh0YXJnZXRJdGVtKTsKICAgICBWaWV3U25hcHNob3RTdG9y
ZTo6c2hhcmVkKCkuZW5hYmxlU25hcHNob3R0aW5nKCk7CiAKQEAgLTMxNCw2ICszMjMsOCBAQCB2
b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6cmVtb3ZlU3dpcGVTCiAgICAgCiAgICAgbV9zbmFw
c2hvdFJlbW92YWxUYXJnZXRSZW5kZXJUcmVlU2l6ZSA9IDA7CiAgICAgbV9hY3RpdmVHZXN0dXJl
VHlwZSA9IFZpZXdHZXN0dXJlVHlwZTo6Tm9uZTsKKworICAgIG1fd2ViUGFnZVByb3h5Lm5hdmln
YXRpb25HZXN0dXJlU25hcHNob3RXYXNSZW1vdmVkKCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudElt
cGwuaAkocmV2aXNpb24gMTcxMDIwKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9Q
YWdlQ2xpZW50SW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzMsNiArMTczLDEwIEBAIHByaXZh
dGU6CiAgICAgdmlydHVhbCB2b2lkIGJlZ2FuRXhpdEZ1bGxTY3JlZW4oY29uc3QgV2ViQ29yZTo6
SW50UmVjdCYgaW5pdGlhbEZyYW1lLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBmaW5hbEZyYW1l
KSBvdmVycmlkZTsKICNlbmRpZgogCisgICAgdmlydHVhbCB2b2lkIG5hdmlnYXRpb25HZXN0dXJl
RGlkQmVnaW4oKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgbmF2aWdhdGlvbkdlc3R1cmVX
aWxsRW5kKGJvb2wgd2lsbE5hdmlnYXRlLCBXZWJCYWNrRm9yd2FyZExpc3RJdGVtJikgb3ZlcnJp
ZGU7CisgICAgdmlydHVhbCB2b2lkIG5hdmlnYXRpb25HZXN0dXJlRGlkRW5kKGJvb2wgd2lsbE5h
dmlnYXRlLCBXZWJCYWNrRm9yd2FyZExpc3RJdGVtJikgb3ZlcnJpZGU7CisKICAgICBOU1ZpZXcg
KmFjdGl2ZVZpZXcoKSBjb25zdDsKIAogICAgIFdLVmlldyAqbV93a1ZpZXc7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW0JKHJldmlzaW9u
IDE3MTAyMCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2lmIFBMQVRGT1JNKE1BQykK
IAotI2ltcG9ydCAiX1dLRG93bmxvYWRJbnRlcm5hbC5oIgogI2ltcG9ydCAiQXR0cmlidXRlZFN0
cmluZy5oIgogI2ltcG9ydCAiQ29sb3JTcGFjZURhdGEuaCIKICNpbXBvcnQgIkRhdGFSZWZlcmVu
Y2UuaCIKQEAgLTM3LDE3ICszNiwyMCBAQAogI2ltcG9ydCAiRmluZEluZGljYXRvci5oIgogI2lt
cG9ydCAiTmF0aXZlV2ViS2V5Ym9hcmRFdmVudC5oIgogI2ltcG9ydCAiTmF0aXZlV2ViV2hlZWxF
dmVudC5oIgorI2ltcG9ydCAiTmF2aWdhdGlvblN0YXRlLmgiCiAjaW1wb3J0ICJTdHJpbmdVdGls
aXRpZXMuaCIKICNpbXBvcnQgIlZpZXdTbmFwc2hvdFN0b3JlLmgiCiAjaW1wb3J0ICJXS0FQSUNh
c3QuaCIKICNpbXBvcnQgIldLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIuaCIKICNpbXBvcnQg
IldLU3RyaW5nQ0YuaCIKICNpbXBvcnQgIldLVmlld0ludGVybmFsLmgiCisjaW1wb3J0ICJXS1dl
YlZpZXdJbnRlcm5hbC5oIgogI2ltcG9ydCAiV2ViQ29sb3JQaWNrZXJNYWMuaCIKICNpbXBvcnQg
IldlYkNvbnRleHRNZW51UHJveHlNYWMuaCIKICNpbXBvcnQgIldlYkVkaXRDb21tYW5kUHJveHku
aCIKICNpbXBvcnQgIldlYlBvcHVwTWVudVByb3h5TWFjLmgiCiAjaW1wb3J0ICJXaW5kb3dTZXJ2
ZXJDb25uZWN0aW9uLmgiCisjaW1wb3J0ICJfV0tEb3dubG9hZEludGVybmFsLmgiCiAjaW1wb3J0
ICJfV0tUaHVtYm5haWxWaWV3LmgiCiAjaW1wb3J0IDxXZWJDb3JlL0FsdGVybmF0aXZlVGV4dFVJ
Q29udHJvbGxlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9CaXRtYXBJbWFnZS5oPgpAQCAtNjg1LDYg
KzY4NywyMSBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpiZWdhbkV4aXRGdWxsU2NyZWVuCiAKICNl
bmRpZiAvLyBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiAKK3ZvaWQgUGFnZUNsaWVudEltcGw6Om5h
dmlnYXRpb25HZXN0dXJlRGlkQmVnaW4oKQoreworICAgIE5hdmlnYXRpb25TdGF0ZTo6ZnJvbVdl
YlBhZ2UoKm1fd2ViVmlldy0+X3BhZ2UpLm5hdmlnYXRpb25HZXN0dXJlRGlkQmVnaW4oKTsKK30K
Kwordm9pZCBQYWdlQ2xpZW50SW1wbDo6bmF2aWdhdGlvbkdlc3R1cmVXaWxsRW5kKGJvb2wgd2ls
bE5hdmlnYXRlLCBXZWJCYWNrRm9yd2FyZExpc3RJdGVtJiBpdGVtKQoreworICAgIE5hdmlnYXRp
b25TdGF0ZTo6ZnJvbVdlYlBhZ2UoKm1fd2ViVmlldy0+X3BhZ2UpLm5hdmlnYXRpb25HZXN0dXJl
V2lsbEVuZCh3aWxsTmF2aWdhdGUsIGl0ZW0pOworfQorCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpu
YXZpZ2F0aW9uR2VzdHVyZURpZEVuZChib29sIHdpbGxOYXZpZ2F0ZSwgV2ViQmFja0ZvcndhcmRM
aXN0SXRlbSYgaXRlbSkKK3sKKyAgICBOYXZpZ2F0aW9uU3RhdGU6OmZyb21XZWJQYWdlKCptX3dl
YlZpZXctPl9wYWdlKS5uYXZpZ2F0aW9uR2VzdHVyZURpZEVuZCh3aWxsTmF2aWdhdGUsIGl0ZW0p
OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvVmlld0dlc3R1cmVDb250cm9sbGVy
TWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvVmlld0dl
c3R1cmVDb250cm9sbGVyTWFjLm1tCShyZXZpc2lvbiAxNzEwMjApCisrKyBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlck1hYy5tbQkod29ya2luZyBjb3B5
KQpAQCAtNDk2LDYgKzQ5Niw4IEBAIHZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpiZWdpblN3
aXBlR2UKIHsKICAgICBBU1NFUlQobV9jdXJyZW50U3dpcGVMaXZlTGF5ZXJzLmlzRW1wdHkoKSk7
CiAKKyAgICBtX3dlYlBhZ2VQcm94eS5uYXZpZ2F0aW9uR2VzdHVyZURpZEJlZ2luKCk7CisKICAg
ICBtX2FjdGl2ZUdlc3R1cmVUeXBlID0gVmlld0dlc3R1cmVUeXBlOjpTd2lwZTsKIAogICAgIENB
TGF5ZXIgKnJvb3RDb250ZW50TGF5ZXIgPSBtX3dlYlBhZ2VQcm94eS5hY2NlbGVyYXRlZENvbXBv
c2l0aW5nUm9vdExheWVyKCk7CkBAIC02MjYsNiArNjI4LDcgQEAgdm9pZCBWaWV3R2VzdHVyZUNv
bnRyb2xsZXI6OmVuZFN3aXBlR2VzdAogCiAgICAgaWYgKGNhbmNlbGxlZCkgewogICAgICAgICBy
ZW1vdmVTd2lwZVNuYXBzaG90KCk7CisgICAgICAgIG1fd2ViUGFnZVByb3h5Lm5hdmlnYXRpb25H
ZXN0dXJlRGlkRW5kKGZhbHNlLCAqdGFyZ2V0SXRlbSk7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKQEAgLTYzOSw2ICs2NDIsNyBAQCB2b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6ZW5kU3dp
cGVHZXN0CiAgICAgLy8gbGlrZSB3ZSBub3JtYWxseSB3b3VsZCB3aGVuIGdvaW5nIGJhY2sgb3Ig
Zm9yd2FyZCwgYmVjYXVzZSB3ZSBhcmUKICAgICAvLyBkaXNwbGF5aW5nIHRoZSBkZXN0aW5hdGlv
biBpdGVtJ3Mgc25hcHNob3QuCiAgICAgVmlld1NuYXBzaG90U3RvcmU6OnNoYXJlZCgpLmRpc2Fi
bGVTbmFwc2hvdHRpbmcoKTsKKyAgICBtX3dlYlBhZ2VQcm94eS5uYXZpZ2F0aW9uR2VzdHVyZURp
ZEVuZCh0cnVlLCAqdGFyZ2V0SXRlbSk7CiAgICAgbV93ZWJQYWdlUHJveHkuZ29Ub0JhY2tGb3J3
YXJkSXRlbSh0YXJnZXRJdGVtKTsKICAgICBWaWV3U25hcHNob3RTdG9yZTo6c2hhcmVkKCkuZW5h
YmxlU25hcHNob3R0aW5nKCk7CiAKQEAgLTY4NSw2ICs2ODksOCBAQCB2b2lkIFZpZXdHZXN0dXJl
Q29udHJvbGxlcjo6cmVtb3ZlU3dpcGVTCiAgICAgbV9jdXJyZW50U3dpcGVMaXZlTGF5ZXJzLmNs
ZWFyKCk7CiAKICAgICBtX2FjdGl2ZUdlc3R1cmVUeXBlID0gVmlld0dlc3R1cmVUeXBlOjpOb25l
OworCisgICAgbV93ZWJQYWdlUHJveHkubmF2aWdhdGlvbkdlc3R1cmVTbmFwc2hvdFdhc1JlbW92
ZWQoKTsKIH0KIAogdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmVuZEFjdGl2ZUdlc3R1cmUo
KQo=
</data>
<flag name="review"
          id="259336"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>