<?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>107345</bug_id>
          
          <creation_ts>2013-01-18 17:37:34 -0800</creation_ts>
          <short_desc>WebSpeech: Support pause/resume ability</short_desc>
          <delta_ts>2013-02-27 12:16:43 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</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>
          
          <blocked>106742</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="chris fleizach">cfleizach</reporter>
          <assigned_to name="chris fleizach">cfleizach</assigned_to>
          <cc>abarth</cc>
    
    <cc>bdakin</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>811201</commentid>
    <comment_count>0</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-01-18 17:37:34 -0800</bug_when>
    <thetext>We need to support the ability to pause/resume and query whether speech is paused

https://dvcs.w3.org/hg/speech-api/raw-file/9a0075d25326/speechapi.html#tts-section</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>831267</commentid>
    <comment_count>1</comment_count>
      <attachid>187936</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-02-12 14:33:43 -0800</bug_when>
    <thetext>Created attachment 187936
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>835066</commentid>
    <comment_count>2</comment_count>
      <attachid>188784</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-02-17 17:58:12 -0800</bug_when>
    <thetext>Created attachment 188784
patch

patch now accounts for mock speech synthesizer when perform its test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>835971</commentid>
    <comment_count>3</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-02-18 22:35:55 -0800</bug_when>
    <thetext>adam how does this patch look? 

now that the architecture changes are out of the way, completion of this feature should proceed pretty quickly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836561</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-02-19 11:04:23 -0800</bug_when>
    <thetext>@chris: I&apos;d prefer is someone else reviewed patches that involve the details of the Mac OS X speech API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836562</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-02-19 11:04:30 -0800</bug_when>
    <thetext>s/is/if/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843365</commentid>
    <comment_count>6</comment_count>
      <attachid>188784</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-27 12:16:40 -0800</bug_when>
    <thetext>Comment on attachment 188784
patch

Clearing flags on attachment: 188784

Committed r144220: &lt;http://trac.webkit.org/changeset/144220&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843366</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-27 12:16:43 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187936</attachid>
            <date>2013-02-12 14:33:43 -0800</date>
            <delta_ts>2013-02-17 17:58:12 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>12116</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0MjY3MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBACisyMDEzLTAyLTEyICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViU3BlZWNoOiBTdXBw
