<?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>212938</bug_id>
          
          <creation_ts>2020-06-08 16:27:06 -0700</creation_ts>
          <short_desc>[WebRTC] Add support for freeze/pause receiver stats</short_desc>
          <delta_ts>2020-06-22 09:15:13 -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>WebRTC</component>
          <version>Safari 13</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>iOS 13</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>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>charob</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>cdumez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1660479</commentid>
    <comment_count>0</comment_count>
    <who name="">charob</who>
    <bug_when>2020-06-08 16:27:06 -0700</bug_when>
    <thetext>Please refer to: https://w3c.github.io/webrtc-provisional-stats/#dom-rtcvideoreceiverstats

WebRTC can expose some video rendered statistics such as: 

1- freezeCount:
Count the total number of video freezes experienced by this receiver. It is a freeze if frame duration, which is time interval between two consecutively rendered frames, is equal or exceeds Max(3 * avg_frame_duration_ms, avg_frame_duration_ms + 150), where avg_frame_duration_ms is linear average of durations of last 30 rendered frames.

2- pauseCount:
Count the total number of video pauses experienced by this receiver. Video is considered to be paused if time passed since last received packet exceeds 5 seconds.

3- totalFreezesDuration:
Total duration of rendered frames which are considered as frozen (for definition of freeze see freezeCount), in seconds. This value is updated when a frame is rendered.

4- totalPausesDuration:
Total duration of pauses (for definition of pause see pauseCount), in seconds. This value is updated when a frame is rendered.

5- totalFramesDuration:
Total duration of all rendered video frames, in seconds. This value is updated when a frame is rendered.

6- sumOfSquaredFramesDuration:
Sum of squared duration of all rendered frames. It can be used to calculate harmonic frame rate:

totalFramesDuration / sumOfSquaredFrameDurations

This value is updated when a frame is rendered.


And ultimately it would be optimal to have a frameRate stat available as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1660502</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-06-08 17:06:29 -0700</bug_when>
    <thetext>&lt;rdar://problem/64141493&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1664997</commentid>
    <comment_count>2</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-22 06:31:18 -0700</bug_when>
    <thetext>As a first step towards that approach, we can expose those as part of &apos;track&apos; stats.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665000</commentid>
    <comment_count>3</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-22 06:40:06 -0700</bug_when>
    <thetext>https://bugs.webkit.org/show_bug.cgi?id=213458 will track &apos;receiver&apos; stats support, to align with the spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665002</commentid>
    <comment_count>4</comment_count>
      <attachid>402466</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-22 06:42:40 -0700</bug_when>
    <thetext>Created attachment 402466
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665059</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-22 09:15:12 -0700</bug_when>
    <thetext>Committed r263351: &lt;https://trac.webkit.org/changeset/263351&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 402466.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402466</attachid>
            <date>2020-06-22 06:42:40 -0700</date>
            <delta_ts>2020-06-22 09:15:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212938-20200622154238.patch</filename>
            <type>text/plain</type>
            <size>6668</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzMjE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2FkZTE0NWQxZTZjOTY2