b3J0IHBhdXNlL3Jlc3VtZSBhYmlsaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDczNDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgaW4gdGhlIHBhdXNlL3Jlc3VtZSBmdW5jdGlvbmFsaXR5IHRv
IFNwZWVjaFN5bnRoZXNpcy4gQWxzbyBob29rIHVwCisgICAgICAgIHRoZSBjYWxsYmFjayBldmVu
dHMuCisKKyAgICAgICAgVGVzdDogcGxhdGZvcm0vbWFjL2Zhc3Qvc3BlZWNoc3ludGhlc2lzL3Nw
ZWVjaC1zeW50aGVzaXMtcGF1c2UtcmVzdW1lLmh0bWwKKworICAgICAgICAqIE1vZHVsZXMvc3Bl
ZWNoL1NwZWVjaFN5bnRoZXNpcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTcGVlY2hTeW50aGVz
aXM6OlNwZWVjaFN5bnRoZXNpcyk6CisgICAgICAgIChXZWJDb3JlOjpTcGVlY2hTeW50aGVzaXM6
OnBlbmRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNoU3ludGhlc2lzOjpwYXVzZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6U3BlZWNoU3ludGhlc2lzOjpzdGFydFNwZWFraW5nSW1tZWRpYXRl
bHkpOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNoU3ludGhlc2lzOjpwYXVzZSk6CisgICAgICAg
IChXZWJDb3JlOjpTcGVlY2hTeW50aGVzaXM6OnJlc3VtZSk6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFdlYkNvcmU6OlNwZWVjaFN5bnRoZXNpczo6ZGlkUGF1c2VTcGVha2luZyk6Cisg
ICAgICAgIChXZWJDb3JlOjpTcGVlY2hTeW50aGVzaXM6OmRpZFJlc3VtZVNwZWFraW5nKToKKyAg
ICAgICAgKiBNb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXMuaDoKKyAgICAgICAgKFNwZWVj
aFN5bnRoZXNpcyk6CisgICAgICAgICogcGxhdGZvcm0vUGxhdGZvcm1TcGVlY2hTeW50aGVzaXpl
ci5oOgorICAgICAgICAoUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplckNsaWVudCk6CisgICAgICAg
IChQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGxh
dGZvcm1TcGVlY2hTeW50aGVzaXplck1hYy5tbToKKyAgICAgICAgKC1bV2ViU3BlZWNoU3ludGhl
c2lzV3JhcHBlciBzcGVha1V0dGVyYW5jZTpXZWJDb3JlOjpdKToKKyAgICAgICAgKC1bV2ViU3Bl
ZWNoU3ludGhlc2lzV3JhcHBlciBwYXVzZV0pOgorICAgICAgICAoLVtXZWJTcGVlY2hTeW50aGVz
aXNXcmFwcGVyIHJlc3VtZV0pOgorICAgICAgICAoLVtXZWJTcGVlY2hTeW50aGVzaXNXcmFwcGVy
IHNwZWVjaFN5bnRoZXNpemVyOmRpZEZpbmlzaFNwZWFraW5nOl0pOgorICAgICAgICAoV2ViQ29y
ZTo6UGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcjo6cGF1c2UpOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyOjpyZXN1bWUpOgor
CiAyMDEzLTAyLTEyICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCBidWlsZGZpeCBmb3IgIUVOQUJMRShJTlNQRUNUT1IpIHBsYXRmb3Jt
cyBhZnRlciByMTQyNjU0LgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1T
cGVlY2hTeW50aGVzaXplci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXIuaAkocmV2aXNpb24gMTQyNDkzKQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplci5oCSh3b3JraW5nIGNv
cHkpCkBAIC00NCw2ICs0NCw4IEBACiBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZFN0YXJ0
U3BlYWtpbmcoY29uc3QgUGxhdGZvcm1TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UqKSA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaFNwZWFraW5nKGNvbnN0IFBsYXRmb3JtU3BlZWNoU3lu
dGhlc2lzVXR0ZXJhbmNlKikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkaWRQYXVzZVNwZWFraW5n
KGNvbnN0IFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlKikgPSAwOworICAgIHZpcnR1
YWwgdm9pZCBkaWRSZXN1bWVTcGVha2luZyhjb25zdCBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0
dGVyYW5jZSopID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc3BlYWtpbmdFcnJvck9jY3VycmVkKGNv
bnN0IFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlKikgPSAwOwogICAgIAogICAgIHZp
cnR1YWwgdm9pZCB2b2ljZXNEaWRDaGFuZ2UoKSA9IDA7CkBAIC01Nyw3ICs1OSw5IEBACiAgICAg
CiAgICAgY29uc3QgVmVjdG9yPFJlZlB0cjxQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1ZvaWNlPiA+
JiB2b2ljZUxpc3QoKSBjb25zdCB7IHJldHVybiBtX3ZvaWNlTGlzdDsgfQogICAgIHZvaWQgc3Bl
YWsoY29uc3QgUGxhdGZvcm1TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UmKTsKLSAgICAKKyAgICB2
b2lkIHBhdXNlKCk7CisgICAgdm9pZCByZXN1bWUoKTsKKwogICAgIFBsYXRmb3JtU3BlZWNoU3lu
dGhlc2l6ZXJDbGllbnQqIGNsaWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fc3BlZWNoU3ludGhlc2l6
ZXJDbGllbnQ7IH0KICAgICAKIHByaXZhdGU6CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1hYy5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1hYy5tbQko
cmV2aXNpb24gMTQyNDkzKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXRmb3Jt
U3BlZWNoU3ludGhlc2l6ZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTk4LDEyICs5OCwxOCBA
QAogICAgICAgICB9CiAgICAgfQogICAgIAorICAgIE5TU3RyaW5nICp2b2ljZVVSSSA9IG5pbDsK
ICAgICBpZiAodXR0ZXJhbmNlVm9pY2VCeVVSSSkKLSAgICAgICAgW21fc3ludGhlc2l6ZXIgc2V0
Vm9pY2U6dXR0ZXJhbmNlVm9pY2VCeVVSSS0+dm9pY2VVUkkoKV07CisgICAgICAgIHZvaWNlVVJJ
ID0gdXR0ZXJhbmNlVm9pY2VCeVVSSS0+dm9pY2VVUkkoKTsKICAgICBlbHNlIGlmICh1dHRlcmFu
Y2VWb2ljZUJ5TGFuZ3VhZ2UpCi0gICAgICAgIFttX3N5bnRoZXNpemVyIHNldFZvaWNlOnV0dGVy
YW5jZVZvaWNlQnlMYW5ndWFnZS0+dm9pY2VVUkkoKV07CisgICAgICAgIHZvaWNlVVJJID0gdXR0
ZXJhbmNlVm9pY2VCeUxhbmd1YWdlLT52b2ljZVVSSSgpOwogICAgIGVsc2UKLSAgICAgICAgW21f
c3ludGhlc2l6ZXIgc2V0Vm9pY2U6W05TU3BlZWNoU3ludGhlc2l6ZXIgZGVmYXVsdFZvaWNlXV07
CisgICAgICAgIHZvaWNlVVJJID0gW05TU3BlZWNoU3ludGhlc2l6ZXIgZGVmYXVsdFZvaWNlXTsK
KworICAgIC8vIERvbid0IHNldCB0aGUgdm9pY2UgdW5sZXNzIG5lY2Vzc2FyeS4gVGhlcmUncyBh
IGJ1ZyBpbiBOU1NwZWVjaFN5bnRoZXNpemVyIHN1Y2ggdGhhdAorICAgIC8vIHNldHRpbmcgdGhl
IHZvaWNlIGZvciB0aGUgZmlyc3QgdGltZSB3aWxsIGNhdXNlIHRoZSBmaXJzdCBzcGVlY2hEb25l
IGNhbGxiYWNrIHRvIHJlcG9ydCBpdCB3YXMgdW5zdWNjZXNzZnVsLgorICAgIGlmICghW1ttX3N5
bnRoZXNpemVyIHZvaWNlXSBpc0VxdWFsVG9TdHJpbmc6dm9pY2VVUkldKQorICAgICAgICBbbV9z
eW50aGVzaXplciBzZXRWb2ljZTp2b2ljZVVSSV07CiAgICAgCiAgICAgW21fc3ludGhlc2l6ZXIg
c2V0UmF0ZTpbc2VsZiBjb252ZXJ0UmF0ZVRvV1BNOnV0dGVyYW5jZS0+cmF0ZSgpXV07CiAgICAg
W21fc3ludGhlc2l6ZXIgc2V0Vm9sdW1lOnV0dGVyYW5jZS0+dm9sdW1lKCldOwpAQCAtMTEzLDgg
KzExOSwyNyBAQAogICAgIG1fc3ludGhlc2l6ZXJPYmplY3QtPmNsaWVudCgpLT5kaWRTdGFydFNw
ZWFraW5nKHV0dGVyYW5jZSk7CiB9CiAKKy0gKHZvaWQpcGF1c2UKK3sKKyAgICBpZiAoIW1fdXR0
ZXJhbmNlKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgW21fc3ludGhlc2l6ZXIgcGF1c2VT
cGVha2luZ0F0Qm91bmRhcnk6TlNTcGVlY2hJbW1lZGlhdGVCb3VuZGFyeV07CisgICAgbV9zeW50
aGVzaXplck9iamVjdC0+Y2xpZW50KCktPmRpZFBhdXNlU3BlYWtpbmcobV91dHRlcmFuY2UpOwor
fQorCistICh2b2lkKXJlc3VtZQoreworICAgIGlmICghbV91dHRlcmFuY2UpCisgICAgICAgIHJl
dHVybjsKKyAgICAKKyAgICBbbV9zeW50aGVzaXplciBjb250aW51ZVNwZWFraW5nXTsKKyAgICBt
X3N5bnRoZXNpemVyT2JqZWN0LT5jbGllbnQoKS0+ZGlkUmVzdW1lU3BlYWtpbmcobV91dHRlcmFu
Y2UpOworfQorCiAtICh2b2lkKXNwZWVjaFN5bnRoZXNpemVyOihOU1NwZWVjaFN5bnRoZXNpemVy
ICopc2VuZGVyIGRpZEZpbmlzaFNwZWFraW5nOihCT09MKWZpbmlzaGVkU3BlYWtpbmcKIHsKKyAg
ICBBU1NFUlQobV91dHRlcmFuY2UpOwogICAgIFVOVVNFRF9QQVJBTShzZW5kZXIpOwogICAgIAog
ICAgIC8vIENsZWFyIHRoZSBtX3V0dGVyYW5jZSB2YXJpYWJsZSBpbiBjYXNlIGZpbmlzaCBzcGVh
a2luZyBraWNrcyBvZmYgYSBuZXcgc3BlYWtpbmcgam9iIGltbWVkaWF0ZWx5LgpAQCAtMTUzLDYg
KzE3OCwxNiBAQAogICAgIH0KIH0KICAgICAKK3ZvaWQgUGxhdGZvcm1TcGVlY2hTeW50aGVzaXpl
cjo6cGF1c2UoKQoreworICAgIFttX3BsYXRmb3JtU3BlZWNoV3JhcHBlci5nZXQoKSBwYXVzZV07
Cit9CisKK3ZvaWQgUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcjo6cmVzdW1lKCkKK3sKKyAgICBb
bV9wbGF0Zm9ybVNwZWVjaFdyYXBwZXIuZ2V0KCkgcmVzdW1lXTsKK30KKyAgICAKIHZvaWQgUGxh
dGZvcm1TcGVlY2hTeW50aGVzaXplcjo6c3BlYWsoY29uc3QgUGxhdGZvcm1TcGVlY2hTeW50aGVz
aXNVdHRlcmFuY2UmIHV0dGVyYW5jZSkKIHsKICAgICBpZiAoIW1fcGxhdGZvcm1TcGVlY2hXcmFw
cGVyKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hT
eW50aGVzaXMuY3BwCShyZXZpc2lvbiAxNDI0OTMpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3NwZWVjaC9TcGVlY2hTeW50aGVzaXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NCw2ICs0NCw3
IEBACiBTcGVlY2hTeW50aGVzaXM6OlNwZWVjaFN5bnRoZXNpcygpCiAgICAgOiBtX3BsYXRmb3Jt
U3BlZWNoU3ludGhlc2l6ZXIoUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcih0aGlzKSkKICAgICAs
IG1fY3VycmVudFNwZWVjaFV0dGVyYW5jZSgwKQorICAgICwgbV9pc1BhdXNlZChmYWxzZSkKIHsK
IH0KICAgICAKQEAgLTc1LDEyICs3NiwxNCBAQAogCiBib29sIFNwZWVjaFN5bnRoZXNpczo6cGVu
ZGluZygpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIC8vIFRoaXMgaXMgdHJ1ZSBp
ZiB0aGVyZSBhcmUgYW55IHV0dGVyYW5jZXMgdGhhdCBoYXZlIG5vdCBzdGFydGVkLgorICAgIC8v
IFRoYXQgbWVhbnMgdGhlcmUgd2lsbCBiZSBtb3JlIHRoYW4gb25lIGluIHRoZSBxdWV1ZS4KKyAg
ICByZXR1cm4gbV91dHRlcmFuY2VRdWV1ZS5zaXplKCkgPiAxOwogfQogCiBib29sIFNwZWVjaFN5
bnRoZXNpczo6cGF1c2VkKCkgY29uc3QKIHsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJu
IG1faXNQYXVzZWQ7CiB9CiAKIHZvaWQgU3BlZWNoU3ludGhlc2lzOjpzdGFydFNwZWFraW5nSW1t
ZWRpYXRlbHkoU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlKiB1dHRlcmFuY2UpCkBAIC04OCw2ICs5
MSw3IEBACiAgICAgQVNTRVJUKCFtX2N1cnJlbnRTcGVlY2hVdHRlcmFuY2UpOwogICAgIHV0dGVy
YW5jZS0+c2V0U3RhcnRUaW1lKG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpKTsKICAgICBt
X2N1cnJlbnRTcGVlY2hVdHRlcmFuY2UgPSB1dHRlcmFuY2U7CisgICAgbV9pc1BhdXNlZCA9IGZh
bHNlOwogICAgIG1fcGxhdGZvcm1TcGVlY2hTeW50aGVzaXplci5zcGVhayh1dHRlcmFuY2UtPnBs
YXRmb3JtVXR0ZXJhbmNlKCkpOwogfQogCkBAIC0xMDYsMTAgKzExMCwxMyBAQAogCiB2b2lkIFNw
ZWVjaFN5bnRoZXNpczo6cGF1c2UoKQogeworICAgIGlmICghbV9pc1BhdXNlZCkKKyAgICAgICAg
bV9wbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyLnBhdXNlKCk7CiB9CiAKIHZvaWQgU3BlZWNoU3lu
dGhlc2lzOjpyZXN1bWUoKQogeworICAgIG1fcGxhdGZvcm1TcGVlY2hTeW50aGVzaXplci5yZXN1
bWUoKTsKIH0KIAogdm9pZCBTcGVlY2hTeW50aGVzaXM6OmZpcmVFdmVudChjb25zdCBBdG9taWNT
dHJpbmcmIHR5cGUsIFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSogdXR0ZXJhbmNlLCB1bnNpZ25l
ZCBsb25nIGNoYXJJbmRleCwgY29uc3QgU3RyaW5nJiBuYW1lKQpAQCAtMTM5LDcgKzE0NiwxOSBA
QAogewogICAgIGZpcmVFdmVudChldmVudE5hbWVzKCkuc3RhcnRFdmVudCwgc3RhdGljX2Nhc3Q8
U3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlKj4odXR0ZXJhbmNlLT5jbGllbnQoKSksIDAsIFN0cmlu
ZygpKTsKIH0KKyAgICAKK3ZvaWQgU3BlZWNoU3ludGhlc2lzOjpkaWRQYXVzZVNwZWFraW5nKGNv
bnN0IFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlKiB1dHRlcmFuY2UpCit7CisgICAg
bV9pc1BhdXNlZCA9IHRydWU7CisgICAgZmlyZUV2ZW50KGV2ZW50TmFtZXMoKS5wYXVzZUV2ZW50
LCBzdGF0aWNfY2FzdDxTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UqPih1dHRlcmFuY2UtPmNsaWVu
dCgpKSwgMCwgU3RyaW5nKCkpOworfQogCit2b2lkIFNwZWVjaFN5bnRoZXNpczo6ZGlkUmVzdW1l
U3BlYWtpbmcoY29uc3QgUGxhdGZvcm1TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UqIHV0dGVyYW5j
ZSkKK3sKKyAgICBtX2lzUGF1c2VkID0gZmFsc2U7CisgICAgZmlyZUV2ZW50KGV2ZW50TmFtZXMo
KS5yZXN1bWVFdmVudCwgc3RhdGljX2Nhc3Q8U3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlKj4odXR0
ZXJhbmNlLT5jbGllbnQoKSksIDAsIFN0cmluZygpKTsKK30KKwogdm9pZCBTcGVlY2hTeW50aGVz
aXM6OmRpZEZpbmlzaFNwZWFraW5nKGNvbnN0IFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVXR0ZXJh
bmNlKiB1dHRlcmFuY2UpCiB7CiAgICAgaGFuZGxlU3BlYWtpbmdDb21wbGV0ZWQoc3RhdGljX2Nh
c3Q8U3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlKj4odXR0ZXJhbmNlLT5jbGllbnQoKSksIGZhbHNl
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpcy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRo
ZXNpcy5oCShyZXZpc2lvbiAxNDI0OTMpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVj
aC9TcGVlY2hTeW50aGVzaXMuaAkod29ya2luZyBjb3B5KQpAQCAtNjMsNiArNjMsOCBAQAogICAg
IC8vIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJDbGllbnQgb3ZlcnJpZGUgbWV0aG9kcy4KICAg
ICB2aXJ0dWFsIHZvaWQgdm9pY2VzRGlkQ2hhbmdlKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2
b2lkIGRpZFN0YXJ0U3BlYWtpbmcoY29uc3QgUGxhdGZvcm1TcGVlY2hTeW50aGVzaXNVdHRlcmFu
Y2UqKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUGF1c2VTcGVha2luZyhjb25zdCBQ
bGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSopIE9WRVJSSURFOworICAgIHZpcnR1YWwg
dm9pZCBkaWRSZXN1bWVTcGVha2luZyhjb25zdCBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVy
YW5jZSopIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hTcGVha2luZyhjb25z
dCBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSopIE9WRVJSSURFOwogICAgIHZpcnR1
YWwgdm9pZCBzcGVha2luZ0Vycm9yT2NjdXJyZWQoY29uc3QgUGxhdGZvcm1TcGVlY2hTeW50aGVz
aXNVdHRlcmFuY2UqKSBPVkVSUklERTsKIApAQCAtNzQsNyArNzYsNyBAQAogICAgIFZlY3RvcjxS
ZWZQdHI8U3BlZWNoU3ludGhlc2lzVm9pY2U+ID4gbV92b2ljZUxpc3Q7CiAgICAgU3BlZWNoU3lu
dGhlc2lzVXR0ZXJhbmNlKiBtX2N1cnJlbnRTcGVlY2hVdHRlcmFuY2U7CiAgICAgRGVxdWU8UmVm
UHRyPFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZT4gPiBtX3V0dGVyYW5jZVF1ZXVlOwotCisgICAg
Ym9vbCBtX2lzUGF1c2VkOwogfTsKICAgICAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6
IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDE0MjY3MikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDEzLTAyLTEyICBDaHJpcyBGbGVpemFjaCAgPGNmbGVp
emFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViU3BlZWNoOiBTdXBwb3J0IHBhdXNlL3Jlc3Vt
ZSBhYmlsaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDczNDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIHBsYXRmb3JtL21hYy9mYXN0L3NwZWVjaHN5bnRoZXNpcy9zcGVlY2gtc3ludGhlc2lzLXBh
dXNlLXJlc3VtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9m
YXN0L3NwZWVjaHN5bnRoZXNpcy9zcGVlY2gtc3ludGhlc2lzLXBhdXNlLXJlc3VtZS5odG1sOiBB
ZGRlZC4KKwogMjAxMy0wMi0xMiAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgUkVHUkVTU0lPTihyMTM2OTY3KTogQ29tYmluYXRpb24gb2YgZmxvYXQgYW5kIGNs
ZWFyIHlpZWxkcyB0byBiYWQgbGF5b3V0CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9zcGVlY2hzeW50aGVzaXMvc3BlZWNoLXN5bnRoZXNpcy1wYXVzZS1yZXN1bWUtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3NwZWVj
aHN5bnRoZXNpcy9zcGVlY2gtc3ludGhlc2lzLXBhdXNlLXJlc3VtZS1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9zcGVlY2hzeW50aGVz
aXMvc3BlZWNoLXN5bnRoZXNpcy1wYXVzZS1yZXN1bWUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDE4IEBACitUaGlzIHRlc3RzIHRoYXQgcGF1c2luZy9yZXN1bWluZyBzcGVl
Y2ggam9icyB3b3JrcyBhcyBleHBlY3RlZC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK09uIHBhdXNlIGV2ZW50IHJlY2VpdmVkLgorUEFTUyBzcGVlY2hTeW50aGVzaXMucGF1c2Vk
IGlzIHRydWUKK1BBU1Mgc3BlZWNoU3ludGhlc2lzLnNwZWFraW5nIGlzIHRydWUKK09uIHJlc3Vt
ZSBldmVudCByZWNlaXZlZC4KK1BBU1Mgc3BlZWNoU3ludGhlc2lzLnBhdXNlZCBpcyBmYWxzZQor
UEFTUyBzcGVlY2hTeW50aGVzaXMuc3BlYWtpbmcgaXMgdHJ1ZQorT24gZW5kIGV2ZW50IHJlY2Vp
dmVkLgorUEFTUyBzcGVlY2hTeW50aGVzaXMucGF1c2VkIGlzIGZhbHNlCitQQVNTIHNwZWVjaFN5
bnRoZXNpcy5zcGVha2luZyBpcyBmYWxzZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L3NwZWVjaHN5bnRoZXNpcy9zcGVlY2gtc3ludGhlc2lzLXBhdXNlLXJlc3VtZS5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3NwZWVjaHN5bnRoZXNpcy9z
cGVlY2gtc3ludGhlc2lzLXBhdXNlLXJlc3VtZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvc3BlZWNoc3ludGhlc2lzL3NwZWVjaC1zeW50aGVzaXMt
cGF1c2UtcmVzdW1lLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTEgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgaWQ9ImJvZHkiPgorCis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKworPHNjcmlwdD4KKworICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQg
cGF1c2luZy9yZXN1bWluZyBzcGVlY2ggam9icyB3b3JrcyBhcyBleHBlY3RlZC4iKTsKKworICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7CisKKyAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICB2YXIgdSA9IG5l
dyBTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UoInRoaXMgaXMgYSB0ZXN0Iik7CisKKyAgICAvLyBW
ZXJpZnkgdGhhdCBjYWxsYmFja3MgYW5kIHN0YXRlIGFyZSBjb3JyZWN0IGZvciBwYXVzZWQgYW5k
IHNwZWFraW5nIHN0YXRlcy4KKyAgICB1Lm9ucGF1c2UgPSBmdW5jdGlvbihldmVudCkgeworICAg
ICAgIGRlYnVnKCJPbiBwYXVzZSBldmVudCByZWNlaXZlZC4iKTsKKyAgICAgICBzaG91bGRCZVRy
dWUoInNwZWVjaFN5bnRoZXNpcy5wYXVzZWQiKTsKKyAgICAgICBzaG91bGRCZVRydWUoInNwZWVj
aFN5bnRoZXNpcy5zcGVha2luZyIpOworICAgIH0KKworICAgIHUub25yZXN1bWUgID0gZnVuY3Rp
b24oZXZlbnQpIHsKKyAgICAgICBkZWJ1ZygiT24gcmVzdW1lIGV2ZW50IHJlY2VpdmVkLiIpOwor
ICAgICAgIHNob3VsZEJlRmFsc2UoInNwZWVjaFN5bnRoZXNpcy5wYXVzZWQiKTsKKyAgICAgICBz
aG91bGRCZVRydWUoInNwZWVjaFN5bnRoZXNpcy5zcGVha2luZyIpOworICAgIH0KKyAKKyAgICB1
Lm9uZW5kID0gZnVuY3Rpb24oZXZlbnQpIHsKKyAgICAgICBkZWJ1ZygiT24gZW5kIGV2ZW50IHJl
Y2VpdmVkLiIpOworICAgICAgIHNob3VsZEJlRmFsc2UoInNwZWVjaFN5bnRoZXNpcy5wYXVzZWQi
KTsKKyAgICAgICBzaG91bGRCZUZhbHNlKCJzcGVlY2hTeW50aGVzaXMuc3BlYWtpbmciKTsKKyAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9CisKKyAgICBzcGVlY2hTeW50aGVzaXMuc3BlYWso
dSk7CisKKyAgICAvLyBRdWlja2x5IHBhdXNlIGFuZCByZXN1bWUgdGhlIHNwZWVjaCBqb2IuCisg
ICAgc2V0VGltZW91dCgic3BlZWNoU3ludGhlc2lzLnBhdXNlKCkiLCAiMSIpOyAKKyAgICBzZXRU
aW1lb3V0KCJzcGVlY2hTeW50aGVzaXMucmVzdW1lKCkiLCAiMiIpOyAKKworPC9zY3JpcHQ+CisK
KzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188784</attachid>
            <date>2013-02-17 17:58:12 -0800</date>
            <delta_ts>2013-02-27 12:16:40 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>13752</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0MzEzNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBACisyMDEzLTAyLTE3ICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViU3BlZWNoOiBTdXBw