ZjM1NzBhZGZhZmNjZDY2MGQyMWU3NTE1MC4uYjFmYjQ3YjYxNDBiOTljNjJiZjcwZDFiYzE1NGFi
MjMyZWNlNzIzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTA2LTIyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViUlRDXSBBZGQgc3Vw
cG9ydCBmb3IgZnJlZXplL3BhdXNlIHJlY2VpdmVyIHN0YXRzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTI5MzgKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzY0MTQxNDkzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIENvdmVyZWQgYnkgdXBkYXRlZCB0ZXN0cy4KKworICAgICAgICBSZWNlaXZlciBzdGF0
cyBhcmUgdXNlZnVsIHRvIGNoZWNrIGZvciBmcmVlemVzLgorICAgICAgICBMZXQncyBpbnRyb2R1
Y2UgaXQgaW4gJ3RyYWNrJyBzdGF0cyBmb3Igbm93LCB3ZSB3aWxsIGxhdGVyIG9uIG1vdmUgYWxs
CisgICAgICAgICdyZWNlaXZlcicgc3RhdHMgdG8gaXRzIG93biBvYmplY3Qgb25jZSB3ZSBmdWxs
eSBhbGlnbiB3aXRoIHNwZWMuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0
YXRzUmVwb3J0Lmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1JlcG9y
dC5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRD
U3RhdHNDb2xsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZmlsbFJUQ01lZGlhU3RyZWFt
VHJhY2tTdGF0cyk6CisKIDIwMjAtMDYtMjIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgogCiAgICAgICAgIEFkZCBsb2dnaW5nIHRvIFdlYlJUQyB2aWRlbyBwaXBlbGluZSB0byBj
aGVjayBmb3IgZnJhbWUgcmF0ZSBzdGFiaWxpdHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXBvcnQuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXBvcnQuaAppbmRleCBiODZmNmM0NDhhMTM0N2I3
ZTc0NTE0NWRjNzFlMDI0YWU3YzI0NmU2Li41MTYzMWI3MWJkZDFjZDk2NmVmOWI2ZWE4NGI2MWYx
Y2VhNzJhZDBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1N0YXRzUmVwb3J0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENTdGF0c1JlcG9ydC5oCkBAIC0yMTYsNiArMjE2LDE1IEBAIHB1YmxpYzoKICAgICAgICAg
T3B0aW9uYWw8ZG91YmxlPiBhdWRpb0xldmVsOwogICAgICAgICBPcHRpb25hbDxkb3VibGU+IGVj
aG9SZXR1cm5Mb3NzOwogICAgICAgICBPcHRpb25hbDxkb3VibGU+IGVjaG9SZXR1cm5Mb3NzRW5o
YW5jZW1lbnQ7CisKKyAgICAgICAgT3B0aW9uYWw8dWludDMyX3Q+IGZyZWV6ZUNvdW50OworICAg
ICAgICBPcHRpb25hbDx1aW50MzJfdD4gcGF1c2VDb3VudDsKKyAgICAgICAgT3B0aW9uYWw8ZG91
YmxlPiB0b3RhbEZyZWV6ZXNEdXJhdGlvbjsKKyAgICAgICAgT3B0aW9uYWw8ZG91YmxlPiB0b3Rh
bFBhdXNlc0R1cmF0aW9uOworICAgICAgICBPcHRpb25hbDxkb3VibGU+IHRvdGFsRnJhbWVzRHVy
YXRpb247CisgICAgICAgIE9wdGlvbmFsPGRvdWJsZT4gc3VtT2ZTcXVhcmVkRnJhbWVzRHVyYXRp
b247CisKKyAgICAgICAgT3B0aW9uYWw8dWludDY0X3Q+IGppdHRlckJ1ZmZlckZsdXNoZXM7CiAg
ICAgfTsKIAogICAgIHN0cnVjdCBEYXRhQ2hhbm5lbFN0YXRzIDogU3RhdHMgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1JlcG9ydC5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVwb3J0LmlkbApp
bmRleCBkMmUyNDBkMWFjMjJkYmFkMWNlMjUxZDBhZDY3MjU3YTkyMDlmODcwLi5iZDI4MWNiNTEy
NTFlMzc5MmEyYmM2ZTA3MGY2YmYzMDcxM2UxY2JmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVwb3J0LmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVwb3J0LmlkbApAQCAtMjE4LDYgKzIx
OCwxNiBAQCBkaWN0aW9uYXJ5IFJUQ01lZGlhU3RyZWFtVHJhY2tTdGF0cyA6IFJUQ1N0YXRzIHsK
ICAgICBkb3VibGUgYXVkaW9MZXZlbDsKICAgICBkb3VibGUgZWNob1JldHVybkxvc3M7CiAgICAg
ZG91YmxlIGVjaG9SZXR1cm5Mb3NzRW5oYW5jZW1lbnQ7CisKKyAgICAvLyBGSVhNRTogSW50cm9k
dWNlIFJUQ1ZpZGVvUmVjZWl2ZXJTdGF0cworICAgIHVuc2lnbmVkIGxvbmcgZnJlZXplQ291bnQ7
CisgICAgdW5zaWduZWQgbG9uZyBwYXVzZUNvdW50OworICAgIGRvdWJsZSB0b3RhbEZyZWV6ZXNE
dXJhdGlvbjsKKyAgICBkb3VibGUgdG90YWxQYXVzZXNEdXJhdGlvbjsKKyAgICBkb3VibGUgdG90
YWxGcmFtZXNEdXJhdGlvbjsKKyAgICBkb3VibGUgc3VtT2ZTcXVhcmVkRnJhbWVzRHVyYXRpb247
CisgICAgLy8gRklYTUU6IEludHJvZHVjZSBSVENBdWRpb1JlY2VpdmVyU3RhdHMKKyAgICB1bnNp
Z25lZCBsb25nIGxvbmcgaml0dGVyQnVmZmVyRmx1c2hlczsKIH07CiAKIFsgSlNHZW5lcmF0ZVRv
SlNPYmplY3QgXQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDU3RhdHNDb2xsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDU3RhdHNDb2xsZWN0b3IuY3Bw
CmluZGV4IDU5ZTY1ODQwMzhjN2QwZDBhYTYxZmE0YzQ2MDhiNWFlNThlZjY4ZjguLjAxNWVlMTRl
YTE0M2RlMDY1ZDhlZTQzNzkxNmRmN2Q3YjJjMWU0YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1N0YXRzQ29sbGVjdG9y
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9M
aWJXZWJSVENTdGF0c0NvbGxlY3Rvci5jcHAKQEAgLTI2OCw2ICsyNjgsMjIgQEAgc3RhdGljIGlu
bGluZSB2b2lkIGZpbGxSVENNZWRpYVN0cmVhbVRyYWNrU3RhdHMoUlRDU3RhdHNSZXBvcnQ6Ok1l
ZGlhU3RyZWFtVHJhY2sKICAgICAgICAgc3RhdHMuZWNob1JldHVybkxvc3MgPSAqcnRjU3RhdHMu
ZWNob19yZXR1cm5fbG9zczsKICAgICBpZiAocnRjU3RhdHMuZWNob19yZXR1cm5fbG9zc19lbmhh
bmNlbWVudC5pc19kZWZpbmVkKCkpCiAgICAgICAgIHN0YXRzLmVjaG9SZXR1cm5Mb3NzRW5oYW5j
ZW1lbnQgPSAqcnRjU3RhdHMuZWNob19yZXR1cm5fbG9zc19lbmhhbmNlbWVudDsKKworICAgIC8v
IE1pZ3JhdGUgdG8gUlRDVmlkZW9SZWNlaXZlclN0YXRzIGFuZCBSVENBdWRpb1JlY2VpdmVyU3Rh
dHMuCisgICAgaWYgKHJ0Y1N0YXRzLmZyZWV6ZV9jb3VudC5pc19kZWZpbmVkKCkpCisgICAgICAg
IHN0YXRzLmZyZWV6ZUNvdW50ID0gKnJ0Y1N0YXRzLmZyZWV6ZV9jb3VudDsKKyAgICBpZiAocnRj
U3RhdHMucGF1c2VfY291bnQuaXNfZGVmaW5lZCgpKQorICAgICAgICBzdGF0cy5wYXVzZUNvdW50
ID0gKnJ0Y1N0YXRzLnBhdXNlX2NvdW50OworICAgIGlmIChydGNTdGF0cy50b3RhbF9mcmVlemVz
X2R1cmF0aW9uLmlzX2RlZmluZWQoKSkKKyAgICAgICAgc3RhdHMudG90YWxGcmVlemVzRHVyYXRp
b24gPSAqcnRjU3RhdHMudG90YWxfZnJlZXplc19kdXJhdGlvbjsKKyAgICBpZiAocnRjU3RhdHMu
dG90YWxfcGF1c2VzX2R1cmF0aW9uLmlzX2RlZmluZWQoKSkKKyAgICAgICAgc3RhdHMudG90YWxQ
YXVzZXNEdXJhdGlvbiA9ICpydGNTdGF0cy50b3RhbF9wYXVzZXNfZHVyYXRpb247CisgICAgaWYg
KHJ0Y1N0YXRzLnRvdGFsX2ZyYW1lc19kdXJhdGlvbi5pc19kZWZpbmVkKCkpCisgICAgICAgIHN0
YXRzLnRvdGFsRnJhbWVzRHVyYXRpb24gPSAqcnRjU3RhdHMudG90YWxfZnJhbWVzX2R1cmF0aW9u
OworICAgIGlmIChydGNTdGF0cy5zdW1fc3F1YXJlZF9mcmFtZV9kdXJhdGlvbnMuaXNfZGVmaW5l
ZCgpKQorICAgICAgICBzdGF0cy5zdW1PZlNxdWFyZWRGcmFtZXNEdXJhdGlvbiA9ICpydGNTdGF0
cy5zdW1fc3F1YXJlZF9mcmFtZV9kdXJhdGlvbnM7CisgICAgaWYgKHJ0Y1N0YXRzLmppdHRlcl9i
dWZmZXJfZmx1c2hlcy5pc19kZWZpbmVkKCkpCisgICAgICAgIHN0YXRzLmppdHRlckJ1ZmZlckZs
dXNoZXMgPSAqcnRjU3RhdHMuaml0dGVyX2J1ZmZlcl9mbHVzaGVzOwogfQogCiBzdGF0aWMgaW5s
aW5lIHZvaWQgZmlsbFJUQ0RhdGFDaGFubmVsU3RhdHMoUlRDU3RhdHNSZXBvcnQ6OkRhdGFDaGFu
bmVsU3RhdHMmIHN0YXRzLCBjb25zdCB3ZWJydGM6OlJUQ0RhdGFDaGFubmVsU3RhdHMmIHJ0Y1N0
YXRzKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDBlOTU2NTFhYjM1NjFiNjQxMmJkNDZhN2JjZTgxY2I1MzI5MGYyYjYuLjEy
ZjA1OTI0ODFlMWViMGVkZWNhZmQzYmMxYzhiNTRmNTAyOTAwNTIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MyBAQAorMjAyMC0wNi0yMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAg
ICAgICAgW1dlYlJUQ10gQWRkIHN1cHBvcnQgZm9yIGZyZWV6ZS9wYXVzZSByZWNlaXZlciBzdGF0
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyOTM4
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NDE0MTQ5Mz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYnJ0Yy92aWRlby1tZWRpYXN0cmVhbXRy
YWNrLXN0YXRzLmh0bWw6CisKIDIwMjAtMDYtMTggIEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxl
c2hAZ21haWwuY29tPgogCiAgICAgICAgIFR5cGVkQXJyYXkucHJvdG90eXBlLnNldCBpcyBpbmNv
cnJlY3Qgd2l0aCBwcmltaXRpdmVzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJydGMvdmlk
ZW8tbWVkaWFzdHJlYW10cmFjay1zdGF0cy5odG1sIGIvTGF5b3V0VGVzdHMvd2VicnRjL3ZpZGVv
LW1lZGlhc3RyZWFtdHJhY2stc3RhdHMuaHRtbAppbmRleCA1NDk0Nzg0MzkzYjFkM2Y3OWY2YTQw
OTViYTAwYmVmNDk0MTBkMTU1Li4xODgyNmQxYmVjYzEwM2JjMjBlNzQ0YWU0MDAxM2ZmMjRkZTI3
ZGNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy93ZWJydGMvdmlkZW8tbWVkaWFzdHJlYW10cmFj
ay1zdGF0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL3dlYnJ0Yy92aWRlby1tZWRpYXN0cmVhbXRy
YWNrLXN0YXRzLmh0bWwKQEAgLTUwLDcgKzUwLDE5IEBAIHByb21pc2VfdGVzdCgodGVzdCkgPT4g
ewogICAgICAgICBzdGF0cy5pZCA9ICJpZCI7CiAgICAgICAgIHN0YXRzLnRpbWVzdGFtcCA9IDE7
CiAgICAgICAgIHN0YXRzLnRyYWNrSWRlbnRpZmllciA9ICJ0cmFja2lkIjsKLSAgICAgICAgYXNz
ZXJ0X2VxdWFscyhKU09OLnN0cmluZ2lmeShzdGF0cyksICd7ImlkIjoiaWQiLCJ0aW1lc3RhbXAi
OjEsInR5cGUiOiJ0cmFjayIsImRldGFjaGVkIjpmYWxzZSwiZW5kZWQiOmZhbHNlLCJmcmFtZXNE
ZWNvZGVkIjowLCJmcmFtZXNEcm9wcGVkIjowLCJmcmFtZXNSZWNlaXZlZCI6MCwicmVtb3RlU291
cmNlIjp0cnVlLCJ0cmFja0lkZW50aWZpZXIiOiJ0cmFja2lkIn0nKTsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyhzdGF0cy50eXBlLCAidHJhY2siKTsKKyAgICAgICAgYXNzZXJ0X2ZhbHNlKHN0YXRz
LmRldGFjaGVkKTsKKyAgICAgICAgYXNzZXJ0X2ZhbHNlKHN0YXRzLmVuZGVkKTsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhzdGF0cy5mcmFtZXNEZWNvZGVkLCAwKTsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhzdGF0cy5mcmFtZXNEcm9wcGVkLCAwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhzdGF0
cy5mcmFtZXNSZWNlaXZlZCwgMCk7CisgICAgICAgIGFzc2VydF90cnVlKHN0YXRzLnJlbW90ZVNv
dXJjZSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoc3RhdHMudHJhY2tJZGVudGlmaWVyLCAidHJh
Y2tpZCIpOworICAgICAgICAvLyBub24gc3RhbmRhcmQgc3RhdHMuCisgICAgICAgIGFzc2VydF9l
cXVhbHMoc3RhdHMuZnJlZXplQ291bnQsIDApOworICAgICAgICBhc3NlcnRfZXF1YWxzKHN0YXRz
LnBhdXNlQ291bnQsIDApOworICAgICAgICBhc3NlcnRfZXF1YWxzKHN0YXRzLnRvdGFsRnJlZXpl
c0R1cmF0aW9uLCAwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhzdGF0cy50b3RhbFBhdXNlc0R1
cmF0aW9uLCAwKTsKICAgICAgICAgcmV0dXJuIHdhaXRGb3IoMTAwMCk7CiAgICAgfSkudGhlbigo
KSA9PiB7CiAgICAgICAgIHJldHVybiBnZXRUcmFja1N0YXRzKHNlY29uZENvbm5lY3Rpb24pOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>