b3J0IHBhdXNlL3Jlc3VtZSBhYmlsaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDczNDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgaW4gdGhlIHBhdXNlL3Jlc3VtZSBmdW5jdGlvbmFsaXR5IHRv
IFNwZWVjaFN5bnRoZXNpcy4gQWxzbyBob29rIHVwCisgICAgICAgIHRoZSBjYWxsYmFjayBldmVu
dHMuCisKKyAgICAgICAgVGVzdDogcGxhdGZvcm0vbWFjL2Zhc3Qvc3BlZWNoc3ludGhlc2lzL3Nw
ZWVjaC1zeW50aGVzaXMtcGF1c2UtcmVzdW1lLmh0bWwKKworICAgICAgICAqIE1vZHVsZXMvc3Bl
ZWNoL1NwZWVjaFN5bnRoZXNpcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTcGVlY2hTeW50aGVz
aXM6OlNwZWVjaFN5bnRoZXNpcyk6CisgICAgICAgIChXZWJDb3JlOjpTcGVlY2hTeW50aGVzaXM6
OnBlbmRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNoU3ludGhlc2lzOjpwYXVzZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6U3BlZWNoU3ludGhlc2lzOjpzdGFydFNwZWFraW5nSW1tZWRpYXRl
bHkpOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNoU3ludGhlc2lzOjpwYXVzZSk6CisgICAgICAg
IChXZWJDb3JlOjpTcGVlY2hTeW50aGVzaXM6OnJlc3VtZSk6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFdlYkNvcmU6OlNwZWVjaFN5bnRoZXNpczo6ZGlkUGF1c2VTcGVha2luZyk6Cisg
ICAgICAgIChXZWJDb3JlOjpTcGVlY2hTeW50aGVzaXM6OmRpZFJlc3VtZVNwZWFraW5nKToKKyAg
ICAgICAgKiBNb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXMuaDoKKyAgICAgICAgKFNwZWVj
aFN5bnRoZXNpcyk6CisgICAgICAgICogcGxhdGZvcm0vUGxhdGZvcm1TcGVlY2hTeW50aGVzaXpl
ci5oOgorICAgICAgICAoUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplckNsaWVudCk6CisgICAgICAg
IChQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGxh
dGZvcm1TcGVlY2hTeW50aGVzaXplck1hYy5tbToKKyAgICAgICAgKC1bV2ViU3BlZWNoU3ludGhl
c2lzV3JhcHBlciBzcGVha1V0dGVyYW5jZTpXZWJDb3JlOjpdKToKKyAgICAgICAgKC1bV2ViU3Bl
ZWNoU3ludGhlc2lzV3JhcHBlciBwYXVzZV0pOgorICAgICAgICAoLVtXZWJTcGVlY2hTeW50aGVz
aXNXcmFwcGVyIHJlc3VtZV0pOgorICAgICAgICAoLVtXZWJTcGVlY2hTeW50aGVzaXNXcmFwcGVy
IHNwZWVjaFN5bnRoZXNpemVyOmRpZEZpbmlzaFNwZWFraW5nOl0pOgorICAgICAgICAoV2ViQ29y
ZTo6UGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcjo6cGF1c2UpOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyOjpyZXN1bWUpOgor
CiAyMDEzLTAyLTE3ICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSRUdSRVNTSU9OKHIxNDMxMjUpOiB+NSUgcGVyZm9ybWFuY2UgaGl0IG9uIENocm9taXVtJ3Mg
aW50bDIgcGFnZSBjeWNsZXIuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9T
cGVlY2hTeW50aGVzaXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
c3BlZWNoL1NwZWVjaFN5bnRoZXNpcy5jcHAJKHJldmlzaW9uIDE0MzEzNykKKysrIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpcy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQ0LDYgKzQ0LDcgQEAKIFNwZWVjaFN5bnRoZXNpczo6U3BlZWNoU3ludGhlc2lzKCkKICAg
ICA6IG1fcGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcihQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVy
OjpjcmVhdGUodGhpcykpCiAgICAgLCBtX2N1cnJlbnRTcGVlY2hVdHRlcmFuY2UoMCkKKyAgICAs
IG1faXNQYXVzZWQoZmFsc2UpCiB7CiB9CiAgICAgCkBAIC04MCwxMiArODEsMTQgQEAKIAogYm9v
bCBTcGVlY2hTeW50aGVzaXM6OnBlbmRpbmcoKSBjb25zdAogewotICAgIHJldHVybiBmYWxzZTsK
KyAgICAvLyBUaGlzIGlzIHRydWUgaWYgdGhlcmUgYXJlIGFueSB1dHRlcmFuY2VzIHRoYXQgaGF2
ZSBub3Qgc3RhcnRlZC4KKyAgICAvLyBUaGF0IG1lYW5zIHRoZXJlIHdpbGwgYmUgbW9yZSB0aGFu
IG9uZSBpbiB0aGUgcXVldWUuCisgICAgcmV0dXJuIG1fdXR0ZXJhbmNlUXVldWUuc2l6ZSgpID4g
MTsKIH0KIAogYm9vbCBTcGVlY2hTeW50aGVzaXM6OnBhdXNlZCgpIGNvbnN0CiB7Ci0gICAgcmV0
dXJuIGZhbHNlOworICAgIHJldHVybiBtX2lzUGF1c2VkOwogfQogCiB2b2lkIFNwZWVjaFN5bnRo
ZXNpczo6c3RhcnRTcGVha2luZ0ltbWVkaWF0ZWx5KFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSog
dXR0ZXJhbmNlKQpAQCAtOTMsNiArOTYsNyBAQAogICAgIEFTU0VSVCghbV9jdXJyZW50U3BlZWNo
VXR0ZXJhbmNlKTsKICAgICB1dHRlcmFuY2UtPnNldFN0YXJ0VGltZShtb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKSk7CiAgICAgbV9jdXJyZW50U3BlZWNoVXR0ZXJhbmNlID0gdXR0ZXJhbmNl
OworICAgIG1faXNQYXVzZWQgPSBmYWxzZTsKICAgICBtX3BsYXRmb3JtU3BlZWNoU3ludGhlc2l6
ZXItPnNwZWFrKHV0dGVyYW5jZS0+cGxhdGZvcm1VdHRlcmFuY2UoKSk7CiB9CiAKQEAgLTExMSwx
MCArMTE1LDEzIEBACiAKIHZvaWQgU3BlZWNoU3ludGhlc2lzOjpwYXVzZSgpCiB7CisgICAgaWYg
KCFtX2lzUGF1c2VkKQorICAgICAgICBtX3BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXItPnBhdXNl
KCk7CiB9CiAKIHZvaWQgU3BlZWNoU3ludGhlc2lzOjpyZXN1bWUoKQogeworICAgIG1fcGxhdGZv
cm1TcGVlY2hTeW50aGVzaXplci0+cmVzdW1lKCk7CiB9CiAKIHZvaWQgU3BlZWNoU3ludGhlc2lz
OjpmaXJlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBTcGVlY2hTeW50aGVzaXNVdHRl
cmFuY2UqIHV0dGVyYW5jZSwgdW5zaWduZWQgbG9uZyBjaGFySW5kZXgsIGNvbnN0IFN0cmluZyYg
bmFtZSkKQEAgLTE0NCw3ICsxNTEsMTkgQEAKIHsKICAgICBmaXJlRXZlbnQoZXZlbnROYW1lcygp
LnN0YXJ0RXZlbnQsIHN0YXRpY19jYXN0PFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSo+KHV0dGVy
YW5jZS0+Y2xpZW50KCkpLCAwLCBTdHJpbmcoKSk7CiB9CisgICAgCit2b2lkIFNwZWVjaFN5bnRo
ZXNpczo6ZGlkUGF1c2VTcGVha2luZyhjb25zdCBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVy
YW5jZSogdXR0ZXJhbmNlKQoreworICAgIG1faXNQYXVzZWQgPSB0cnVlOworICAgIGZpcmVFdmVu
dChldmVudE5hbWVzKCkucGF1c2VFdmVudCwgc3RhdGljX2Nhc3Q8U3BlZWNoU3ludGhlc2lzVXR0
ZXJhbmNlKj4odXR0ZXJhbmNlLT5jbGllbnQoKSksIDAsIFN0cmluZygpKTsKK30KIAordm9pZCBT
cGVlY2hTeW50aGVzaXM6OmRpZFJlc3VtZVNwZWFraW5nKGNvbnN0IFBsYXRmb3JtU3BlZWNoU3lu
dGhlc2lzVXR0ZXJhbmNlKiB1dHRlcmFuY2UpCit7CisgICAgbV9pc1BhdXNlZCA9IGZhbHNlOwor
ICAgIGZpcmVFdmVudChldmVudE5hbWVzKCkucmVzdW1lRXZlbnQsIHN0YXRpY19jYXN0PFNwZWVj
aFN5bnRoZXNpc1V0dGVyYW5jZSo+KHV0dGVyYW5jZS0+Y2xpZW50KCkpLCAwLCBTdHJpbmcoKSk7
Cit9CisKIHZvaWQgU3BlZWNoU3ludGhlc2lzOjpkaWRGaW5pc2hTcGVha2luZyhjb25zdCBQbGF0
Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSogdXR0ZXJhbmNlKQogewogICAgIGhhbmRsZVNw
ZWFraW5nQ29tcGxldGVkKHN0YXRpY19jYXN0PFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSo+KHV0
dGVyYW5jZS0+Y2xpZW50KCkpLCBmYWxzZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3NwZWVjaC9TcGVlY2hTeW50aGVzaXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXMuaAkocmV2aXNpb24gMTQzMTM3KQorKysgU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTY2LDYgKzY2LDggQEAKICAgICAvLyBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyQ2xp
ZW50IG92ZXJyaWRlIG1ldGhvZHMuCiAgICAgdmlydHVhbCB2b2lkIHZvaWNlc0RpZENoYW5nZSgp
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkaWRTdGFydFNwZWFraW5nKGNvbnN0IFBsYXRm
b3JtU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlKikgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lk
IGRpZFBhdXNlU3BlYWtpbmcoY29uc3QgUGxhdGZvcm1TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2Uq
KSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVzdW1lU3BlYWtpbmcoY29uc3QgUGxh
dGZvcm1TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UqKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZv
aWQgZGlkRmluaXNoU3BlYWtpbmcoY29uc3QgUGxhdGZvcm1TcGVlY2hTeW50aGVzaXNVdHRlcmFu
Y2UqKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc3BlYWtpbmdFcnJvck9jY3VycmVkKGNv
bnN0IFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlKikgT1ZFUlJJREU7CiAKQEAgLTc3
LDcgKzc5LDcgQEAKICAgICBWZWN0b3I8UmVmUHRyPFNwZWVjaFN5bnRoZXNpc1ZvaWNlPiA+IG1f
dm9pY2VMaXN0OwogICAgIFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSogbV9jdXJyZW50U3BlZWNo
VXR0ZXJhbmNlOwogICAgIERlcXVlPFJlZlB0cjxTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2U+ID4g
bV91dHRlcmFuY2VRdWV1ZTsKLQorICAgIGJvb2wgbV9pc1BhdXNlZDsKIH07CiAgICAgCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9y
bVNwZWVjaFN5bnRoZXNpemVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplci5oCShyZXZpc2lvbiAxNDMxMzcpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTQ1LDYgKzQ1LDggQEAKIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlkU3Rh
cnRTcGVha2luZyhjb25zdCBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSopID0gMDsK
ICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoU3BlYWtpbmcoY29uc3QgUGxhdGZvcm1TcGVlY2hT
eW50aGVzaXNVdHRlcmFuY2UqKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZFBhdXNlU3BlYWtp
bmcoY29uc3QgUGxhdGZvcm1TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UqKSA9IDA7CisgICAgdmly
dHVhbCB2b2lkIGRpZFJlc3VtZVNwZWFraW5nKGNvbnN0IFBsYXRmb3JtU3BlZWNoU3ludGhlc2lz
VXR0ZXJhbmNlKikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzcGVha2luZ0Vycm9yT2NjdXJyZWQo
Y29uc3QgUGxhdGZvcm1TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UqKSA9IDA7CiAgICAgCiAgICAg
dmlydHVhbCB2b2lkIHZvaWNlc0RpZENoYW5nZSgpID0gMDsKQEAgLTYwLDYgKzYyLDggQEAKICAg
ICAKICAgICBjb25zdCBWZWN0b3I8UmVmUHRyPFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVm9pY2U+
ID4mIHZvaWNlTGlzdCgpIGNvbnN0IHsgcmV0dXJuIG1fdm9pY2VMaXN0OyB9CiAgICAgdmlydHVh
bCB2b2lkIHNwZWFrKGNvbnN0IFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlJik7Cisg
ICAgdmlydHVhbCB2b2lkIHBhdXNlKCk7CisgICAgdmlydHVhbCB2b2lkIHJlc3VtZSgpOwogICAg
IAogICAgIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJDbGllbnQqIGNsaWVudCgpIGNvbnN0IHsg
cmV0dXJuIG1fc3BlZWNoU3ludGhlc2l6ZXJDbGllbnQ7IH0KICAgICAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTWFjLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybVNwZWVjaFN5bnRo
ZXNpemVyTWFjLm1tCShyZXZpc2lvbiAxNDMxMzcpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAt
OTgsMTIgKzk4LDE4IEBACiAgICAgICAgIH0KICAgICB9CiAgICAgCisgICAgTlNTdHJpbmcgKnZv
aWNlVVJJID0gbmlsOwogICAgIGlmICh1dHRlcmFuY2VWb2ljZUJ5VVJJKQotICAgICAgICBbbV9z
eW50aGVzaXplciBzZXRWb2ljZTp1dHRlcmFuY2VWb2ljZUJ5VVJJLT52b2ljZVVSSSgpXTsKKyAg
ICAgICAgdm9pY2VVUkkgPSB1dHRlcmFuY2VWb2ljZUJ5VVJJLT52b2ljZVVSSSgpOwogICAgIGVs
c2UgaWYgKHV0dGVyYW5jZVZvaWNlQnlMYW5ndWFnZSkKLSAgICAgICAgW21fc3ludGhlc2l6ZXIg
c2V0Vm9pY2U6dXR0ZXJhbmNlVm9pY2VCeUxhbmd1YWdlLT52b2ljZVVSSSgpXTsKKyAgICAgICAg
dm9pY2VVUkkgPSB1dHRlcmFuY2VWb2ljZUJ5TGFuZ3VhZ2UtPnZvaWNlVVJJKCk7CiAgICAgZWxz
ZQotICAgICAgICBbbV9zeW50aGVzaXplciBzZXRWb2ljZTpbTlNTcGVlY2hTeW50aGVzaXplciBk
ZWZhdWx0Vm9pY2VdXTsKKyAgICAgICAgdm9pY2VVUkkgPSBbTlNTcGVlY2hTeW50aGVzaXplciBk
ZWZhdWx0Vm9pY2VdOworCisgICAgLy8gRG9uJ3Qgc2V0IHRoZSB2b2ljZSB1bmxlc3MgbmVjZXNz
YXJ5LiBUaGVyZSdzIGEgYnVnIGluIE5TU3BlZWNoU3ludGhlc2l6ZXIgc3VjaCB0aGF0CisgICAg
Ly8gc2V0dGluZyB0aGUgdm9pY2UgZm9yIHRoZSBmaXJzdCB0aW1lIHdpbGwgY2F1c2UgdGhlIGZp
cnN0IHNwZWVjaERvbmUgY2FsbGJhY2sgdG8gcmVwb3J0IGl0IHdhcyB1bnN1Y2Nlc3NmdWwuCisg
ICAgaWYgKCFbW21fc3ludGhlc2l6ZXIgdm9pY2VdIGlzRXF1YWxUb1N0cmluZzp2b2ljZVVSSV0p
CisgICAgICAgIFttX3N5bnRoZXNpemVyIHNldFZvaWNlOnZvaWNlVVJJXTsKICAgICAKICAgICBb
bV9zeW50aGVzaXplciBzZXRSYXRlOltzZWxmIGNvbnZlcnRSYXRlVG9XUE06dXR0ZXJhbmNlLT5y
YXRlKCldXTsKICAgICBbbV9zeW50aGVzaXplciBzZXRWb2x1bWU6dXR0ZXJhbmNlLT52b2x1bWUo
KV07CkBAIC0xMTMsOCArMTE5LDI3IEBACiAgICAgbV9zeW50aGVzaXplck9iamVjdC0+Y2xpZW50
KCktPmRpZFN0YXJ0U3BlYWtpbmcodXR0ZXJhbmNlKTsKIH0KIAorLSAodm9pZClwYXVzZQorewor
ICAgIGlmICghbV91dHRlcmFuY2UpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBbbV9zeW50
aGVzaXplciBwYXVzZVNwZWFraW5nQXRCb3VuZGFyeTpOU1NwZWVjaEltbWVkaWF0ZUJvdW5kYXJ5
XTsKKyAgICBtX3N5bnRoZXNpemVyT2JqZWN0LT5jbGllbnQoKS0+ZGlkUGF1c2VTcGVha2luZyht
X3V0dGVyYW5jZSk7Cit9CisKKy0gKHZvaWQpcmVzdW1lCit7CisgICAgaWYgKCFtX3V0dGVyYW5j
ZSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIFttX3N5bnRoZXNpemVyIGNvbnRpbnVlU3Bl
YWtpbmddOworICAgIG1fc3ludGhlc2l6ZXJPYmplY3QtPmNsaWVudCgpLT5kaWRSZXN1bWVTcGVh
a2luZyhtX3V0dGVyYW5jZSk7Cit9CisKIC0gKHZvaWQpc3BlZWNoU3ludGhlc2l6ZXI6KE5TU3Bl
ZWNoU3ludGhlc2l6ZXIgKilzZW5kZXIgZGlkRmluaXNoU3BlYWtpbmc6KEJPT0wpZmluaXNoZWRT
cGVha2luZwogeworICAgIEFTU0VSVChtX3V0dGVyYW5jZSk7CiAgICAgVU5VU0VEX1BBUkFNKHNl
bmRlcik7CiAgICAgCiAgICAgLy8gQ2xlYXIgdGhlIG1fdXR0ZXJhbmNlIHZhcmlhYmxlIGluIGNh
c2UgZmluaXNoIHNwZWFraW5nIGtpY2tzIG9mZiBhIG5ldyBzcGVha2luZyBqb2IgaW1tZWRpYXRl
bHkuCkBAIC0xNTMsNiArMTc4LDE2IEBACiAgICAgfQogfQogICAgIAordm9pZCBQbGF0Zm9ybVNw
ZWVjaFN5bnRoZXNpemVyOjpwYXVzZSgpCit7CisgICAgW21fcGxhdGZvcm1TcGVlY2hXcmFwcGVy
LmdldCgpIHBhdXNlXTsKK30KKwordm9pZCBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyOjpyZXN1
bWUoKQoreworICAgIFttX3BsYXRmb3JtU3BlZWNoV3JhcHBlci5nZXQoKSByZXN1bWVdOworfQor
ICAgIAogdm9pZCBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyOjpzcGVhayhjb25zdCBQbGF0Zm9y
bVNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSYgdXR0ZXJhbmNlKQogewogICAgIGlmICghbV9wbGF0
Zm9ybVNwZWVjaFdyYXBwZXIpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1Bs
YXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcAkocmV2
aXNpb24gMTQzMTM3KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNw
ZWVjaFN5bnRoZXNpemVyTW9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY1LDkgKzY1LDIyIEBA
CiB7CiAgICAgbV91dHRlcmFuY2UgPSAmdXR0ZXJhbmNlOwogICAgIGNsaWVudCgpLT5kaWRTdGFy
dFNwZWFraW5nKG1fdXR0ZXJhbmNlKTsKLSAgICBtX3NwZWFraW5nRmluaXNoZWRUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgCisgICAgLy8gR2l2ZSB0aGUgZmFrZSBzcGVlY2ggam9iIHNvbWUg
dGltZSBzbyB0aGF0IHBhdXNlIGFuZCBvdGhlciBmdW5jdGlvbnMgaGF2ZSB0aW1lIHRvIGJlIGNh
bGxlZC4KKyAgICBtX3NwZWFraW5nRmluaXNoZWRUaW1lci5zdGFydE9uZVNob3QoLjEpOwogfQog
Cit2b2lkIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrOjpwYXVzZSgpCit7CisgICAgY2xp
ZW50KCktPmRpZFBhdXNlU3BlYWtpbmcobV91dHRlcmFuY2UpOworfQorCit2b2lkIFBsYXRmb3Jt
U3BlZWNoU3ludGhlc2l6ZXJNb2NrOjpyZXN1bWUoKQoreworICAgIGNsaWVudCgpLT5kaWRSZXN1
bWVTcGVha2luZyhtX3V0dGVyYW5jZSk7Cit9CisKKyAgICAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAogI2VuZGlmIC8vIEVOQUJMRShTUEVFQ0hfU1lOVEhFU0lTKQpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50
aGVzaXplck1vY2suaAkocmV2aXNpb24gMTQzMTM3KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5oCSh3b3JraW5nIGNvcHkpCkBA
IC00MCw2ICs0MCw4IEBACiAgICAgCiAgICAgdmlydHVhbCB+UGxhdGZvcm1TcGVlY2hTeW50aGVz
aXplck1vY2soKTsKICAgICB2aXJ0dWFsIHZvaWQgc3BlYWsoY29uc3QgUGxhdGZvcm1TcGVlY2hT
eW50aGVzaXNVdHRlcmFuY2UmKTsKKyAgICB2aXJ0dWFsIHZvaWQgcGF1c2UoKTsKKyAgICB2aXJ0
dWFsIHZvaWQgcmVzdW1lKCk7CiAgICAgCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IFBsYXRmb3Jt
U3BlZWNoU3ludGhlc2l6ZXJNb2NrKFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJDbGllbnQqKTsK
SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE0MzEzNykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSw1ICsxLDE1IEBACiAyMDEzLTAyLTE3ICBDaHJpcyBGbGVpemFjaCAg
PGNmbGVpemFjaEBhcHBsZS5jb20+CiAKKyAgICAgICAgV2ViU3BlZWNoOiBTdXBwb3J0IHBhdXNl
L3Jlc3VtZSBhYmlsaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDczNDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3NwZWVjaHN5bnRoZXNpcy9zcGVlY2gtc3ludGhl
c2lzLXBhdXNlLXJlc3VtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9mYXN0L3NwZWVjaHN5bnRoZXNpcy9zcGVlY2gtc3ludGhlc2lzLXBhdXNlLXJlc3VtZS5o
dG1sOiBBZGRlZC4KKworMjAxMy0wMi0xNyAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBw
bGUuY29tPgorCiAgICAgICAgIFdlYlNwZWVjaDogcGx1bWIgdGhyb3VnaCBhIG1ldGhvZCB0byBn
ZW5lcmF0ZSBmYWtlIHNwZWVjaCBqb2JzIGZvciB0ZXN0aW5nCiAgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDczNTEKIApJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3Qvc3BlZWNoc3ludGhlc2lzL3NwZWVjaC1zeW50aGVzaXMtcGF1c2Ut
cmVzdW1lLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9zcGVlY2hzeW50aGVzaXMvc3BlZWNoLXN5bnRoZXNpcy1wYXVzZS1yZXN1bWUtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
c3BlZWNoc3ludGhlc2lzL3NwZWVjaC1zeW50aGVzaXMtcGF1c2UtcmVzdW1lLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxOCBAQAorVGhpcyB0ZXN0cyB0aGF0IHBhdXNpbmcv
cmVzdW1pbmcgc3BlZWNoIGpvYnMgd29ya3MgYXMgZXhwZWN0ZWQuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitPbiBwYXVzZSBldmVudCByZWNlaXZlZC4KK1BBU1Mgc3BlZWNoU3lu
dGhlc2lzLnBhdXNlZCBpcyB0cnVlCitQQVNTIHNwZWVjaFN5bnRoZXNpcy5zcGVha2luZyBpcyB0
cnVlCitPbiByZXN1bWUgZXZlbnQgcmVjZWl2ZWQuCitQQVNTIHNwZWVjaFN5bnRoZXNpcy5wYXVz
ZWQgaXMgZmFsc2UKK1BBU1Mgc3BlZWNoU3ludGhlc2lzLnNwZWFraW5nIGlzIHRydWUKK09uIGVu
ZCBldmVudCByZWNlaXZlZC4KK1BBU1Mgc3BlZWNoU3ludGhlc2lzLnBhdXNlZCBpcyBmYWxzZQor
UEFTUyBzcGVlY2hTeW50aGVzaXMuc3BlYWtpbmcgaXMgZmFsc2UKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9zcGVlY2hzeW50aGVzaXMvc3BlZWNoLXN5bnRoZXNpcy1wYXVzZS1yZXN1
bWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9zcGVl
Y2hzeW50aGVzaXMvc3BlZWNoLXN5bnRoZXNpcy1wYXVzZS1yZXN1bWUuaHRtbAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3NwZWVjaHN5bnRoZXNpcy9zcGVl
Y2gtc3ludGhlc2lzLXBhdXNlLXJlc3VtZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUz
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGlkPSJib2R5Ij4KKworPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CisKKyAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0cyB0aGF0IHBhdXNpbmcvcmVzdW1pbmcgc3BlZWNoIGpvYnMgd29ya3MgYXMgZXhwZWN0
ZWQuIik7CisKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICB3aW5k
b3cuaW50ZXJuYWxzLmVuYWJsZU1vY2tTcGVlY2hTeW50aGVzaXplcigpOworCisgICAgd2luZG93
LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgdmFyIHUgPSBuZXcgU3BlZWNoU3ludGhlc2lz
VXR0ZXJhbmNlKCJ0aGlzIGlzIGEgdGVzdCIpOworCisgICAgLy8gVmVyaWZ5IHRoYXQgY2FsbGJh
Y2tzIGFuZCBzdGF0ZSBhcmUgY29ycmVjdCBmb3IgcGF1c2VkIGFuZCBzcGVha2luZyBzdGF0ZXMu
CisgICAgdS5vbnBhdXNlID0gZnVuY3Rpb24oZXZlbnQpIHsKKyAgICAgICBkZWJ1ZygiT24gcGF1
c2UgZXZlbnQgcmVjZWl2ZWQuIik7CisgICAgICAgc2hvdWxkQmVUcnVlKCJzcGVlY2hTeW50aGVz
aXMucGF1c2VkIik7CisgICAgICAgc2hvdWxkQmVUcnVlKCJzcGVlY2hTeW50aGVzaXMuc3BlYWtp
bmciKTsKKyAgICB9CisKKyAgICB1Lm9ucmVzdW1lICA9IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAg
ICAgZGVidWcoIk9uIHJlc3VtZSBldmVudCByZWNlaXZlZC4iKTsKKyAgICAgICBzaG91bGRCZUZh
bHNlKCJzcGVlY2hTeW50aGVzaXMucGF1c2VkIik7CisgICAgICAgc2hvdWxkQmVUcnVlKCJzcGVl
Y2hTeW50aGVzaXMuc3BlYWtpbmciKTsKKyAgICB9CisgCisgICAgdS5vbmVuZCA9IGZ1bmN0aW9u
KGV2ZW50KSB7CisgICAgICAgZGVidWcoIk9uIGVuZCBldmVudCByZWNlaXZlZC4iKTsKKyAgICAg
ICBzaG91bGRCZUZhbHNlKCJzcGVlY2hTeW50aGVzaXMucGF1c2VkIik7CisgICAgICAgc2hvdWxk
QmVGYWxzZSgic3BlZWNoU3ludGhlc2lzLnNwZWFraW5nIik7CisgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgfQorCisgICAgc3BlZWNoU3ludGhlc2lzLnNwZWFrKHUpOworCisgICAgLy8gUXVp
Y2tseSBwYXVzZSBhbmQgcmVzdW1lIHRoZSBzcGVlY2ggam9iLgorICAgIHNldFRpbWVvdXQoInNw
ZWVjaFN5bnRoZXNpcy5wYXVzZSgpIiwgIjEiKTsgCisgICAgc2V0VGltZW91dCgic3BlZWNoU3lu
dGhlc2lzLnJlc3VtZSgpIiwgIjIiKTsgCisKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>